From 5875a300644f4826beb41b741c3c2ce7da4f7240 Mon Sep 17 00:00:00 2001 From: rljonesau Date: Thu, 28 Feb 2019 18:14:02 +1100 Subject: [PATCH] Added fallback to Basic Control menu when dimming timeout elapses, unless in Detailed Control or Clock --- Arduino/BTCDieselHeater/src/OLED/ScreenManager.cpp | 11 +++++++++++ Arduino/BTCDieselHeater/src/OLED/SettingsScreen.cpp | 11 ++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/Arduino/BTCDieselHeater/src/OLED/ScreenManager.cpp b/Arduino/BTCDieselHeater/src/OLED/ScreenManager.cpp index e9a5339..f7b88ed 100644 --- a/Arduino/BTCDieselHeater/src/OLED/ScreenManager.cpp +++ b/Arduino/BTCDieselHeater/src/OLED/ScreenManager.cpp @@ -181,9 +181,20 @@ CScreenManager::checkUpdate() if(_DimTime) { long tDelta = millis() - _DimTime; if(tDelta > 0) { + // time to dim the display // if(NVstore.getDimTime()) _pDisplay->dim(true); _DimTime = 0; + + // fall back to main menu + selectTimerScreen(false); + selectSetTimeScreen(false); + selectSettingsScreen(false); + // sticky screens are Detailed Control, Basic Control, or Clock. + // otherwise return to Basic Control screen + if(_currentScreen > 2) { + _currentScreen = 1; + } } } diff --git a/Arduino/BTCDieselHeater/src/OLED/SettingsScreen.cpp b/Arduino/BTCDieselHeater/src/OLED/SettingsScreen.cpp index be18ed9..7c29dc3 100644 --- a/Arduino/BTCDieselHeater/src/OLED/SettingsScreen.cpp +++ b/Arduino/BTCDieselHeater/src/OLED/SettingsScreen.cpp @@ -61,16 +61,17 @@ CSettingsScreen::show() if(_nAdoptSettings == 1) { _display.clearDisplay(); - _display.writeFillRect(0, 0, 128, 20, WHITE); - _printInverted(_display.xCentre(), 2, "Adopt LCD controller", true, eCentreJustify); - _printInverted(_display.xCentre(), 11, "settings? ", true, eCentreJustify); + _display.writeFillRect(0, 0, 128, 24, WHITE); + _printInverted(_display.xCentre(), 4, "Adopt LCD controller", true, eCentreJustify); + _printInverted(_display.xCentre(), 13, "settings? ", true, eCentreJustify); _printMenuText(_display.xCentre(), 35, "Press RIGHT to", false, eCentreJustify); _printMenuText(_display.xCentre(), 45, "inherit and save", false, eCentreJustify); } else if(_nAdoptSettings == 2) { _display.clearDisplay(); - _printInverted(_display.xCentre(), 2, " Cannot inherit knob ", true, eCentreJustify); - _printInverted(_display.xCentre(), 11, " controller settings ", true, eCentreJustify); + _display.writeFillRect(0, 0, 128, 24, WHITE); + _printInverted(_display.xCentre(), 4, " Cannot inherit knob ", true, eCentreJustify); + _printInverted(_display.xCentre(), 13, " controller settings ", true, eCentreJustify); _printMenuText(_display.xCentre(), 35, "Press any key", false, eCentreJustify); _printMenuText(_display.xCentre(), 45, "to abort", false, eCentreJustify); }