summaryrefslogtreecommitdiff
path: root/quantum/backlight/backlight.c
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/backlight/backlight.c')
-rw-r--r--quantum/backlight/backlight.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/quantum/backlight/backlight.c b/quantum/backlight/backlight.c
index e89b34696c..eb64dd71e8 100644
--- a/quantum/backlight/backlight.c
+++ b/quantum/backlight/backlight.c
@@ -42,20 +42,26 @@ backlight_config_t backlight_config;
static uint8_t breathing_period = BREATHING_PERIOD;
#endif
+static void backlight_check_config(void) {
+ /* Add some out of bound checks for backlight config */
+
+ if (backlight_config.level > BACKLIGHT_LEVELS) {
+ backlight_config.level = BACKLIGHT_LEVELS;
+ }
+}
+
/** \brief Backlight initialization
*
* FIXME: needs doc
*/
void backlight_init(void) {
- /* check signature */
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- eeconfig_update_backlight_default();
- }
backlight_config.raw = eeconfig_read_backlight();
- if (backlight_config.level > BACKLIGHT_LEVELS) {
- backlight_config.level = BACKLIGHT_LEVELS;
+ if (!backlight_config.valid) {
+ dprintf("backlight_init backlight_config.valid = 0. Write default values to EEPROM.\n");
+ eeconfig_update_backlight_default();
}
+ backlight_check_config();
+
backlight_set(backlight_config.enable ? backlight_config.level : 0);
}
@@ -183,6 +189,7 @@ void eeconfig_update_backlight_current(void) {
}
void eeconfig_update_backlight_default(void) {
+ backlight_config.valid = true;
backlight_config.enable = BACKLIGHT_DEFAULT_ON;
backlight_config.breathing = BACKLIGHT_DEFAULT_BREATHING;
backlight_config.level = BACKLIGHT_DEFAULT_LEVEL;