Compare commits

...

3 Commits

Author SHA1 Message Date
e2059cb587 reworked DisplayOverride 2023-04-17 22:28:16 +02:00
6702154ef5 made dot blink if faction active 2023-04-17 22:27:26 +02:00
a899cf4dcf Log-Output Format fix 2023-04-17 22:27:01 +02:00

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)
@ -122,7 +122,7 @@ void setup()
#ifdef FEATURE_ENABLE_LORA
if (InitLoRa(&setMPins_Helper))
{
Serial.printf("Initialized LoRa_Transceiver");
Serial.print("Initialized LoRa_Transceiver\n");
tmrStatusSender.start();
}
else
@ -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
{
@ -305,16 +306,19 @@ void SevenSeg_Output()
disp_FAC_1.refresh();
snprintf(sevenSegBuff, sizeof(sevenSegBuff), "%4d", PersistenceData.faction_1_timer / 60);
disp_FAC_1.display(String(sevenSegBuff), false, false);
disp_FAC_1.setDp((PersistenceData.activeFaction == FACTION_1) && (millis() % 1000 > 500));
disp_FAC_2.setBrightness(PersistenceData.activeFaction == FACTION_2 ? 5 : 1);
disp_FAC_2.refresh();
snprintf(sevenSegBuff, sizeof(sevenSegBuff), "%4d", PersistenceData.faction_2_timer / 60);
disp_FAC_2.display(String(sevenSegBuff), false, false);
disp_FAC_1.setDp((PersistenceData.activeFaction == FACTION_2) && (millis() % 1000 > 500));
disp_FAC_3.setBrightness(PersistenceData.activeFaction == FACTION_3 ? 5 : 1);
disp_FAC_3.refresh();
snprintf(sevenSegBuff, sizeof(sevenSegBuff), "%4d", PersistenceData.faction_3_timer / 60);
disp_FAC_3.display(String(sevenSegBuff), false, false);
disp_FAC_1.setDp((PersistenceData.activeFaction == FACTION_3) && (millis() % 1000 > 500));
}
}
}
@ -524,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)
@ -577,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)
@ -585,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;
@ -594,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);
}
}