Keyboard firmwares for Atmel AVR and Cortex-M
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.

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