Ver código fonte

【V3.1.0.63】测试完成升级为正式版:1.唤醒部分bug修改,2.Tcp重启次数增加,3.屏蔽163故障

CHENJIE-PC\QiXiang_CHENJIE 3 anos atrás
pai
commit
07818f8548
5 arquivos alterados com 191 adições e 188 exclusões
  1. 2 2
      inc/AppConfig.h
  2. 7 4
      src/AppTaskMain.c
  3. 2 2
      src/AppTaskTcp.c
  4. 170 170
      src/EmbeddedCoder_src/SFM.c
  5. 10 10
      src/bsp_custom.c

+ 2 - 2
inc/AppConfig.h

@@ -2,7 +2,7 @@
  * @Author       : ChenJie
  * @Date         : 2021-10-14 09:27:15
  * @LastEditors  : ChenJie
- * @LastEditTime : 2021-12-07 10:07:44
+ * @LastEditTime : 2021-12-08 18:12:25
  * @Description  : App Config H file 配置文件,可以针对不同参数进行更改
  * @FilePath     : \PLAT\project\ec616_0h00\apps\qx_app\inc\AppConfig.h
  */
@@ -14,7 +14,7 @@
 #define DATA_MODULE_TYPE (1)           // 1表示NB模块,2表示4G cat1
 #define EOLSTATE (0)                   // 1表示下线检测跳过,使用默认值,0表示使用下线检测
 #define DEFAULT_SN "RLTEST00000000001" //默认上传的SN编码
-#define APPSWVERSION 0x0301FE3F        //数据模块软件版本号
+#define APPSWVERSION 0x0301003F        //数据模块软件版本号
 #define RELAYCONFIG 1                  //继电器配置
 #define TCP_ADD "iotp.fast-fun.cn"     //数据上传的地址
 #define TCP_PORT 8712                  //数据上传的端口

+ 7 - 4
src/AppTaskMain.c

@@ -3,7 +3,7 @@
  * @Date         : 2021-10-14 09:27:15
  * @Version      : V3.0
  * @LastEditors  : ChenJie
- * @LastEditTime : 2021-12-07 10:09:47
+ * @LastEditTime : 2021-12-08 18:14:16
  * @Description  : 主要负责:1.工作模式转换2.定时器定时3.定时保存运行数据4.异常状态重启
  * @FilePath     : \PLAT\project\ec616_0h00\apps\qx_app\src\AppTaskMain.c
  */
@@ -107,9 +107,8 @@ static void MainTask(void *arg)
             if ((BMS_Fota_update_flag != FALSE) || (TCPWorkState != 0x00) || (BattWorkStateDelay != BATT_IDLE_SYM) || (battWorkState != BATT_IDLE_SYM) || (PadInterrupt != 0x00) || (AvgBattTemp >= (45 + 40)))
             {
                 xTimerReset(work_timer, 0);
-                PadInterrupt = 0x00;
             }
-            if ((TcpErrorcount >= 10 && getbit(PadInterrupt, 0) == 0x00 && battWorkState != BATT_CHARGE_SYM) || (NB_Fota_update_flag == TRUE))
+            if ((TcpErrorcount >= 100 && getbit(PadInterrupt, 0) == 0x00 && battWorkState != BATT_CHARGE_SYM) || (NB_Fota_update_flag == TRUE))
             {
                 AppDataInfo.appDataModify = true;
                 AppDataInfo.SysReStartCount = AppDataInfo.SysReStartCount + 1;
@@ -129,6 +128,10 @@ static void MainTask(void *arg)
                 osDelay(1000);
                 EC_SystemReset();
             }
+            if (PadInterrupt != 0x00)
+            {
+                PadInterrupt = 0x00;
+            }
             if (BcuDataInfo.appDataModify) // BCU数据实时保存
             {
                 SaveBcuData();
@@ -153,7 +156,7 @@ static void MainTask(void *arg)
                     PadInterrupt_clrCounter = PadInterrupt_clrCounter + 1;
                 }
             }
-            else if ((getbit(PadInterrupt, 1) == 0x00 && PadInterrupt != 0x00))
+            else if (PadInterrupt != 0x00)
             {
                 PadInterrupt_clrCounter = PadInterrupt_clrCounter + 1;
             }

+ 2 - 2
src/AppTaskTcp.c

@@ -259,8 +259,8 @@ static void TcpDataInfoAssembleSend()
     }
     case BATT_DISCHARGE_SYM:
     {
-        // BattSendFreq = AppDataInfo.BattInfoSendFreqNomal;
-        BattSendFreq = 10;
+        BattSendFreq = AppDataInfo.BattInfoSendFreqNomal;
+        // BattSendFreq = 10;
         GpsSendFreq = AppDataInfo.PosInfoSendFreqHigh;
         break;
     }

+ 170 - 170
src/EmbeddedCoder_src/SFM.c

@@ -254,7 +254,7 @@ void SFM(void)
     //====================================故障诊断    =======================================
     //=======================================================================================
     //=======================================================================================
-    //1 内网通信故障
+    // 1 内网通信故障
     if (ihd_flg_urtRecFlt)
     {
         sfmd_flg_interComFlt = true;
@@ -264,10 +264,10 @@ void SFM(void)
         sfmd_flg_interComFlt = false;
     }
 
-    //5 认证失败故障
+    // 5 认证失败故障
     sfmd_flg_authFlt = (ihd_st_authFaild == 1) && (!sfmd_flg_interComFlt);
 
-    //11 高压互锁故障
+    // 11 高压互锁故障
     if (ihd_flg_HVILFlt)
     {
         sfmd_flg_HVILFlt = true;
@@ -276,19 +276,19 @@ void SFM(void)
     {
         sfmd_flg_HVILFlt = false;
     }
-    //16
+    // 16
     sfmd_flg_iscFltEo = iscd_flg_flt || sfmd_flg_iscFltEi || sfmd_flg_iscFltEo;
 
-    //22 充电Mos失效故障
+    // 22 充电Mos失效故障
     sfmd_flg_chrgMosClosFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, ihd_flg_chrgMosClosFlt, &DiagTime.N22, 2);
 
-    //24 放电Mos失效故障
+    // 24 放电Mos失效故障
     sfmd_flg_disChrgMosClosFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, ihd_flg_disChrgMosClosFlt, &DiagTime.N24, 2);
 
-    //34 主回路常闭故障   //(充电MOS及放电MOS,主继电器断开  使能)
+    // 34 主回路常闭故障   //(充电MOS及放电MOS,主继电器断开  使能)
     sfmd_flg_mainCirClosFltEo = JudgeTimeSystem(!ihd_st_chrgMosControl && !ihd_st_disChrgMosControl && !ihd_st_relayControl, sfmd_I_curr > 5 || sfmd_I_curr < -5, &DiagTime.N34, 5) || sfmd_flg_mainCirClosFltEo || sfmd_flg_mainCirClosFltEi;
 
-    //52 电压开路故障
+    // 52 电压开路故障
     Cntl = Cntl + 1;
     if (!sfmd_flg_interComFlt && Cntl >= 0)
     {
@@ -385,7 +385,7 @@ void SFM(void)
         }
         else
         {
-            //sfmd_V_cellUAvrg = SumU / UNum;
+            // sfmd_V_cellUAvrg = SumU / UNum;
             sfmd_V_cellUAvrg = (SumU - sfmd_V_cellUMax - sfmd_V_cellUMin) / (UNum - 2);
         }
 
@@ -429,7 +429,7 @@ void SFM(void)
     }
     sfmd_V_battU = (uint16_T)(SumU * 0.01);
 
-    //53 模组温度开路故障
+    // 53 模组温度开路故障
     sfmd_flg_modTOpenFlt = false;
     for (i = 0; i < cmnc_num_modTNum; i++)
     {
@@ -453,19 +453,19 @@ void SFM(void)
         sfmd_flg_modTOpenFlt = sfmd_flg_modTOpenFlt || sfmv_flg_modTOpenFlt[i];
     }
 
-    //54 Mos温度开路故障
+    // 54 Mos温度开路故障
     sfmd_flg_chrgMosTOpenFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, ihd_T_mosT == 10, &DiagTime.N54, 2);
 
-    //56 快充插头温度开路故障
+    // 56 快充插头温度开路故障
     sfmd_flg_DCPlugTOpenFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, ihd_T_DCPlugT == 0, &DiagTime.N56, 2);
-    //57 慢充插头温度开路故障
+    // 57 慢充插头温度开路故障
     sfmd_flg_ACPlugTOpenFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, ihd_T_ACPlugT == 0, &DiagTime.N57, 2);
