diff options
Diffstat (limited to 'tmk_core/common/eeconfig.c')
-rw-r--r-- | tmk_core/common/eeconfig.c | 101 |
1 files changed, 40 insertions, 61 deletions
diff --git a/tmk_core/common/eeconfig.c b/tmk_core/common/eeconfig.c index 28f5d3ad5..61aaec205 100644 --- a/tmk_core/common/eeconfig.c +++ b/tmk_core/common/eeconfig.c | |||
@@ -4,8 +4,8 @@ | |||
4 | #include "eeconfig.h" | 4 | #include "eeconfig.h" |
5 | 5 | ||
6 | #ifdef STM32_EEPROM_ENABLE | 6 | #ifdef STM32_EEPROM_ENABLE |
7 | #include "hal.h" | 7 | # include "hal.h" |
8 | #include "eeprom_stm32.h" | 8 | # include "eeprom_stm32.h" |
9 | #endif | 9 | #endif |
10 | 10 | ||
11 | extern uint32_t default_layer_state; | 11 | extern uint32_t default_layer_state; |
@@ -13,21 +13,18 @@ extern uint32_t default_layer_state; | |||
13 | * | 13 | * |
14 | * FIXME: needs doc | 14 | * FIXME: needs doc |
15 | */ | 15 | */ |
16 | __attribute__ ((weak)) | 16 | __attribute__((weak)) void eeconfig_init_user(void) { |
17 | void eeconfig_init_user(void) { | 17 | // Reset user EEPROM value to blank, rather than to a set value |
18 | // Reset user EEPROM value to blank, rather than to a set value | 18 | eeconfig_update_user(0); |
19 | eeconfig_update_user(0); | ||
20 | } | 19 | } |
21 | 20 | ||
22 | __attribute__ ((weak)) | 21 | __attribute__((weak)) void eeconfig_init_kb(void) { |
23 | void eeconfig_init_kb(void) { | 22 | // Reset Keyboard EEPROM value to blank, rather than to a set value |
24 | // Reset Keyboard EEPROM value to blank, rather than to a set value | 23 | eeconfig_update_kb(0); |
25 | eeconfig_update_kb(0); | ||
26 | 24 | ||
27 | eeconfig_init_user(); | 25 | eeconfig_init_user(); |
28 | } | 26 | } |
29 | 27 | ||
30 | |||
31 | /* | 28 | /* |
32 | * FIXME: needs doc | 29 | * FIXME: needs doc |
33 | */ | 30 | */ |
@@ -35,49 +32,42 @@ void eeconfig_init_quantum(void) { | |||
35 | #ifdef STM32_EEPROM_ENABLE | 32 | #ifdef STM32_EEPROM_ENABLE |
36 | EEPROM_Erase(); | 33 | EEPROM_Erase(); |
37 | #endif | 34 | #endif |
38 | eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); | 35 | eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); |
39 | eeprom_update_byte(EECONFIG_DEBUG, 0); | 36 | eeprom_update_byte(EECONFIG_DEBUG, 0); |
40 | eeprom_update_byte(EECONFIG_DEFAULT_LAYER, 0); | 37 | eeprom_update_byte(EECONFIG_DEFAULT_LAYER, 0); |
41 | default_layer_state = 0; | 38 | default_layer_state = 0; |
42 | eeprom_update_byte(EECONFIG_KEYMAP_LOWER_BYTE, 0); | 39 | eeprom_update_byte(EECONFIG_KEYMAP_LOWER_BYTE, 0); |
43 | eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, 0); | 40 | eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, 0); |
44 | eeprom_update_byte(EECONFIG_MOUSEKEY_ACCEL, 0); | 41 | eeprom_update_byte(EECONFIG_MOUSEKEY_ACCEL, 0); |
45 | eeprom_update_byte(EECONFIG_BACKLIGHT, 0); | 42 | eeprom_update_byte(EECONFIG_BACKLIGHT, 0); |
46 | eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default | 43 | eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default |
47 | eeprom_update_dword(EECONFIG_RGBLIGHT, 0); | 44 | eeprom_update_dword(EECONFIG_RGBLIGHT, 0); |
48 | eeprom_update_byte(EECONFIG_STENOMODE, 0); | 45 | eeprom_update_byte(EECONFIG_STENOMODE, 0); |
49 | eeprom_update_dword(EECONFIG_HAPTIC, 0); | 46 | eeprom_update_dword(EECONFIG_HAPTIC, 0); |
50 | eeprom_update_byte(EECONFIG_VELOCIKEY, 0); | 47 | eeprom_update_byte(EECONFIG_VELOCIKEY, 0); |
51 | eeprom_update_dword(EECONFIG_RGB_MATRIX, 0); | 48 | eeprom_update_dword(EECONFIG_RGB_MATRIX, 0); |
52 | eeprom_update_byte(EECONFIG_RGB_MATRIX_SPEED, 0); | 49 | eeprom_update_byte(EECONFIG_RGB_MATRIX_SPEED, 0); |
53 | 50 | ||
54 | eeconfig_init_kb(); | 51 | eeconfig_init_kb(); |
55 | } | 52 | } |
56 | 53 | ||
57 | /** \brief eeconfig initialization | 54 | /** \brief eeconfig initialization |
58 | * | 55 | * |
59 | * FIXME: needs doc | 56 | * FIXME: needs doc |
60 | */ | 57 | */ |
61 | void eeconfig_init(void) { | 58 | void eeconfig_init(void) { eeconfig_init_quantum(); } |
62 | |||
63 | eeconfig_init_quantum(); | ||
64 | } | ||
65 | 59 | ||
66 | /** \brief eeconfig enable | 60 | /** \brief eeconfig enable |
67 | * | 61 | * |
68 | * FIXME: needs doc | 62 | * FIXME: needs doc |
69 | */ | 63 | */ |
70 | void eeconfig_enable(void) | 64 | void eeconfig_enable(void) { eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); } |
71 | { | ||
72 | eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); | ||
73 | } | ||
74 | 65 | ||
75 | /** \brief eeconfig disable | 66 | /** \brief eeconfig disable |
76 | * | 67 | * |
77 | * FIXME: needs doc | 68 | * FIXME: needs doc |
78 | */ | 69 | */ |
79 | void eeconfig_disable(void) | 70 | void eeconfig_disable(void) { |
80 | { | ||
81 | #ifdef STM32_EEPROM_ENABLE | 71 | #ifdef STM32_EEPROM_ENABLE |
82 | EEPROM_Erase(); | 72 | EEPROM_Erase(); |
83 | #endif | 73 | #endif |
@@ -88,25 +78,19 @@ void eeconfig_disable(void) | |||
88 | * | 78 | * |
89 | * FIXME: needs doc | 79 | * FIXME: needs doc |
90 | */ | 80 | */ |
91 | bool eeconfig_is_enabled(void) | 81 | bool eeconfig_is_enabled(void) { return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER); } |
92 | { | ||
93 | return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER); | ||
94 | } | ||
95 | 82 | ||
96 | /** \brief eeconfig is disabled | 83 | /** \brief eeconfig is disabled |
97 | * | 84 | * |
98 | * FIXME: needs doc | 85 | * FIXME: needs doc |
99 | */ | 86 | */ |
100 | bool eeconfig_is_disabled(void) | 87 | bool eeconfig_is_disabled(void) { return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER_OFF); } |
101 | { | ||
102 | return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER_OFF); | ||
103 | } | ||
104 | 88 | ||
105 | /** \brief eeconfig read debug | 89 | /** \brief eeconfig read debug |
106 | * | 90 | * |
107 | * FIXME: needs doc | 91 | * FIXME: needs doc |
108 | */ | 92 | */ |
109 | uint8_t eeconfig_read_debug(void) { return eeprom_read_byte(EECONFIG_DEBUG); } | 93 | uint8_t eeconfig_read_debug(void) { return eeprom_read_byte(EECONFIG_DEBUG); } |
110 | /** \brief eeconfig update debug | 94 | /** \brief eeconfig update debug |
111 | * | 95 | * |
112 | * FIXME: needs doc | 96 | * FIXME: needs doc |
@@ -117,7 +101,7 @@ void eeconfig_update_debug(uint8_t val) { eeprom_update_byte(EECONFIG_DEBUG, val | |||
117 | * | 101 | * |
118 | * FIXME: needs doc | 102 | * FIXME: needs doc |
119 | */ | 103 | */ |
120 | uint8_t eeconfig_read_default_layer(void) { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); } | 104 | uint8_t eeconfig_read_default_layer(void) { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); } |
121 | /** \brief eeconfig update default layer | 105 | /** \brief eeconfig update default layer |
122 | * | 106 | * |
123 | * FIXME: needs doc | 107 | * FIXME: needs doc |
@@ -128,47 +112,43 @@ void eeconfig_update_default_layer(uint8_t val) { eeprom_update_byte(EECONFIG_DE | |||
128 | * | 112 | * |
129 | * FIXME: needs doc | 113 | * FIXME: needs doc |
130 | */ | 114 | */ |
131 | uint16_t eeconfig_read_keymap(void) { | 115 | uint16_t eeconfig_read_keymap(void) { return (eeprom_read_byte(EECONFIG_KEYMAP_LOWER_BYTE) | (eeprom_read_byte(EECONFIG_KEYMAP_UPPER_BYTE) << 8)); } |
132 | return ( eeprom_read_byte(EECONFIG_KEYMAP_LOWER_BYTE) | (eeprom_read_byte(EECONFIG_KEYMAP_UPPER_BYTE) << 8) ); | ||
133 | } | ||
134 | /** \brief eeconfig update keymap | 116 | /** \brief eeconfig update keymap |
135 | * | 117 | * |
136 | * FIXME: needs doc | 118 | * FIXME: needs doc |
137 | */ | 119 | */ |
138 | void eeconfig_update_keymap(uint16_t val) { | 120 | void eeconfig_update_keymap(uint16_t val) { |
139 | eeprom_update_byte(EECONFIG_KEYMAP_LOWER_BYTE, val & 0xFF); | 121 | eeprom_update_byte(EECONFIG_KEYMAP_LOWER_BYTE, val & 0xFF); |
140 | eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, ( val >> 8 ) & 0xFF ); | 122 | eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, (val >> 8) & 0xFF); |
141 | } | 123 | } |
142 | 124 | ||
143 | /** \brief eeconfig read backlight | 125 | /** \brief eeconfig read backlight |
144 | * | 126 | * |
145 | * FIXME: needs doc | 127 | * FIXME: needs doc |
146 | */ | 128 | */ |
147 | uint8_t eeconfig_read_backlight(void) { return eeprom_read_byte(EECONFIG_BACKLIGHT); } | 129 | uint8_t eeconfig_read_backlight(void) { return eeprom_read_byte(EECONFIG_BACKLIGHT); } |
148 | /** \brief eeconfig update backlight | 130 | /** \brief eeconfig update backlight |
149 | * | 131 | * |
150 | * FIXME: needs doc | 132 | * FIXME: needs doc |
151 | */ | 133 | */ |
152 | void eeconfig_update_backlight(uint8_t val) { eeprom_update_byte(EECONFIG_BACKLIGHT, val); } | 134 | void eeconfig_update_backlight(uint8_t val) { eeprom_update_byte(EECONFIG_BACKLIGHT, val); } |
153 | 135 | ||
154 | |||
155 | /** \brief eeconfig read audio | 136 | /** \brief eeconfig read audio |
156 | * | 137 | * |
157 | * FIXME: needs doc | 138 | * FIXME: needs doc |
158 | */ | 139 | */ |
159 | uint8_t eeconfig_read_audio(void) { return eeprom_read_byte(EECONFIG_AUDIO); } | 140 | uint8_t eeconfig_read_audio(void) { return eeprom_read_byte(EECONFIG_AUDIO); } |
160 | /** \brief eeconfig update audio | 141 | /** \brief eeconfig update audio |
161 | * | 142 | * |
162 | * FIXME: needs doc | 143 | * FIXME: needs doc |
163 | */ | 144 | */ |
164 | void eeconfig_update_audio(uint8_t val) { eeprom_update_byte(EECONFIG_AUDIO, val); } | 145 | void eeconfig_update_audio(uint8_t val) { eeprom_update_byte(EECONFIG_AUDIO, val); } |
165 | 146 | ||
166 | |||
167 | /** \brief eeconfig read kb | 147 | /** \brief eeconfig read kb |
168 | * | 148 | * |
169 | * FIXME: needs doc | 149 | * FIXME: needs doc |
170 | */ | 150 | */ |
171 | uint32_t eeconfig_read_kb(void) { return eeprom_read_dword(EECONFIG_KEYBOARD); } | 151 | uint32_t eeconfig_read_kb(void) { return eeprom_read_dword(EECONFIG_KEYBOARD); } |
172 | /** \brief eeconfig update kb | 152 | /** \brief eeconfig update kb |
173 | * | 153 | * |
174 | * FIXME: needs doc | 154 | * FIXME: needs doc |
@@ -179,15 +159,14 @@ void eeconfig_update_kb(uint32_t val) { eeprom_update_dword(EECONFIG_KEYBOARD, v | |||
179 | * | 159 | * |
180 | * FIXME: needs doc | 160 | * FIXME: needs doc |
181 | */ | 161 | */ |
182 | uint32_t eeconfig_read_user(void) { return eeprom_read_dword(EECONFIG_USER); } | 162 | uint32_t eeconfig_read_user(void) { return eeprom_read_dword(EECONFIG_USER); } |
183 | /** \brief eeconfig update user | 163 | /** \brief eeconfig update user |
184 | * | 164 | * |
185 | * FIXME: needs doc | 165 | * FIXME: needs doc |
186 | */ | 166 | */ |
187 | void eeconfig_update_user(uint32_t val) { eeprom_update_dword(EECONFIG_USER, val); } | 167 | void eeconfig_update_user(uint32_t val) { eeprom_update_dword(EECONFIG_USER, val); } |
188 | 168 | ||
189 | 169 | uint32_t eeconfig_read_haptic(void) { return eeprom_read_dword(EECONFIG_HAPTIC); } | |
190 | uint32_t eeconfig_read_haptic(void) { return eeprom_read_dword(EECONFIG_HAPTIC); } | ||
191 | /** \brief eeconfig update user | 170 | /** \brief eeconfig update user |
192 | * | 171 | * |
193 | * FIXME: needs doc | 172 | * FIXME: needs doc |