Exit menu after some inactive time

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
pull/190/head
Olivier Mehani 2022-10-16 22:56:42 +11:00
parent c5344d9d42
commit dd3797f2d5
No known key found for this signature in database
GPG Key ID: A08FAA9B6A81D925
1 changed files with 15 additions and 2 deletions

View File

@ -12,6 +12,7 @@ RTC_DATA_ATTR bool BLE_CONFIGURED;
RTC_DATA_ATTR weatherData currentWeather; RTC_DATA_ATTR weatherData currentWeather;
RTC_DATA_ATTR int weatherIntervalCounter = -1; RTC_DATA_ATTR int weatherIntervalCounter = -1;
RTC_DATA_ATTR bool displayFullInit = true; RTC_DATA_ATTR bool displayFullInit = true;
RTC_DATA_ATTR bool alreadyInMenu = true;
void Watchy::init(String datetime) { void Watchy::init(String datetime) {
esp_sleep_wakeup_cause_t wakeup_reason; esp_sleep_wakeup_cause_t wakeup_reason;
@ -27,8 +28,9 @@ void Watchy::init(String datetime) {
switch (wakeup_reason) { switch (wakeup_reason) {
case ESP_SLEEP_WAKEUP_EXT0: // RTC Alarm case ESP_SLEEP_WAKEUP_EXT0: // RTC Alarm
if (guiState == WATCHFACE_STATE) { RTC.read(currentTime);
RTC.read(currentTime); switch (guiState) {
case WATCHFACE_STATE:
showWatchFace(true); // partial updates on tick showWatchFace(true); // partial updates on tick
if (settings.vibrateOClock) { if (settings.vibrateOClock) {
if (currentTime.Minute == 0) { if (currentTime.Minute == 0) {
@ -36,6 +38,16 @@ void Watchy::init(String datetime) {
vibMotor(75, 4); vibMotor(75, 4);
} }
} }
break;
case MAIN_MENU_STATE:
// Return to watchface if in menu for more than one tick
if (alreadyInMenu) {
guiState = WATCHFACE_STATE;
showWatchFace(false);
} else {
alreadyInMenu = true;
}
break;
} }
break; break;
case ESP_SLEEP_WAKEUP_EXT1: // button Press case ESP_SLEEP_WAKEUP_EXT1: // button Press
@ -264,6 +276,7 @@ void Watchy::showMenu(byte menuIndex, bool partialRefresh) {
display.display(partialRefresh); display.display(partialRefresh);
guiState = MAIN_MENU_STATE; guiState = MAIN_MENU_STATE;
alreadyInMenu = false;
} }
void Watchy::showFastMenu(byte menuIndex) { void Watchy::showFastMenu(byte menuIndex) {