-    //58 加热板#1温度开路故障
+    // 58 加热板#1温度开路故障
     sfmd_flg_heatPanT1OpenFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, ihd_T_heatPanT1 == 0, &DiagTime.N58, 2);
-    //59 加热板#2温度开路故障
+    // 59 加热板#2温度开路故障
     sfmd_flg_heatPanT2OpenFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, ihd_T_heatPanT2 == 0, &DiagTime.N59, 2);
 
-    //61 模组温度合理性故障
+    // 61 模组温度合理性故障
     sfmd_flg_modTRationFlt = false;
     for (i = 0; i < cmnc_num_modTNum && FirstRun_SFM; i++)
     {
@@ -494,8 +494,8 @@ void SFM(void)
         sfmd_flg_modTRationFlt = sfmd_flg_modTRationFlt || sfmv_flg_modTRationFlt[i];
     }
 
-    //printf("%d,%d,%d,%d\n",ihd_T_mosT_Delay,ihd_T_mosT,FirstRun_SFM,ihd_flg_urtRecFlt);
-    //62 充电Mos 温度合理性故障
+    // printf("%d,%d,%d,%d\n",ihd_T_mosT_Delay,ihd_T_mosT,FirstRun_SFM,ihd_flg_urtRecFlt);
+    // 62 充电Mos 温度合理性故障
     sfmd_flg_chrgMosTRationFltOnce = !sfmd_flg_interComFlt && !sfmd_flg_chrgMosTOpenFlt && ((int16_T)(ihd_T_mosT - ihd_T_mosT_Delay) < -10 || (int16_T)(ihd_T_mosT - ihd_T_mosT_Delay) > 20);
     if (!sfmd_flg_chrgMosTRationFltOnce)
     {
@@ -503,7 +503,7 @@ void SFM(void)
     }
     sfmd_flg_chrgMosTRationFlt = JudgeTimeSystem(1, sfmd_flg_chrgMosTRationFltOnce, &DiagTime.N62, 2);
 
-    //64 快充插头温度合理性故障
+    // 64 快充插头温度合理性故障
     sfmd_flg_DCPlugTRationFltOnce = !sfmd_flg_interComFlt && !sfmd_flg_DCPlugTOpenFlt && ((int16_T)(ihd_T_DCPlugT - ihd_T_DCPlugT_Delay) < -10 || (int16_T)(ihd_T_DCPlugT - ihd_T_DCPlugT_Delay) > 20);
     if (!sfmd_flg_DCPlugTRationFltOnce)
     {
@@ -511,7 +511,7 @@ void SFM(void)
     }
     sfmd_flg_DCPlugTRationFlt = JudgeTimeSystem(1, sfmd_flg_DCPlugTRationFltOnce, &DiagTime.N64, 2);
 
-    //65 慢插头温度合理性故障
+    // 65 慢插头温度合理性故障
     sfmd_flg_ACPlugTRationFltOnce = !sfmd_flg_interComFlt && !sfmd_flg_ACPlugTOpenFlt && ((int16_T)(ihd_T_ACPlugT - ihd_T_ACPlugT_Delay) < -10 || (int16_T)(ihd_T_ACPlugT - ihd_T_ACPlugT_Delay) > 20);
     if (!sfmd_flg_ACPlugTRationFltOnce)
     {
@@ -519,7 +519,7 @@ void SFM(void)
     }
     sfmd_flg_ACPlugTRationFlt = JudgeTimeSystem(1, sfmd_flg_ACPlugTRationFltOnce, &DiagTime.N65, 2);
 
-    //66 加热板#1 温度合理性故障
+    // 66 加热板#1 温度合理性故障
     sfmd_flg_heatPanT1RationFltOnce = !sfmd_flg_interComFlt && !sfmd_flg_heatPanT1OpenFlt && ((int16_T)(ihd_T_heatPanT1 - ihd_T_heatPanT1_Delay) < -10 || (int16_T)(ihd_T_heatPanT1 - ihd_T_heatPanT1_Delay) > 20);
     if (!sfmd_flg_heatPanT1RationFltOnce)
     {
@@ -527,7 +527,7 @@ void SFM(void)
     }
     sfmd_flg_heatPanT1RationFlt = JudgeTimeSystem(1, sfmd_flg_heatPanT1RationFltOnce, &DiagTime.N66, 2);
 
-    //67 加热板#2 温度合理性故障
+    // 67 加热板#2 温度合理性故障
     sfmd_flg_heatPanT2RationFltOnce = !sfmd_flg_interComFlt && !sfmd_flg_heatPanT2OpenFlt && ((int16_T)(ihd_T_heatPanT2 - ihd_T_heatPanT2_Delay) < -10 || (int16_T)(ihd_T_heatPanT2 - ihd_T_heatPanT2_Delay) > 20);
     if (!sfmd_flg_heatPanT2RationFltOnce)
     {
@@ -535,7 +535,7 @@ void SFM(void)
     }
     sfmd_flg_heatPanT2RationFlt = JudgeTimeSystem(1, sfmd_flg_heatPanT2RationFltOnce, &DiagTime.N67, 2);
 
-    //68 模组温度全部不可用
+    // 68 模组温度全部不可用
     sfmd_flg_modTAllFlt = true;
     for (i = 0; i < cmnc_num_modTNum; i++)
     {
@@ -580,132 +580,132 @@ void SFM(void)
         }
     }
 
-    //69 加热板温度全部开路故障
+    // 69 加热板温度全部开路故障
     sfmd_flg_heatPanTAllFlt = (sfmd_flg_heatPanT1OpenFlt || sfmd_flg_heatPanT1RationFlt) && (sfmd_flg_heatPanT2OpenFlt || sfmd_flg_heatPanT2RationFlt);
 
     // 71 电流传感器故障
     sfmd_flg_currOpenFlt = false;
     sfmd_I_curr = ihd_I_curr;
-    //81 单体过压故障2级
+    // 81 单体过压故障2级
     sfmd_flg_cellUOverFlt2 = DiagThrSystem1(1, !sfmd_flg_interComFlt, sfmd_V_cellUMax, sfmc_V_cellUOverThrFlt2, sfmc_V_cellUOverThrRec2, 2, 2, &DiagThr.fltNum81, &DiagThr.recNum81, &sfmd_flg_cellUOverFlt2);
-    //82 单体过压故障1级
+    // 82 单体过压故障1级
     sfmd_flg_cellUOverFlt1 = DiagThrSystem1(0, !sfmd_flg_interComFlt, sfmd_V_cellUMax, sfmc_V_cellUOverThrFlt1, sfmc_V_cellUOverThrRec1, 2, 2, &DiagThr.fltNum82, &DiagThr.recNum82, &sfmd_flg_cellUOverFlt1) && !sfmd_flg_cellUOverFlt2;
 
-    //83 单体欠压故障2级
+    // 83 单体欠压故障2级
     sfmd_flg_cellULowFlt2 = DiagThrSystem2(1, !sfmd_flg_interComFlt, sfmd_V_cellUMin, sfmc_V_cellULowThrFlt2, sfmc_V_cellULowThrRec2, 2, 2, &DiagThr.fltNum83, &DiagThr.recNum83, &sfmd_flg_cellULowFlt2);
-    //84 单体欠压故障1级
+    // 84 单体欠压故障1级
     sfmd_flg_cellULowFlt1 = DiagThrSystem2(0, !sfmd_flg_interComFlt, sfmd_V_cellUMin, sfmc_V_cellULowThrFlt1, sfmc_V_cellULowThrRec1, 2, 2, &DiagThr.fltNum84, &DiagThr.recNum84, &sfmd_flg_cellULowFlt1) && !sfmd_flg_cellULowFlt2;
 
-    //85 压差过大2级
+    // 85 压差过大2级
     sfmd_flg_cellUDiffFlt2 = DiagThrSystem1(1, !sfmd_flg_interComFlt && socd_pct_battSoc > 200, sfmd_V_cellUMax - sfmd_V_cellUMin, sfmc_flg_cellUDiffThrFlt2, sfmc_flg_cellUDiffThrRec2, 2, 2, &DiagThr.fltNum85, &DiagThr.recNum85, &sfmd_flg_cellUDiffFlt2);
-    //86 压差过大1级
+    // 86 压差过大1级
     sfmd_flg_cellUDiffFlt1 = DiagThrSystem1(0, !sfmd_flg_interComFlt && socd_pct_battSoc > 200, sfmd_V_cellUMax - sfmd_V_cellUMin, sfmc_flg_cellUDiffThrFlt1, sfmc_flg_cellUDiffThrRec1, 2, 2, &DiagThr.fltNum86, &DiagThr.recNum86, &sfmd_flg_cellUDiffFlt1) && !sfmd_flg_cellUDiffFlt2;
 
