From 79ae74122a50f9741ce20af6de82b8c08754f46a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20=C3=96ster?= Date: Sun, 1 Sep 2024 17:42:21 +0300 Subject: [PATCH] Fix SOC% value --- Software/USER_SETTINGS.h | 4 ++-- Software/src/inverter/KOSTAL-RS485.cpp | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Software/USER_SETTINGS.h b/Software/USER_SETTINGS.h index fb7ebe51..57153f02 100644 --- a/Software/USER_SETTINGS.h +++ b/Software/USER_SETTINGS.h @@ -17,7 +17,7 @@ //#define KIA_E_GMP_BATTERY //#define KIA_HYUNDAI_HYBRID_BATTERY //#define MG_5_BATTERY -#define NISSAN_LEAF_BATTERY +//#define NISSAN_LEAF_BATTERY //#define PYLON_BATTERY //#define RENAULT_KANGOO_BATTERY //#define RENAULT_ZOE_GEN1_BATTERY @@ -32,7 +32,7 @@ //#define BYD_CAN //Enable this line to emulate a "BYD Battery-Box Premium HVS" over CAN Bus //#define BYD_SMA //Enable this line to emulate a SMA compatible "BYD Battery-Box HVS 10.2KW battery" over CAN bus //#define BYD_MODBUS //Enable this line to emulate a "BYD 11kWh HVM battery" over Modbus RTU -#define BYD_KOSTAL_RS485 //Enable this line to emulate a "BYD 11kWh HVM battery" over Kostal RS485 +//#define BYD_KOSTAL_RS485 //Enable this line to emulate a "BYD 11kWh HVM battery" over Kostal RS485 //#define PYLON_CAN //Enable this line to emulate a "Pylontech battery" over CAN bus //#define SMA_CAN //Enable this line to emulate a "BYD Battery-Box H 8.9kWh, 7 mod" over CAN bus //#define SMA_TRIPOWER_CAN //Enable this line to emulate a "SMA Home Storage battery" over CAN bus diff --git a/Software/src/inverter/KOSTAL-RS485.cpp b/Software/src/inverter/KOSTAL-RS485.cpp index f74eadf7..2f3f62f3 100644 --- a/Software/src/inverter/KOSTAL-RS485.cpp +++ b/Software/src/inverter/KOSTAL-RS485.cpp @@ -213,26 +213,26 @@ void update_RS485_registers_inverter() { .max_discharge_amp_dA; //Cap the value to the max allowed Amp. Some inverters cannot handle large values. } - float2frame(frame2, (float)datalayer.battery.status.voltage_dV / 10, 6); + float2frame(frame2, (float)(datalayer.battery.status.voltage_dV / 10), 6); - float2frameMSB(frame2, (float)datalayer.battery.info.max_design_voltage_dV / 10, 12); + float2frameMSB(frame2, (float)(datalayer.battery.info.max_design_voltage_dV / 10), 12); float2frameMSB( - frame2, (float)(datalayer.battery.status.temperature_max_dC + datalayer.battery.status.temperature_min_dC) / 20, + frame2, (float)((datalayer.battery.status.temperature_max_dC + datalayer.battery.status.temperature_min_dC) / 20), 16); float2frameMSB(frame2, (float)datalayer.battery.status.current_dA, 20); float2frameMSB(frame2, (float)datalayer.battery.status.current_dA, 24); - float2frameMSB(frame2, (float)discharge_current / 10, 28); - float2frameMSB(frame2, (float)discharge_current / 10, 32); + float2frameMSB(frame2, (float)(discharge_current / 10), 28); + float2frameMSB(frame2, (float)(discharge_current / 10), 32); - float2frameMSB(frame2, (float)datalayer.battery.status.temperature_max_dC / 10, 40); - float2frameMSB(frame2, (float)datalayer.battery.status.temperature_min_dC / 10, 44); + float2frameMSB(frame2, (float)(datalayer.battery.status.temperature_max_dC / 10), 40); + float2frameMSB(frame2, (float)(datalayer.battery.status.temperature_min_dC / 10), 44); - float2frame(frame2, (float)datalayer.battery.status.cell_max_voltage_mV / 1000, 46); - float2frame(frame2, (float)datalayer.battery.status.cell_min_voltage_mV / 1000, 50); + float2frame(frame2, (float)(datalayer.battery.status.cell_max_voltage_mV / 1000), 46); + float2frame(frame2, (float)(datalayer.battery.status.cell_min_voltage_mV / 1000), 50); - frame2[58] = (byte)datalayer.battery.status.reported_soc / 100; + frame2[58] = (byte)(datalayer.battery.status.reported_soc / 100); register_content_ok = true; }