fix switch to error state after too long turn on time
This commit is contained in:
parent
a42b4529e6
commit
0bf22c9a04
11
src/main.cpp
11
src/main.cpp
@ -22,6 +22,8 @@ Ticker status;
|
|||||||
//pumpendauer maximum ticker
|
//pumpendauer maximum ticker
|
||||||
Ticker pumpendauer;
|
Ticker pumpendauer;
|
||||||
|
|
||||||
|
int turnontime = -1;
|
||||||
|
|
||||||
void pumpeSchalten(bool on) {
|
void pumpeSchalten(bool on) {
|
||||||
// digitalWrite(4,on);
|
// digitalWrite(4,on);
|
||||||
if (on) {
|
if (on) {
|
||||||
@ -32,8 +34,8 @@ void pumpeSchalten(bool on) {
|
|||||||
|
|
||||||
if (allow && !error) {
|
if (allow && !error) {
|
||||||
if (on) {
|
if (on) {
|
||||||
pumpendauer.once(maxpumpdauer, []() { //erlaube keine einschaltung von mehr als 60 sek
|
pumpendauer.once(maxpumpdauer + 1, []() { //erlaube keine einschaltung von mehr als 60 sek
|
||||||
if (digitalRead(DruckSensorPin)) {
|
if (millis() - turnontime >= maxpumpdauer * 1000 && turnontime != -1) {
|
||||||
//error zu lange
|
//error zu lange
|
||||||
Serial.println("\n\npumpe lief mehr als 10 Minuten durchgaengig");
|
Serial.println("\n\npumpe lief mehr als 10 Minuten durchgaengig");
|
||||||
pumpeSchalten(false);
|
pumpeSchalten(false);
|
||||||
@ -41,11 +43,12 @@ void pumpeSchalten(bool on) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
turnontime = millis();
|
||||||
digitalWrite(SchuetzPin, on);
|
digitalWrite(SchuetzPin, on);
|
||||||
Serial.println("[Erfolg] pumpe wird geschalten");
|
Serial.println("[Erfolg] pumpe wird geschalten");
|
||||||
} else {
|
} else {
|
||||||
Serial.println(
|
Serial.println("[FEHLGESCHLAGEN] Schalten des Schütz gesperrt durch Timeout oder Fehler-- sofortiges ausschalten der pumpe\n");
|
||||||
"[FEHLGESCHLAGEN] Schalten des Schütz gesperrt durch Timeout oder Fehler-- sofortiges ausschalten der pumpe\n");
|
turnontime = -1;
|
||||||
digitalWrite(SchuetzPin, LOW);
|
digitalWrite(SchuetzPin, LOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user