From 3597a99a089b64f11d155ae7aa3bbcbf4009ffc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20=C3=96ster?= Date: Wed, 3 Sep 2025 23:52:32 +0300 Subject: [PATCH] Fix float calculation for SOC --- Software/src/battery/ECMP-BATTERY.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Software/src/battery/ECMP-BATTERY.cpp b/Software/src/battery/ECMP-BATTERY.cpp index 9adf2661..0e77e5d9 100644 --- a/Software/src/battery/ECMP-BATTERY.cpp +++ b/Software/src/battery/ECMP-BATTERY.cpp @@ -60,8 +60,9 @@ void EcmpBattery::update_values() { if (pid_energy_capacity != NOT_SAMPLED_YET) { datalayer.battery.status.remaining_capacity_Wh = pid_energy_capacity; // calculate SOC based on datalayer.battery.info.total_capacity_Wh and remaining_capacity_Wh - datalayer.battery.status.real_soc = - ((datalayer.battery.status.remaining_capacity_Wh / datalayer.battery.info.total_capacity_Wh) * 10000); + datalayer.battery.status.real_soc = (uint16_t)(((float)datalayer.battery.status.remaining_capacity_Wh / + datalayer.battery.info.total_capacity_Wh) * + 10000); } datalayer.battery.status.soh_pptt;