Only set values when msg not in init state.

This commit is contained in:
mvgalen 2025-01-13 21:58:47 +01:00
parent 0c2aa47847
commit 673c400cc5

View file

@ -729,10 +729,12 @@ void handle_incoming_can_frame_battery(CAN_frame rx_frame) {
BMS_16A954A6_counter = (rx_frame.data.u8[1] & 0x0F); // Can be used to check CAN signal integrity later on BMS_16A954A6_counter = (rx_frame.data.u8[1] & 0x0F); // Can be used to check CAN signal integrity later on
isolation_fault = (rx_frame.data.u8[2] & 0xE0) >> 5; isolation_fault = (rx_frame.data.u8[2] & 0xE0) >> 5;
isolation_status = (rx_frame.data.u8[2] & 0x1E) >> 1; isolation_status = (rx_frame.data.u8[2] & 0x1E) >> 1;
actual_temperature_highest_C = rx_frame.data.u8[3]; //*0,5 -40 if (isolation_fault != 0){
actual_temperature_lowest_C = rx_frame.data.u8[4]; //*0,5 -40 actual_temperature_highest_C = rx_frame.data.u8[3]; //*0,5 -40
actual_cellvoltage_highest_mV = (((rx_frame.data.u8[6] & 0x0F) << 8) | rx_frame.data.u8[5]); actual_temperature_lowest_C = rx_frame.data.u8[4]; //*0,5 -40
actual_cellvoltage_lowest_mV = ((rx_frame.data.u8[7] << 4) | rx_frame.data.u8[6] >> 4); actual_cellvoltage_highest_mV = (((rx_frame.data.u8[6] & 0x0F) << 8) | rx_frame.data.u8[5]);
actual_cellvoltage_lowest_mV = ((rx_frame.data.u8[7] << 4) | rx_frame.data.u8[6] >> 4);
}
break; break;
case 0x16A954F8: // BMS case 0x16A954F8: // BMS
predicted_power_dyn_standard_watt = ((rx_frame.data.u8[6] << 1) | rx_frame.data.u8[5] >> 7); //*50 predicted_power_dyn_standard_watt = ((rx_frame.data.u8[6] << 1) | rx_frame.data.u8[5] >> 7); //*50