OTA fixes + enable when network connected and switch pressed
This commit is contained in:
@@ -264,7 +264,7 @@ namespace commands
|
||||
{
|
||||
devices_t *dev = (devices_t *)pvTimerGetTimerID(th);
|
||||
LOG_INFO("setIrrigation shutdown pump");
|
||||
dev->io.digitalOutWrite(RO::IRR_PUMP, false);
|
||||
dev->io.digitalOutWrite(RO::PUMP_IRR, false);
|
||||
s_irrigationPumpTimer = NULL;
|
||||
xTimerDelete(th, 0); // delete the timer on expiry
|
||||
}
|
||||
@@ -340,7 +340,7 @@ namespace commands
|
||||
if (!s_irrigationPumpTimer) // Pump has not yet started
|
||||
{
|
||||
s_irrigationPumpTimer = xTimerCreate("pumpTimer", pdMS_TO_TICKS(pumpTime), false, (void *)&dev, resetWaterPump);
|
||||
dev.io.digitalOutWrite(RO::IRR_PUMP, true);
|
||||
dev.io.digitalOutWrite(RO::PUMP_IRR, true);
|
||||
xTimerStart(s_irrigationPumpTimer, 0); // immediate start pump timer
|
||||
LOG_INFO("setIrrigation pump time", pumpTime);
|
||||
}
|
||||
@@ -412,13 +412,15 @@ namespace commands
|
||||
ArduinoJson::JsonDocument response;
|
||||
response["cmd"] = "getInputStatus";
|
||||
const std::vector<bool> inStatus(dev.io.digitalInReadPort());
|
||||
if (inStatus.empty() || inStatus.size() != dev.io.getInNum()) {
|
||||
if (inStatus.empty() || inStatus.size() != dev.io.getInNum())
|
||||
{
|
||||
response["values"] = "invalid";
|
||||
return response;
|
||||
}
|
||||
uint8_t i(0);
|
||||
for (auto s: inStatus){
|
||||
const std::string k("DI"+std::to_string(i));
|
||||
for (auto s : inStatus)
|
||||
{
|
||||
const std::string k("DI" + std::to_string(i));
|
||||
response["values"][k.c_str()] = s;
|
||||
}
|
||||
LOG_INFO("getInputStatus ->", printBoolVec(inStatus).c_str());
|
||||
@@ -429,13 +431,15 @@ namespace commands
|
||||
ArduinoJson::JsonDocument response;
|
||||
response["cmd"] = "getOutputStatus";
|
||||
const std::vector<bool> inStatus(dev.io.digitalOutReadPort());
|
||||
if (inStatus.empty() || inStatus.size() != dev.io.getOutNum()) {
|
||||
if (inStatus.empty() || inStatus.size() != dev.io.getOutNum())
|
||||
{
|
||||
response["values"] = "invalid";
|
||||
return response;
|
||||
}
|
||||
uint8_t i(0);
|
||||
for (auto s: inStatus){
|
||||
const std::string k("DO"+std::to_string(i));
|
||||
for (auto s : inStatus)
|
||||
{
|
||||
const std::string k("DO" + std::to_string(i));
|
||||
response["values"][k.c_str()] = s;
|
||||
}
|
||||
LOG_INFO("getOutputStatus ->", printBoolVec(inStatus).c_str());
|
||||
|
||||
Reference in New Issue
Block a user