diff options
Diffstat (limited to 'quantum/rgb_matrix.c')
| -rw-r--r-- | quantum/rgb_matrix.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/quantum/rgb_matrix.c b/quantum/rgb_matrix.c index 6cb0478f7..558e28dec 100644 --- a/quantum/rgb_matrix.c +++ b/quantum/rgb_matrix.c | |||
| @@ -69,6 +69,7 @@ void eeconfig_update_rgb_matrix_default(void) { | |||
| 69 | rgb_matrix_config.hue = 0; | 69 | rgb_matrix_config.hue = 0; |
| 70 | rgb_matrix_config.sat = 255; | 70 | rgb_matrix_config.sat = 255; |
| 71 | rgb_matrix_config.val = 255; | 71 | rgb_matrix_config.val = 255; |
| 72 | rgb_matrix_config.speed = 0; | ||
| 72 | eeconfig_update_rgb_matrix(rgb_matrix_config.raw); | 73 | eeconfig_update_rgb_matrix(rgb_matrix_config.raw); |
| 73 | } | 74 | } |
| 74 | void eeconfig_debug_rgb_matrix(void) { | 75 | void eeconfig_debug_rgb_matrix(void) { |
| @@ -78,6 +79,7 @@ void eeconfig_debug_rgb_matrix(void) { | |||
| 78 | dprintf("rgb_matrix_config.hue = %d\n", rgb_matrix_config.hue); | 79 | dprintf("rgb_matrix_config.hue = %d\n", rgb_matrix_config.hue); |
| 79 | dprintf("rgb_matrix_config.sat = %d\n", rgb_matrix_config.sat); | 80 | dprintf("rgb_matrix_config.sat = %d\n", rgb_matrix_config.sat); |
| 80 | dprintf("rgb_matrix_config.val = %d\n", rgb_matrix_config.val); | 81 | dprintf("rgb_matrix_config.val = %d\n", rgb_matrix_config.val); |
| 82 | dprintf("rgb_matrix_config.speed = %d\n", rgb_matrix_config.speed); | ||
| 81 | } | 83 | } |
| 82 | 84 | ||
| 83 | // Last led hit | 85 | // Last led hit |
| @@ -343,7 +345,7 @@ void rgb_matrix_raindrops(bool initialize) { | |||
| 343 | } | 345 | } |
| 344 | 346 | ||
| 345 | void rgb_matrix_cycle_all(void) { | 347 | void rgb_matrix_cycle_all(void) { |
| 346 | uint8_t offset = g_tick & 0xFF; | 348 | uint8_t offset = ( g_tick << rgb_matrix_config.speed ) & 0xFF; |
| 347 | 349 | ||
| 348 | rgb_led led; | 350 | rgb_led led; |
| 349 | 351 | ||
| @@ -364,7 +366,7 @@ void rgb_matrix_cycle_all(void) { | |||
| 364 | } | 366 | } |
| 365 | 367 | ||
| 366 | void rgb_matrix_cycle_left_right(void) { | 368 | void rgb_matrix_cycle_left_right(void) { |
| 367 | uint8_t offset = g_tick & 0xFF; | 369 | uint8_t offset = ( g_tick << rgb_matrix_config.speed ) & 0xFF; |
| 368 | HSV hsv = { .h = 0, .s = 255, .v = rgb_matrix_config.val }; | 370 | HSV hsv = { .h = 0, .s = 255, .v = rgb_matrix_config.val }; |
| 369 | RGB rgb; | 371 | RGB rgb; |
| 370 | Point point; | 372 | Point point; |
| @@ -388,7 +390,7 @@ void rgb_matrix_cycle_left_right(void) { | |||
| 388 | } | 390 | } |
| 389 | 391 | ||
| 390 | void rgb_matrix_cycle_up_down(void) { | 392 | void rgb_matrix_cycle_up_down(void) { |
| 391 | uint8_t offset = g_tick & 0xFF; | 393 | uint8_t offset = ( g_tick << rgb_matrix_config.speed ) & 0xFF; |
| 392 | HSV hsv = { .h = 0, .s = 255, .v = rgb_matrix_config.val }; | 394 | HSV hsv = { .h = 0, .s = 255, .v = rgb_matrix_config.val }; |
| 393 | RGB rgb; | 395 | RGB rgb; |
| 394 | Point point; | 396 | Point point; |
| @@ -863,6 +865,16 @@ void rgblight_decrease_val(void) { | |||
| 863 | eeconfig_update_rgb_matrix(rgb_matrix_config.raw); | 865 | eeconfig_update_rgb_matrix(rgb_matrix_config.raw); |
| 864 | } | 866 | } |
| 865 | 867 | ||
| 868 | void rgblight_increase_speed(void) { | ||
| 869 | rgb_matrix_config.speed = increment( rgb_matrix_config.speed, 1, 0, 3 ); | ||
| 870 | eeconfig_update_rgb_matrix(rgb_matrix_config.raw);//EECONFIG needs to be increased to support this | ||
| 871 | } | ||
| 872 | |||
| 873 | void rgblight_decrease_speed(void) { | ||
| 874 | rgb_matrix_config.speed = decrement( rgb_matrix_config.speed, 1, 0, 3 ); | ||
| 875 | eeconfig_update_rgb_matrix(rgb_matrix_config.raw);//EECONFIG needs to be increased to support this | ||
| 876 | } | ||
| 877 | |||
| 866 | void rgblight_mode(uint8_t mode) { | 878 | void rgblight_mode(uint8_t mode) { |
| 867 | rgb_matrix_config.mode = mode; | 879 | rgb_matrix_config.mode = mode; |
| 868 | eeconfig_update_rgb_matrix(rgb_matrix_config.raw); | 880 | eeconfig_update_rgb_matrix(rgb_matrix_config.raw); |
