reworked DisplayOverride
This commit is contained in:
		| @@ -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); | ||||
| 			} | ||||
| 		} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user