/* * Config.cpp * * Created on: 04.03.2014 * Author: wn */ #include #include "Config.h" String ConfigInvalidateCmd::exec(String params) { Config::setUInt(Config::MAGIC, 0); return "done"; } bool Config::getBool(int pos) { u_bool u; for (unsigned int i = 0; i < sizeof(bool); i++) { u.e[i] = EEPROM.read(pos + i); } return u.b; } void Config::setBool(int pos, bool value) { u_bool u; u.b = value; for (unsigned int i = 0; i < sizeof(bool); i++) { EEPROM.write(pos + i, u.e[i]); } } float Config::getFloat(int pos) { u_float u; for (unsigned int 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 (unsigned int i = 0; i < sizeof(float); i++) { EEPROM.write(pos + i, u.e[i]); } } unsigned int Config::getUInt(int pos) { u_uint u; for (unsigned int i = 0; i < sizeof(unsigned int); i++) { u.e[i] = EEPROM.read(pos + i); } return u.i; } void Config::setUInt(int pos, unsigned int value) { u_uint u; u.i = value; for (unsigned int i = 0; i < sizeof(unsigned int); i++) { EEPROM.write(pos + i, u.e[i]); } } unsigned long Config::getULong(int pos) { u_ulong u; for (unsigned int i = 0; i < sizeof(unsigned long); i++) { u.e[i] = EEPROM.read(pos + i); } return u.l; } void Config::setULong(int pos, unsigned long value) { u_ulong u; u.l = value; for (unsigned int i = 0; i < sizeof(unsigned long); i++) { EEPROM.write(pos + i, u.e[i]); } } bool Config::isInitialized() { unsigned int magic = getUInt(MAGIC); return magic == MAGIC_TOKEN; } void Config::setMagic() { setUInt(MAGIC, MAGIC_TOKEN); }