summaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2025-06-07 22:56:58 +1000
committerGitHub <noreply@github.com>2025-06-07 22:56:58 +1000
commit7808f8f56b0734ea54d367ff9e6abb4b52d1d85a (patch)
tree9586cdaaf507e3fe7133d3d08209ae1cbd2de8ef /quantum
parente3c8c23d91cfca71ca8c8ed5151d3f88052272e2 (diff)
Add `{rgb|led}_matrix_get_mode_name()`. (#25344)
Diffstat (limited to 'quantum')
-rw-r--r--quantum/led_matrix/led_matrix.c55
-rw-r--r--quantum/led_matrix/led_matrix.h4
-rw-r--r--quantum/rgb_matrix/rgb_matrix.c56
-rw-r--r--quantum/rgb_matrix/rgb_matrix.h4
4 files changed, 117 insertions, 2 deletions
diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c
index 7a0e8a5ebb..9c8004cc17 100644
--- a/quantum/led_matrix/led_matrix.c
+++ b/quantum/led_matrix/led_matrix.c
@@ -107,7 +107,11 @@ void eeconfig_update_led_matrix_default(void) {
107void eeconfig_debug_led_matrix(void) { 107void eeconfig_debug_led_matrix(void) {
108 dprintf("led_matrix_eeconfig EEPROM\n"); 108 dprintf("led_matrix_eeconfig EEPROM\n");
109 dprintf("led_matrix_eeconfig.enable = %d\n", led_matrix_eeconfig.enable); 109 dprintf("led_matrix_eeconfig.enable = %d\n", led_matrix_eeconfig.enable);
110#ifdef LED_MATRIX_MODE_NAME_ENABLE
111 dprintf("led_matrix_eeconfig.mode = %d (%s)\n", led_matrix_eeconfig.mode, led_matrix_get_mode_name(led_matrix_eeconfig.mode));
112#else
110 dprintf("led_matrix_eeconfig.mode = %d\n", led_matrix_eeconfig.mode); 113 dprintf("led_matrix_eeconfig.mode = %d\n", led_matrix_eeconfig.mode);
114#endif // LED_MATRIX_MODE_NAME_ENABLE
111 dprintf("led_matrix_eeconfig.val = %d\n", led_matrix_eeconfig.val); 115 dprintf("led_matrix_eeconfig.val = %d\n", led_matrix_eeconfig.val);
112 dprintf("led_matrix_eeconfig.speed = %d\n", led_matrix_eeconfig.speed); 116 dprintf("led_matrix_eeconfig.speed = %d\n", led_matrix_eeconfig.speed);
113 dprintf("led_matrix_eeconfig.flags = %d\n", led_matrix_eeconfig.flags); 117 dprintf("led_matrix_eeconfig.flags = %d\n", led_matrix_eeconfig.flags);
@@ -525,7 +529,11 @@ void led_matrix_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) {
525 } 529 }
526 led_task_state = STARTING; 530 led_task_state = STARTING;
527 eeconfig_flag_led_matrix(write_to_eeprom); 531 eeconfig_flag_led_matrix(write_to_eeprom);
528 dprintf("led matrix mode [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", led_matrix_eeconfig.mode); 532#ifdef LED_MATRIX_MODE_NAME_ENABLE
533 dprintf("led matrix mode [%s]: %u (%s)\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", (unsigned)led_matrix_eeconfig.mode, led_matrix_get_mode_name(led_matrix_eeconfig.mode));
534#else
535 dprintf("led matrix mode [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", (unsigned)led_matrix_eeconfig.mode);
536#endif // LED_MATRIX_MODE_NAME_ENABLE
529} 537}
530void led_matrix_mode_noeeprom(uint8_t mode) { 538void led_matrix_mode_noeeprom(uint8_t mode) {
531 led_matrix_mode_eeprom_helper(mode, false); 539 led_matrix_mode_eeprom_helper(mode, false);
@@ -652,3 +660,48 @@ void led_matrix_set_flags(led_flags_t flags) {
652void led_matrix_set_flags_noeeprom(led_flags_t flags) { 660void led_matrix_set_flags_noeeprom(led_flags_t flags) {
653 led_matrix_set_flags_eeprom_helper(flags, false); 661 led_matrix_set_flags_eeprom_helper(flags, false);
654} 662}
663
664// LED Matrix naming
665#undef LED_MATRIX_EFFECT
666#ifdef LED_MATRIX_MODE_NAME_ENABLE
667const char *led_matrix_get_mode_name(uint8_t mode) {
668 switch (mode) {
669 case LED_MATRIX_NONE:
670 return "NONE";
671
672# define LED_MATRIX_EFFECT(name, ...) \
673 case LED_MATRIX_##name: \
674 return #name;
675# include "led_matrix_effects.inc"
676# undef LED_MATRIX_EFFECT
677
678# ifdef COMMUNITY_MODULES_ENABLE
679# define LED_MATRIX_EFFECT(name, ...) \
680 case LED_MATRIX_COMMUNITY_MODULE_##name: \
681 return #name;
682# include "led_matrix_community_modules.inc"
683# undef LED_MATRIX_EFFECT
684# endif // COMMUNITY_MODULES_ENABLE
685
686# if defined(LED_MATRIX_CUSTOM_KB) || defined(LED_MATRIX_CUSTOM_USER)
687# define LED_MATRIX_EFFECT(name, ...) \
688 case LED_MATRIX_CUSTOM_##name: \
689 return #name;
690
691# ifdef LED_MATRIX_CUSTOM_KB
692# include "led_matrix_kb.inc"
693# endif // LED_MATRIX_CUSTOM_KB
694
695# ifdef LED_MATRIX_CUSTOM_USER
696# include "led_matrix_user.inc"
697# endif // LED_MATRIX_CUSTOM_USER
698
699# undef LED_MATRIX_EFFECT
700# endif // LED_MATRIX_CUSTOM_KB || LED_MATRIX_CUSTOM_USER
701
702 default:
703 return "UNKNOWN";
704 }
705}
706# undef LED_MATRIX_EFFECT
707#endif // LED_MATRIX_MODE_NAME_ENABLE
diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h
index 0dfe33ffab..9a49515ab2 100644
--- a/quantum/led_matrix/led_matrix.h
+++ b/quantum/led_matrix/led_matrix.h
@@ -184,6 +184,10 @@ led_flags_t led_matrix_get_flags(void);
184void led_matrix_set_flags(led_flags_t flags); 184void led_matrix_set_flags(led_flags_t flags);
185void led_matrix_set_flags_noeeprom(led_flags_t flags); 185void led_matrix_set_flags_noeeprom(led_flags_t flags);
186 186
187#ifdef LED_MATRIX_MODE_NAME_ENABLE
188const char *led_matrix_get_mode_name(uint8_t mode);
189#endif // LED_MATRIX_MODE_NAME_ENABLE
190
187static inline bool led_matrix_check_finished_leds(uint8_t led_idx) { 191static inline bool led_matrix_check_finished_leds(uint8_t led_idx) {
188#if defined(LED_MATRIX_SPLIT) 192#if defined(LED_MATRIX_SPLIT)
189 if (is_keyboard_left()) { 193 if (is_keyboard_left()) {
diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c
index 2679c48342..ab0aa17512 100644
--- a/quantum/rgb_matrix/rgb_matrix.c
+++ b/quantum/rgb_matrix/rgb_matrix.c
@@ -109,7 +109,11 @@ void eeconfig_update_rgb_matrix_default(void) {
109void eeconfig_debug_rgb_matrix(void) { 109void eeconfig_debug_rgb_matrix(void) {
110 dprintf("rgb_matrix_config EEPROM\n"); 110 dprintf("rgb_matrix_config EEPROM\n");
111 dprintf("rgb_matrix_config.enable = %d\n", rgb_matrix_config.enable); 111 dprintf("rgb_matrix_config.enable = %d\n", rgb_matrix_config.enable);
112#ifdef RGB_MATRIX_MODE_NAME_ENABLE
113 dprintf("rgb_matrix_config.mode = %d (%s)\n", rgb_matrix_config.mode, rgb_matrix_get_mode_name(rgb_matrix_config.mode));
114#else
112 dprintf("rgb_matrix_config.mode = %d\n", rgb_matrix_config.mode); 115 dprintf("rgb_matrix_config.mode = %d\n", rgb_matrix_config.mode);
116#endif // RGB_MATRIX_MODE_NAME_ENABLE
113 dprintf("rgb_matrix_config.hsv.h = %d\n", rgb_matrix_config.hsv.h); 117 dprintf("rgb_matrix_config.hsv.h = %d\n", rgb_matrix_config.hsv.h);
114 dprintf("rgb_matrix_config.hsv.s = %d\n", rgb_matrix_config.hsv.s); 118 dprintf("rgb_matrix_config.hsv.s = %d\n", rgb_matrix_config.hsv.s);
115 dprintf("rgb_matrix_config.hsv.v = %d\n", rgb_matrix_config.hsv.v); 119 dprintf("rgb_matrix_config.hsv.v = %d\n", rgb_matrix_config.hsv.v);
@@ -560,7 +564,11 @@ void rgb_matrix_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) {
560 } 564 }
561 rgb_task_state = STARTING; 565 rgb_task_state = STARTING;
562 eeconfig_flag_rgb_matrix(write_to_eeprom); 566 eeconfig_flag_rgb_matrix(write_to_eeprom);
563 dprintf("rgb matrix mode [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.mode); 567#ifdef RGB_MATRIX_MODE_NAME_ENABLE
568 dprintf("rgb matrix mode [%s]: %u (%s)\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", (unsigned)rgb_matrix_config.mode, rgb_matrix_get_mode_name(rgb_matrix_config.mode));
569#else
570 dprintf("rgb matrix mode [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", (unsigned)rgb_matrix_config.mode);
571#endif // RGB_MATRIX_MODE_NAME_ENABLE
564} 572}
565void rgb_matrix_mode_noeeprom(uint8_t mode) { 573void rgb_matrix_mode_noeeprom(uint8_t mode) {
566 rgb_matrix_mode_eeprom_helper(mode, false); 574 rgb_matrix_mode_eeprom_helper(mode, false);
@@ -738,3 +746,49 @@ void rgb_matrix_set_flags(led_flags_t flags) {
738void rgb_matrix_set_flags_noeeprom(led_flags_t flags) { 746void rgb_matrix_set_flags_noeeprom(led_flags_t flags) {
739 rgb_matrix_set_flags_eeprom_helper(flags, false); 747 rgb_matrix_set_flags_eeprom_helper(flags, false);
740} 748}
749
750//----------------------------------------------------------
751// RGB Matrix naming
752#undef RGB_MATRIX_EFFECT
753#ifdef RGB_MATRIX_MODE_NAME_ENABLE
754const char *rgb_matrix_get_mode_name(uint8_t mode) {
755 switch (mode) {
756 case RGB_MATRIX_NONE:
757 return "NONE";
758
759# define RGB_MATRIX_EFFECT(name, ...) \
760 case RGB_MATRIX_##name: \
761 return #name;
762# include "rgb_matrix_effects.inc"
763# undef RGB_MATRIX_EFFECT
764
765# ifdef COMMUNITY_MODULES_ENABLE
766# define RGB_MATRIX_EFFECT(name, ...) \
767 case RGB_MATRIX_COMMUNITY_MODULE_##name: \
768 return #name;
769# include "rgb_matrix_community_modules.inc"
770# undef RGB_MATRIX_EFFECT
771# endif // COMMUNITY_MODULES_ENABLE
772
773# if defined(RGB_MATRIX_CUSTOM_KB) || defined(RGB_MATRIX_CUSTOM_USER)
774# define RGB_MATRIX_EFFECT(name, ...) \
775 case RGB_MATRIX_CUSTOM_##name: \
776 return #name;
777
778# ifdef RGB_MATRIX_CUSTOM_KB
779# include "rgb_matrix_kb.inc"
780# endif // RGB_MATRIX_CUSTOM_KB
781
782# ifdef RGB_MATRIX_CUSTOM_USER
783# include "rgb_matrix_user.inc"
784# endif // RGB_MATRIX_CUSTOM_USER
785
786# undef RGB_MATRIX_EFFECT
787# endif // RGB_MATRIX_CUSTOM_KB || RGB_MATRIX_CUSTOM_USER
788
789 default:
790 return "UNKNOWN";
791 }
792}
793# undef RGB_MATRIX_EFFECT
794#endif // RGB_MATRIX_MODE_NAME_ENABLE
diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h
index c6b302631e..a91dded4a8 100644
--- a/quantum/rgb_matrix/rgb_matrix.h
+++ b/quantum/rgb_matrix/rgb_matrix.h
@@ -220,6 +220,10 @@ void rgb_matrix_set_flags(led_flags_t flags);
220void rgb_matrix_set_flags_noeeprom(led_flags_t flags); 220void rgb_matrix_set_flags_noeeprom(led_flags_t flags);
221void rgb_matrix_update_pwm_buffers(void); 221void rgb_matrix_update_pwm_buffers(void);
222 222
223#ifdef RGB_MATRIX_MODE_NAME_ENABLE
224const char *rgb_matrix_get_mode_name(uint8_t mode);
225#endif // RGB_MATRIX_MODE_NAME_ENABLE
226
223#ifndef RGBLIGHT_ENABLE 227#ifndef RGBLIGHT_ENABLE
224# define eeconfig_update_rgblight_current eeconfig_force_flush_rgb_matrix 228# define eeconfig_update_rgblight_current eeconfig_force_flush_rgb_matrix
225# define rgblight_reload_from_eeprom rgb_matrix_reload_from_eeprom 229# define rgblight_reload_from_eeprom rgb_matrix_reload_from_eeprom