forked from mirrors/qmk_userspace
		
	Make digital rain RGB matrix effect #define configurable.
This commit is contained in:
		
					parent
					
						
							
								b3f6aa9480
							
						
					
				
			
			
				commit
				
					
						da6c58175a
					
				
			
		
					 4 changed files with 9 additions and 2 deletions
				
			
		| 
						 | 
					@ -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,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue