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

为校准的情况下,电池从小于100到100,置校准标志

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

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

@@ -486,6 +486,7 @@ static void soc_update_by_current_and_time(float current_now, float delta_time,
 	double delta_q = current * delta_time; 
 	uint8_t est_capaticy = _soc.capacity;
 	int update_capticy = 0;
+	uint8_t prev_cap = _soc.capacity;
 
 	if (!chargering) {
 		soc_update_discharger_coeff();
@@ -530,7 +531,7 @@ static void soc_update_by_current_and_time(float current_now, float delta_time,
 	soc_calibrate(prev_charge_status);
 
 	//如果没有校准过,充电过程中,电量100%后,设置校准标志位
-	if (chargering && (_soc.capacity == 100)){
+	if ((_soc.capacity == 100) && (prev_cap < 100)){
 		if ((_soc.flags & SOC_FLAG_CALIBRATED) == 0){
 			_soc.flags |= SOC_FLAG_CALIBRATED;
 			update_capticy = 1;