#include #include "Config.h" float Config::getFloat(int pos) { u_float u; for (uint8_t i = 0; i < sizeof(float); i++) { u.e[i] = EEPROM.read(pos + i); } return u.f; } void Config::setFloat(int pos, float value) { u_float u; u.f = value; for (uint8_t i = 0; i < sizeof(float); i++) { EEPROM.write(pos + i, u.e[i]); } } uint32_t Config::getUInt32(int pos) { u_uint32 u; for (uint8_t i = 0; i < sizeof(uint32_t); i++) { u.e[i] = EEPROM.read(pos + i); } return u.i; } void Config::setUInt32(int pos, uint32_t value) { u_uint32 u; u.i = value; for (uint8_t i = 0; i < sizeof(uint32_t); i++) { EEPROM.write(pos + i, u.e[i]); } } bool Config::isInitialized() { uint32_t magic = getUInt32(MAGIC); return magic == MAGIC_TOKEN; } void Config::setMagic() { setUInt32(MAGIC, MAGIC_TOKEN); } bool Config::initialize() { bool res = false; if (! isInitialized()) { res = true; setMagic(); } return res; }