-    //87 总压过压2级
+    // 87 总压过压2级
     sfmd_flg_battUOverFlt2 = DiagThrSystem1(1, !sfmd_flg_interComFlt, sfmd_V_battU, sfmc_V_battUOverThrFlt2, sfmc_V_battUOverThrRec2, 2, 2, &DiagThr.fltNum87, &DiagThr.recNum87, &sfmd_flg_battUOverFlt2);
-    //88 总压过压1级
+    // 88 总压过压1级
     sfmd_flg_battUOverFlt1 = DiagThrSystem1(0, !sfmd_flg_interComFlt, sfmd_V_battU, sfmc_V_battUOverThrFlt1, sfmc_V_battUOverThrRec1, 2, 2, &DiagThr.fltNum88, &DiagThr.recNum88, &sfmd_flg_battUOverFlt1) && !sfmd_flg_battUOverFlt2;
 
-    //89 总压欠压2级
+    // 89 总压欠压2级
     sfmd_flg_battULowFlt2 = DiagThrSystem2(1, !sfmd_flg_interComFlt, sfmd_V_battU, sfmc_V_battULowThrFlt2, sfmc_V_battULowThrRec2, 2, 2, &DiagThr.fltNum89, &DiagThr.recNum89, &sfmd_flg_battULowFlt2);
-    //90 总压欠压1级
+    // 90 总压欠压1级
     sfmd_flg_battULowFlt1 = DiagThrSystem2(0, !sfmd_flg_interComFlt, sfmd_V_battU, sfmc_V_battULowThrFlt1, sfmc_V_battULowThrRec1, 2, 2, &DiagThr.fltNum90, &DiagThr.recNum90, &sfmd_flg_battULowFlt1) && !sfmd_flg_battULowFlt2;
 
     chrgFlg = ihd_st_workStat == 2;
     disChrgFlg = ihd_st_workStat != 2;
 
-    //97 模组充电温度过高2级故障
+    // 97 模组充电温度过高2级故障
     sfmd_flg_chrgModTOverFlt2 = DiagThrSystem1(1, !sfmd_flg_interComFlt && chrgFlg && !sfmd_flg_modTAllFlt, sfmd_T_modTMax, sfmc_T_chrgModTOverThrFlt2, sfmc_T_chrgModTOverThrRec2, 3, 3, &DiagThr.fltNum97, &DiagThr.recNum97, &sfmd_flg_chrgModTOverFlt2);
-    //98 模组充电温度过高1级故障
+    // 98 模组充电温度过高1级故障
     sfmd_flg_chrgModTOverFlt1 = DiagThrSystem1(0, !sfmd_flg_interComFlt && chrgFlg && !sfmd_flg_modTAllFlt, sfmd_T_modTMax, sfmc_T_chrgModTOverThrFlt1, sfmc_T_chrgModTOverThrRec1, 3, 3, &DiagThr.fltNum98, &DiagThr.recNum98, &sfmd_flg_chrgModTOverFlt1) && !sfmd_flg_chrgModTOverFlt2;
-    //99 模组充电温度过低2级故障
+    // 99 模组充电温度过低2级故障
     sfmd_flg_chrgModTLowFlt2 = DiagThrSystem2(0, !sfmd_flg_interComFlt && chrgFlg && !sfmd_flg_modTAllFlt, sfmd_T_modTMin, sfmc_T_chrgModTLowThrFlt2, sfmc_T_chrgModTLowThrRec2, 3, 3, &DiagThr.fltNum99, &DiagThr.recNum99, &sfmd_flg_chrgModTLowFlt2);
-    //100 模组充电温度过低1级故障
+    // 100 模组充电温度过低1级故障
     sfmd_flg_chrgModTLowFlt1 = DiagThrSystem2(0, !sfmd_flg_interComFlt && chrgFlg && !sfmd_flg_modTAllFlt, sfmd_T_modTMin, sfmc_T_chrgModTLowThrFlt1, sfmc_T_chrgModTLowThrRec1, 3, 3, &DiagThr.fltNum100, &DiagThr.recNum100, &sfmd_flg_chrgModTLowFlt1) && !sfmd_flg_chrgModTLowFlt2;
 
-    //101 模组放电温度过高2级故障
+    // 101 模组放电温度过高2级故障
     sfmd_flg_disChrgModTOverFlt2 = DiagThrSystem1(1, !sfmd_flg_interComFlt && disChrgFlg && !sfmd_flg_modTAllFlt, sfmd_T_modTMax, sfmc_T_disChrgModTOverThrFlt2, sfmc_T_disChrgModTOverThrRec2, 3, 3, &DiagThr.fltNum101, &DiagThr.recNum101, &sfmd_flg_disChrgModTOverFlt2);
-    //102 模组放电温度过高1级故障
+    // 102 模组放电温度过高1级故障
     sfmd_flg_disChrgModTOverFlt1 = DiagThrSystem1(0, !sfmd_flg_interComFlt && disChrgFlg && !sfmd_flg_modTAllFlt, sfmd_T_modTMax, sfmc_T_disChrgModTOverThrFlt1, sfmc_T_disChrgModTOverThrRec1, 3, 3, &DiagThr.fltNum102, &DiagThr.recNum102, &sfmd_flg_disChrgModTOverFlt1) && !sfmd_flg_disChrgModTOverFlt2;
-    //103 模组放电温度过低2级故障
+    // 103 模组放电温度过低2级故障
     sfmd_flg_disChrgModTLowFlt2 = DiagThrSystem2(0, !sfmd_flg_interComFlt && disChrgFlg && !sfmd_flg_modTAllFlt, sfmd_T_modTMin, sfmc_T_disChrgModTLowThrFlt2, sfmc_T_disChrgModTLowThrRec2, 3, 3, &DiagThr.fltNum103, &DiagThr.recNum103, &sfmd_flg_disChrgModTLowFlt2);
-    //104 模组放电温度过低1级故障
+    // 104 模组放电温度过低1级故障
     sfmd_flg_disChrgModTLowFlt1 = DiagThrSystem2(0, !sfmd_flg_interComFlt && disChrgFlg && !sfmd_flg_modTAllFlt, sfmd_T_modTMin, sfmc_T_disChrgModTLowThrFlt1, sfmc_T_disChrgModTLowThrRec1, 3, 3, &DiagThr.fltNum104, &DiagThr.recNum104, &sfmd_flg_disChrgModTLowFlt1) && !sfmd_flg_disChrgModTLowFlt2;
 
     //
-    //105 模组温差2级故障
+    // 105 模组温差2级故障
     sfmd_flg_modTDiffFlt2 = DiagThrSystem1(1, !sfmd_flg_interComFlt && !sfmd_flg_modTAllFlt, sfmd_T_modTMax - sfmd_T_modTMin, sfmc_T_modTDiffThrFlt2, sfmc_T_modTDiffThrRec2, 3, 3, &DiagThr.fltNum105, &DiagThr.recNum105, &sfmd_flg_modTDiffFlt2);
-    //106 模组温差1级故障
+    // 106 模组温差1级故障
     sfmd_flg_modTDiffFlt1 = DiagThrSystem1(0, !sfmd_flg_interComFlt && !sfmd_flg_modTAllFlt, sfmd_T_modTMax - sfmd_T_modTMin, sfmc_T_modTDiffThrFlt1, sfmc_T_modTDiffThrRec1, 3, 3, &DiagThr.fltNum106, &DiagThr.recNum106, &sfmd_flg_modTDiffFlt1) && !sfmd_flg_modTDiffFlt2;
 
-    //107 充电Mos温度过高2级故障
+    // 107 充电Mos温度过高2级故障
     sfmd_flg_chrgMosTOverFlt2 = DiagThrSystem1(1, !sfmd_flg_interComFlt && chrgFlg && sfmd_flg_chrgMosTRationFlt && sfmd_flg_chrgMosTOpenFlt, ihd_T_mosT, sfmc_T_chrgMosTOverThrFlt2, sfmc_T_chrgMosTOverThrRec2, 3, 3, &DiagThr.fltNum107, &DiagThr.recNum107, &sfmd_flg_chrgMosTOverFlt2);
-    //108 充电Mos温度过高1级故障
+    // 108 充电Mos温度过高1级故障
     sfmd_flg_chrgMosTOverFlt1 = DiagThrSystem1(0, !sfmd_flg_interComFlt && chrgFlg && sfmd_flg_chrgMosTRationFlt && sfmd_flg_chrgMosTOpenFlt, ihd_T_mosT, sfmc_T_chrgMosTOverThrFlt1, sfmc_T_chrgMosTOverThrRec1, 3, 3, &DiagThr.fltNum108, &DiagThr.recNum108, &sfmd_flg_chrgMosTOverFlt1) && !sfmd_flg_chrgMosTOverFlt2;
-    //109 放电Mos温度过高2级故障
+    // 109 放电Mos温度过高2级故障
     sfmd_flg_disChrgMosTOverFlt2 = DiagThrSystem1(1, !sfmd_flg_interComFlt && disChrgFlg && sfmd_flg_chrgMosTRationFlt && sfmd_flg_chrgMosTOpenFlt, ihd_T_mosT, sfmc_T_disChrgMosTOverThrFlt2, sfmc_T_disChrgMosTOverThrRec2, 3, 3, &DiagThr.fltNum109, &DiagThr.recNum109, &sfmd_flg_disChrgMosTOverFlt2);
-    //110 放电Mos温度过高1级故障
+    // 110 放电Mos温度过高1级故障
     sfmd_flg_disChrgMosTOverFlt1 = DiagThrSystem1(0, !sfmd_flg_interComFlt && disChrgFlg && sfmd_flg_chrgMosTRationFlt && sfmd_flg_chrgMosTOpenFlt, ihd_T_mosT, sfmc_T_disChrgMosTOverThrFlt1, sfmc_T_disChrgMosTOverThrRec1, 3, 3, &DiagThr.fltNum110, &DiagThr.recNum110, &sfmd_flg_disChrgMosTOverFlt1) && !sfmd_flg_disChrgMosTOverFlt2;
 
-    //111 快充插头温度过高2级故障
+    // 111 快充插头温度过高2级故障
     sfmd_flg_DCPlugTOverFlt2 = DiagThrSystem1(1, !sfmd_flg_interComFlt && sfmd_flg_DCPlugTRationFlt && sfmd_flg_DCPlugTOpenFlt, ihd_T_DCPlugT, sfmc_T_DCPlugTOverThrFlt2, sfmc_T_DCPlugTOverThrRec2, 3, 3, &DiagThr.fltNum111, &DiagThr.recNum111, &sfmd_flg_DCPlugTOverFlt2);
-    //112 快充插头温度过高1级故障
+    // 112 快充插头温度过高1级故障
     sfmd_flg_DCPlugTOverFlt1 = DiagThrSystem1(0, !sfmd_flg_interComFlt && sfmd_flg_DCPlugTRationFlt && sfmd_flg_DCPlugTOpenFlt, ihd_T_DCPlugT, sfmc_T_DCPlugTOverThrFlt1, sfmc_T_DCPlugTOverThrRec1, 3, 3, &DiagThr.fltNum112, &DiagThr.recNum112, &sfmd_flg_DCPlugTOverFlt1) && !sfmd_flg_DCPlugTOverFlt2;
-    //113 慢充插头温度过高2级故障
+    // 113 慢充插头温度过高2级故障
     sfmd_flg_ACPlugTOverFlt2 = DiagThrSystem1(1, !sfmd_flg_interComFlt && sfmd_flg_ACPlugTRationFlt && sfmd_flg_ACPlugTOpenFlt, ihd_T_ACPlugT, sfmc_T_ACPlugTOverThrFlt2, sfmc_T_ACPlugTOverThrRec2, 3, 3, &DiagThr.fltNum113, &DiagThr.recNum113, &sfmd_flg_ACPlugTOverFlt2);
-    //114 慢充插头温度过高1级故障
+    // 114 慢充插头温度过高1级故障
     sfmd_flg_ACPlugTOverFlt1 = DiagThrSystem1(0, !sfmd_flg_interComFlt && sfmd_flg_ACPlugTRationFlt && sfmd_flg_ACPlugTOpenFlt, ihd_T_ACPlugT, sfmc_T_ACPlugTOverThrFlt1, sfmc_T_ACPlugTOverThrRec1, 3, 3, &DiagThr.fltNum114, &DiagThr.recNum114, &sfmd_flg_ACPlugTOverFlt1) && !sfmd_flg_ACPlugTOverFlt2;
 
-    //115 加热板温度过高2级故障
+    // 115 加热板温度过高2级故障
     sfmd_flg_heatPanTOverFlt2_1 = DiagThrSystem1(1, !sfmd_flg_interComFlt && sfmd_flg_heatPanT1RationFlt && sfmd_flg_heatPanT1OpenFlt, ihd_T_heatPanT1, sfmc_T_heatPanTOverThrFlt2, sfmc_T_heatPanTOverThrRec2, 3, 3, &DiagThr.fltNum115_1, &DiagThr.recNum115_1, &sfmd_flg_heatPanTOverFlt2_1);
     sfmd_flg_heatPanTOverFlt2_2 = DiagThrSystem1(1, !sfmd_flg_interComFlt && sfmd_flg_heatPanT2RationFlt && sfmd_flg_heatPanT2OpenFlt, ihd_T_heatPanT2, sfmc_T_heatPanTOverThrFlt2, sfmc_T_heatPanTOverThrRec2, 3, 3, &DiagThr.fltNum115_2, &DiagThr.recNum115_2, &sfmd_flg_heatPanTOverFlt2_2);
     sfmd_flg_heatPanTOverFlt2 = sfmd_flg_heatPanTOverFlt2_1 || sfmd_flg_heatPanTOverFlt2_2;
-    //116 加热板温度过高1级故障
+    // 116 加热板温度过高1级故障
     sfmd_flg_heatPanTOverFlt1_1 = DiagThrSystem1(0, !sfmd_flg_interComFlt && sfmd_flg_heatPanT1RationFlt && sfmd_flg_heatPanT1OpenFlt, ihd_T_heatPanT1, sfmc_T_heatPanTOverThrFlt1, sfmc_T_heatPanTOverThrRec1, 3, 3, &DiagThr.fltNum116_1, &DiagThr.recNum116_1, &sfmd_flg_heatPanTOverFlt1_1) && !sfmd_flg_heatPanTOverFlt2;
     sfmd_flg_heatPanTOverFlt1_2 = DiagThrSystem1(0, !sfmd_flg_interComFlt && sfmd_flg_heatPanT2RationFlt && sfmd_flg_heatPanT2OpenFlt, ihd_T_heatPanT2, sfmc_T_heatPanTOverThrFlt1, sfmc_T_heatPanTOverThrRec1, 3, 3, &DiagThr.fltNum116_2, &DiagThr.recNum116_2, &sfmd_flg_heatPanTOverFlt1_2) && !sfmd_flg_heatPanTOverFlt2;
     sfmd_flg_heatPanTOverFlt1 = sfmd_flg_heatPanTOverFlt1_1 || sfmd_flg_heatPanTOverFlt1_2;
 
     sfmd_I_curr = ihd_I_curr;
     sfmd_I_currAbs = (uint16_T)(sfmd_I_curr > 0 ? sfmd_I_curr : -sfmd_I_curr);
-    //131 充电电流过高
+    // 131 充电电流过高
     sfmd_flg_chrgCurrOverFlt = DiagThrSystem1(1, !sfmd_flg_interComFlt && chrgFlg && !sfmd_flg_currOpenFlt, sfmd_I_currAbs, sfmc_I_chrgCurrOverThr, sfmc_I_chrgCurrOverThr, 2, 2, &DiagThr.fltNum131, &DiagThr.recNum131, &sfmd_flg_chrgCurrOverFlt);
-    //132 放电电流过高
+    // 132 放电电流过高
     sfmd_flg_disChrgCurrOverFlt = DiagThrSystem1(1, !sfmd_flg_interComFlt && disChrgFlg && !sfmd_flg_currOpenFlt, sfmd_I_currAbs, sfmc_I_disChrgCurrOverThr, sfmc_I_disChrgCurrOverThr, 2, 2, &DiagThr.fltNum132, &DiagThr.recNum132, &sfmd_flg_disChrgCurrOverFlt);
 
-    //151 充电过流故障不匹配
+    // 151 充电过流故障不匹配
     sfmd_flg_chrgCurrOverMisFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, sfmd_flg_chrgCurrOverFlt != ihd_flg_chrgCurrOverFlt, &DiagTime.N151, 2);
-    //152 放电过流故障不匹配
+    // 152 放电过流故障不匹配
     sfmd_flg_disChrgCurrOverMisFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, sfmd_flg_disChrgCurrOverFlt != ihd_flg_disChrgCurrOverFlt, &DiagTime.N152, 2);
