2013-03-06 18:30:08 +00:00
# include <stdint.h>
# include <stdbool.h>
# include <avr/eeprom.h>
# include "eeconfig.h"
void eeconfig_init ( void )
{
2013-03-10 10:22:54 +00:00
eeprom_write_word ( EECONFIG_MAGIC , EECONFIG_MAGIC_NUMBER ) ;
eeprom_write_byte ( EECONFIG_DEBUG , 0 ) ;
eeprom_write_byte ( EECONFIG_DEFAULT_LAYER , 0 ) ;
2013-04-07 06:36:50 +00:00
eeprom_write_byte ( EECONFIG_KEYMAP , 0 ) ;
2013-03-10 10:22:54 +00:00
eeprom_write_byte ( EECONFIG_MOUSEKEY_ACCEL , 0 ) ;
2013-03-06 18:30:08 +00:00
}
2013-03-11 06:10:56 +00:00
void eeconfig_enable ( void )
2013-03-06 18:30:08 +00:00
{
2013-03-11 06:10:56 +00:00
eeprom_write_word ( EECONFIG_MAGIC , EECONFIG_MAGIC_NUMBER ) ;
}
void eeconfig_disable ( void )
{
eeprom_write_word ( EECONFIG_MAGIC , 0xFFFF ) ;
}
bool eeconfig_is_enabled ( void )
{
2013-04-07 06:36:50 +00:00
return ( eeprom_read_word ( EECONFIG_MAGIC ) = = EECONFIG_MAGIC_NUMBER ) ;
2013-03-06 18:30:08 +00:00
}
2013-03-10 10:22:54 +00:00
uint8_t eeconfig_read_debug ( void ) { return eeprom_read_byte ( EECONFIG_DEBUG ) ; }
2013-03-06 18:30:08 +00:00
void eeconfig_write_debug ( uint8_t val ) { eeprom_write_byte ( EECONFIG_DEBUG , val ) ; }
2013-03-10 10:22:54 +00:00
uint8_t eeconfig_read_defalt_layer ( void ) { return eeprom_read_byte ( EECONFIG_DEFAULT_LAYER ) ; }
2013-03-06 18:30:08 +00:00
void eeconfig_write_defalt_layer ( uint8_t val ) { eeprom_write_byte ( EECONFIG_DEFAULT_LAYER , val ) ; }
2013-04-07 06:36:50 +00:00
uint8_t eeconfig_read_keymap ( void ) { return eeprom_read_byte ( EECONFIG_KEYMAP ) ; }
void eeconfig_write_keymap ( uint8_t val ) { eeprom_write_byte ( EECONFIG_KEYMAP , val ) ; }