summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);