eeconfig.c 2.8 KB

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