From e0033cb8f157df8cbe738154981100cd8d2bb466 Mon Sep 17 00:00:00 2001 From: Sjef Verhoeven PE5PVB Date: Sat, 15 Jul 2023 12:50:36 +0200 Subject: [PATCH] Update standby in AM via long-press BAND --- TEF6686_ESP32.ino | 87 ++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 46 deletions(-) diff --git a/TEF6686_ESP32.ino b/TEF6686_ESP32.ino index 47ca014..f1fc964 100644 --- a/TEF6686_ESP32.ino +++ b/TEF6686_ESP32.ino @@ -933,61 +933,56 @@ void ScreensaverInterrupt() } void BANDBUTTONPress() { - if (afscreen) { - BuildAdvancedRDS(); + if (!power) { + if (screensavertriggered) WakeToSleep(REVERSE); } else { - unsigned long counterold = millis(); - unsigned long counter = millis(); - if (menu == false && power) { - while (digitalRead(BANDBUTTON) == LOW && counter - counterold <= 1000) counter = millis(); + if (afscreen) { + BuildAdvancedRDS(); + } else { + unsigned long counterold = millis(); + unsigned long counter = millis(); + if (!menu && power) { + while (digitalRead(BANDBUTTON) == LOW && counter - counterold <= 1000) counter = millis(); - if (counter - counterold < 1000) { - if (screensavertriggered) { - WakeToSleep(REVERSE); - return; - } - - if (advancedRDS) { - BuildDisplay(); - ScreensaverTimerReopen(); - } else { - if (tunemode != TUNE_MEM) { - if (band == BAND_FM) { - band = BAND_LW; - if (stepsize > 3) stepsize = 3; - } - else if (band == BAND_LW) band = BAND_MW; - else if (band == BAND_MW) band = BAND_SW; - else if (band == BAND_SW) band = BAND_FM; - StoreFrequency(); - SelectBand(); + if (counter - counterold < 1000) { + if (screensavertriggered) { + WakeToSleep(REVERSE); + return; } - ScreensaverTimerRestart(); - } - } else { - if (screensavertriggered) { - WakeToSleep(REVERSE); - return; - } - if (band == BAND_FM) { - if (advancedRDS && !seek) BuildAFScreen(); else BuildAdvancedRDS(); + if (advancedRDS) { + BuildDisplay(); + ScreensaverTimerReopen(); + } else { + if (tunemode != TUNE_MEM) { + if (band == BAND_FM) { + band = BAND_LW; + if (stepsize > 3) stepsize = 3; + } + else if (band == BAND_LW) band = BAND_MW; + else if (band == BAND_MW) band = BAND_SW; + else if (band == BAND_SW) band = BAND_FM; + StoreFrequency(); + SelectBand(); + } + ScreensaverTimerRestart(); + } + } else { + if (screensavertriggered) { + WakeToSleep(REVERSE); + return; + } + + if (band == BAND_FM) { + if (advancedRDS && !seek) BuildAFScreen(); else BuildAdvancedRDS(); + } else { + WakeToSleep(true); + } } } while (digitalRead(BANDBUTTON) == LOW) delay(50); delay(100); } - - // Wake after screensaver triggered here - if (power == false) { - while (digitalRead(BANDBUTTON) == LOW && counter - counterold <= 1000) counter = millis(); - - if (counter - counterold < 1000) { - if (screensavertriggered) WakeToSleep(REVERSE); - } else { - if (screensavertriggered) WakeToSleep(REVERSE); - } - } } }