#include #include #include #include #include t_configBlock defaultConfigBlock = { .configMagic = CONFIG_MAGIC, .deviceName = "MBGW3", .macAddress = { 0x00, 0xA0, 0x57, 0x05, 0x3E, 0x0D }, .frontendThreshold = 240, .brokerName = "mqttbroker", .watchdogTopic = "IoT/Watchdog", .startupTopic = "IoT/MBGW3/Startup", .statusTopic = "IoT/MBGW3/Status", .mbusDataTopic = "IoT/MBGW3/Measurement", .syslogServerName = "syslogserver", .filler = { 0, 0 } }; t_configBlock mainConfigBlock; t_configBlock* getConfig() { return &mainConfigBlock; } void configInit() { coloredMsg(LOG_BLUE, false, "cfg ci Reading configuration block from eeprom"); eepromReadConfigBlock(0, &mainConfigBlock); if (mainConfigBlock.configMagic != CONFIG_MAGIC) { coloredMsg(LOG_BLUE, false, "cfg ci Invalid configuration block read from eeprom"); eepromWriteConfigBlock(0, &defaultConfigBlock); coloredMsg(LOG_BLUE, false, "cfg ci Default configuration block written to eeprom"); coloredMsg(LOG_BLUE, false, "cfg ci Reading configuration block from eeprom again"); eepromReadConfigBlock(0, &mainConfigBlock); } coloredMsg(LOG_BLUE, false, "cfg ci configMagic: %lx", mainConfigBlock.configMagic); coloredMsg(LOG_BLUE, false, "cfg ci deviceName: %s", mainConfigBlock.deviceName); coloredMsg(LOG_BLUE, false, "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, false, "cfg ci frontend threshold: %ld", mainConfigBlock.frontendThreshold); coloredMsg(LOG_BLUE, false, "cfg ci broker: %s", mainConfigBlock.brokerName); coloredMsg(LOG_BLUE, false, "cfg ci watchdogTopic: %s", mainConfigBlock.watchdogTopic); coloredMsg(LOG_BLUE, false, "cfg ci startupTopic: %s", mainConfigBlock.startupTopic); coloredMsg(LOG_BLUE, false, "cfg ci statusTopic: %s", mainConfigBlock.statusTopic); coloredMsg(LOG_BLUE, false, "cfg ci mbusDataTopic: %s", mainConfigBlock.mbusDataTopic); coloredMsg(LOG_BLUE, false, "cfg ci syslog server: %s", mainConfigBlock.syslogServerName); }