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