summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2022-07-12 22:18:02 -0700
committerGitHub <noreply@github.com>2022-07-12 22:18:02 -0700
commit1dfe2bb49ab9cae1450697bf95d7a4c7bfc18bab (patch)
tree6804cb3119b6d2a78cc86fb2428d780daba15196
parent34fec2c07d8ac8129be06cd31d69aa98b21e64dd (diff)
downloadqmk_firmware-1dfe2bb49ab9cae1450697bf95d7a4c7bfc18bab.tar.gz
qmk_firmware-1dfe2bb49ab9cae1450697bf95d7a4c7bfc18bab.zip
Update LED/RGB Matrix flag function behavior (#17651)
-rw-r--r--quantum/led_matrix/led_matrix.c14
-rw-r--r--quantum/led_matrix/led_matrix.h1
-rw-r--r--quantum/rgb_matrix/rgb_matrix.c12
-rw-r--r--quantum/rgb_matrix/rgb_matrix.h1
4 files changed, 25 insertions, 3 deletions
diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c
index 38ed79bed0..75a0aba5a0 100644
--- a/quantum/led_matrix/led_matrix.c
+++ b/quantum/led_matrix/led_matrix.c
@@ -618,10 +618,20 @@ void led_matrix_decrease_speed(void) {
led_matrix_decrease_speed_helper(true);
}
+void led_matrix_set_flags_eeprom_helper(led_flags_t flags, bool write_to_eeprom) {
+ led_matrix_config.flags = flags;
+ eeconfig_flag_led_matrix(write_to_eeprom);
+ dprintf("led matrix set speed [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", led_matrix_config.flags);
+}
+
led_flags_t led_matrix_get_flags(void) {
- return led_matrix_eeconfig.flags;
+ return led_matrix_config.flags;
}
void led_matrix_set_flags(led_flags_t flags) {
- led_matrix_eeconfig.flags = flags;
+ led_matrix_set_flags_eeprom_helper(flags, true);
+}
+
+void led_matrix_set_flags_noeeprom(led_flags_t flags) {
+ led_matrix_set_flags_eeprom_helper(flags, false);
}
diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h
index d21f36e295..b2abec7eb1 100644
--- a/quantum/led_matrix/led_matrix.h
+++ b/quantum/led_matrix/led_matrix.h
@@ -158,6 +158,7 @@ void led_matrix_decrease_speed(void);
void led_matrix_decrease_speed_noeeprom(void);
led_flags_t led_matrix_get_flags(void);
void led_matrix_set_flags(led_flags_t flags);
+void led_matrix_set_flags_noeeprom(led_flags_t flags);
typedef struct {
/* Perform any initialisation required for the other driver functions to work. */
diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c
index a51e379025..2730686839 100644
--- a/quantum/rgb_matrix/rgb_matrix.c
+++ b/quantum/rgb_matrix/rgb_matrix.c
@@ -731,10 +731,20 @@ void rgb_matrix_decrease_speed(void) {
rgb_matrix_decrease_speed_helper(true);
}
+void rgb_matrix_set_flags_eeprom_helper(led_flags_t flags, bool write_to_eeprom) {
+ rgb_matrix_config.flags = flags;
+ eeconfig_flag_rgb_matrix(write_to_eeprom);
+ dprintf("rgb matrix set speed [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.flags);
+}
+
led_flags_t rgb_matrix_get_flags(void) {
return rgb_matrix_config.flags;
}
void rgb_matrix_set_flags(led_flags_t flags) {
- rgb_matrix_config.flags = flags;
+ rgb_matrix_set_flags_eeprom_helper(flags, true);
+}
+
+void rgb_matrix_set_flags_noeeprom(led_flags_t flags) {
+ rgb_matrix_set_flags_eeprom_helper(flags, false);
}
diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h
index 359d507a4d..fc9fc3e020 100644
--- a/quantum/rgb_matrix/rgb_matrix.h
+++ b/quantum/rgb_matrix/rgb_matrix.h
@@ -182,6 +182,7 @@ void rgb_matrix_increase_speed_noeeprom(void);
void rgb_matrix_decrease_speed(void);
void rgb_matrix_decrease_speed_noeeprom(void);
led_flags_t rgb_matrix_get_flags(void);
+led_flags_t rgb_matrix_get_flags_noeeprom(void);
void rgb_matrix_set_flags(led_flags_t flags);
#ifndef RGBLIGHT_ENABLE