]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Make digital rain RGB matrix effect #define configurable.
authorDaniel Shields <daniel.shields@bcs.org>
Fri, 28 Sep 2018 08:33:51 +0000 (09:33 +0100)
committerJack Humbert <jack.humb@gmail.com>
Mon, 1 Oct 2018 16:54:37 +0000 (12:54 -0400)
docs/feature_rgb_matrix.md
keyboards/model01/keymaps/dshields/config.h
keyboards/planck/keymaps/dshields/config.h
quantum/rgb_matrix.c

index 4f827f8dc9d94c6f35a8770282582b8bf3e0de42..809d034bdc1a7e77176bd0ca239ac09145e56e13 100644 (file)
@@ -140,6 +140,7 @@ These are the effects that are currently available:
            RGB_MATRIX_RAINBOW_PINWHEELS,
            RGB_MATRIX_RAINBOW_MOVING_CHEVRON,
            RGB_MATRIX_JELLYBEAN_RAINDROPS,
+           RGB_MATRIX_DIGITAL_RAIN,
        #ifdef RGB_MATRIX_KEYPRESSES
            RGB_MATRIX_SOLID_REACTIVE,
            RGB_MATRIX_SPLASH,
index 4d609e43684dafbb1f6ec8717218c6ee1b7fb25a..4de2d3cbb30397c18db80924e5b12db10845f250 100644 (file)
@@ -1,5 +1,6 @@
 #pragma once
 
+#define RGB_DIGITAL_RAIN_DROPS    18
 #define USB_MAX_POWER_CONSUMPTION 100
 #define ONESHOT_TAP_TOGGLE        2
 #define ONESHOT_TIMEOUT           3000
index b149530b8d0b65033b46e965638457382ba4a987..512e2fbc6484da45062f16d5b8033596ec33a5c6 100644 (file)
@@ -1,5 +1,6 @@
 #pragma once
 
+#define RGB_DIGITAL_RAIN_DROPS    24
 #define USB_MAX_POWER_CONSUMPTION 100
 #define ONESHOT_TAP_TOGGLE        2
 #define ONESHOT_TIMEOUT           3000
index b282284a138e4b33dd0c84d61167f49fd8db860b..f0c2ddfdfbba4fe7bde37f9fc54831f3bb39b4a1 100644 (file)
@@ -50,6 +50,11 @@ rgb_config_t rgb_matrix_config;
     #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
 #endif
 
+#ifndef RGB_DIGITAL_RAIN_DROPS
+    // lower the number for denser effect/wider keyboard
+    #define RGB_DIGITAL_RAIN_DROPS 24
+#endif
+
 bool g_suspend_state = false;
 
 // Global tick at 20 Hz
@@ -466,7 +471,6 @@ void rgb_matrix_jellybean_raindrops( bool initialize ) {
 void rgb_matrix_digital_rain( const bool initialize ) {
     // algorithm ported from https://github.com/tremby/Kaleidoscope-LEDEffect-DigitalRain
     const uint8_t drop_ticks           = 28;
-    const uint8_t new_drop_probability = 24;
     const uint8_t pure_green_intensity = 0xd0;
     const uint8_t max_brightness_boost = 0xc0;
     const uint8_t max_intensity        = 0xff;
@@ -481,7 +485,7 @@ void rgb_matrix_digital_rain( const bool initialize ) {
     }
     for (uint8_t col = 0; col < MATRIX_COLS; col++) {
         for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
-            if (row == 0 && drop == 0 && rand() < RAND_MAX / new_drop_probability) {
+            if (row == 0 && drop == 0 && rand() < RAND_MAX / RGB_DIGITAL_RAIN_DROPS) {
                 // top row, pixels have just fallen and we're
                 // making a new rain drop in this column
                 map[col][row] = max_intensity;