Add forcing SOC incase of 0W allowed

This commit is contained in:
Daniel Öster 2025-02-10 23:17:04 +02:00
parent fd6bd2f1f9
commit 7cedfb2f1c

View file

@ -126,6 +126,16 @@ void update_values_can_inverter() { //This function maps all the values fetched
//SOC (100.00%) //SOC (100.00%)
BYD_150.data.u8[0] = (datalayer.battery.status.reported_soc >> 8); BYD_150.data.u8[0] = (datalayer.battery.status.reported_soc >> 8);
BYD_150.data.u8[1] = (datalayer.battery.status.reported_soc & 0x00FF); BYD_150.data.u8[1] = (datalayer.battery.status.reported_soc & 0x00FF);
if (datalayer.battery.status.max_charge_current_dA == 0) {
//Force to 100.00% incase battery no longer wants to charge
BYD_150.data.u8[0] = (10000 >> 8);
BYD_150.data.u8[1] = (10000 & 0x00FF);
}
if (datalayer.battery.status.max_discharge_current_dA == 0) {
//Force to 0% incase battery no longer wants to discharge
BYD_150.data.u8[0] = 0;
BYD_150.data.u8[1] = 0;
}
//StateOfHealth (100.00%) //StateOfHealth (100.00%)
BYD_150.data.u8[2] = (datalayer.battery.status.soh_pptt >> 8); BYD_150.data.u8[2] = (datalayer.battery.status.soh_pptt >> 8);
BYD_150.data.u8[3] = (datalayer.battery.status.soh_pptt & 0x00FF); BYD_150.data.u8[3] = (datalayer.battery.status.soh_pptt & 0x00FF);