-    //153 总压欠压不匹配
+    // 153 总压欠压不匹配
     sfmd_flg_battULowMisFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, sfmd_flg_battULowFlt2 != ihd_flg_battULowFlt, &DiagTime.N153, 2);
-    //154 总压过压不匹配
+    // 154 总压过压不匹配
     sfmd_flg_battUOverMisFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, sfmd_flg_battUOverFlt2 != ihd_flg_battUOverFlt, &DiagTime.N154, 2);
 
-    //155 单体欠压故障不匹配
+    // 155 单体欠压故障不匹配
     sfmd_flg_cellULowMisFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, sfmd_flg_cellULowFlt2 != ihd_flg_cellULowFlt, &DiagTime.N155, 2);
-    //156 单体过压故障不匹配
+    // 156 单体过压故障不匹配
     sfmd_flg_cellUOverMisFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, sfmd_flg_cellUOverFlt2 != ihd_flg_cellUOverFlt, &DiagTime.N156, 2);
 
-    //157 充电模组过温故障不匹配
+    // 157 充电模组过温故障不匹配
     sfmd_flg_chrgModTOverMisFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, sfmd_flg_chrgModTOverFlt2 != ihd_flg_chrgModTOverFlt, &DiagTime.N157, 2);
-    //158 充电模组低温故障不匹配
+    // 158 充电模组低温故障不匹配
     sfmd_flg_chrgModTLowMisFlt = JudgeTimeSystem(0 && !sfmd_flg_interComFlt, sfmd_flg_chrgModTLowFlt2 != ihd_flg_chrgModTLowFlt, &DiagTime.N158, 2);
-    //159 放电模组过温故障不匹配
+    // 159 放电模组过温故障不匹配
     sfmd_flg_disChrgModTOverMisFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, sfmd_flg_disChrgModTOverFlt2 != ihd_flg_disChrgModTOverFlt, &DiagTime.N159, 2);
-    //160 放电模组低温故障不匹配
+    // 160 放电模组低温故障不匹配
     sfmd_flg_disChrgModTLowMisFlt = JudgeTimeSystem(0 && !sfmd_flg_interComFlt, sfmd_flg_disChrgModTLowFlt2 != ihd_flg_disChrgModTLowFlt, &DiagTime.N160, 2);
 
-    //161 充电Mos过温故障不匹配
+    // 161 充电Mos过温故障不匹配
     sfmd_flg_chrgMosTOverMisFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, sfmd_flg_chrgMosTOverFlt2 != ihd_flg_chrgMosTOverFlt, &DiagTime.N161, 2);
-    //162 放电Mos过温故障不匹配
+    // 162 放电Mos过温故障不匹配
     sfmd_flg_disChrgMosTOverMisFlt = JudgeTimeSystem(!sfmd_flg_interComFlt, sfmd_flg_disChrgMosTOverFlt2 != ihd_flg_disChrgMosTOverFlt, &DiagTime.N162, 2);
 
-    //163 soc不匹配
-    sfmd_flg_socMisFlt = !FirstRun_SFM && (!sfmd_flg_interComFlt) && ((int16_T)(socd_pct_vcuSoc - ihd_pct_soc) > 100 || (int16_T)(socd_pct_vcuSoc - ihd_pct_soc) < -100);
-    //164 SOH 不匹配
+    // 163 soc不匹配
+    sfmd_flg_socMisFlt = 0 && !FirstRun_SFM && (!sfmd_flg_interComFlt) && ((int16_T)(socd_pct_vcuSoc - ihd_pct_soc) > 100 || (int16_T)(socd_pct_vcuSoc - ihd_pct_soc) < -100);
+    // 164 SOH 不匹配
     sfmd_flg_sohMisFlt = !FirstRun_SFM && (!sfmd_flg_interComFlt) && ((int16_T)(sohd_pct_bcuSoh - ihd_pct_soh) > 50 || (int16_T)(sohd_pct_bcuSoh - ihd_pct_soh) < -50);
 
-    //178
+    // 178
     sfmd_flg_deltRFlt = false;
     if (!cdmd_flg_deltOCVDisable && !sfmd_flg_interComFlt)
     {
@@ -737,10 +737,10 @@ void SFM(void)
         }
     }
 
-    //179 soc跳变
+    // 179 soc跳变
     sfmd_flg_socJumpFlt = ((int16_T)(socd_pct_bcuSoc - socd_pct_bcuSoc_Delay) > 50 || (int16_T)(socd_pct_bcuSoc - socd_pct_bcuSoc_Delay) < -50) && JudgeTimeSystem(1, 1, &DiagTime.N179, 2);
     socd_pct_bcuSoc_Delay = socd_pct_bcuSoc;
-    //180 EE失效
+    // 180 EE失效
     sfmd_flg_EEsaveFlt = ihd_flg_EESaveFlt;
 
     // 21 热失控故障
@@ -919,13 +919,13 @@ void SFM(void)
     }
     ihd_T_heatPanT2_Delay1 = ihd_T_heatPanT2;
 
-    //32 加热回路常闭故障
-    //deltaTEn1  = !sfmd_flg_heatPanT1OpenFlt && !sfmd_flg_heatPanT1RationFlt && !sfmd_flg_ACPlugTOpenFlt &&!sfmd_flg_ACPlugTRationFlt && !sfmd_flg_DCPlugTOpenFlt &&!sfmd_flg_DCPlugTRationFlt && ((ihd_T_heatPanT1 > ihd_T_ACPlugT + 5) && (ihd_T_heatPanT1 > ihd_T_DCPlugT + 5));
-    //deltaTEn2  = !sfmd_flg_heatPanT2OpenFlt && !sfmd_flg_heatPanT2RationFlt && !sfmd_flg_ACPlugTOpenFlt &&!sfmd_flg_ACPlugTRationFlt && !sfmd_flg_DCPlugTOpenFlt &&!sfmd_flg_DCPlugTRationFlt && ((ihd_T_heatPanT2 > ihd_T_ACPlugT + 5) && (ihd_T_heatPanT2 > ihd_T_DCPlugT + 5));
+    // 32 加热回路常闭故障
+    // deltaTEn1  = !sfmd_flg_heatPanT1OpenFlt && !sfmd_flg_heatPanT1RationFlt && !sfmd_flg_ACPlugTOpenFlt &&!sfmd_flg_ACPlugTRationFlt && !sfmd_flg_DCPlugTOpenFlt &&!sfmd_flg_DCPlugTRationFlt && ((ihd_T_heatPanT1 > ihd_T_ACPlugT + 5) && (ihd_T_heatPanT1 > ihd_T_DCPlugT + 5));
+    // deltaTEn2  = !sfmd_flg_heatPanT2OpenFlt && !sfmd_flg_heatPanT2RationFlt && !sfmd_flg_ACPlugTOpenFlt &&!sfmd_flg_ACPlugTRationFlt && !sfmd_flg_DCPlugTOpenFlt &&!sfmd_flg_DCPlugTRationFlt && ((ihd_T_heatPanT2 > ihd_T_ACPlugT + 5) && (ihd_T_heatPanT2 > ihd_T_DCPlugT + 5));
     Enable1 = JudgeTimeSystem(1, tmsd_st_heatAct == 0, &DiagTime.N32, 600);
     sfmd_flg_heatCirClosFltEo = (((int16_T)(heatT2Arr[9] - heatT2Arr[0]) > 5 || (int16_T)(heatT1Arr[9] - heatT1Arr[0]) > 5) && (modTMaxArr[9] > modTMaxArr[0] + 4) && Enable1) || sfmd_flg_heatCirClosFltEo || sfmd_flg_heatCirClosFltEi;
 
-    //33 加热回路常开故障
+    // 33 加热回路常开故障
     Enable2 = JudgeTimeSystem(1, tmsd_st_heatAct == 1, &DiagTime.N33, 600);
     sfmd_flg_heatCirOpenFltEo = (((int16_T)(heatT2Arr[9] - heatT2Arr[0]) < 5 && (int16_T)(heatT1Arr[9] - heatT1Arr[0]) < 5) && Enable2) || sfmd_flg_heatCirOpenFltEo || sfmd_flg_heatCirOpenFltEi;
 
@@ -939,103 +939,103 @@ void SFM(void)
 
     FltFlg[0] = sfmd_flg_interComFlt;
     FltLevel[0] = 2;
-    FltAct[0] = 2; //1 内网通讯故障
+    FltAct[0] = 2; // 1 内网通讯故障
 
     FltFlg[1] = 0;
     FltLevel[1] = 0;
