Skip to content

Commit

Permalink
RGB Matrix: Reload from EEPROM (qmk#15923)
Browse files Browse the repository at this point in the history
Co-authored-by: Sergey Vlasov <[email protected]>
  • Loading branch information
lickel and sigprof committed Feb 5, 2022
1 parent 119cadb commit eb8ace0
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/feature_rgb_matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -709,6 +709,7 @@ Where `28` is an unused index from `eeconfig.h`.
|`rgb_matrix_decrease_speed_noeeprom()` |Decrease the speed of the animations (not written to EEPROM) |
|`rgb_matrix_set_speed(speed)` |Set the speed of the animations to the given value where `speed` is between 0 and 255 |
|`rgb_matrix_set_speed_noeeprom(speed)` |Set the speed of the animations to the given value where `speed` is between 0 and 255 (not written to EEPROM) |
|`rgb_matrix_reload_from_eeprom()` |Reload the effect configuration (enabled, mode and color) from EEPROM |
### Change Color :id=change-color
|Function |Description |
Expand Down
10 changes: 10 additions & 0 deletions quantum/rgb_matrix/rgb_matrix.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
3 changes: 3 additions & 0 deletions quantum/rgb_matrix/rgb_matrix.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit eb8ace0

Please sign in to comment.