added Wifi-Settings to WebUI and Config

This commit is contained in:
2024-01-30 21:31:49 +01:00
parent 26ec46eb0e
commit b723a80d46
9 changed files with 163 additions and 31 deletions

View File

@@ -307,6 +307,10 @@ void WebserverEERestore_Callback(AsyncWebServerRequest *request, const String &f
LubeConfig.LED_Mode_Flash = json["config"]["LED_Mode_Flash"].as<bool>();
LubeConfig.LED_Max_Brightness = json["config"]["LED_Max_Brightness"].as<uint8_t>();
LubeConfig.LED_Min_Brightness = json["config"]["LED_Min_Brightness"].as<uint8_t>();
strncpy(LubeConfig.wifi_ap_ssid, json["config"]["wifi_ap_ssid"].as<const char *>(), sizeof(LubeConfig.wifi_ap_ssid));
strncpy(LubeConfig.wifi_ap_password, json["config"]["wifi_ap_password"].as<const char *>(), sizeof(LubeConfig.wifi_ap_password));
strncpy(LubeConfig.wifi_client_ssid, json["config"]["wifi_client_ssid"].as<const char *>(), sizeof(LubeConfig.wifi_client_ssid));
strncpy(LubeConfig.wifi_client_password, json["config"]["wifi_client_password"].as<const char *>(), sizeof(LubeConfig.wifi_client_password));
PersistenceData.writeCycleCounter = json["persis"]["writeCycleCounter"].as<uint16_t>();
PersistenceData.tankRemain_microL = json["persis"]["tankRemain_microL"].as<uint32_t>();
@@ -346,7 +350,7 @@ void WebServerEEJSON_Callback(AsyncWebServerRequest *request)
{
AsyncResponseStream *response = request->beginResponseStream("application/json");
JsonDocument json;
JsonObject info = json.to<JsonObject>();
JsonObject info = json["info"].to<JsonObject>();
char buffer[16];
@@ -357,12 +361,12 @@ void WebServerEEJSON_Callback(AsyncWebServerRequest *request)
snprintf_P(buffer, sizeof(buffer), "%s", constants.GitHash);
info["Git-Hash"] = buffer;
JsonObject config = json.to<JsonObject>();
JsonObject config = json["config"].to<JsonObject>();
generateJsonObject_LubeConfig(config);
JsonObject persis = json.to<JsonObject>();
JsonObject persis = json["persis"].to<JsonObject>();
generateJsonObject_PersistenceData(persis);
JsonObject eepart = json.to<JsonObject>();
JsonObject eepart = json["eepart"].to<JsonObject>();
sprintf(buffer, "0x%04X", globals.eePersistanceAdress);
eepart["PersistanceAddress"] = buffer;
@@ -513,7 +517,7 @@ void Websocket_HandleButtons(uint8_t *data)
void Websocket_HandleSettings(uint8_t *data)
{
char identifier[32];
char value[32];
char value[63];
parseWebsocketString((char *)data, identifier, sizeof(identifier), value, sizeof(value));
@@ -568,6 +572,14 @@ void Websocket_HandleSettings(uint8_t *data)
{
LubeConfig.LED_Mode_Flash = value[0] == '1' ? true : false;
}
else if (strcmp(identifier, "wifi-ssid") == 0)
{
strncpy(LubeConfig.wifi_client_ssid, value, sizeof(LubeConfig.wifi_client_ssid));
}
else if (strcmp(identifier, "wifi-password") == 0)
{
strncpy(LubeConfig.wifi_client_password, value, sizeof(LubeConfig.wifi_client_password));
}
else
{
Debug_pushMessage("Got unknown Settings-id and value '%s' from ws-client\n", identifier);
@@ -704,7 +716,9 @@ void Websocket_RefreshClientData_Static(uint32_t client_id, bool send_mapping)
"showimpulse;"
"showgps;"
"showcan;"
"bleedingpulses;";
"bleedingpulses;"
"wifi-ssid;"
"wifi-password;";
if (client_id > 0)
webSocket.text(client_id, mapping);
@@ -733,6 +747,8 @@ void Websocket_RefreshClientData_Static(uint32_t client_id, bool send_mapping)
temp.concat(String(LubeConfig.SpeedSource == SOURCE_GPS ? "1" : "0") + ";");
temp.concat(String(LubeConfig.SpeedSource == SOURCE_CAN ? "1" : "0") + ";");
temp.concat(String(LubeConfig.BleedingPulses) + ";");
temp.concat(String(LubeConfig.wifi_client_ssid) + ";");
temp.concat(String(LubeConfig.wifi_client_password) + ";");
for (uint32_t i = 0; i < SpeedSourceString_Elements; i++)
{