start integrating MeterBus client
This commit is contained in:
37
Config.cpp
37
Config.cpp
@ -8,6 +8,7 @@
|
||||
|
||||
#include <EEPROM.h>
|
||||
#include "Config.h"
|
||||
#include "Resources.h"
|
||||
|
||||
|
||||
|
||||
@ -83,6 +84,42 @@ void Config::setULong(int pos, unsigned long value) {
|
||||
}
|
||||
}
|
||||
|
||||
unsigned char Config::getUChar(int pos) {
|
||||
u_uchar u;
|
||||
for (unsigned int i = 0; i < sizeof(unsigned char); i++) {
|
||||
u.e[i] = EEPROM.read(pos + i);
|
||||
}
|
||||
return u.c;
|
||||
}
|
||||
|
||||
void Config::setUChar(int pos, unsigned char value) {
|
||||
u_uchar u;
|
||||
u.c = value;
|
||||
for (unsigned int i = 0; i < sizeof(unsigned char); i++) {
|
||||
EEPROM.write(pos + i, u.e[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Config::initialize() {
|
||||
if (! Config::isInitialized()) {
|
||||
Serial.println(getResource(CONFIG_INIT_KEY));
|
||||
Config::setFloat(Config::THERMOMETER_ALPHA, 1.0);
|
||||
Config::setULong(Config::THERMOMETER_PERIOD, 1000);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
Config::setFloat(Config::THERMOMETER_CAL[i], 1.0);
|
||||
}
|
||||
Config::setBool(Config::THERMOMETER_DEBUG, true);
|
||||
Config::setBool(Config::THERMOMETER_INFO, true);
|
||||
|
||||
|
||||
Config::setUChar(Config::METERBUSCLIENT_ADDRESS, 0);
|
||||
|
||||
Config::setMagic();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool Config::isInitialized() {
|
||||
unsigned int magic = getUInt(MAGIC);
|
||||
return magic == MAGIC_TOKEN;
|
||||
|
Reference in New Issue
Block a user