diff options
Diffstat (limited to 'tmk_core/common/eeconfig.c')
| -rw-r--r-- | tmk_core/common/eeconfig.c | 103 |
1 files changed, 78 insertions, 25 deletions
diff --git a/tmk_core/common/eeconfig.c b/tmk_core/common/eeconfig.c index 35de574a9..0fec410a9 100644 --- a/tmk_core/common/eeconfig.c +++ b/tmk_core/common/eeconfig.c | |||
| @@ -8,32 +8,54 @@ | |||
| 8 | #include "eeprom_stm32.h" | 8 | #include "eeprom_stm32.h" |
| 9 | #endif | 9 | #endif |
| 10 | 10 | ||
| 11 | /** \brief eeconfig initialization | 11 | extern uint32_t default_layer_state; |
| 12 | /** \brief eeconfig enable | ||
| 12 | * | 13 | * |
| 13 | * FIXME: needs doc | 14 | * FIXME: needs doc |
| 14 | */ | 15 | */ |
| 15 | void eeconfig_init(void) | 16 | __attribute__ ((weak)) |
| 16 | { | 17 | void eeconfig_init_user(void) { |
| 18 | // Reset user EEPROM value to blank, rather than to a set value | ||
| 19 | eeconfig_update_user(0); | ||
| 20 | } | ||
| 21 | |||
| 22 | __attribute__ ((weak)) | ||
| 23 | void eeconfig_init_kb(void) { | ||
| 24 | // Reset Keyboard EEPROM value to blank, rather than to a set value | ||
| 25 | eeconfig_update_kb(0); | ||
| 26 | |||
| 27 | eeconfig_init_user(); | ||
| 28 | } | ||
| 29 | |||
| 30 | |||
| 31 | /* | ||
| 32 | * FIXME: needs doc | ||
| 33 | */ | ||
| 34 | void eeconfig_init_quantum(void) { | ||
| 17 | #ifdef STM32F303xC | 35 | #ifdef STM32F303xC |
| 18 | EEPROM_format(); | 36 | EEPROM_format(); |
| 19 | #endif | 37 | #endif |
| 20 | eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); | 38 | eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); |
| 21 | eeprom_update_byte(EECONFIG_DEBUG, 0); | 39 | eeprom_update_byte(EECONFIG_DEBUG, 0); |
| 22 | eeprom_update_byte(EECONFIG_DEFAULT_LAYER, 0); | 40 | eeprom_update_byte(EECONFIG_DEFAULT_LAYER, 0); |
| 23 | eeprom_update_byte(EECONFIG_KEYMAP, 0); | 41 | default_layer_state = 0; |
| 24 | eeprom_update_byte(EECONFIG_MOUSEKEY_ACCEL, 0); | 42 | eeprom_update_byte(EECONFIG_KEYMAP, 0); |
| 25 | #ifdef BACKLIGHT_ENABLE | 43 | eeprom_update_byte(EECONFIG_MOUSEKEY_ACCEL, 0); |
| 26 | eeprom_update_byte(EECONFIG_BACKLIGHT, 0); | 44 | eeprom_update_byte(EECONFIG_BACKLIGHT, 0); |
| 27 | #endif | 45 | eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default |
| 28 | #ifdef AUDIO_ENABLE | 46 | eeprom_update_dword(EECONFIG_RGBLIGHT, 0); |
| 29 | eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default | 47 | eeprom_update_byte(EECONFIG_STENOMODE, 0); |
| 30 | #endif | 48 | |
| 31 | #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) | 49 | eeconfig_init_kb(); |
| 32 | eeprom_update_dword(EECONFIG_RGBLIGHT, 0); | 50 | } |
| 33 | #endif | 51 | |
| 34 | #ifdef STENO_ENABLE | 52 | /** \brief eeconfig initialization |
| 35 | eeprom_update_byte(EECONFIG_STENOMODE, 0); | 53 | * |
| 36 | #endif | 54 | * FIXME: needs doc |
| 55 | */ | ||
| 56 | void eeconfig_init(void) { | ||
| 57 | |||
| 58 | eeconfig_init_quantum(); | ||
| 37 | } | 59 | } |
| 38 | 60 | ||
| 39 | /** \brief eeconfig enable | 61 | /** \brief eeconfig enable |
| @@ -54,7 +76,7 @@ void eeconfig_disable(void) | |||
| 54 | #ifdef STM32F303xC | 76 | #ifdef STM32F303xC |
| 55 | EEPROM_format(); | 77 | EEPROM_format(); |
| 56 | #endif | 78 | #endif |
| 57 | eeprom_update_word(EECONFIG_MAGIC, 0xFFFF); | 79 | eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER_OFF); |
| 58 | } | 80 | } |
| 59 | 81 | ||
| 60 | /** \brief eeconfig is enabled | 82 | /** \brief eeconfig is enabled |
| @@ -66,6 +88,15 @@ bool eeconfig_is_enabled(void) | |||
| 66 | return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER); | 88 | return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER); |
| 67 | } | 89 | } |
| 68 | 90 | ||
| 91 | /** \brief eeconfig is disabled | ||
| 92 | * | ||
| 93 | * FIXME: needs doc | ||
| 94 | */ | ||
| 95 | bool eeconfig_is_disabled(void) | ||
| 96 | { | ||
| 97 | return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER_OFF); | ||
| 98 | } | ||
| 99 | |||
| 69 | /** \brief eeconfig read debug | 100 | /** \brief eeconfig read debug |
| 70 | * | 101 | * |
| 71 | * FIXME: needs doc | 102 | * FIXME: needs doc |
| @@ -99,7 +130,6 @@ uint8_t eeconfig_read_keymap(void) { return eeprom_read_byte(EECONFIG_KEYMA | |||
| 99 | */ | 130 | */ |
| 100 | void eeconfig_update_keymap(uint8_t val) { eeprom_update_byte(EECONFIG_KEYMAP, val); } | 131 | void eeconfig_update_keymap(uint8_t val) { eeprom_update_byte(EECONFIG_KEYMAP, val); } |
| 101 | 132 | ||
| 102 | #ifdef BACKLIGHT_ENABLE | ||
| 103 | /** \brief eeconfig read backlight | 133 | /** \brief eeconfig read backlight |
| 104 | * | 134 | * |
| 105 | * FIXME: needs doc | 135 | * FIXME: needs doc |
| @@ -110,9 +140,8 @@ uint8_t eeconfig_read_backlight(void) { return eeprom_read_byte(EECONFIG_BA | |||
| 110 | * FIXME: needs doc | 140 | * FIXME: needs doc |
| 111 | */ | 141 | */ |
| 112 | void eeconfig_update_backlight(uint8_t val) { eeprom_update_byte(EECONFIG_BACKLIGHT, val); } | 142 | void eeconfig_update_backlight(uint8_t val) { eeprom_update_byte(EECONFIG_BACKLIGHT, val); } |
| 113 | #endif | ||
| 114 | 143 | ||
| 115 | #ifdef AUDIO_ENABLE | 144 | |
| 116 | /** \brief eeconfig read audio | 145 | /** \brief eeconfig read audio |
| 117 | * | 146 | * |
| 118 | * FIXME: needs doc | 147 | * FIXME: needs doc |
| @@ -123,4 +152,28 @@ uint8_t eeconfig_read_audio(void) { return eeprom_read_byte(EECONFIG_AUDIO) | |||
| 123 | * FIXME: needs doc | 152 | * FIXME: needs doc |
| 124 | */ | 153 | */ |
| 125 | void eeconfig_update_audio(uint8_t val) { eeprom_update_byte(EECONFIG_AUDIO, val); } | 154 | void eeconfig_update_audio(uint8_t val) { eeprom_update_byte(EECONFIG_AUDIO, val); } |
| 126 | #endif | 155 | |
| 156 | |||
| 157 | /** \brief eeconfig read kb | ||
| 158 | * | ||
| 159 | * FIXME: needs doc | ||
| 160 | */ | ||
| 161 | uint32_t eeconfig_read_kb(void) { return eeprom_read_dword(EECONFIG_KEYBOARD); } | ||
| 162 | /** \brief eeconfig update kb | ||
| 163 | * | ||
| 164 | * FIXME: needs doc | ||
| 165 | */ | ||
| 166 | |||
| 167 | void eeconfig_update_kb(uint32_t val) { eeprom_update_dword(EECONFIG_KEYBOARD, val); } | ||
| 168 | /** \brief eeconfig read user | ||
| 169 | * | ||
| 170 | * FIXME: needs doc | ||
| 171 | */ | ||
| 172 | uint32_t eeconfig_read_user(void) { return eeprom_read_dword(EECONFIG_USER); } | ||
| 173 | /** \brief eeconfig update user | ||
| 174 | * | ||
| 175 | * FIXME: needs doc | ||
| 176 | */ | ||
| 177 | void eeconfig_update_user(uint32_t val) { eeprom_update_dword(EECONFIG_USER, val); } | ||
| 178 | |||
| 179 | |||
