]> git.donarmstrong.com Git - qmk_firmware.git/blob - tmk_core/common/eeconfig.c
Generate API docs from source code comments (#2491)
[qmk_firmware.git] / tmk_core / common / eeconfig.c
1 #include <stdint.h>
2 #include <stdbool.h>
3 #include "eeprom.h"
4 #include "eeconfig.h"
5
6 /** \brief eeconfig initialization
7  *
8  * FIXME: needs doc
9  */
10 void eeconfig_init(void)
11 {
12     eeprom_update_word(EECONFIG_MAGIC,          EECONFIG_MAGIC_NUMBER);
13     eeprom_update_byte(EECONFIG_DEBUG,          0);
14     eeprom_update_byte(EECONFIG_DEFAULT_LAYER,  0);
15     eeprom_update_byte(EECONFIG_KEYMAP,         0);
16     eeprom_update_byte(EECONFIG_MOUSEKEY_ACCEL, 0);
17 #ifdef BACKLIGHT_ENABLE
18     eeprom_update_byte(EECONFIG_BACKLIGHT,      0);
19 #endif
20 #ifdef AUDIO_ENABLE
21     eeprom_update_byte(EECONFIG_AUDIO,             0xFF); // On by default
22 #endif
23 #ifdef RGBLIGHT_ENABLE
24     eeprom_update_dword(EECONFIG_RGBLIGHT,      0);
25 #endif
26 #ifdef STENO_ENABLE
27     eeprom_update_byte(EECONFIG_STENOMODE,      0);
28 #endif
29 }
30
31 /** \brief eeconfig enable
32  *
33  * FIXME: needs doc
34  */
35 void eeconfig_enable(void)
36 {
37     eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER);
38 }
39
40 /** \brief eeconfig disable
41  *
42  * FIXME: needs doc
43  */
44 void eeconfig_disable(void)
45 {
46     eeprom_update_word(EECONFIG_MAGIC, 0xFFFF);
47 }
48
49 /** \brief eeconfig is enabled
50  *
51  * FIXME: needs doc
52  */
53 bool eeconfig_is_enabled(void)
54 {
55     return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER);
56 }
57
58 /** \brief eeconfig read debug
59  *
60  * FIXME: needs doc
61  */
62 uint8_t eeconfig_read_debug(void)      { return eeprom_read_byte(EECONFIG_DEBUG); }
63 /** \brief eeconfig update debug
64  *
65  * FIXME: needs doc
66  */
67 void eeconfig_update_debug(uint8_t val) { eeprom_update_byte(EECONFIG_DEBUG, val); }
68
69 /** \brief eeconfig read default layer
70  *
71  * FIXME: needs doc
72  */
73 uint8_t eeconfig_read_default_layer(void)      { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); }
74 /** \brief eeconfig update default layer
75  *
76  * FIXME: needs doc
77  */
78 void eeconfig_update_default_layer(uint8_t val) { eeprom_update_byte(EECONFIG_DEFAULT_LAYER, val); }
79
80 /** \brief eeconfig read keymap
81  *
82  * FIXME: needs doc
83  */
84 uint8_t eeconfig_read_keymap(void)      { return eeprom_read_byte(EECONFIG_KEYMAP); }
85 /** \brief eeconfig update keymap
86  *
87  * FIXME: needs doc
88  */
89 void eeconfig_update_keymap(uint8_t val) { eeprom_update_byte(EECONFIG_KEYMAP, val); }
90
91 #ifdef BACKLIGHT_ENABLE
92 /** \brief eeconfig read backlight
93  *
94  * FIXME: needs doc
95  */
96 uint8_t eeconfig_read_backlight(void)      { return eeprom_read_byte(EECONFIG_BACKLIGHT); }
97 /** \brief eeconfig update backlight
98  *
99  * FIXME: needs doc
100  */
101 void eeconfig_update_backlight(uint8_t val) { eeprom_update_byte(EECONFIG_BACKLIGHT, val); }
102 #endif
103
104 #ifdef AUDIO_ENABLE
105 /** \brief eeconfig read audio
106  *
107  * FIXME: needs doc
108  */
109 uint8_t eeconfig_read_audio(void)      { return eeprom_read_byte(EECONFIG_AUDIO); }
110 /** \brief eeconfig update audio
111  *
112  * FIXME: needs doc
113  */
114 void eeconfig_update_audio(uint8_t val) { eeprom_update_byte(EECONFIG_AUDIO, val); }
115 #endif