From 1ba2aad7e745c6c8bcde0865b0fdb5a91b96091b Mon Sep 17 00:00:00 2001 From: Lukas Heiligenbrunner Date: Mon, 11 May 2020 10:05:09 +0200 Subject: [PATCH] prevent overflow with timeouts higher than 71mins. --- src/main.cpp | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index c7155a9..08ef094 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,10 +14,10 @@ static const uint8_t DruckSensorPin = 12; static const uint8_t SchuetzPin = 13; /** time config */ -static const int abschaltzeit = 3600; //sek +static const int abschaltzeit = 7200; //sek static const int maxpumpdauer = 600; //sek -Ticker tick; +// ticker fuer kein-wasser abschaltung Ticker status; //pumpendauer maximum ticker @@ -87,7 +87,6 @@ void WasserSensorCheck() { Serial.println("warte 30min"); status.detach(); - tick.detach(); i = abschaltzeit; status.attach(5, []() { @@ -95,22 +94,21 @@ void WasserSensorCheck() { Serial.print("noch "); Serial.print(i); Serial.println(" Sekunden verbleibend"); - }); - tick.once(abschaltzeit, []() { - status.detach(); - if (digitalRead(WasserSensorPin)) { - allow = true; - Serial.println("Einschalten der Pumpe wieder erlaubt."); + if (i <= 0) { + if (digitalRead(WasserSensorPin)) { + allow = true; + Serial.println("Einschalten der Pumpe wieder erlaubt."); - //pruefen ob drucksensor ein - DruckschalterInt(); - } else { - Serial.print("wassersensor immer noch kein Wasser --> verlaengern um 30min\n\n"); - WasserSensorCheck(); + //pruefen ob drucksensor ein + DruckschalterInt(); + } else { + Serial.print("wassersensor immer noch kein Wasser --> verlaengern um 120min\n\n"); + WasserSensorCheck(); + } + status.detach(); } }); - } else { Serial.println("Wasser Sensor EIN"); }