You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

eeconfig.c 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include <stdint.h>
  2. #include <stdbool.h>
  3. #include <avr/eeprom.h>
  4. #include "eeconfig.h"
  5. #include "keymap_ex.h"
  6. void eeconfig_init(void)
  7. {
  8. eeprom_write_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER);
  9. eeprom_write_byte(EECONFIG_DEBUG, 0);
  10. eeprom_write_byte(EECONFIG_DEFAULT_LAYER, 0);
  11. eeprom_write_byte(EECONFIG_KEYMAP, 0);
  12. eeprom_write_byte(EECONFIG_MOUSEKEY_ACCEL, 0);
  13. #ifdef BACKLIGHT_ENABLE
  14. eeprom_write_byte(EECONFIG_BACKLIGHT, 0);
  15. #endif
  16. #ifdef KEYMAP_EX_ENABLE
  17. keymap_ex_init();
  18. #endif
  19. }
  20. void eeconfig_enable(void)
  21. {
  22. eeprom_write_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER);
  23. }
  24. void eeconfig_disable(void)
  25. {
  26. #ifdef KEYMAP_EX_ENABLE
  27. keymap_ex_disable();
  28. #endif
  29. eeprom_write_word(EECONFIG_MAGIC, 0xFFFF);
  30. }
  31. bool eeconfig_is_enabled(void)
  32. {
  33. return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER);
  34. }
  35. uint8_t eeconfig_read_debug(void) { return eeprom_read_byte(EECONFIG_DEBUG); }
  36. void eeconfig_write_debug(uint8_t val) { eeprom_write_byte(EECONFIG_DEBUG, val); }
  37. uint8_t eeconfig_read_default_layer(void) { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); }
  38. void eeconfig_write_default_layer(uint8_t val) { eeprom_write_byte(EECONFIG_DEFAULT_LAYER, val); }
  39. uint8_t eeconfig_read_keymap(void) { return eeprom_read_byte(EECONFIG_KEYMAP); }
  40. void eeconfig_write_keymap(uint8_t val) { eeprom_write_byte(EECONFIG_KEYMAP, val); }
  41. #ifdef BACKLIGHT_ENABLE
  42. uint8_t eeconfig_read_backlight(void) { return eeprom_read_byte(EECONFIG_BACKLIGHT); }
  43. void eeconfig_write_backlight(uint8_t val) { eeprom_write_byte(EECONFIG_BACKLIGHT, val); }
  44. #endif