Tidied "STORING" timeout in PasswordScreen.cpp.

This commit is contained in:
rljonesau 2019-01-20 15:25:58 +11:00
parent a218218db0
commit f48ec8d314
4 changed files with 17 additions and 8 deletions

View file

@ -39,7 +39,6 @@ public:
CFuelMixtureScreen(C128x64_OLED& display, CScreenManager& mgr);
bool show();
bool keyHandler(uint8_t event);
bool animate() { return CScreen::animate(); };
void onSelect();
};

View file

@ -93,6 +93,8 @@ CHeaterSettingsScreen::animate()
{
char msg[16];
CPasswordScreen::animate();
if(isPasswordBusy() || (_rowSel == 4)) { // Password screen activity
_printMenuText(Column, Line2, " ");
_printMenuText(Column, Line1, " ");
@ -121,7 +123,7 @@ CHeaterSettingsScreen::animate()
_printMenuText(xPos, Line2, " ", _rowSel == 2); // erase, but create selection loop
if(_animateCount < 4) {
sprintf(msg, "SN-%d", _fanSensor);
_printMenuText(Column, Line2, msg/*, _rowSel == 2*/);
_printMenuText(Column, Line2, msg);
}
else {
_printMenuText(xPos, Line2, "(");
@ -137,7 +139,6 @@ CHeaterSettingsScreen::animate()
sprintf(msg, "%d)", _fanSensor);
_printMenuText(xPos, Line2, msg);
}
}
return true;
}

View file

@ -49,11 +49,8 @@ CPasswordScreen::CPasswordScreen(C128x64_OLED& display, CScreenManager& mgr) : C
bool
CPasswordScreen::show()
{
CPasswordScreen::animate(); // precautionary, in case derived class forgets to call
if(_SaveTime) {
long tDelta = millis() - _SaveTime;
if(tDelta > 0)
_SaveTime = 0;
_printInverted(_display.xCentre(), 28, " ", true, eCentreJustify);
_printInverted(_display.xCentre(), 39, " ", true, eCentreJustify);
_printInverted(_display.xCentre(), 34, " STORING ", true, eCentreJustify);
@ -69,6 +66,18 @@ CPasswordScreen::show()
}
}
bool
CPasswordScreen::animate()
{
if(_SaveTime) {
long tDelta = millis() - _SaveTime;
if(tDelta > 0) {
_SaveTime = 0;
_ScreenManager.reqUpdate();
}
}
return false;
}
bool
CPasswordScreen::keyHandler(uint8_t event)

View file

@ -42,7 +42,7 @@ public:
CPasswordScreen(C128x64_OLED& display, CScreenManager& mgr);
bool show();
bool keyHandler(uint8_t event);
bool animate() { return CScreen::animate(); };
bool animate();
bool isPasswordBusy() { return (_SaveTime != 0) || _bGetPassword; };
};