aboutsummaryrefslogtreecommitdiff
path: root/tmk_core/common/eeconfig.c
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/common/eeconfig.c')
-rw-r--r--tmk_core/common/eeconfig.c101
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
11extern uint32_t default_layer_state; 11extern 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) {
17void 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) {
23void 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 */
61void eeconfig_init(void) { 58void 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 */
70void eeconfig_enable(void) 64void 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 */
79void eeconfig_disable(void) 70void 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 */
91bool eeconfig_is_enabled(void) 81bool 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 */
100bool eeconfig_is_disabled(void) 87bool 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 */
109uint8_t eeconfig_read_debug(void) { return eeprom_read_byte(EECONFIG_DEBUG); } 93uint8_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 */
120uint8_t eeconfig_read_default_layer(void) { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); } 104uint8_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 */
131uint16_t eeconfig_read_keymap(void) { 115uint16_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 */
138void eeconfig_update_keymap(uint16_t val) { 120void 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 */
147uint8_t eeconfig_read_backlight(void) { return eeprom_read_byte(EECONFIG_BACKLIGHT); } 129uint8_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 */
152void eeconfig_update_backlight(uint8_t val) { eeprom_update_byte(EECONFIG_BACKLIGHT, val); } 134void 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 */
159uint8_t eeconfig_read_audio(void) { return eeprom_read_byte(EECONFIG_AUDIO); } 140uint8_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 */
164void eeconfig_update_audio(uint8_t val) { eeprom_update_byte(EECONFIG_AUDIO, val); } 145void 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 */
171uint32_t eeconfig_read_kb(void) { return eeprom_read_dword(EECONFIG_KEYBOARD); } 151uint32_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 */
182uint32_t eeconfig_read_user(void) { return eeprom_read_dword(EECONFIG_USER); } 162uint32_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 */
187void eeconfig_update_user(uint32_t val) { eeprom_update_dword(EECONFIG_USER, val); } 167void eeconfig_update_user(uint32_t val) { eeprom_update_dword(EECONFIG_USER, val); }
188 168
189 169uint32_t eeconfig_read_haptic(void) { return eeprom_read_dword(EECONFIG_HAPTIC); }
190uint32_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