1
0
Fork 0

Make digital rain RGB matrix effect #define configurable.

This commit is contained in:
Daniel Shields 2018-09-28 09:33:51 +01:00 committed by Jack Humbert
parent b3f6aa9480
commit da6c58175a
4 changed files with 9 additions and 2 deletions

View file

@ -140,6 +140,7 @@ These are the effects that are currently available:
RGB_MATRIX_RAINBOW_PINWHEELS, RGB_MATRIX_RAINBOW_PINWHEELS,
RGB_MATRIX_RAINBOW_MOVING_CHEVRON, RGB_MATRIX_RAINBOW_MOVING_CHEVRON,
RGB_MATRIX_JELLYBEAN_RAINDROPS, RGB_MATRIX_JELLYBEAN_RAINDROPS,
RGB_MATRIX_DIGITAL_RAIN,
#ifdef RGB_MATRIX_KEYPRESSES #ifdef RGB_MATRIX_KEYPRESSES
RGB_MATRIX_SOLID_REACTIVE, RGB_MATRIX_SOLID_REACTIVE,
RGB_MATRIX_SPLASH, RGB_MATRIX_SPLASH,

View file

@ -1,5 +1,6 @@
#pragma once #pragma once
#define RGB_DIGITAL_RAIN_DROPS 18
#define USB_MAX_POWER_CONSUMPTION 100 #define USB_MAX_POWER_CONSUMPTION 100
#define ONESHOT_TAP_TOGGLE 2 #define ONESHOT_TAP_TOGGLE 2
#define ONESHOT_TIMEOUT 3000 #define ONESHOT_TIMEOUT 3000

View file

@ -1,5 +1,6 @@
#pragma once #pragma once
#define RGB_DIGITAL_RAIN_DROPS 24
#define USB_MAX_POWER_CONSUMPTION 100 #define USB_MAX_POWER_CONSUMPTION 100
#define ONESHOT_TAP_TOGGLE 2 #define ONESHOT_TAP_TOGGLE 2
#define ONESHOT_TIMEOUT 3000 #define ONESHOT_TIMEOUT 3000

View file

@ -50,6 +50,11 @@ rgb_config_t rgb_matrix_config;
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
#endif #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; bool g_suspend_state = false;
// Global tick at 20 Hz // Global tick at 20 Hz
@ -466,7 +471,6 @@ void rgb_matrix_jellybean_raindrops( bool initialize ) {
void rgb_matrix_digital_rain( const bool initialize ) { void rgb_matrix_digital_rain( const bool initialize ) {
// algorithm ported from https://github.com/tremby/Kaleidoscope-LEDEffect-DigitalRain // algorithm ported from https://github.com/tremby/Kaleidoscope-LEDEffect-DigitalRain
const uint8_t drop_ticks = 28; const uint8_t drop_ticks = 28;
const uint8_t new_drop_probability = 24;
const uint8_t pure_green_intensity = 0xd0; const uint8_t pure_green_intensity = 0xd0;
const uint8_t max_brightness_boost = 0xc0; const uint8_t max_brightness_boost = 0xc0;
const uint8_t max_intensity = 0xff; 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 col = 0; col < MATRIX_COLS; col++) {
for (uint8_t row = 0; row < MATRIX_ROWS; row++) { 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 // top row, pixels have just fallen and we're
// making a new rain drop in this column // making a new rain drop in this column
map[col][row] = max_intensity; map[col][row] = max_intensity;