|
|
@@ -327,6 +327,7 @@ static void _force_capacity_full(void){
|
|
|
push_event(Min_Cap_For_Full, (u32)curr_real_cap);
|
|
|
}
|
|
|
}
|
|
|
+ push_event(Charger_Full_cap, (u32)_soc.coulomb_now);
|
|
|
_soc.coulomb_now = _soc.coulomb_max;//充满后,当前容量设置为最大容量
|
|
|
|
|
|
force_full_ts = shark_get_seconds();
|
|
|
@@ -352,7 +353,6 @@ static int _soc_update_by_ocv(uint8_t prev_charge_status){
|
|
|
if (_soc.capacity && _soc_is_under_voltage()) {
|
|
|
soc_warning("judge calib min col %d - %d\n", shark_get_seconds(), force_empty_ts);
|
|
|
if (can_modify_min_cap()){
|
|
|
- push_event(Min_Cap_For_DisCharger, (u32)_soc.coulomb_now);
|
|
|
if (health_is_low_current()) {
|
|
|
_soc.coulomb_min = _soc.coulomb_now; //已经校准过了,而且电池在常温下进入powerdown,最小容量修正为当前容量
|
|
|
}else if (health_is_mid_current()) {
|
|
|
@@ -363,6 +363,7 @@ static int _soc_update_by_ocv(uint8_t prev_charge_status){
|
|
|
_soc.coulomb_min = _soc.coulomb_now * 0.9f;
|
|
|
}
|
|
|
_soc.coulomb_now = _soc.coulomb_min;
|
|
|
+ push_event(Min_Cap_For_DisCharger, (u32)_soc.coulomb_now);
|
|
|
soc_warning("calicablite coulomb_min %f\n", _soc.coulomb_min);
|
|
|
}else {
|
|
|
_soc.coulomb_now = _soc.coulomb_min;
|