51 lines
1.8 KiB
C
51 lines
1.8 KiB
C
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
#include <config.h>
|
|
#include <eeprom.h>
|
|
#include <logger.h>
|
|
|
|
|
|
|
|
t_configBlock defaultConfigBlock = {
|
|
.configMagic = CONFIG_MAGIC,
|
|
.deviceName = "MainsCnt",
|
|
.macAddress = { 0x00, 0xA0, 0x57, 0x05, 0x3E, 0x0F },
|
|
.filler = { 0 }
|
|
};
|
|
|
|
|
|
|
|
t_configBlock mainConfigBlock;
|
|
|
|
|
|
|
|
t_configBlock* getConfig() {
|
|
return &mainConfigBlock;
|
|
}
|
|
|
|
|
|
void configInit() {
|
|
coloredMsg(LOG_BLUE, "cfg ci Reading configuration block from eeprom");
|
|
eepromReadConfigBlock(&mainConfigBlock);
|
|
|
|
if (mainConfigBlock.configMagic != CONFIG_MAGIC) {
|
|
coloredMsg(LOG_BLUE, "cfg ci Invalid configuration block read from eeprom");
|
|
|
|
eepromWriteConfigBlock(&defaultConfigBlock);
|
|
coloredMsg(LOG_BLUE, "cfg ci Default configuration block written to eeprom");
|
|
|
|
coloredMsg(LOG_BLUE, "cfg ci Reading configuration block from eeprom again");
|
|
eepromReadConfigBlock(&mainConfigBlock);
|
|
}
|
|
coloredMsg(LOG_BLUE, "cfg ci configMagic: %lx", mainConfigBlock.configMagic);
|
|
coloredMsg(LOG_BLUE, "cfg ci deviceName: %s", mainConfigBlock.deviceName);
|
|
coloredMsg(LOG_BLUE, "cfg ci MAC address: %02x:%02x:%02x:%02x:%02x:%02x", mainConfigBlock.macAddress[0],
|
|
mainConfigBlock.macAddress[1],
|
|
mainConfigBlock.macAddress[2],
|
|
mainConfigBlock.macAddress[3],
|
|
mainConfigBlock.macAddress[4],
|
|
mainConfigBlock.macAddress[5]);
|
|
|
|
}
|