58 lines
2.3 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",
.networkspecific.lan.macAddress = { 0x00, 0xA0, 0x57, 0x05, 0x3E, 0x0F },
.ntpServer = "0.de.pool.ntp.org",
.deviceId = "MainsCnt01",
.sharedSecret = "sharedSecretGanzGeheim",
.sinkServer = "laborpc",
.macAddress = { 0x00, 0xA0, 0x57, 0x05, 0x3E, 0x0F }
};
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]);
coloredMsg(LOG_BLUE, "cfg ci ntp server: %s", mainConfigBlock.ntpServer);
coloredMsg(LOG_BLUE, "cfg ci deviceId: %s", mainConfigBlock.deviceId);
coloredMsg(LOG_BLUE, "cfg ci sharedSecret: %s", mainConfigBlock.sharedSecret);
coloredMsg(LOG_BLUE, "cfg ci sink server: %s", mainConfigBlock.sinkServer);
}