aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/feature_rgb_matrix.md20
-rw-r--r--quantum/rgb_matrix.c155
-rw-r--r--quantum/rgb_matrix.h64
3 files changed, 149 insertions, 90 deletions
diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md
index 2cde3ec56..a8fad59a1 100644
--- a/docs/feature_rgb_matrix.md
+++ b/docs/feature_rgb_matrix.md
@@ -422,8 +422,8 @@ Where `28` is an unused index from `eeconfig.h`.
422|`rgb_matrix_toggle_noeeprom()` |Toggle effect range LEDs between on and off (not written to EEPROM) | 422|`rgb_matrix_toggle_noeeprom()` |Toggle effect range LEDs between on and off (not written to EEPROM) |
423|`rgb_matrix_enable()` |Turn effect range LEDs on, based on their previous state | 423|`rgb_matrix_enable()` |Turn effect range LEDs on, based on their previous state |
424|`rgb_matrix_enable_noeeprom()` |Turn effect range LEDs on, based on their previous state (not written to EEPROM) | 424|`rgb_matrix_enable_noeeprom()` |Turn effect range LEDs on, based on their previous state (not written to EEPROM) |
425|`rgb_matrix_disable()` |Turn effect range LEDs off | 425|`rgb_matrix_disable()` |Turn effect range LEDs off, based on their previous state |
426|`rgb_matrix_disable_noeeprom()` |Turn effect range LEDs off (not written to EEPROM) | 426|`rgb_matrix_disable_noeeprom()` |Turn effect range LEDs off, based on their previous state (not written to EEPROM) |
427 427
428### Change Effect Mode :id=change-effect-mode 428### Change Effect Mode :id=change-effect-mode
429|Function |Description | 429|Function |Description |
@@ -431,19 +431,31 @@ Where `28` is an unused index from `eeconfig.h`.
431|`rgb_matrix_mode(mode)` |Set the mode, if RGB animations are enabled | 431|`rgb_matrix_mode(mode)` |Set the mode, if RGB animations are enabled |
432|`rgb_matrix_mode_noeeprom(mode)` |Set the mode, if RGB animations are enabled (not written to EEPROM) | 432|`rgb_matrix_mode_noeeprom(mode)` |Set the mode, if RGB animations are enabled (not written to EEPROM) |
433|`rgb_matrix_step()` |Change the mode to the next RGB animation in the list of enabled RGB animations | 433|`rgb_matrix_step()` |Change the mode to the next RGB animation in the list of enabled RGB animations |
434|`rgb_matrix_step_noeeprom()` |Change the mode to the next RGB animation in the list of enabled RGB animations (not written to EEPROM) |
434|`rgb_matrix_step_reverse()` |Change the mode to the previous RGB animation in the list of enabled RGB animations | 435|`rgb_matrix_step_reverse()` |Change the mode to the previous RGB animation in the list of enabled RGB animations |
435|`rgb_matrix_increase_speed()` |Increases the speed of the animations | 436|`rgb_matrix_step_reverse_noeeprom()` |Change the mode to the previous RGB animation in the list of enabled RGB animations (not written to EEPROM) |
436|`rgb_matrix_decrease_speed()` |Decreases the speed of the animations | 437|`rgb_matrix_increase_speed()` |Increase the speed of the animations |
438|`rgb_matrix_increase_speed_noeeprom()` |Increase the speed of the animations (not written to EEPROM) |
439|`rgb_matrix_decrease_speed()` |Decrease the speed of the animations |
440|`rgb_matrix_decrease_speed_noeeprom()` |Decrease the speed of the animations (not written to EEPROM) |
441|`rgb_matrix_set_speed(speed)` |Set the speed of the animations to the given value where `speed` is between 0 and 255 |
442|`rgb_matrix_set_speed_noeeprom(speed)` |Set the speed of the animations to the given value where `speed` is between 0 and 255 (not written to EEPROM) |
437 443
438### Change Color :id=change-color 444### Change Color :id=change-color
439|Function |Description | 445|Function |Description |
440|--------------------------------------------|-------------| 446|--------------------------------------------|-------------|
441|`rgb_matrix_increase_hue()` |Increase the hue for effect range LEDs. This wraps around at maximum hue | 447|`rgb_matrix_increase_hue()` |Increase the hue for effect range LEDs. This wraps around at maximum hue |
448|`rgb_matrix_increase_hue_noeeprom()` |Increase the hue for effect range LEDs. This wraps around at maximum hue (not written to EEPROM) |
442|`rgb_matrix_decrease_hue()` |Decrease the hue for effect range LEDs. This wraps around at minimum hue | 449|`rgb_matrix_decrease_hue()` |Decrease the hue for effect range LEDs. This wraps around at minimum hue |
450|`rgb_matrix_decrease_hue_noeeprom()` |Decrease the hue for effect range LEDs. This wraps around at minimum hue (not written to EEPROM) |
443|`rgb_matrix_increase_sat()` |Increase the saturation for effect range LEDs. This wraps around at maximum saturation | 451|`rgb_matrix_increase_sat()` |Increase the saturation for effect range LEDs. This wraps around at maximum saturation |
452|`rgb_matrix_increase_sat_noeeprom()` |Increase the saturation for effect range LEDs. This wraps around at maximum saturation (not written to EEPROM) |
444|`rgb_matrix_decrease_sat()` |Decrease the saturation for effect range LEDs. This wraps around at minimum saturation | 453|`rgb_matrix_decrease_sat()` |Decrease the saturation for effect range LEDs. This wraps around at minimum saturation |
454|`rgb_matrix_decrease_sat_noeeprom()` |Decrease the saturation for effect range LEDs. This wraps around at minimum saturation (not written to EEPROM) |
445|`rgb_matrix_increase_val()` |Increase the value for effect range LEDs. This wraps around at maximum value | 455|`rgb_matrix_increase_val()` |Increase the value for effect range LEDs. This wraps around at maximum value |
456|`rgb_matrix_increase_val_noeeprom()` |Increase the value for effect range LEDs. This wraps around at maximum value (not written to EEPROM) |
446|`rgb_matrix_decrease_val()` |Decrease the value for effect range LEDs. This wraps around at minimum value | 457|`rgb_matrix_decrease_val()` |Decrease the value for effect range LEDs. This wraps around at minimum value |
458|`rgb_matrix_decrease_val_noeeprom()` |Decrease the value for effect range LEDs. This wraps around at minimum value (not written to EEPROM) |
447|`rgb_matrix_sethsv(h, s, v)` |Set LEDs to the given HSV value where `h`/`s`/`v` are between 0 and 255 | 459|`rgb_matrix_sethsv(h, s, v)` |Set LEDs to the given HSV value where `h`/`s`/`v` are between 0 and 255 |
448|`rgb_matrix_sethsv_noeeprom(h, s, v)` |Set LEDs to the given HSV value where `h`/`s`/`v` are between 0 and 255 (not written to EEPROM) | 460|`rgb_matrix_sethsv_noeeprom(h, s, v)` |Set LEDs to the given HSV value where `h`/`s`/`v` are between 0 and 255 (not written to EEPROM) |
449 461
diff --git a/quantum/rgb_matrix.c b/quantum/rgb_matrix.c
index 615b4b0a7..802c5afce 100644
--- a/quantum/rgb_matrix.c
+++ b/quantum/rgb_matrix.c
@@ -155,7 +155,7 @@ void eeconfig_update_rgb_matrix_default(void) {
155} 155}
156 156
157void eeconfig_debug_rgb_matrix(void) { 157void eeconfig_debug_rgb_matrix(void) {
158 dprintf("rgb_matrix_config eprom\n"); 158 dprintf("rgb_matrix_config EEPROM\n");
159 dprintf("rgb_matrix_config.enable = %d\n", rgb_matrix_config.enable); 159 dprintf("rgb_matrix_config.enable = %d\n", rgb_matrix_config.enable);
160 dprintf("rgb_matrix_config.mode = %d\n", rgb_matrix_config.mode); 160 dprintf("rgb_matrix_config.mode = %d\n", rgb_matrix_config.mode);
161 dprintf("rgb_matrix_config.hsv.h = %d\n", rgb_matrix_config.hsv.h); 161 dprintf("rgb_matrix_config.hsv.h = %d\n", rgb_matrix_config.hsv.h);
@@ -462,11 +462,16 @@ void rgb_matrix_set_suspend_state(bool state) {
462 462
463bool rgb_matrix_get_suspend_state(void) { return g_suspend_state; } 463bool rgb_matrix_get_suspend_state(void) { return g_suspend_state; }
464 464
465void rgb_matrix_toggle(void) { 465void rgb_matrix_toggle_eeprom_helper(bool write_to_eeprom) {
466 rgb_matrix_config.enable ^= 1; 466 rgb_matrix_config.enable ^= 1;
467 rgb_task_state = STARTING; 467 rgb_task_state = STARTING;
468 eeconfig_update_rgb_matrix(); 468 if (write_to_eeprom) {
469 eeconfig_update_rgb_matrix();
470 }
471 dprintf("rgb matrix toggle [%s]: rgb_matrix_config.enable = %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.enable);
469} 472}
473void rgb_matrix_toggle_noeeprom(void) { rgb_matrix_toggle_eeprom_helper(false); }
474void rgb_matrix_toggle(void) { rgb_matrix_toggle_eeprom_helper(true); }
470 475
471void rgb_matrix_enable(void) { 476void rgb_matrix_enable(void) {
472 rgb_matrix_enable_noeeprom(); 477 rgb_matrix_enable_noeeprom();
@@ -490,90 +495,106 @@ void rgb_matrix_disable_noeeprom(void) {
490 495
491uint8_t rgb_matrix_is_enabled(void) { return rgb_matrix_config.enable; } 496uint8_t rgb_matrix_is_enabled(void) { return rgb_matrix_config.enable; }
492 497
493void rgb_matrix_step(void) { 498void rgb_matrix_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) {
494 rgb_matrix_config.mode++; 499 if (!rgb_matrix_config.enable) {
495 if (rgb_matrix_config.mode >= RGB_MATRIX_EFFECT_MAX) rgb_matrix_config.mode = 1; 500 return;
501 }
502 if (mode < 1) {
503 rgb_matrix_config.mode = 1;
504 } else if (mode >= RGB_MATRIX_EFFECT_MAX) {
505 rgb_matrix_config.mode = RGB_MATRIX_EFFECT_MAX - 1;
506 } else {
507 rgb_matrix_config.mode = mode;
508 }
496 rgb_task_state = STARTING; 509 rgb_task_state = STARTING;
497 eeconfig_update_rgb_matrix(); 510 if (write_to_eeprom) {
511 eeconfig_update_rgb_matrix();
512 }
513 dprintf("rgb matrix mode [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.mode);
498} 514}
515void rgb_matrix_mode_noeeprom(uint8_t mode) { rgb_matrix_mode_eeprom_helper(mode, false); }
516void rgb_matrix_mode(uint8_t mode) { rgb_matrix_mode_eeprom_helper(mode, true); }
499 517
500void rgb_matrix_step_reverse(void) { 518uint8_t rgb_matrix_get_mode(void) { return rgb_matrix_config.mode; }
501 rgb_matrix_config.mode--;
502 if (rgb_matrix_config.mode < 1) rgb_matrix_config.mode = RGB_MATRIX_EFFECT_MAX - 1;
503 rgb_task_state = STARTING;
504 eeconfig_update_rgb_matrix();
505}
506 519
507void rgb_matrix_increase_hue(void) { 520void rgb_matrix_step_helper(bool write_to_eeprom) {
508 rgb_matrix_config.hsv.h += RGB_MATRIX_HUE_STEP; 521 uint8_t mode = rgb_matrix_config.mode + 1;
509 eeconfig_update_rgb_matrix(); 522 rgb_matrix_mode_eeprom_helper((mode < RGB_MATRIX_EFFECT_MAX) ? mode : 1, write_to_eeprom);
510} 523}
524void rgb_matrix_step_noeeprom(void) { rgb_matrix_step_helper(false); }
525void rgb_matrix_step(void) { rgb_matrix_step_helper(true); }
511 526
512void rgb_matrix_decrease_hue(void) { 527void rgb_matrix_step_reverse_helper(bool write_to_eeprom) {
513 rgb_matrix_config.hsv.h -= RGB_MATRIX_HUE_STEP; 528 uint8_t mode = rgb_matrix_config.mode - 1;
514 eeconfig_update_rgb_matrix(); 529 rgb_matrix_mode_eeprom_helper((mode < 1) ? RGB_MATRIX_EFFECT_MAX - 1 : mode, write_to_eeprom);
515} 530}
531void rgb_matrix_step_reverse_noeeprom(void) { rgb_matrix_step_reverse_helper(false); }
532void rgb_matrix_step_reverse(void) { rgb_matrix_step_reverse_helper(true); }
516 533
517void rgb_matrix_increase_sat(void) { 534void rgb_matrix_sethsv_eeprom_helper(uint16_t hue, uint8_t sat, uint8_t val, bool write_to_eeprom) {
518 rgb_matrix_config.hsv.s = qadd8(rgb_matrix_config.hsv.s, RGB_MATRIX_SAT_STEP); 535 if (!rgb_matrix_config.enable) {
519 eeconfig_update_rgb_matrix(); 536 return;
520} 537 }
521 538 rgb_matrix_config.hsv.h = hue;
522void rgb_matrix_decrease_sat(void) { 539 rgb_matrix_config.hsv.s = sat;
523 rgb_matrix_config.hsv.s = qsub8(rgb_matrix_config.hsv.s, RGB_MATRIX_SAT_STEP); 540 rgb_matrix_config.hsv.v = (val > RGB_MATRIX_MAXIMUM_BRIGHTNESS) ? RGB_MATRIX_MAXIMUM_BRIGHTNESS : val;
524 eeconfig_update_rgb_matrix(); 541 if (write_to_eeprom) {
542 eeconfig_update_rgb_matrix();
543 }
544 dprintf("rgb matrix set hsv [%s]: %u,%u,%u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v);
525} 545}
546void rgb_matrix_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val) { rgb_matrix_sethsv_eeprom_helper(hue, sat, val, false); }
547void rgb_matrix_sethsv(uint16_t hue, uint8_t sat, uint8_t val) { rgb_matrix_sethsv_eeprom_helper(hue, sat, val, true); }
526 548
527void rgb_matrix_increase_val(void) { 549HSV rgb_matrix_get_hsv(void) { return rgb_matrix_config.hsv; }
528 rgb_matrix_config.hsv.v = qadd8(rgb_matrix_config.hsv.v, RGB_MATRIX_VAL_STEP); 550uint8_t rgb_matrix_get_hue(void) { return rgb_matrix_config.hsv.h; }
529 if (rgb_matrix_config.hsv.v > RGB_MATRIX_MAXIMUM_BRIGHTNESS) rgb_matrix_config.hsv.v = RGB_MATRIX_MAXIMUM_BRIGHTNESS; 551uint8_t rgb_matrix_get_sat(void) { return rgb_matrix_config.hsv.s; }
530 eeconfig_update_rgb_matrix(); 552uint8_t rgb_matrix_get_val(void) { return rgb_matrix_config.hsv.v; }
531}
532 553
533void rgb_matrix_decrease_val(void) { 554void rgb_matrix_increase_hue_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h + RGB_MATRIX_HUE_STEP, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v, write_to_eeprom); }
534 rgb_matrix_config.hsv.v = qsub8(rgb_matrix_config.hsv.v, RGB_MATRIX_VAL_STEP); 555void rgb_matrix_increase_hue_noeeprom(void) { rgb_matrix_increase_hue_helper(false); }
535 eeconfig_update_rgb_matrix(); 556void rgb_matrix_increase_hue(void) { rgb_matrix_increase_hue_helper(true); }
536}
537 557
538void rgb_matrix_increase_speed(void) { 558void rgb_matrix_decrease_hue_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h - RGB_MATRIX_HUE_STEP, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v, write_to_eeprom); }
539 rgb_matrix_config.speed = qadd8(rgb_matrix_config.speed, RGB_MATRIX_SPD_STEP); 559void rgb_matrix_decrease_hue_noeeprom(void) { rgb_matrix_decrease_hue_helper(false); }
540 eeconfig_update_rgb_matrix(); 560void rgb_matrix_decrease_hue(void) { rgb_matrix_decrease_hue_helper(true); }
541}
542 561
543void rgb_matrix_decrease_speed(void) { 562void rgb_matrix_increase_sat_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, qadd8(rgb_matrix_config.hsv.s, RGB_MATRIX_SAT_STEP), rgb_matrix_config.hsv.v, write_to_eeprom); }
544 rgb_matrix_config.speed = qsub8(rgb_matrix_config.speed, RGB_MATRIX_SPD_STEP); 563void rgb_matrix_increase_sat_noeeprom(void) { rgb_matrix_increase_sat_helper(false); }
545 eeconfig_update_rgb_matrix(); 564void rgb_matrix_increase_sat(void) { rgb_matrix_increase_sat_helper(true); }
546}
547 565
548uint8_t rgb_matrix_get_speed(void) { return rgb_matrix_config.speed; } 566void rgb_matrix_decrease_sat_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, qsub8(rgb_matrix_config.hsv.s, RGB_MATRIX_SAT_STEP), rgb_matrix_config.hsv.v, write_to_eeprom); }
567void rgb_matrix_decrease_sat_noeeprom(void) { rgb_matrix_decrease_sat_helper(false); }
568void rgb_matrix_decrease_sat(void) { rgb_matrix_decrease_sat_helper(true); }
549 569
550led_flags_t rgb_matrix_get_flags(void) { return rgb_effect_params.flags; } 570void rgb_matrix_increase_val_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, qadd8(rgb_matrix_config.hsv.v, RGB_MATRIX_VAL_STEP), write_to_eeprom); }
571void rgb_matrix_increase_val_noeeprom(void) { rgb_matrix_increase_val_helper(false); }
572void rgb_matrix_increase_val(void) { rgb_matrix_increase_val_helper(true); }
551 573
552void rgb_matrix_set_flags(led_flags_t flags) { rgb_effect_params.flags = flags; } 574void rgb_matrix_decrease_val_helper(bool write_to_eeprom) { rgb_matrix_sethsv_eeprom_helper(rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, qsub8(rgb_matrix_config.hsv.v, RGB_MATRIX_VAL_STEP), write_to_eeprom); }
575void rgb_matrix_decrease_val_noeeprom(void) { rgb_matrix_decrease_val_helper(false); }
576void rgb_matrix_decrease_val(void) { rgb_matrix_decrease_val_helper(true); }
553 577
554void rgb_matrix_mode(uint8_t mode) { 578void rgb_matrix_set_speed_eeprom_helper(uint8_t speed, bool write_to_eeprom) {
555 rgb_matrix_config.mode = mode; 579 rgb_matrix_config.speed = speed;
556 rgb_task_state = STARTING; 580 if (write_to_eeprom) {
557 eeconfig_update_rgb_matrix(); 581 eeconfig_update_rgb_matrix();
582 }
583 dprintf("rgb matrix set speed [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.speed);
558} 584}
585void rgb_matrix_set_speed_noeeprom(uint8_t speed) { rgb_matrix_set_speed_eeprom_helper(speed, false); }
586void rgb_matrix_set_speed(uint8_t speed) { rgb_matrix_set_speed_eeprom_helper(speed, true); }
559 587
560void rgb_matrix_mode_noeeprom(uint8_t mode) { rgb_matrix_config.mode = mode; } 588uint8_t rgb_matrix_get_speed(void) { return rgb_matrix_config.speed; }
561 589
562uint8_t rgb_matrix_get_mode(void) { return rgb_matrix_config.mode; } 590void rgb_matrix_increase_speed_helper(bool write_to_eeprom) { rgb_matrix_set_speed_eeprom_helper(qadd8(rgb_matrix_config.speed, RGB_MATRIX_SPD_STEP), write_to_eeprom); }
591void rgb_matrix_increase_speed_noeeprom(void) { rgb_matrix_increase_speed_helper(false); }
592void rgb_matrix_increase_speed(void) { rgb_matrix_increase_speed_helper(true); }
563 593
564void rgb_matrix_sethsv(uint16_t hue, uint8_t sat, uint8_t val) { 594void rgb_matrix_decrease_speed_helper(bool write_to_eeprom) { rgb_matrix_set_speed_eeprom_helper(qsub8(rgb_matrix_config.speed, RGB_MATRIX_SPD_STEP), write_to_eeprom); }
565 rgb_matrix_sethsv_noeeprom(hue, sat, val); 595void rgb_matrix_decrease_speed_noeeprom(void) { rgb_matrix_decrease_speed_helper(false); }
566 eeconfig_update_rgb_matrix(); 596void rgb_matrix_decrease_speed(void) { rgb_matrix_decrease_speed_helper(true); }
567}
568 597
569void rgb_matrix_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val) { 598led_flags_t rgb_matrix_get_flags(void) { return rgb_effect_params.flags; }
570 rgb_matrix_config.hsv.h = hue;
571 rgb_matrix_config.hsv.s = sat;
572 rgb_matrix_config.hsv.v = val;
573 if (rgb_matrix_config.hsv.v > RGB_MATRIX_MAXIMUM_BRIGHTNESS) rgb_matrix_config.hsv.v = RGB_MATRIX_MAXIMUM_BRIGHTNESS;
574}
575 599
576HSV rgb_matrix_get_hsv(void) { return rgb_matrix_config.hsv; } 600void rgb_matrix_set_flags(led_flags_t flags) { rgb_effect_params.flags = flags; }
577uint8_t rgb_matrix_get_hue(void) { return rgb_matrix_config.hsv.h; }
578uint8_t rgb_matrix_get_sat(void) { return rgb_matrix_config.hsv.s; }
579uint8_t rgb_matrix_get_val(void) { return rgb_matrix_config.hsv.v; }
diff --git a/quantum/rgb_matrix.h b/quantum/rgb_matrix.h
index 03e9e8572..733333349 100644
--- a/quantum/rgb_matrix.h
+++ b/quantum/rgb_matrix.h
@@ -108,61 +108,87 @@ void rgb_matrix_init(void);
108void rgb_matrix_set_suspend_state(bool state); 108void rgb_matrix_set_suspend_state(bool state);
109bool rgb_matrix_get_suspend_state(void); 109bool rgb_matrix_get_suspend_state(void);
110void rgb_matrix_toggle(void); 110void rgb_matrix_toggle(void);
111void rgb_matrix_toggle_noeeprom(void);
111void rgb_matrix_enable(void); 112void rgb_matrix_enable(void);
112void rgb_matrix_enable_noeeprom(void); 113void rgb_matrix_enable_noeeprom(void);
113void rgb_matrix_disable(void); 114void rgb_matrix_disable(void);
114void rgb_matrix_disable_noeeprom(void); 115void rgb_matrix_disable_noeeprom(void);
115uint8_t rgb_matrix_is_enabled(void); 116uint8_t rgb_matrix_is_enabled(void);
117void rgb_matrix_mode(uint8_t mode);
118void rgb_matrix_mode_noeeprom(uint8_t mode);
119uint8_t rgb_matrix_get_mode(void);
116void rgb_matrix_step(void); 120void rgb_matrix_step(void);
121void rgb_matrix_step_noeeprom(void);
117void rgb_matrix_step_reverse(void); 122void rgb_matrix_step_reverse(void);
123void rgb_matrix_step_reverse_noeeprom(void);
124void rgb_matrix_sethsv(uint16_t hue, uint8_t sat, uint8_t val);
125void rgb_matrix_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val);
126HSV rgb_matrix_get_hsv(void);
127uint8_t rgb_matrix_get_hue(void);
128uint8_t rgb_matrix_get_sat(void);
129uint8_t rgb_matrix_get_val(void);
118void rgb_matrix_increase_hue(void); 130void rgb_matrix_increase_hue(void);
131void rgb_matrix_increase_hue_noeeprom(void);
119void rgb_matrix_decrease_hue(void); 132void rgb_matrix_decrease_hue(void);
133void rgb_matrix_decrease_hue_noeeprom(void);
120void rgb_matrix_increase_sat(void); 134void rgb_matrix_increase_sat(void);
135void rgb_matrix_increase_sat_noeeprom(void);
121void rgb_matrix_decrease_sat(void); 136void rgb_matrix_decrease_sat(void);
137void rgb_matrix_decrease_sat_noeeprom(void);
122void rgb_matrix_increase_val(void); 138void rgb_matrix_increase_val(void);
139void rgb_matrix_increase_val_noeeprom(void);
123void rgb_matrix_decrease_val(void); 140void rgb_matrix_decrease_val(void);
141void rgb_matrix_decrease_val_noeeprom(void);
142void rgb_matrix_set_speed(uint8_t speed);
143void rgb_matrix_set_speed_noeeprom(uint8_t speed);
144uint8_t rgb_matrix_get_speed(void);
124void rgb_matrix_increase_speed(void); 145void rgb_matrix_increase_speed(void);
146void rgb_matrix_increase_speed_noeeprom(void);
125void rgb_matrix_decrease_speed(void); 147void rgb_matrix_decrease_speed(void);
126uint8_t rgb_matrix_get_speed(void); 148void rgb_matrix_decrease_speed_noeeprom(void);
127led_flags_t rgb_matrix_get_flags(void); 149led_flags_t rgb_matrix_get_flags(void);
128void rgb_matrix_set_flags(led_flags_t flags); 150void rgb_matrix_set_flags(led_flags_t flags);
129void rgb_matrix_mode(uint8_t mode);
130void rgb_matrix_mode_noeeprom(uint8_t mode);
131uint8_t rgb_matrix_get_mode(void);
132void rgb_matrix_sethsv(uint16_t hue, uint8_t sat, uint8_t val);
133void rgb_matrix_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val);
134HSV rgb_matrix_get_hsv(void);
135uint8_t rgb_matrix_get_hue(void);
136uint8_t rgb_matrix_get_sat(void);
137uint8_t rgb_matrix_get_val(void);
138 151
139#ifndef RGBLIGHT_ENABLE 152#ifndef RGBLIGHT_ENABLE
140# define rgblight_toggle rgb_matrix_toggle 153# define rgblight_toggle rgb_matrix_toggle
154# define rgblight_toggle_noeeprom rgb_matrix_toggle_noeeprom
141# define rgblight_enable rgb_matrix_enable 155# define rgblight_enable rgb_matrix_enable
142# define rgblight_enable_noeeprom rgb_matrix_enable_noeeprom 156# define rgblight_enable_noeeprom rgb_matrix_enable_noeeprom
143# define rgblight_disable rgb_matrix_disable 157# define rgblight_disable rgb_matrix_disable
144# define rgblight_disable_noeeprom rgb_matrix_disable_noeeprom 158# define rgblight_disable_noeeprom rgb_matrix_disable_noeeprom
145# define rgblight_is_enabled rgb_matrix_is_enabled 159# define rgblight_is_enabled rgb_matrix_is_enabled
160# define rgblight_mode rgb_matrix_mode
161# define rgblight_mode_noeeprom rgb_matrix_mode_noeeprom
162# define rgblight_get_mode rgb_matrix_get_mode
163# define rgblight_get_hue rgb_matrix_get_hue
164# define rgblight_get_sat rgb_matrix_get_sat
165# define rgblight_get_val rgb_matrix_get_val
166# define rgblight_get_hsv rgb_matrix_get_hsv
146# define rgblight_step rgb_matrix_step 167# define rgblight_step rgb_matrix_step
168# define rgblight_step_noeeprom rgb_matrix_step_noeeprom
169# define rgblight_step_reverse rgb_matrix_step_reverse
170# define rgblight_step_reverse_noeeprom rgb_matrix_step_reverse_noeeprom
147# define rgblight_sethsv rgb_matrix_sethsv 171# define rgblight_sethsv rgb_matrix_sethsv
148# define rgblight_sethsv_noeeprom rgb_matrix_sethsv_noeeprom 172# define rgblight_sethsv_noeeprom rgb_matrix_sethsv_noeeprom
149# define rgblight_step_reverse rgb_matrix_step_reverse
150# define rgblight_increase_hue rgb_matrix_increase_hue 173# define rgblight_increase_hue rgb_matrix_increase_hue
174# define rgblight_increase_hue_noeeprom rgb_matrix_increase_hue_noeeprom
151# define rgblight_decrease_hue rgb_matrix_decrease_hue 175# define rgblight_decrease_hue rgb_matrix_decrease_hue
176# define rgblight_decrease_hue_noeeprom rgb_matrix_decrease_hue_noeeprom
152# define rgblight_increase_sat rgb_matrix_increase_sat 177# define rgblight_increase_sat rgb_matrix_increase_sat
178# define rgblight_increase_sat_noeeprom rgb_matrix_increase_sat_noeeprom
153# define rgblight_decrease_sat rgb_matrix_decrease_sat 179# define rgblight_decrease_sat rgb_matrix_decrease_sat
180# define rgblight_decrease_sat_noeeprom rgb_matrix_decrease_sat_noeeprom
154# define rgblight_increase_val rgb_matrix_increase_val 181# define rgblight_increase_val rgb_matrix_increase_val
182# define rgblight_increase_val_noeeprom rgb_matrix_increase_val_noeeprom
155# define rgblight_decrease_val rgb_matrix_decrease_val 183# define rgblight_decrease_val rgb_matrix_decrease_val
184# define rgblight_decrease_val_noeeprom rgb_matrix_decrease_val_noeeprom
185# define rgblight_set_speed rgb_matrix_set_speed
186# define rgblight_set_speed_noeeprom rgb_matrix_set_speed_noeeprom
187# define rgblight_get_speed rgb_matrix_get_speed
156# define rgblight_increase_speed rgb_matrix_increase_speed 188# define rgblight_increase_speed rgb_matrix_increase_speed
189# define rgblight_increase_speed_noeeprom rgb_matrix_increase_speed_noeeprom
157# define rgblight_decrease_speed rgb_matrix_decrease_speed 190# define rgblight_decrease_speed rgb_matrix_decrease_speed
158# define rgblight_get_speed rgb_matrix_get_speed 191# define rgblight_decrease_speed_noeeprom rgb_matrix_decrease_speed_noeeprom
159# define rgblight_mode rgb_matrix_mode
160# define rgblight_mode_noeeprom rgb_matrix_mode_noeeprom
161# define rgblight_get_mode rgb_matrix_get_mode
162# define rgblight_get_hue rgb_matrix_get_hue
163# define rgblight_get_sat rgb_matrix_get_sat
164# define rgblight_get_val rgb_matrix_get_val
165# define rgblight_get_hsv rgb_matrix_get_hsv
166#endif 192#endif
167 193
168typedef struct { 194typedef struct {