Add display ask for offline/online mode

This commit is contained in:
Phat Nguyen
2024-05-09 14:32:42 +07:00
parent ad1da129c0
commit da6326db0f
3 changed files with 51 additions and 8 deletions

View File

@ -40,6 +40,7 @@ JSON_PROP_DEF(ledbarBrightness);
JSON_PROP_DEF(displayBrightness);
JSON_PROP_DEF(co2CalibrationRequested);
JSON_PROP_DEF(ledBarTestRequested);
JSON_PROP_DEF(offlineMode);
JSONVar jconfig;
static bool jsonTypeInvalid(JSONVar root, String validType) {
@ -145,6 +146,7 @@ void Configuration::defaultConfig(void) {
jconfig[jprop_noxLearningOffset] = 12;
jconfig[jprop_abcDays] = 8;
jconfig[jprop_model] = "";
jconfig[jprop_offlineMode] = false;
saveConfig();
}
@ -1077,6 +1079,15 @@ void Configuration::toConfig(const char *buf) {
logInfo("toConfig: displayBrightness changed");
}
if (JSON.typeof_(jconfig[jprop_offlineMode]) != "boolean") {
isInvalid = true;
} else {
isInvalid = false;
}
if (isInvalid) {
jconfig[jprop_offlineMode] = false;
}
if (changed) {
saveConfig();
}
@ -1139,6 +1150,17 @@ int Configuration::getDisplayBrightness(void) {
return value;
}
bool Configuration::isOfflineMode(void) {
bool offline = jconfig[jprop_offlineMode];
return offline;
}
void Configuration::setOfflineMode(bool offline) {
logInfo("Set offline mode: " + String(offline ? "True" : "False"));
jconfig[jprop_offlineMode] = offline;
saveConfig();
}
bool Configuration::isDisplayBrightnessChanged(void) {
bool changed = displayBrightnessChanged;
displayBrightnessChanged = false;

View File

@ -74,6 +74,8 @@ public:
int getLedBarBrightness(void);
bool isDisplayBrightnessChanged(void);
int getDisplayBrightness(void);
bool isOfflineMode(void);
void setOfflineMode(bool offline);
};
#endif /** _AG_CONFIG_H_ */