Merge pull request #875 from dalathegreat/bugfix/BYD-CAN-SOC-stop

BYD CAN: Safety, add overriding SOC incase of 0W allowed
This commit is contained in:
Daniel Öster 2025-02-12 17:32:50 +03:00 committed by GitHub
commit 8abdda5100
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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);