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