|
|
@@ -323,10 +323,6 @@ static void _force_capacity_full(void){
|
|
|
if ((_soc.flags & SOC_FLAG_CALIBRATED) == 0){
|
|
|
_soc.current_real_coulomb = _soc.coulomb_max;
|
|
|
_discharger_no_full_coef = 1.0f;
|
|
|
- }else {
|
|
|
- if (bms_state_get()->pack_voltage >= 52500) {
|
|
|
- _soc.current_real_coulomb = _soc.coulomb_max - _soc.coulomb_min;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
if (_soc.current_real_coulomb < _soc.coulomb_max) {
|
|
|
@@ -350,6 +346,12 @@ static void _force_capacity_full(void){
|
|
|
u32 cap_x10 = (u32)(_soc.current_real_coulomb / 3600.0f * 10);
|
|
|
u32 min_x10 = (u32)(curr_min_cap / 3600.0f * 10);
|
|
|
push_event(Charger_Full_cap2, ((min_x10 & 0xFFFF) << 16) | (cap_x10 & 0xFFFF));
|
|
|
+ // 认为本次充电正常
|
|
|
+ if (bms_state_get()->pack_voltage >= 53000) {
|
|
|
+ _soc.current_real_coulomb = _soc.coulomb_max - _soc.coulomb_min;
|
|
|
+ _discharger_no_full_coef = 1.0f;
|
|
|
+ }
|
|
|
+
|
|
|
//充满后,当前容量设置为最大容量
|
|
|
_soc.capacity = 100;
|
|
|
_soc.coulomb_now = _soc.coulomb_max;
|