summaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
authorAdam Lickel <adam@lickel.com>2022-02-04 19:08:48 -0800
committerGitHub <noreply@github.com>2022-02-04 19:08:48 -0800
commiteb8ace0855b36be04d2fc348a9afde7f74d64d1a (patch)
tree94d119f71718e81b1ca7d94c0d29e8bac00e6662 /quantum
parent119cadbaae15585b5140c1102a49364fbcf7cd0d (diff)
downloadqmk_firmware-eb8ace0855b36be04d2fc348a9afde7f74d64d1a.tar.gz
qmk_firmware-eb8ace0855b36be04d2fc348a9afde7f74d64d1a.zip
RGB Matrix: Reload from EEPROM (#15923)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Diffstat (limited to 'quantum')
-rw-r--r--quantum/rgb_matrix/rgb_matrix.c10
-rw-r--r--quantum/rgb_matrix/rgb_matrix.h3
2 files changed, 13 insertions, 0 deletions
diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c
index 51e9554e2d..5a4556f097 100644
--- a/quantum/rgb_matrix/rgb_matrix.c
+++ b/quantum/rgb_matrix/rgb_matrix.c
@@ -164,6 +164,16 @@ void eeconfig_debug_rgb_matrix(void) {
dprintf("rgb_matrix_config.flags = %d\n", rgb_matrix_config.flags);
}
+void rgb_matrix_reload_from_eeprom(void) {
+ rgb_matrix_disable_noeeprom();
+ /* Reset back to what we have in eeprom */
+ eeconfig_init_rgb_matrix();
+ eeconfig_debug_rgb_matrix(); // display current eeprom values
+ if (rgb_matrix_config.enable) {
+ rgb_matrix_mode_noeeprom(rgb_matrix_config.mode);
+ }
+}
+
__attribute__((weak)) uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) { return 0; }
uint8_t rgb_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *led_i) {
diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h
index a804d99abc..3cd77857be 100644
--- a/quantum/rgb_matrix/rgb_matrix.h
+++ b/quantum/rgb_matrix/rgb_matrix.h
@@ -136,6 +136,8 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max);
void rgb_matrix_init(void);
+void rgb_matrix_reload_from_eeprom(void);
+
void rgb_matrix_set_suspend_state(bool state);
bool rgb_matrix_get_suspend_state(void);
void rgb_matrix_toggle(void);
@@ -182,6 +184,7 @@ void rgb_matrix_set_flags(led_flags_t flags);
#ifndef RGBLIGHT_ENABLE
# define eeconfig_update_rgblight_current eeconfig_update_rgb_matrix
+# define rgblight_reload_from_eeprom rgb_matrix_reload_from_eeprom
# define rgblight_toggle rgb_matrix_toggle
# define rgblight_toggle_noeeprom rgb_matrix_toggle_noeeprom
# define rgblight_enable rgb_matrix_enable