made active faction recovery configurable

This commit is contained in:
Marcel Peterkau 2023-04-17 22:55:16 +02:00
parent eb771d07d3
commit 7e58db489d
4 changed files with 41 additions and 3 deletions

View File

@ -204,8 +204,8 @@
<!-- Div Group Battery Type --> <!-- Div Group Battery Type -->
<hr /> <hr />
<p> <p>
<h4>Akku-Variante</h4>
<form action="post.htm" method="POST" class="form-horizontal"> <form action="post.htm" method="POST" class="form-horizontal">
<h4>Akku-Variante</h4>
<div class="form-group row"> <div class="form-group row">
<label for="battery_select" class="control-label col-4">Akku</label> <label for="battery_select" class="control-label col-4">Akku</label>
<div class="col-8"> <div class="col-8">
@ -214,6 +214,18 @@
</select> </select>
</div> </div>
</div> </div>
<h4>Timer-Einstellungen</h4>
<div class="form-group row">
<label for="factionreboot_cont" class="control-label col-4">active Faction Recovery</label>
<div class="col-8">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="factionreboot_cont" id="factionreboot_cont" %FACTIONREBOOT_CHECKED%>
<label class="form-check-label" for="factionreboot_cont">
aktive Faktion beim booten wiederherstellen ?
</label>
</div>
</div>
</div>
<div class="form-group row"> <div class="form-group row">
<div class="col text-center"> <div class="col text-center">
<button name="settingssave" type="submit" class="btn btn-outline-primary">&Uuml;bernehmen</button> <button name="settingssave" type="submit" class="btn btn-outline-primary">&Uuml;bernehmen</button>
@ -267,6 +279,10 @@
<td>Battery_type</td> <td>Battery_type</td>
<td>%BATTERY_TYPE%</td> <td>%BATTERY_TYPE%</td>
</tr> </tr>
<tr>
<td>Faction_recovery</td>
<td>%FACTION_RECOVERY%</td>
</tr>
<tr> <tr>
<td>EEPROM Version</td> <td>EEPROM Version</td>
<td>%EEPROM_VERSION%</td> <td>%EEPROM_VERSION%</td>

View File

@ -49,6 +49,7 @@ typedef struct
{ {
uint8_t EEPROM_Version = 1; uint8_t EEPROM_Version = 1;
batteryType_t batteryType = BATTERY_UNDEFINED; batteryType_t batteryType = BATTERY_UNDEFINED;
bool active_faction_on_reboot = false;
uint32_t checksum = 0; uint32_t checksum = 0;
} configData_t; } configData_t;

View File

@ -207,6 +207,9 @@ void setup()
tmrFactionTicker.start(); tmrFactionTicker.start();
tmrInputGetter.start(); tmrInputGetter.start();
if (ConfigData.active_faction_on_reboot == false)
PersistenceData.activeFaction = NONE;
Serial.print("\nSetup Done\n"); Serial.print("\nSetup Done\n");
} }
@ -246,7 +249,7 @@ void loop()
/* code */ /* code */
break; break;
case sysStat_Shutdown: case sysStat_Shutdown:
OverrideDisplay(SHUTDOWN_DELAY_MS , " re", "boot", " "); OverrideDisplay(SHUTDOWN_DELAY_MS, " re", "boot", " ");
SystemShutdown(); SystemShutdown();
break; break;
case sysStat_Startup: case sysStat_Startup:
@ -371,6 +374,7 @@ void tmrCallback_InputGetter()
if (PersistenceData.activeFaction != FACTION_1) if (PersistenceData.activeFaction != FACTION_1)
{ {
Serial.println("Faction 1 captured !"); Serial.println("Faction 1 captured !");
globals.requestEEAction = EE_PDS_SAVE;
} }
PersistenceData.activeFaction = FACTION_1; PersistenceData.activeFaction = FACTION_1;
} }
@ -380,6 +384,7 @@ void tmrCallback_InputGetter()
if (PersistenceData.activeFaction != FACTION_2) if (PersistenceData.activeFaction != FACTION_2)
{ {
Serial.println("Faction 2 captured !"); Serial.println("Faction 2 captured !");
globals.requestEEAction = EE_PDS_SAVE;
} }
PersistenceData.activeFaction = FACTION_2; PersistenceData.activeFaction = FACTION_2;
} }
@ -389,6 +394,7 @@ void tmrCallback_InputGetter()
if (PersistenceData.activeFaction != FACTION_3) if (PersistenceData.activeFaction != FACTION_3)
{ {
Serial.println("Faction 3 captured !"); Serial.println("Faction 3 captured !");
globals.requestEEAction = EE_PDS_SAVE;
} }
PersistenceData.activeFaction = FACTION_3; PersistenceData.activeFaction = FACTION_3;
} }
@ -583,7 +589,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(5000, "NET ", " "," "); OverrideDisplay(5000, "NET ", " ", " ");
toggleWiFiAP(false); toggleWiFiAP(false);
} }
else if (keyCount_Fac2 == 4 && keyCount_Fac3 == 0) else if (keyCount_Fac2 == 4 && keyCount_Fac3 == 0)

View File

@ -200,6 +200,12 @@ String processor(const String &var)
return temp; return temp;
} }
if (var == "FACTIONREBOOT_CHECKED")
return String(ConfigData.active_faction_on_reboot == true ? "checked" : "");
if (var == "FACTION_RECOVERY")
return String(ConfigData.active_faction_on_reboot);
return String(); return String();
} }
@ -256,6 +262,15 @@ void WebserverPOST_Callback(AsyncWebServerRequest *request)
ConfigData.batteryType = temp; ConfigData.batteryType = temp;
} }
if (request->hasParam("factionreboot_cont", true))
{
AsyncWebParameter *param = request->getParam("factionreboot_cont", true);
if (param->value() == "on")
ConfigData.active_faction_on_reboot = true;
else
ConfigData.active_faction_on_reboot = false;
}
if (p->name() == "settingssave") if (p->name() == "settingssave")
globals.requestEEAction = EE_CFG_SAVE; globals.requestEEAction = EE_CFG_SAVE;
// end: POST Form Settings // end: POST Form Settings