Просмотр исходного кода

充满的时候,记录容量

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 4 лет назад
Родитель
Сommit
00375c15f7
2 измененных файлов с 3 добавлено и 1 удалено
  1. 1 0
      Application/app/event_record.h
  2. 2 1
      Application/app/sox/soc.c

+ 1 - 0
Application/app/event_record.h

@@ -18,6 +18,7 @@ typedef enum {
 	Min_Cap_For_Full,
 	Min_Cap_For_DisCharger,
 	Temp_Changed,
+	Charger_Full_cap,
 	Max_current_persis,
 }event_id_t;
 

+ 2 - 1
Application/app/sox/soc.c

@@ -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;