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