From bad9592a18494e3f678c2a117a526ca5f2f2280d Mon Sep 17 00:00:00 2001 From: Joshua Diamond Date: Wed, 27 Jan 2021 12:42:03 -0500 Subject: [PATCH] Add rgblight_reload_from_eeprom() (#11411) * Add rgblight_reset_from_eeprom() * reset->reload --- docs/feature_rgblight.md | 1 + quantum/rgblight.c | 11 +++++++++++ quantum/rgblight.h | 3 +++ 3 files changed, 15 insertions(+) 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);