Fix SOC% value

This commit is contained in:
Daniel Öster 2024-09-01 17:42:21 +03:00
parent 5a0f9ee8e6
commit 79ae74122a
2 changed files with 12 additions and 12 deletions

View file

@ -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;
}