Add new flag for command request

Such as led bar test and co2 calibration test
This commit is contained in:
samuelbles07
2025-06-09 02:13:32 +07:00
parent 50a98acde4
commit e82da5401e
3 changed files with 20 additions and 13 deletions

View File

@ -370,6 +370,12 @@ void loop() {
/** factory reset handle */
factoryConfigReset();
if (configuration.isCommandRequested()) {
// Each state machine already has an independent request command check
stateMachine.executeCo2Calibration();
stateMachine.executeLedBarTest();
}
}
static void co2Update(void) {
@ -1082,10 +1088,6 @@ static void configUpdateHandle() {
return;
}
if (configuration.isCo2CalibrationRequested()) {
stateMachine.executeCo2Calibration();
}
String mqttUri = configuration.getMqttBrokerUri();
if (mqttClient.isCurrentUri(mqttUri) == false) {
mqttClient.end();
@ -1157,11 +1159,6 @@ static void configUpdateHandle() {
if (configuration.isDisplayBrightnessChanged()) {
oledDisplay.setBrightness(configuration.getDisplayBrightness());
}
stateMachine.executeLedBarTest();
}
else if(ag->isOpenAir()) {
stateMachine.executeLedBarTest();
}
// Update display and led bar notification based on updated configuration

View File

@ -955,16 +955,18 @@ bool Configuration::parse(String data, bool isLocal) {
changed = true;
}
if (ledBarTestRequested || co2CalibrationRequested) {
commandRequested = true;
updated = true;
}
if (changed) {
updated = true;
saveConfig();
printConfig();
_callback();
} else {
if (ledBarTestRequested || co2CalibrationRequested) {
updated = true;
}
}
return true;
}
@ -1164,6 +1166,12 @@ bool Configuration::isUpdated(void) {
return updated;
}
bool Configuration::isCommandRequested(void) {
bool oldState = this->commandRequested;
this->commandRequested = false;
return oldState;
}
String Configuration::jsonTypeInvalidMessage(String name, String type) {
return "'" + name + "' type is invalid, expecting '" + type + "'";
}

View File

@ -28,6 +28,7 @@ private:
bool co2CalibrationRequested;
bool ledBarTestRequested;
bool updated;
bool commandRequested = false;
String failedMessage;
bool _noxLearnOffsetChanged;
bool _tvocLearningOffsetChanged;
@ -93,6 +94,7 @@ public:
void reset(void);
String getModel(void);
bool isUpdated(void);
bool isCommandRequested(void);
String getFailedMesage(void);
void setPostToAirGradient(bool enable);
bool noxLearnOffsetChanged(void);