-    FltAct[1] = 0; //2 外部通讯故障
+    FltAct[1] = 0; // 2 外部通讯故障
 
     FltFlg[2] = 0;
     FltLevel[2] = 0;
-    FltAct[2] = 0; //3 通讯模块故障
+    FltAct[2] = 0; // 3 通讯模块故障
 
     FltFlg[3] = 0;
     FltLevel[3] = 0;
-    FltAct[3] = 0; //4 通讯天线故障
+    FltAct[3] = 0; // 4 通讯天线故障
 
     FltFlg[4] = sfmd_flg_authFlt;
     FltLevel[4] = 4;
-    FltAct[4] = 34; //5 认证失败
+    FltAct[4] = 34; // 5 认证失败
 
     FltFlg[5] = 0;
     FltLevel[5] = 0;
-    FltAct[5] = 0; //6 预留#5
+    FltAct[5] = 0; // 6 预留#5
 
     FltFlg[6] = 0;
     FltLevel[6] = 0;
-    FltAct[6] = 0; //7 预留#4
+    FltAct[6] = 0; // 7 预留#4
 
     FltFlg[7] = 0;
     FltLevel[7] = 0;
-    FltAct[7] = 0; //8 预留#3
+    FltAct[7] = 0; // 8 预留#3
 
     FltFlg[8] = 0;
     FltLevel[8] = 0;
-    FltAct[8] = 0; //9  预留#2
+    FltAct[8] = 0; // 9  预留#2
 
     FltFlg[9] = 0;
     FltLevel[9] = 0;
-    FltAct[9] = 0; //10 预留#1
+    FltAct[9] = 0; // 10 预留#1
 
     FltFlg[10] = sfmd_flg_HVILFlt;
     FltLevel[10] = 0;
-    FltAct[10] = 0; //11 高压互锁
+    FltAct[10] = 0; // 11 高压互锁
 
     FltFlg[11] = 0;
     FltLevel[11] = 0;
-    FltAct[11] = 0; //12 硬件短路保护
+    FltAct[11] = 0; // 12 硬件短路保护
 
     FltFlg[12] = 0;
     FltLevel[12] = 0;
-    FltAct[12] = 0; //13 绝缘模块故障
+    FltAct[12] = 0; // 13 绝缘模块故障
 
     FltFlg[13] = 0;
     FltLevel[13] = 0;
-    FltAct[13] = 0; //14 绝缘故障
+    FltAct[13] = 0; // 14 绝缘故障
 
     FltFlg[14] = 0;
     FltLevel[14] = 0;
-    FltAct[14] = 0; //15 绝缘告警
+    FltAct[14] = 0; // 15 绝缘告警
 
     FltFlg[15] = sfmd_flg_iscFltEo;
     FltLevel[15] = 4;
-    FltAct[15] = 250; //16
+    FltAct[15] = 250; // 16
 
     FltFlg[16] = 0;
     FltLevel[16] = 0;
-    FltAct[16] = 0; //17 预留4
+    FltAct[16] = 0; // 17 预留4
 
     FltFlg[17] = 0;
     FltLevel[17] = 0;
-    FltAct[17] = 0; //18 预留3
+    FltAct[17] = 0; // 18 预留3
 
     FltFlg[18] = 0;
     FltLevel[18] = 0;
-    FltAct[18] = 0; //19 预留2
+    FltAct[18] = 0; // 19 预留2
 
     FltFlg[19] = 0;
     FltLevel[19] = 0;
-    FltAct[19] = 0; //20 预留1
+    FltAct[19] = 0; // 20 预留1
 
     FltFlg[20] = sfmd_flg_heatRunFltEo;
     FltLevel[20] = 5;
-    FltAct[20] = 255; //21 热失控;
+    FltAct[20] = 255; // 21 热失控;
 
     FltFlg[21] = sfmd_flg_chrgMosClosFlt;
     FltLevel[21] = 4;
-    FltAct[21] = 106; //22充电MOS常闭故障
+    FltAct[21] = 106; // 22充电MOS常闭故障
 
     FltFlg[22] = 0;
     FltLevel[22] = 0;
-    FltAct[22] = 0; //23充电MOS常开故障
+    FltAct[22] = 0; // 23充电MOS常开故障
 
     FltFlg[23] = sfmd_flg_disChrgMosClosFlt;
     FltLevel[23] = 4;
-    FltAct[23] = 106; //24 放电Mos常闭故障
+    FltAct[23] = 106; // 24 放电Mos常闭故障
 
     FltFlg[24] = 0;
     FltLevel[24] = 0;
-    FltAct[24] = 0; //25 放电Mos常开故障
+    FltAct[24] = 0; // 25 放电Mos常开故障
 
     FltFlg[25] = 0;
     FltLevel[25] = 0;
@@ -1063,15 +1063,15 @@ void SFM(void)
 
     FltFlg[31] = sfmd_flg_heatCirClosFltEo;
     FltLevel[31] = 4;
-    FltAct[31] = 250; //32 加热回路常闭故障
+    FltAct[31] = 250; // 32 加热回路常闭故障
 
     FltFlg[32] = sfmd_flg_heatCirOpenFltEo;
     FltLevel[32] = 1;
-    FltAct[32] = 0; //33 加热回路常开故障
+    FltAct[32] = 0; // 33 加热回路常开故障
 
     FltFlg[33] = sfmd_flg_mainCirClosFltEo;
     FltLevel[33] = 4;
-    FltAct[33] = 250; //34 主回路常闭故障
+    FltAct[33] = 250; // 34 主回路常闭故障
 
     FltFlg[34] = 0;
     FltLevel[34] = 0;
@@ -1139,19 +1139,19 @@ void SFM(void)
 
     FltFlg[50] = 0;
     FltLevel[50] = 0;
-    FltAct[50] = 0; //51均衡失效(合一) 暂缺
+    FltAct[50] = 0; // 51均衡失效(合一) 暂缺
 
     FltFlg[51] = sfmd_flg_volFlt;
     FltLevel[51] = 4;
-    FltAct[51] = 234; //52电压开路故障(合一)
+    FltAct[51] = 234; // 52电压开路故障(合一)
 
     FltFlg[52] = sfmd_flg_modTOpenFlt;
     FltLevel[52] = 2;
-    FltAct[52] = 2; //53温度开路故障(合一)
+    FltAct[52] = 2; // 53温度开路故障(合一)
 
     FltFlg[53] = sfmd_flg_chrgMosTOpenFlt;
     FltLevel[53] = 2;
-    FltAct[53] = 130; //54 Mos温度开路故障
+    FltAct[53] = 130; // 54 Mos温度开路故障
 
     FltFlg[54] = 0;
     FltLevel[54] = 0;
@@ -1159,19 +1159,19 @@ void SFM(void)
 
     FltFlg[55] = sfmd_flg_DCPlugTOpenFlt;
     FltLevel[55] = 2;
-    FltAct[55] = 2; //56 快充插头温度开路故障
+    FltAct[55] = 2; // 56 快充插头温度开路故障
 
     FltFlg[56] = sfmd_flg_ACPlugTOpenFlt;
     FltLevel[56] = 2;
-    FltAct[56] = 2; //57  慢充插头温度开路故障
+    FltAct[56] = 2; // 57  慢充插头温度开路故障
 
     FltFlg[57] = sfmd_flg_heatPanT1OpenFlt;
     FltLevel[57] = 2;
-    FltAct[57] = 2; //58加热板#1温度开路故障
+    FltAct[57] = 2; // 58加热板#1温度开路故障
 
     FltFlg[58] = sfmd_flg_heatPanT2OpenFlt;
     FltLevel[58] = 2;
-    FltAct[58] = 2; //59加热板#2温度开路故障
+    FltAct[58] = 2; // 59加热板#2温度开路故障
 
     FltFlg[59] = 0;
     FltLevel[59] = 0;
@@ -1179,11 +1179,11 @@ void SFM(void)
 
     FltFlg[60] = sfmd_flg_modTRationFlt;
     FltLevel[60] = 2;
-    FltAct[60] = 2; //61模组温度合理性故障
+    FltAct[60] = 2; // 61模组温度合理性故障
 
     FltFlg[61] = sfmd_flg_chrgMosTRationFlt;
     FltLevel[61] = 2;
-    FltAct[61] = 130; //62mos温度合理性故障
+    FltAct[61] = 130; // 62mos温度合理性故障
 
     FltFlg[62] = 0;
     FltLevel[62] = 0;
