added json, more pump code, bugs
This commit is contained in:
+15
-7
@@ -10,7 +10,9 @@ void Valve::loop() {
|
||||
this->loopLastMillis = millis();
|
||||
|
||||
for (uint8_t i = 0; i < this->valveCount; i++) {
|
||||
uint8_t minutesOn = (millis() - this->valves[i].startTime) / 1000;
|
||||
if (this->valves[i].duration == 0)
|
||||
continue;
|
||||
uint8_t minutesOn = (millis() - this->valves[i].startTime) / 1000 / 60;
|
||||
if (minutesOn >= this->valves[i].duration)
|
||||
this->close(i);
|
||||
}
|
||||
@@ -38,6 +40,9 @@ void Valve::open(uint8_t valveNumber, uint8_t minutes) {
|
||||
this->valves[valveNumber].duration = minutes;
|
||||
this->valves[valveNumber].startTime = millis();
|
||||
this->setValve(valveNumber, true);
|
||||
|
||||
Serial.print(F("Opened valve: "));
|
||||
Serial.println(valveNumber);
|
||||
}
|
||||
|
||||
void Valve::close(uint8_t valveNumber) {
|
||||
@@ -46,13 +51,13 @@ void Valve::close(uint8_t valveNumber) {
|
||||
|
||||
this->valves[valveNumber].duration = 0;
|
||||
this->setValve(valveNumber, false);
|
||||
Serial.print(F("Closed valve: "));
|
||||
Serial.println(valveNumber);
|
||||
}
|
||||
|
||||
void Valve::closeAll() {
|
||||
for (uint8_t i = 0; i < this->valveCount; i++) {
|
||||
this->valves[i].duration = 0;
|
||||
this->setValve(i, false);
|
||||
}
|
||||
for (uint8_t i = 0; i < this->valveCount; i++)
|
||||
this->close(i);
|
||||
}
|
||||
|
||||
uint8_t Valve::getNumOfOpen() {
|
||||
@@ -63,12 +68,15 @@ uint8_t Valve::getNumOfOpen() {
|
||||
return res;
|
||||
}
|
||||
|
||||
uint8_t Valve::getTimeLeft(uint8_t valveNumber) {
|
||||
uint16_t Valve::getTimeLeft(uint8_t valveNumber) {
|
||||
if (valveNumber >= this->valveCount)
|
||||
return -1;
|
||||
|
||||
if (this->valves[valveNumber].duration == 0)
|
||||
return 0;
|
||||
|
||||
uint32_t millisOn = millis() - this->valves[valveNumber].startTime;
|
||||
return this->valves[valveNumber].duration - (millisOn / 1000);
|
||||
return this->valves[valveNumber].duration * 60 - (millisOn / 1000);
|
||||
}
|
||||
|
||||
void Valve::setValve(uint8_t valveNumber, bool state) {
|
||||
|
||||
Reference in New Issue
Block a user