|
|
@@ -265,7 +265,10 @@ static void _pack_low_judge_current(bool set) {
|
|
|
bms_health()->b_flags |= B_FLAGS_PACK_LARGER_CURRENT;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+typedef union {
|
|
|
+ u32 data;
|
|
|
+ s8 ds8[4];
|
|
|
+}temp_u;
|
|
|
static void push_cell_event(event_id_t id){
|
|
|
u16 max_v = bms_state_get()->cell_max_vol / 10;
|
|
|
u16 min_v = bms_state_get()->cell_min_vol / 10;
|
|
|
@@ -274,13 +277,11 @@ static void push_cell_event(event_id_t id){
|
|
|
|
|
|
push_event(id, max << 16 | min);
|
|
|
|
|
|
- u32 temps = 0;
|
|
|
- s8 onetemp = 0;
|
|
|
+ temp_u t = {0};
|
|
|
for (int i = 0; i < PACK_TEMPS_NUM; i++){
|
|
|
- onetemp = (s8)measure_value()->pack_temp[i];
|
|
|
- temps |= (onetemp << i) & (0xFF<<i);
|
|
|
+ t.ds8[i] = (s8)measure_value()->pack_temp[i];
|
|
|
}
|
|
|
- push_event(Pack_Temp, temps);
|
|
|
+ push_event(Pack_Temp, t.data);
|
|
|
}
|
|
|
|
|
|
void check_voltage_state(void) {
|