@@ -1191,19 +1191,19 @@ void SFM(void)
 
     FltFlg[63] = sfmd_flg_DCPlugTRationFlt;
     FltLevel[63] = 2;
-    FltAct[63] = 2; //64快充插头温度合理性故障
+    FltAct[63] = 2; // 64快充插头温度合理性故障
 
     FltFlg[64] = sfmd_flg_ACPlugTRationFlt;
     FltLevel[64] = 2;
-    FltAct[64] = 2; //65慢充插头温度合理性故障
+    FltAct[64] = 2; // 65慢充插头温度合理性故障
 
     FltFlg[65] = sfmd_flg_heatPanT1RationFlt;
     FltLevel[65] = 2;
-    FltAct[65] = 2; //66加热板#1温度合理性故障
+    FltAct[65] = 2; // 66加热板#1温度合理性故障
 
     FltFlg[66] = sfmd_flg_heatPanT2RationFlt;
     FltLevel[66] = 2;
-    FltAct[66] = 2; //67加热板#2温度合理性故障
+    FltAct[66] = 2; // 67加热板#2温度合理性故障
 
     FltFlg[67] = sfmd_flg_modTAllFlt;
     FltLevel[67] = 4;
@@ -1219,7 +1219,7 @@ void SFM(void)
 
     FltFlg[70] = 0;
     FltLevel[70] = 0;
-    FltAct[70] = 0; //71 电流传感器故障 暂缺
+    FltAct[70] = 0; // 71 电流传感器故障 暂缺
 
     FltFlg[71] = 0;
     FltLevel[71] = 0;
@@ -1259,43 +1259,43 @@ void SFM(void)
 
     FltFlg[80] = sfmd_flg_cellUOverFlt2;
     FltLevel[80] = 4;
-    FltAct[80] = 66; //81单体过压2级故障
+    FltAct[80] = 66; // 81单体过压2级故障
 
     FltFlg[81] = sfmd_flg_cellUOverFlt1;
     FltLevel[81] = 4;
-    FltAct[81] = 66; //82单体过压1级故障
+    FltAct[81] = 66; // 82单体过压1级故障
 
     FltFlg[82] = sfmd_flg_cellULowFlt2;
     FltLevel[82] = 4;
-    FltAct[82] = 162; //83单体欠压2级故障
+    FltAct[82] = 162; // 83单体欠压2级故障
 
     FltFlg[83] = sfmd_flg_cellULowFlt1;
     FltLevel[83] = 3;
-    FltAct[83] = 131; //84单体欠压1级故障
+    FltAct[83] = 131; // 84单体欠压1级故障
 
     FltFlg[84] = sfmd_flg_cellUDiffFlt2;
     FltLevel[84] = 3;
-    FltAct[84] = 3; //85压差过大2级故障
+    FltAct[84] = 3; // 85压差过大2级故障
 
     FltFlg[85] = sfmd_flg_cellUDiffFlt1;
     FltLevel[85] = 2;
-    FltAct[85] = 2; //86压差过大1级故障
+    FltAct[85] = 2; // 86压差过大1级故障
 
     FltFlg[86] = sfmd_flg_battUOverFlt2;
     FltLevel[86] = 4;
-    FltAct[86] = 66; //87总压过压2级故障
+    FltAct[86] = 66; // 87总压过压2级故障
 
     FltFlg[87] = sfmd_flg_battUOverFlt1;
     FltLevel[87] = 4;
-    FltAct[87] = 66; //88总压过压1级故障
+    FltAct[87] = 66; // 88总压过压1级故障
 
     FltFlg[88] = sfmd_flg_battULowFlt2;
     FltLevel[88] = 4;
-    FltAct[88] = 162; //89总压欠压2级故障
+    FltAct[88] = 162; // 89总压欠压2级故障
 
     FltFlg[89] = sfmd_flg_battULowFlt1;
     FltLevel[89] = 3;
-    FltAct[89] = 131; //90总压欠压1级故障
+    FltAct[89] = 131; // 90总压欠压1级故障
 
     FltFlg[90] = 0;
     FltLevel[90] = 0;
@@ -1323,83 +1323,83 @@ void SFM(void)
 
     FltFlg[96] = sfmd_flg_chrgModTOverFlt2;
     FltLevel[96] = 4;
-    FltAct[96] = 250; //97模组充电温度过高2级故障
+    FltAct[96] = 250; // 97模组充电温度过高2级故障
 
     FltFlg[97] = sfmd_flg_chrgModTOverFlt1;
     FltLevel[97] = 3;
-    FltAct[97] = 145; //98模组充电温度过高1级故障
+    FltAct[97] = 145; // 98模组充电温度过高1级故障
 
     FltFlg[98] = sfmd_flg_chrgModTLowFlt2;
     FltLevel[98] = 0;
-    FltAct[98] = 0; //99模组充电温度过低2级故障   =======
+    FltAct[98] = 0; // 99模组充电温度过低2级故障   =======
 
     FltFlg[99] = sfmd_flg_chrgModTLowFlt1;
     FltLevel[99] = 0;
-    FltAct[99] = 0; //100模组充电温度过低1级故障  =======
+    FltAct[99] = 0; // 100模组充电温度过低1级故障  =======
 
     FltFlg[100] = sfmd_flg_disChrgModTOverFlt2;
     FltLevel[100] = 4;
-    FltAct[100] = 250; //101模组充电温度过高2级故障
+    FltAct[100] = 250; // 101模组充电温度过高2级故障
 
     FltFlg[101] = sfmd_flg_disChrgModTOverFlt1;
     FltLevel[101] = 3;
-    FltAct[101] = 145; //102模组充电温度过高1级故障
+    FltAct[101] = 145; // 102模组充电温度过高1级故障
 
     FltFlg[102] = sfmd_flg_disChrgModTLowFlt2;
     FltLevel[102] = 0;
-    FltAct[102] = 0; //103模组充电温度过低2级故障  ==========
+    FltAct[102] = 0; // 103模组充电温度过低2级故障  ==========
 
     FltFlg[103] = sfmd_flg_disChrgModTLowFlt1;
     FltLevel[103] = 0;
-    FltAct[103] = 0; //104模组充电温度过低1级故障  ==========
+    FltAct[103] = 0; // 104模组充电温度过低1级故障  ==========
 
     FltFlg[104] = sfmd_flg_modTDiffFlt2;
     FltLevel[104] = 3;
-    FltAct[104] = 19; //105模组温差过大2级故障
+    FltAct[104] = 19; // 105模组温差过大2级故障
 
     FltFlg[105] = sfmd_flg_modTDiffFlt1;
     FltLevel[105] = 1;
-    FltAct[105] = 0; //106模组温差过大1级故障
+    FltAct[105] = 0; // 106模组温差过大1级故障
 
     FltFlg[106] = sfmd_flg_chrgMosTOverFlt2;
     FltLevel[106] = 4;
-    FltAct[106] = 250; //107 充电Mos温度过高2级故障
+    FltAct[106] = 250; // 107 充电Mos温度过高2级故障
 
     FltFlg[107] = sfmd_flg_chrgMosTOverFlt1;
     FltLevel[107] = 3;
-    FltAct[107] = 19; //108 充电Mos温度过高1级故障
+    FltAct[107] = 19; // 108 充电Mos温度过高1级故障
 
     FltFlg[108] = sfmd_flg_disChrgMosTOverFlt2;
     FltLevel[108] = 4;
-    FltAct[108] = 250; //109 放电Mos温度过高2级故障
+    FltAct[108] = 250; // 109 放电Mos温度过高2级故障
 
     FltFlg[109] = sfmd_flg_disChrgMosTOverFlt1;
     FltLevel[109] = 3;
-    FltAct[109] = 19; //110 放电Mos温度过高1级故障
+    FltAct[109] = 19; // 110 放电Mos温度过高1级故障
 
     FltFlg[110] = sfmd_flg_DCPlugTOverFlt2;
     FltLevel[110] = 1;
-    FltAct[110] = 0; //111 快充插头温度过高2级故障
+    FltAct[110] = 0; // 111 快充插头温度过高2级故障
 
     FltFlg[111] = sfmd_flg_DCPlugTOverFlt1;
     FltLevel[111] = 1;
-    FltAct[111] = 0; //112 快充插头温度过高1级故障
+    FltAct[111] = 0; // 112 快充插头温度过高1级故障
 
     FltFlg[112] = sfmd_flg_ACPlugTOverFlt1;
     FltLevel[112] = 1;
