reworked DisplayOverride

This commit is contained in:
Marcel Peterkau 2023-04-17 22:28:16 +02:00
parent 6702154ef5
commit e2059cb587

View File

@ -45,7 +45,7 @@ void toggleWiFiAP(boolean shutdown = false);
void SystemShutdown(); void SystemShutdown();
void SetBatteryType(batteryType_t type); void SetBatteryType(batteryType_t type);
void ProcessKeyCombos(bool *btnState); void ProcessKeyCombos(bool *btnState);
void OverrideDisplay(const uint8_t *message, uint32_t time); void OverrideDisplay(uint32_t time, const char *message1, const char *message2, const char *message3);
void initGlobals(); void initGlobals();
#ifdef FEATURE_ENABLE_LORA #ifdef FEATURE_ENABLE_LORA
@ -69,7 +69,7 @@ Ticker tmrWiFiMaintainConnection(tmrCallback_WiFiMaintainConnection, 1000, 0, MI
#endif #endif
uint32_t DisplayOverrideFlag = 0; uint32_t DisplayOverrideFlag = 0;
char DisplayOverrideValue[5] = {0}; char DisplayOverrideValue[3][5] = {0};
#ifdef FEATURE_ENABLE_LORA #ifdef FEATURE_ENABLE_LORA
void setMPins_Helper(int pin, int status) void setMPins_Helper(int pin, int status)
@ -246,6 +246,7 @@ void loop()
/* code */ /* code */
break; break;
case sysStat_Shutdown: case sysStat_Shutdown:
OverrideDisplay(SHUTDOWN_DELAY_MS , " re", "boot", " ");
SystemShutdown(); SystemShutdown();
break; break;
case sysStat_Startup: case sysStat_Startup:
@ -277,9 +278,9 @@ void SevenSeg_Output()
disp_FAC_1.setBrightness(5); disp_FAC_1.setBrightness(5);
disp_FAC_2.setBrightness(5); disp_FAC_2.setBrightness(5);
disp_FAC_3.setBrightness(5); disp_FAC_3.setBrightness(5);
disp_FAC_1.display(String(DisplayOverrideValue)); disp_FAC_1.display(String(DisplayOverrideValue[0]));
disp_FAC_2.clearScreen(); disp_FAC_2.display(String(DisplayOverrideValue[1]));
disp_FAC_3.clearScreen(); disp_FAC_3.display(String(DisplayOverrideValue[2]));
} }
else else
{ {
@ -527,10 +528,12 @@ void SetBatteryType(batteryType_t type)
} }
} }
void OverrideDisplay(const char *message, uint32_t time) void OverrideDisplay(uint32_t time, const char *message1, const char *message2, const char *message3)
{ {
DisplayOverrideFlag = millis() + time; DisplayOverrideFlag = millis() + time;
strcpy(DisplayOverrideValue, message); strcpy(DisplayOverrideValue[0], message1);
strcpy(DisplayOverrideValue[1], message2);
strcpy(DisplayOverrideValue[2], message3);
} }
void ProcessKeyCombos(bool *btnState) void ProcessKeyCombos(bool *btnState)
@ -580,7 +583,7 @@ void ProcessKeyCombos(bool *btnState)
if (keyCount_Fac2 == 2 && keyCount_Fac3 == 0) if (keyCount_Fac2 == 2 && keyCount_Fac3 == 0)
{ {
Serial.println("KeyCombo: WiFi AP ON"); Serial.println("KeyCombo: WiFi AP ON");
OverrideDisplay("NET ", 5000); OverrideDisplay(5000, "NET ", " "," ");
toggleWiFiAP(false); toggleWiFiAP(false);
} }
else if (keyCount_Fac2 == 4 && keyCount_Fac3 == 0) else if (keyCount_Fac2 == 4 && keyCount_Fac3 == 0)
@ -588,7 +591,7 @@ void ProcessKeyCombos(bool *btnState)
Serial.printf("KeyCombo: Reset Timer\n"); Serial.printf("KeyCombo: Reset Timer\n");
if (globals.systemStatus == sysStat_Startup) if (globals.systemStatus == sysStat_Startup)
{ {
OverrideDisplay("RST ", 5000); OverrideDisplay(5000, "RST ", " ", " ");
PersistenceData.faction_1_timer = 0; PersistenceData.faction_1_timer = 0;
PersistenceData.faction_2_timer = 0; PersistenceData.faction_2_timer = 0;
PersistenceData.faction_3_timer = 0; PersistenceData.faction_3_timer = 0;
@ -597,7 +600,7 @@ void ProcessKeyCombos(bool *btnState)
} }
else else
{ {
OverrideDisplay("ERR ", 5000); OverrideDisplay(5000, "ERR ", " ", " ");
Serial.printf("ERROR: only %d seconds after Startup!\n", STARTUP_DELAY_MS / 1000); Serial.printf("ERROR: only %d seconds after Startup!\n", STARTUP_DELAY_MS / 1000);
} }
} }