diff --git a/Changelog.txt b/Changelog.txt index 2708f20..f2b8f51 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,3 +1,13 @@ +Version 5.6.1: +- Diagnose: Die Seite /Cold-Extraction zeigt jetzt live, welche Voraussetzungen der Abfrage beim + Aufwecken erfüllt sind (freigeschaltet, Abfrage eingeschaltet, Touch-Display verbunden, Modus + gerade aus, kein Wartungsmodus/Reinigung/Tuning) und ob das Auswahlfenster gerade offen ist. + Hintergrund: Die Abfrage hängt an fünf Bedingungen gleichzeitig - fehlt eine, passiert einfach + nichts, und es war von außen nicht erkennbar welche. +- Die Abfrage kommt jetzt auch nach einem Kaltstart, nicht nur nach dem Standby. Wer die Maschine + am Netzschalter einschaltet, durchläuft nie einen Standby-Übergang; dieser Weg war deshalb bisher + nicht abgedeckt. Startet die Maschine in den Standby hinein, bleibt es beim Standby-Übergang. + Version 5.6.0: - Die Abfrage „Espresso oder Cold Extraction" kommt jetzt bei JEDEM Weg aus dem Standby, also auch beim Aufwecken über den Schalter. Bisher war sie eine reine Vorab-Abfrage des Touch-Displays und erschien nur diff --git a/Dual-PID.ino b/Dual-PID.ino index 33ebfcc..ff4d575 100644 --- a/Dual-PID.ino +++ b/Dual-PID.ino @@ -369,7 +369,7 @@ Adafruit_SH1106G display = Adafruit_SH1106G(128, 64, &Wire); * Firmware-Informationen ************************************************************************************/ -String version = "5.6.0"; +String version = "5.6.1"; String versionHersteller = "Thomas Müller"; String versionHerstellerMail = "thomas@mueller.black"; @@ -5456,6 +5456,21 @@ void loop() { coldExtractionWakeChoiceUntilMs = currentMillis + COLDEX_WAKE_CHOICE_MS; } } + // Gleiche Auswahl nach einem Kaltstart: Wer die Maschine am Netzschalter einschaltet, + // kommt nie durch den Standby-Uebergang - ohne diesen Zweig gaebe es dort keine Abfrage. + // Einmal pro Laufzeit, sobald sich das Display gemeldet hat. + static bool coldExtractionBootChoiceDone = false; + if (!coldExtractionBootChoiceDone && !standbyModeActive && touchUartClientActive && + coldExtractionEnabled && coldExtractionAskOnWake && !coldExtractionModeActive && + coldExtractionArmable()) { + coldExtractionBootChoiceDone = true; + coldExtractionWakeChoicePending = true; + coldExtractionWakeChoiceUntilMs = currentMillis + COLDEX_WAKE_CHOICE_MS; + } else if (!coldExtractionBootChoiceDone && touchUartClientActive && standbyModeActive) { + // Start in den Standby hinein: Der Standby-Uebergang uebernimmt die Abfrage. + coldExtractionBootChoiceDone = true; + } + // Auswahlfenster beenden: Zeit abgelaufen, Standby, oder es wird ohnehin schon bezogen if (coldExtractionWakeChoicePending) { if (standbyModeActive || coldExtractionModeActive || shotActive || shotSoftwareActive || @@ -7339,6 +7354,7 @@ static const char brewControlCX_Fields[] PROGMEM = R"rawliteral( (Beim Aufwecken aus dem Standby fragt das Touch-Display, ob normal geheizt oder kalt extrahiert werden soll - so entscheidet man das bei jedem Aufwecken neu, ohne vorher die Web-UI zu bedienen. Ohne angeschlossenes Touch-Display oder bei nicht freigeschalteter Funktion hat die Einstellung keine Wirkung.) + {CX_ASK_DIAG}