ソースを参照

support bootloader

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 5 年 前
コミット
99dba08ba7
4 ファイル変更10 行追加5 行削除
  1. 7 2
      Application/app/sox/soc.c
  2. 1 1
      Application/version.h
  3. 1 1
      Project/SP700.uvoptx
  4. 1 1
      Project/SP700.uvprojx

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

@@ -157,12 +157,17 @@ void soc_update(void){
 	soc_update_by_ocv();
 
 	//如果没有校准过,充电过程中,电量100%后,设置校准标志位
-	if (chargering && (_soc.flags & SOC_FLAG_CALIBRATED) == 0){
-		if (_soc.capacity == 100){
+	if (chargering && (_soc.capacity == 100)){
+		if ((_soc.flags & SOC_FLAG_CALIBRATED) == 0){
 			_soc.coulomb_now = _soc.coulomb_max;
 			_soc.flags |= SOC_FLAG_CALIBRATED;
 			nv_save_soc();
 			soc_warning("calibrate OK, charging coulomb: %f\n", _soc.charger_coulomb);
+		}else { //如果校准过,单电芯过压,100%的容量,设置最大容量为当前容量
+			if (bms_health()->sigle_cell_over_voltage){
+				_soc.coulomb_max = _soc.coulomb_now;
+				soc_warning("signal cell over vol, cap full, reset coul max to coul now: %f\n", _soc.coulomb_max);
+			}
 		}
 	}
 	_soc.energy = bms_state_get()->pack_voltage/1000.f * (_soc.coulomb_now - _soc.coulomb_min) * _soc.capacity/100.0f;

+ 1 - 1
Application/version.h

@@ -1,3 +1,3 @@
 #pragma once
 
-#define CONFIG_VERSION "HSP730FL_V2_13091921"
+#define CONFIG_VERSION "HSP730FL_V2_13092042"

+ 1 - 1
Project/SP700.uvoptx

@@ -135,7 +135,7 @@
         <SetRegEntry>
           <Number>0</Number>
           <Key>DLGUARM</Key>
-          <Name></Name>
+          <Name>d</Name>
         </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>

+ 1 - 1
Project/SP700.uvprojx

@@ -275,7 +275,7 @@
               </OCR_RVCT3>
               <OCR_RVCT4>
                 <Type>1</Type>
-                <StartAddress>0x8000000</StartAddress>
+                <StartAddress>0x8002000</StartAddress>
                 <Size>0x10000</Size>
               </OCR_RVCT4>
               <OCR_RVCT5>