diff --git a/rancilio-pid/display.h b/rancilio-pid/display.h index 4467f4b5c..2f52d186e 100644 --- a/rancilio-pid/display.h +++ b/rancilio-pid/display.h @@ -110,9 +110,12 @@ u8g2.sendBuffer(); } - if (SHOTTIMER == 1 && millis() >= bezugszeit_last_Millis && // direkt nach Erstellen von bezugszeit_last_mills (passiert beim ausschalten des Brühschalters, case 43 im Code) soll gestartet werden + if + ( + SHOTTIMER == 1 && millis() >= bezugszeit_last_Millis && // direkt nach Erstellen von bezugszeit_last_mills (passiert beim ausschalten des Brühschalters, case 43 im Code) soll gestartet werden bezugszeit_last_Millis+brewswitchDelay >= millis() && // soll solange laufen, bis millis() den brewswitchDelay aufgeholt hat, damit kann die Anzeigedauer gesteuert werden - bezugszeit_last_Millis < totalbrewtime) // wenn die totalbrewtime automatisch erreicht wird, soll nichts gemacht werden, da sonst falsche Zeit angezeigt wird, da Schalter später betätigt wird als totalbrewtime + (ONLYPID == 0 && bezugszeit_last_Millis < totalbrewtime) + ) // wenn die totalbrewtime automatisch erreicht wird, soll nichts gemacht werden, da sonst falsche Zeit angezeigt wird, da Schalter später betätigt wird als totalbrewtime { displaystatus = 1 ;// Indiktator für Bezug im Display u8g2.clearBuffer(); diff --git a/rancilio-pid/rancilio-pid.ino b/rancilio-pid/rancilio-pid.ino index 5f7febbfd..bc2561574 100644 --- a/rancilio-pid/rancilio-pid.ino +++ b/rancilio-pid/rancilio-pid.ino @@ -584,7 +584,7 @@ void refreshTemp() { #if (ONE_WIRE_BUS != 16) Temperatur_C = Sensor2.getTemp(); #endif - //Temperatur_C = random(93,94); + Temperatur_C = random(93,94); if (!checkSensor(Temperatur_C) && firstreading == 0) return; //if sensor data is not valid, abort function; Sensor must be read at least one time at system startup Input = Temperatur_C; if (Brewdetection != 0) { @@ -919,28 +919,29 @@ void brewdetection() bezugsZeit = millis() - timeBrewdetection ; } // Bezugstimmer für SW deaktivieren nach ende BD PID - if (millis() - timeBrewdetection > brewtimersoftware * 1000) + if (millis() - timeBrewdetection > brewtimersoftware * 1000 && timerBrewdetection == 1 ) { timerBrewdetection = 0 ; //rearm brewdetection + bezugszeit_last_Millis = millis(); // Bezugszeit für Delay + bezugsZeit = 0 ; } } else if (Brewdetection == 2) { - if (millis() - timeBrewdetection > brewtimersoftware * 1000) + if (millis() - timeBrewdetection > brewtimersoftware * 1000 && timerBrewdetection == 1 ) { timerBrewdetection = 0 ; //rearm brewdetection } } else if (Brewdetection == 3) { if - ( - (digitalRead(PINVOLTAGESENSOR) == VoltageSensorOFF) && brewDetected == 1 - ) + ((digitalRead(PINVOLTAGESENSOR) == VoltageSensorOFF) && brewDetected == 1) { brewDetected = 0; bezugsZeit = 0 ; DEBUG_println("HW Brew - Voltage Sensor - End") ; + bezugszeit_last_Millis = millis(); // Bezugszeit für Delay } - if (millis() - timeBrewdetection > brewtimersoftware * 1000) // reset PID Brew + if (millis() - timeBrewdetection > brewtimersoftware * 1000 && brewDetected == 1 ) // reset PID Brew { timerBrewdetection = 0 ; //rearm brewdetection }