diff options
Diffstat (limited to 'quantum/backlight/backlight.c')
-rw-r--r-- | quantum/backlight/backlight.c | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/quantum/backlight/backlight.c b/quantum/backlight/backlight.c index 113beb832..1bc276899 100644 --- a/quantum/backlight/backlight.c +++ b/quantum/backlight/backlight.c | |||
@@ -22,6 +22,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
22 | 22 | ||
23 | backlight_config_t backlight_config; | 23 | backlight_config_t backlight_config; |
24 | 24 | ||
25 | #ifndef BACKLIGHT_DEFAULT_LEVEL | ||
26 | # define BACKLIGHT_DEFAULT_LEVEL BACKLIGHT_LEVELS | ||
27 | #endif | ||
28 | |||
25 | #ifdef BACKLIGHT_BREATHING | 29 | #ifdef BACKLIGHT_BREATHING |
26 | // TODO: migrate to backlight_config_t | 30 | // TODO: migrate to backlight_config_t |
27 | static uint8_t breathing_period = BREATHING_PERIOD; | 31 | static uint8_t breathing_period = BREATHING_PERIOD; |
@@ -35,6 +39,7 @@ void backlight_init(void) { | |||
35 | /* check signature */ | 39 | /* check signature */ |
36 | if (!eeconfig_is_enabled()) { | 40 | if (!eeconfig_is_enabled()) { |
37 | eeconfig_init(); | 41 | eeconfig_init(); |
42 | eeconfig_update_backlight_default(); | ||
38 | } | 43 | } |
39 | backlight_config.raw = eeconfig_read_backlight(); | 44 | backlight_config.raw = eeconfig_read_backlight(); |
40 | if (backlight_config.level > BACKLIGHT_LEVELS) { | 45 | if (backlight_config.level > BACKLIGHT_LEVELS) { |
@@ -152,11 +157,23 @@ void backlight_level(uint8_t level) { | |||
152 | eeconfig_update_backlight(backlight_config.raw); | 157 | eeconfig_update_backlight(backlight_config.raw); |
153 | } | 158 | } |
154 | 159 | ||
155 | /** \brief Update current backlight state to EEPROM | 160 | uint8_t eeconfig_read_backlight(void) { return eeprom_read_byte(EECONFIG_BACKLIGHT); } |
156 | * | 161 | |
157 | */ | 162 | void eeconfig_update_backlight(uint8_t val) { eeprom_update_byte(EECONFIG_BACKLIGHT, val); } |
163 | |||
158 | void eeconfig_update_backlight_current(void) { eeconfig_update_backlight(backlight_config.raw); } | 164 | void eeconfig_update_backlight_current(void) { eeconfig_update_backlight(backlight_config.raw); } |
159 | 165 | ||
166 | void eeconfig_update_backlight_default(void) { | ||
167 | backlight_config.enable = 1; | ||
168 | #ifdef BACKLIGHT_DEFAULT_BREATHING | ||
169 | backlight_config.breathing = 1; | ||
170 | #else | ||
171 | backlight_config.breathing = 0; | ||
172 | #endif | ||
173 | backlight_config.level = BACKLIGHT_DEFAULT_LEVEL; | ||
174 | eeconfig_update_backlight(backlight_config.raw); | ||
175 | } | ||
176 | |||
160 | /** \brief Get backlight level | 177 | /** \brief Get backlight level |
161 | * | 178 | * |
162 | * FIXME: needs doc | 179 | * FIXME: needs doc |