|
@@ -223,7 +223,7 @@ static s32 _process_unheath(void){
|
|
|
unhealth |= Health_aux_Fault;
|
|
unhealth |= Health_aux_Fault;
|
|
|
}
|
|
}
|
|
|
discharger_open(0); //disable charger mosfet
|
|
discharger_open(0); //disable charger mosfet
|
|
|
- close_dfet_reson = 3;
|
|
|
|
|
|
|
+ close_dfet_reson = (bms_health()->discharger_over_temp == 1)?3:4;
|
|
|
unhealth |= Health_Discharger_Failt;
|
|
unhealth |= Health_Discharger_Failt;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -234,7 +234,7 @@ static s32 _process_unheath(void){
|
|
|
unhealth |= Health_Discharger_Failt | Health_aux_Fault;
|
|
unhealth |= Health_Discharger_Failt | Health_aux_Fault;
|
|
|
start_aux_power(0);
|
|
start_aux_power(0);
|
|
|
if (ml5238_is_discharging()) {
|
|
if (ml5238_is_discharging()) {
|
|
|
- close_dfet_reson = 4;
|
|
|
|
|
|
|
+ close_dfet_reson = (bms_health()->sigle_cell_lower_voltage == 1) ?5:6;
|
|
|
discharger_open(0);
|
|
discharger_open(0);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -242,7 +242,7 @@ static s32 _process_unheath(void){
|
|
|
}
|
|
}
|
|
|
if (bms_health()->over_temp_deny_discharger|| bms_health()->lower_temp_deny_discharger) {
|
|
if (bms_health()->over_temp_deny_discharger|| bms_health()->lower_temp_deny_discharger) {
|
|
|
if (!_bms_state.charging) {
|
|
if (!_bms_state.charging) {
|
|
|
- close_dfet_reson = 5;
|
|
|
|
|
|
|
+ close_dfet_reson = (bms_health()->over_temp_deny_discharger == 1)?7:8;
|
|
|
discharger_open(0); //disable discharger mosfet
|
|
discharger_open(0); //disable discharger mosfet
|
|
|
}
|
|
}
|
|
|
unhealth |= (Health_Discharger_Failt | Health_Fault_Can_Sleep);
|
|
unhealth |= (Health_Discharger_Failt | Health_Fault_Can_Sleep);
|