-    FltAct[112] = 0; //113 慢充插头温度过高2级故障
+    FltAct[112] = 0; // 113 慢充插头温度过高2级故障
 
     FltFlg[113] = sfmd_flg_ACPlugTOverFlt1;
     FltLevel[113] = 1;
-    FltAct[113] = 0; //114 慢充插头温度过高1级故障
+    FltAct[113] = 0; // 114 慢充插头温度过高1级故障
 
     FltFlg[114] = sfmd_flg_heatPanTOverFlt2;
     FltLevel[114] = 3;
-    FltAct[114] = 18; //115 加热板温度过高2级故障
+    FltAct[114] = 18; // 115 加热板温度过高2级故障
 
     FltFlg[115] = sfmd_flg_heatPanTOverFlt1;
     FltLevel[115] = 1;
-    FltAct[115] = 0; //116 加热板温度过高1级故障
+    FltAct[115] = 0; // 116 加热板温度过高1级故障
 
     FltFlg[116] = 0;
     FltLevel[116] = 0;
@@ -1459,11 +1459,11 @@ void SFM(void)
 
     FltFlg[130] = sfmd_flg_chrgCurrOverFlt;
     FltLevel[130] = 4;
-    FltAct[130] = 66; //131 充电电流过高
+    FltAct[130] = 66; // 131 充电电流过高
 
     FltFlg[131] = sfmd_flg_disChrgCurrOverFlt;
     FltLevel[131] = 4;
-    FltAct[131] = 34; //132 放电电流过高
+    FltAct[131] = 34; // 132 放电电流过高
 
     FltFlg[132] = 0;
     FltLevel[132] = 0;
@@ -1539,59 +1539,59 @@ void SFM(void)
 
     FltFlg[150] = sfmd_flg_chrgCurrOverMisFlt;
     FltLevel[150] = 1;
-    FltAct[150] = 0; //151 充电过流故障不匹配
+    FltAct[150] = 0; // 151 充电过流故障不匹配
 
     FltFlg[151] = sfmd_flg_disChrgCurrOverMisFlt;
     FltLevel[151] = 1;
-    FltAct[151] = 0; //152 放电过流故障不匹配
+    FltAct[151] = 0; // 152 放电过流故障不匹配
 
     FltFlg[152] = sfmd_flg_battULowMisFlt;
     FltLevel[152] = 1;
-    FltAct[152] = 0; //153 总压欠压不匹配
+    FltAct[152] = 0; // 153 总压欠压不匹配
 
     FltFlg[153] = sfmd_flg_battUOverMisFlt;
     FltLevel[153] = 1;
-    FltAct[153] = 0; //154 总压过压不匹配
+    FltAct[153] = 0; // 154 总压过压不匹配
 
     FltFlg[154] = sfmd_flg_cellULowMisFlt;
     FltLevel[154] = 1;
-    FltAct[154] = 0; //155 单体欠压故障不匹配
+    FltAct[154] = 0; // 155 单体欠压故障不匹配
 
     FltFlg[155] = sfmd_flg_cellUOverMisFlt;
     FltLevel[155] = 1;
-    FltAct[155] = 0; //156 单体过压故障不匹配
+    FltAct[155] = 0; // 156 单体过压故障不匹配
 
     FltFlg[156] = sfmd_flg_chrgModTOverMisFlt;
     FltLevel[156] = 1;
-    FltAct[156] = 0; //157 充电模组过温故障不匹配
+    FltAct[156] = 0; // 157 充电模组过温故障不匹配
 
     FltFlg[157] = sfmd_flg_chrgModTLowMisFlt;
     FltLevel[157] = 1;
-    FltAct[157] = 0; //158 充电模组低温故障不匹配
+    FltAct[157] = 0; // 158 充电模组低温故障不匹配
 
     FltFlg[158] = sfmd_flg_disChrgModTOverMisFlt;
     FltLevel[158] = 1;
-    FltAct[158] = 0; //159 放电模组过温故障不匹配
+    FltAct[158] = 0; // 159 放电模组过温故障不匹配
 
     FltFlg[159] = sfmd_flg_disChrgModTLowMisFlt;
     FltLevel[159] = 1;
-    FltAct[159] = 0; //160 放电模组低温故障不匹配
+    FltAct[159] = 0; // 160 放电模组低温故障不匹配
 
     FltFlg[160] = sfmd_flg_chrgMosTOverMisFlt;
     FltLevel[160] = 1;
-    FltAct[160] = 0; //161 充电Mos过温故障不匹配
+    FltAct[160] = 0; // 161 充电Mos过温故障不匹配
 
     FltFlg[161] = sfmd_flg_disChrgMosTOverMisFlt;
     FltLevel[161] = 1;
-    FltAct[161] = 0; //162 放电Mos过温故障不匹配
+    FltAct[161] = 0; // 162 放电Mos过温故障不匹配
 
     FltFlg[162] = sfmd_flg_socMisFlt;
     FltLevel[162] = 1;
-    FltAct[162] = 0; //163 soc不匹配
+    FltAct[162] = 0; // 163 soc不匹配
 
     FltFlg[163] = sfmd_flg_sohMisFlt;
     FltLevel[163] = 1;
-    FltAct[163] = 0; //164 SOH 不匹配
+    FltAct[163] = 0; // 164 SOH 不匹配
 
     FltFlg[164] = 0;
     FltLevel[164] = 0;
@@ -1651,11 +1651,11 @@ void SFM(void)
 
     FltFlg[178] = sfmd_flg_socJumpFlt;
     FltLevel[178] = 1;
-    FltAct[178] = 0; //179 soc跳变
+    FltAct[178] = 0; // 179 soc跳变
 
     FltFlg[179] = sfmd_flg_EEsaveFlt;
     FltLevel[179] = 1;
-    FltAct[179] = 0; //180 EE失效
+    FltAct[179] = 0; // 180 EE失效
 
     //==========================================================================================================================================================
     memset(FltCodeArr, 0, sizeof(FltCodeArr));
@@ -1740,7 +1740,7 @@ void SFM(void)
         sfmd_st_fltAct = sfmd_st_fltAct | FltActArr[i];
     }
 
-    /* 
+    /*
      for(i=0;i < 20;i++)
      {
          printf("%d  ",sfmv_idx_fltCode[i]);

+ 10 - 10
src/bsp_custom.c

@@ -192,7 +192,7 @@ void BSP_CustomInit(void)
     relayConfigInit();
 
 #if LOW_POWER_AT_TEST
-    //slpManRegisterUsrSlpDepthCb(CheckUsrdefSlpStatus);  //暂时屏蔽Rx拉低不允许睡眠的操作
+    // slpManRegisterUsrSlpDepthCb(CheckUsrdefSlpStatus);  //暂时屏蔽Rx拉低不允许睡眠的操作
 #endif
 
     plat_config_raw_flash_t *rawFlashPlatConfig;
@@ -221,12 +221,12 @@ void BSP_CustomInit(void)
     slpManGetPMUSettings();
     ResetReasonInit();
     PMU_WakeupPadInit();
-    NVIC_EnableIRQ(PadWakeup0_IRQn);  //can
-    NVIC_DisableIRQ(PadWakeup1_IRQn); //rx
-    NVIC_EnableIRQ(PadWakeup2_IRQn);  //lock
-    NVIC_DisableIRQ(PadWakeup3_IRQn); //gsensor
-    NVIC_DisableIRQ(PadWakeup4_IRQn); //gsensor
-    NVIC_EnableIRQ(PadWakeup5_IRQn);  //wakeup2
+    NVIC_EnableIRQ(PadWakeup0_IRQn);  // can
+    NVIC_DisableIRQ(PadWakeup1_IRQn); // rx
+    NVIC_EnableIRQ(PadWakeup2_IRQn);  // lock
+    NVIC_DisableIRQ(PadWakeup3_IRQn); // gsensor
+    NVIC_DisableIRQ(PadWakeup4_IRQn); // gsensor
+    NVIC_EnableIRQ(PadWakeup5_IRQn);  // wakeup2
     CheckLockOutState();
     slpManStartWaitATTimer();
 
@@ -266,17 +266,17 @@ void Pad0_WakeupIntHandler(void)
 
 void Pad1_WakeupIntHandler(void)
 {
-    UartInterruptcount++;
     if (slpManExtIntPreProcess(PadWakeup1_IRQn) == false)
     {
         return;
     }
     else
     {
-#ifdef USING_PRINTF
+#ifdef USING_PRINTF1
         printf("Pad1-[%d]\n", __LINE__);
 #endif
-        setbit(PadInterrupt, 1);
+        UartInterruptcount++;
+        // setbit(PadInterrupt, 1);
     }
 }