diff options
author | Nathan Sharfi <me@ngalt.com> | 2016-07-31 14:02:25 -0700 |
---|---|---|
committer | Nathan Sharfi <me@ngalt.com> | 2016-07-31 14:02:25 -0700 |
commit | d889648d5373b7ff77dc7bc4b369c628e8336b45 (patch) | |
tree | 35c6eb194417242958baf54b36f0ff3a56e378f1 /tmk_core/common/eeconfig.c | |
parent | 6428069eb70f5cc47ac1f3f9acf3daea14fb9097 (diff) | |
parent | b25dbc484d639210c53d8e13f79cf5a77f2faaaa (diff) |
Merge branch 'master' of github.com:jackhumbert/qmk_firmware
# Conflicts:
# keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c
# keyboard/ergodox_ez/keymaps/zweihander-osx/zweihander-osx.hex
Diffstat (limited to 'tmk_core/common/eeconfig.c')
-rw-r--r-- | tmk_core/common/eeconfig.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/tmk_core/common/eeconfig.c b/tmk_core/common/eeconfig.c new file mode 100644 index 0000000000..140d2b85bb --- /dev/null +++ b/tmk_core/common/eeconfig.c @@ -0,0 +1,56 @@ +#include <stdint.h> +#include <stdbool.h> +#include "eeprom.h" +#include "eeconfig.h" + +void eeconfig_init(void) +{ + eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); + eeprom_update_byte(EECONFIG_DEBUG, 0); + eeprom_update_byte(EECONFIG_DEFAULT_LAYER, 0); + eeprom_update_byte(EECONFIG_KEYMAP, 0); + eeprom_update_byte(EECONFIG_MOUSEKEY_ACCEL, 0); +#ifdef BACKLIGHT_ENABLE + eeprom_update_byte(EECONFIG_BACKLIGHT, 0); +#endif +#ifdef AUDIO_ENABLE + eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default +#endif +#ifdef RGBLIGHT_ENABLE + eeprom_update_dword(EECONFIG_RGBLIGHT, 0); +#endif +} + +void eeconfig_enable(void) +{ + eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER); +} + +void eeconfig_disable(void) +{ + eeprom_update_word(EECONFIG_MAGIC, 0xFFFF); +} + +bool eeconfig_is_enabled(void) +{ + return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER); +} + +uint8_t eeconfig_read_debug(void) { return eeprom_read_byte(EECONFIG_DEBUG); } +void eeconfig_update_debug(uint8_t val) { eeprom_update_byte(EECONFIG_DEBUG, val); } + +uint8_t eeconfig_read_default_layer(void) { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); } +void eeconfig_update_default_layer(uint8_t val) { eeprom_update_byte(EECONFIG_DEFAULT_LAYER, val); } + +uint8_t eeconfig_read_keymap(void) { return eeprom_read_byte(EECONFIG_KEYMAP); } +void eeconfig_update_keymap(uint8_t val) { eeprom_update_byte(EECONFIG_KEYMAP, val); } + +#ifdef BACKLIGHT_ENABLE +uint8_t eeconfig_read_backlight(void) { return eeprom_read_byte(EECONFIG_BACKLIGHT); } +void eeconfig_update_backlight(uint8_t val) { eeprom_update_byte(EECONFIG_BACKLIGHT, val); } +#endif + +#ifdef AUDIO_ENABLE +uint8_t eeconfig_read_audio(void) { return eeprom_read_byte(EECONFIG_AUDIO); } +void eeconfig_update_audio(uint8_t val) { eeprom_update_byte(EECONFIG_AUDIO, val); } +#endif |