Files
GyverLamp2/firmware/GyverLamp2_v0.6b/eeprom.ino
2021-02-03 23:34:17 +03:00

69 lines
1.4 KiB
C++

bool EEcfgFlag = false;
bool EEdawnFlag = false;
bool EEpresetFlag = false;
void EE_startup() {
// старт епром
if (EEPROM.read(511) != EE_KEY) {
EEPROM.write(511, EE_KEY);
EEPROM.put(0, cfg);
EEPROM.put(sizeof(cfg), dawn);
EEPROM.put(sizeof(cfg) + sizeof(dawn), preset);
EEPROM.commit();
DEBUGLN("First start");
}
EEPROM.get(0, cfg);
EEPROM.get(sizeof(cfg), dawn);
EEPROM.get(sizeof(cfg) + sizeof(dawn), preset);
// запускаем всё
trnd.setChannel(cfg.group);
FastLED.setMaxPowerInVoltsAndMilliamps(STRIP_VOLT, cfg.maxCur * 100);
}
void EE_updateCfg() {
EEcfgFlag = true;
EEtmr.restart();
}
void EE_updateDawn() {
EEdawnFlag = true;
EEtmr.restart();
}
void EE_updatePreset() {
EEpresetFlag = true;
EEtmr.restart();
}
void checkEEupdate() {
if (EEtmr.isReady()) {
if (EEcfgFlag || EEdawnFlag || EEpresetFlag) {
if (EEcfgFlag) {
EEcfgFlag = false;
EEPROM.put(0, cfg);
DEBUGLN("save cfg");
}
if (EEdawnFlag) {
EEdawnFlag = false;
EEPROM.put(sizeof(cfg), dawn);
DEBUGLN("save dawn");
}
if (EEpresetFlag) {
EEpresetFlag = false;
EEPROM.put(sizeof(cfg) + sizeof(dawn), preset);
DEBUGLN("save preset");
}
EEPROM.commit();
}
EEtmr.stop();
}
}
void EE_updCfgRst() {
EE_updCfg();
delay(100);
ESP.restart();
}
void EE_updCfg() {
EEPROM.put(0, cfg);
EEPROM.commit();
}