Selaa lähdekoodia

解决剩余1%电量,放充电器后,立马变为0%的问题

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 5 vuotta sitten
vanhempi
commit
812136c4f8
1 muutettua tiedostoa jossa 2 lisäystä ja 2 poistoa
  1. 2 2
      Application/app/sox/soc.c

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

@@ -270,13 +270,13 @@ static void soc_update_by_current_and_time(float current_now, float delta_time,
 	if (chargering){
 		delta_q = delta_q * _charger_coefficient;
 		_soc.charger_coulomb += abs(delta_q);
-		if (est_capaticy < 100 ){ //充电,容量不能等于100,需要靠电压和充电电流来矫正到100
+		if ((est_capaticy < 100) && (est_capaticy >= _soc.capacity)){ //充电,容量不能等于100,需要靠电压和充电电流来矫正到100
 			update_capticy = 1;
 		}
 	}else {
 		delta_q = delta_q * _discharger_coefficient;
 		_soc.dischrger_coulomb += abs(delta_q);
-		if (est_capaticy > 0) {  //放电,容量不能等于0,需要靠欠压或者PowerDown 矫正到0
+		if ((est_capaticy > 0) && (est_capaticy <= _soc.capacity)) {  //放电,容量不能等于0,需要靠欠压或者PowerDown 矫正到0
 			update_capticy = 1;
 		}
 	}