|
|
@@ -631,7 +631,7 @@ static uint32_t get_balance_mask(uint8_t current_max_index){
|
|
|
}
|
|
|
|
|
|
static void check_cell_balance(uint8_t current_max_index){
|
|
|
- if (!_bms_state.charging || (_bms_state.cell_max_vol >= SIGLE_CELL_MAX_CHARGER_VOLTAGE)){ //not charging, need not do balance
|
|
|
+ if (!_bms_state.charging || (_bms_state.cell_max_vol >= SIGLE_CELL_MAX_CHARGER_VOLTAGE) || !bms_work_is_normal()){ //not charging, need not do balance
|
|
|
if (_bms_state.pack_balancing){
|
|
|
debounce_reset(_cell_balance);
|
|
|
_bms_state.pack_balancing = ml5238_cell_start_balance(0);
|