summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoshua Diamond <josh@windowoffire.com>2021-01-27 12:42:03 -0500
committerGitHub <noreply@github.com>2021-01-28 04:42:03 +1100
commitbad9592a18494e3f678c2a117a526ca5f2f2280d (patch)
tree8ce28a5b691c1092795e80f3ef09871b07d0a22c
parent162842f16ee2e064f826712c3cd0c4d24445732e (diff)
Add rgblight_reload_from_eeprom() (#11411)
* Add rgblight_reset_from_eeprom()

* reset->reload
-rw-r--r--docs/feature_rgblight.md1
-rw-r--r--quantum/rgblight.c11
-rw-r--r--quantum/rgblight.h3
3 files changed, 15 insertions, 0 deletions
diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md
index 0d3e666701..755fd769e6 100644
--- a/docs/feature_rgblight.md
+++ b/docs/feature_rgblight.md
@@ -361,6 +361,7 @@ rgblight_sethsv(HSV_GREEN, 2); // led 2
 |`rgblight_step_noeeprom()`                  |Change the mode to the next RGB animation in the list of enabled RGB animations (not written to EEPROM) |
 |`rgblight_step_reverse()`                   |Change the mode to the previous RGB animation in the list of enabled RGB animations |
 |`rgblight_step_reverse_noeeprom()`          |Change the mode to the previous RGB animation in the list of enabled RGB animations (not written to EEPROM) |
+|`rgblight_reload_from_eeprom()`             |Reload the effect configuration (enabled, mode and color) from EEPROM |
 
 #### effects mode disable/enable
 |Function                                    |Description  |
diff --git a/quantum/rgblight.c b/quantum/rgblight.c
index d856f6d6c8..ac4ff9bfda 100644
--- a/quantum/rgblight.c
+++ b/quantum/rgblight.c
@@ -234,6 +234,17 @@ void rgblight_init(void) {
     is_rgblight_initialized = true;
 }
 
+void rgblight_reload_from_eeprom(void) {
+    /* Reset back to what we have in eeprom */
+    rgblight_config.raw = eeconfig_read_rgblight();
+    RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS;
+    rgblight_check_config();
+    eeconfig_debug_rgblight();  // display current eeprom values
+    if (rgblight_config.enable) {
+        rgblight_mode_noeeprom(rgblight_config.mode);
+    }
+}
+
 uint32_t rgblight_read_dword(void) { return rgblight_config.raw; }
 
 void rgblight_update_dword(uint32_t dword) {
diff --git a/quantum/rgblight.h b/quantum/rgblight.h
index efbffa7fdb..1854fee999 100644
--- a/quantum/rgblight.h
+++ b/quantum/rgblight.h
@@ -347,6 +347,9 @@ uint8_t rgblight_get_speed(void);
 void    rgblight_set_speed(uint8_t speed);
 void    rgblight_set_speed_noeeprom(uint8_t speed);
 
+/*   reset */
+void rgblight_reload_from_eeprom(void);
+
 /*       query */
 uint8_t rgblight_get_mode(void);
 uint8_t rgblight_get_hue(void);