From 75ace077dd5b1468a96d64b3dd81cfba6ed5e996 Mon Sep 17 00:00:00 2001 From: Fredrik Svane Date: Wed, 17 Jul 2024 10:56:22 +0200 Subject: [PATCH 1/2] Update webserver.cpp Currently, soc min/max and charge/discharge amp does not accept decimals, due to the use of integers before multiplying. Changed toInt to toFloat, problem solved. --- Software/src/devboard/webserver/webserver.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Software/src/devboard/webserver/webserver.cpp b/Software/src/devboard/webserver/webserver.cpp index ebb034d9..7f1f7ac5 100644 --- a/Software/src/devboard/webserver/webserver.cpp +++ b/Software/src/devboard/webserver/webserver.cpp @@ -123,7 +123,7 @@ void init_webserver() { server.on("/updateSocMax", HTTP_GET, [](AsyncWebServerRequest* request) { if (request->hasParam("value")) { String value = request->getParam("value")->value(); - datalayer.battery.settings.max_percentage = value.toInt() * 100; + datalayer.battery.settings.max_percentage = value.toFloat() * 100; storeSettings(); request->send(200, "text/plain", "Updated successfully"); } else { @@ -135,7 +135,7 @@ void init_webserver() { server.on("/updateSocMin", HTTP_GET, [](AsyncWebServerRequest* request) { if (request->hasParam("value")) { String value = request->getParam("value")->value(); - datalayer.battery.settings.min_percentage = value.toInt() * 100; + datalayer.battery.settings.min_percentage = value.toFloat() * 100; storeSettings(); request->send(200, "text/plain", "Updated successfully"); } else { @@ -147,7 +147,7 @@ void init_webserver() { server.on("/updateMaxChargeA", HTTP_GET, [](AsyncWebServerRequest* request) { if (request->hasParam("value")) { String value = request->getParam("value")->value(); - datalayer.battery.info.max_charge_amp_dA = value.toInt() * 10; + datalayer.battery.info.max_charge_amp_dA = value.toFloat() * 10; storeSettings(); request->send(200, "text/plain", "Updated successfully"); } else { @@ -159,7 +159,7 @@ void init_webserver() { server.on("/updateMaxDischargeA", HTTP_GET, [](AsyncWebServerRequest* request) { if (request->hasParam("value")) { String value = request->getParam("value")->value(); - datalayer.battery.info.max_discharge_amp_dA = value.toInt() * 10; + datalayer.battery.info.max_discharge_amp_dA = value.toFloat() * 10; storeSettings(); request->send(200, "text/plain", "Updated successfully"); } else { From 6506dd120c47abfe42013e0b69c0e938ed6c46bf Mon Sep 17 00:00:00 2001 From: Fredrik Svane Date: Fri, 19 Jul 2024 10:30:41 +0200 Subject: [PATCH 2/2] Update webserver.cpp #2 As requested. --- Software/src/devboard/webserver/webserver.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Software/src/devboard/webserver/webserver.cpp b/Software/src/devboard/webserver/webserver.cpp index 7f1f7ac5..1db0320b 100644 --- a/Software/src/devboard/webserver/webserver.cpp +++ b/Software/src/devboard/webserver/webserver.cpp @@ -123,7 +123,7 @@ void init_webserver() { server.on("/updateSocMax", HTTP_GET, [](AsyncWebServerRequest* request) { if (request->hasParam("value")) { String value = request->getParam("value")->value(); - datalayer.battery.settings.max_percentage = value.toFloat() * 100; + datalayer.battery.settings.max_percentage = static_cast(value.toFloat() * 100); storeSettings(); request->send(200, "text/plain", "Updated successfully"); } else { @@ -135,7 +135,7 @@ void init_webserver() { server.on("/updateSocMin", HTTP_GET, [](AsyncWebServerRequest* request) { if (request->hasParam("value")) { String value = request->getParam("value")->value(); - datalayer.battery.settings.min_percentage = value.toFloat() * 100; + datalayer.battery.settings.min_percentage = static_cast(value.toFloat() * 100); storeSettings(); request->send(200, "text/plain", "Updated successfully"); } else { @@ -147,7 +147,7 @@ void init_webserver() { server.on("/updateMaxChargeA", HTTP_GET, [](AsyncWebServerRequest* request) { if (request->hasParam("value")) { String value = request->getParam("value")->value(); - datalayer.battery.info.max_charge_amp_dA = value.toFloat() * 10; + datalayer.battery.info.max_charge_amp_dA = static_cast(value.toFloat() * 10); storeSettings(); request->send(200, "text/plain", "Updated successfully"); } else { @@ -159,7 +159,7 @@ void init_webserver() { server.on("/updateMaxDischargeA", HTTP_GET, [](AsyncWebServerRequest* request) { if (request->hasParam("value")) { String value = request->getParam("value")->value(); - datalayer.battery.info.max_discharge_amp_dA = value.toFloat() * 10; + datalayer.battery.info.max_discharge_amp_dA = static_cast(value.toFloat() * 10); storeSettings(); request->send(200, "text/plain", "Updated successfully"); } else {