summaryrefslogtreecommitdiff
path: root/common/eeconfig.c
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2013-03-07 03:30:08 +0900
committertmk <nobody@nowhere>2013-03-07 03:30:08 +0900
commit359b68d35f0763ab0cafa2fb800e0a3497291f95 (patch)
tree8b048e024f1af5b9394d8883c208ee923c936b64 /common/eeconfig.c
parent5d6b848a157a2e94859949961297d40da6a77527 (diff)
downloadqmk_firmware-359b68d35f0763ab0cafa2fb800e0a3497291f95.tar.gz
qmk_firmware-359b68d35f0763ab0cafa2fb800e0a3497291f95.zip
Add eeconfig.c - eeprom stored paramerters
Diffstat (limited to 'common/eeconfig.c')
-rw-r--r--common/eeconfig.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/common/eeconfig.c b/common/eeconfig.c
new file mode 100644
index 0000000000..a5834aa2c7
--- /dev/null
+++ b/common/eeconfig.c
@@ -0,0 +1,29 @@
+#include <stdint.h>
+#include <stdbool.h>
+#include <avr/eeprom.h>
+#include "eeconfig.h"
+
+
+void eeconfig_init(void)
+{
+ eeprom_write_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER);
+ eeprom_write_byte(EECONFIG_DEBUG, 0);
+ eeprom_write_byte(EECONFIG_DEFAULT_LAYER, 0);
+ eeprom_write_byte(EECONFIG_MODIFIER, 0);
+ eeprom_write_byte(EECONFIG_MOUSEKEY_ACCEL, 0);
+}
+
+bool eeconfig_initialized(void)
+{
+ return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER);
+}
+
+uint8_t eeconfig_read_debug(void) { return eeprom_read_byte(EECONFIG_DEBUG); }
+void eeconfig_write_debug(uint8_t val) { eeprom_write_byte(EECONFIG_DEBUG, val); }
+
+uint8_t eeconfig_read_defalt_layer(void) { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); }
+void eeconfig_write_defalt_layer(uint8_t val) { eeprom_write_byte(EECONFIG_DEFAULT_LAYER, val); }
+
+uint8_t eeconfig_read_modifier(void) { return eeprom_read_byte(EECONFIG_MODIFIER); }
+void eeconfig_write_modifier(uint8_t val) { eeprom_write_byte(EECONFIG_MODIFIER, val); }
+