浏览代码

[Bug fixed][DM30][DW30][event code] Fix the bug that "023892" event code will be cleaned if the charger in idle state. If QCA7000 data not installed, it is impossible to recovery the fault, unless someone shutdown the charger and install the QCA7000 data. After DCM received "023892", it should show fix page.

2020.08.14 / TC Hsu

Actions: Remove the "023892" event code clean action in ClearAbnormalStatus_CCS() function. After DCM received "023892", setup SysWarningInfo.Level to 2 to enter fix page.

Image version    : N/A
Image checksum   : N/A

Hardware PWB P/N : N/A
Hardware Version : N/A

Files:

	modified:   EVSE/Projects/DM30/Apps/Module_EvComm.c
	modified:   EVSE/Projects/DW30/Apps/Module_EvComm.c
TC_Hsu 4 年之前
父节点
当前提交
f1903a429e
共有 2 个文件被更改,包括 16 次插入18 次删除
  1. 8 9
      EVSE/Projects/DM30/Apps/Module_EvComm.c
  2. 8 9
      EVSE/Projects/DW30/Apps/Module_EvComm.c

+ 8 - 9
EVSE/Projects/DM30/Apps/Module_EvComm.c

@@ -2221,13 +2221,7 @@ void ClearAbnormalStatus_CCS(byte gun_index)
         memcpy(_chargingData[gun_index]->EvConnAlarmCode, "", 6);
         isCleanCheck = true;
     }
-    else if (strncmp((char *)_chargingData[gun_index]->EvConnAlarmCode, "023892", 6) == EQUAL &&
-             ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccTimeoutQCA7000Comm == YES)
-    {
-        memcpy(code, "023892", 6);
-        memcpy(_chargingData[gun_index]->EvConnAlarmCode, "", 6);
-        isCleanCheck = true;
-    }
+    // "023892" CcsSeccTimeoutQCA7000Comm is fault event, will never recoverable until to QCA 7000 data installed.
     else if (strncmp((char *)_chargingData[gun_index]->EvConnAlarmCode, "023893", 6) == EQUAL &&
              ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccFailForQCA7000SetKey == YES)
     {
@@ -2384,7 +2378,7 @@ void ClearAbnormalStatus_CCS(byte gun_index)
                     if (strncmp(code, "023889", 6) == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsCpStatus_Error = NO;
                     if (strncmp(code, "023890", 6) == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsUnexpectVolBeforeCharing_Error = NO;
                     if (strncmp(code, "023891", 6) == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccNotReadyForCharging = NO;
-                    if (strncmp(code, "023892", 6) == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccTimeoutQCA7000Comm = NO;
+                    // "023892" CcsSeccTimeoutQCA7000Comm is fault event, will never recoverable until to QCA 7000 data installed.
                     if (strncmp(code, "023893", 6) == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccFailForQCA7000SetKey = NO;
                 }
             }
@@ -2579,7 +2573,12 @@ void AbnormalStopAnalysis(byte gun_index, byte *errCode)
     if (strcmp(string, "023889") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsCpStatus_Error = YES;
     if (strcmp(string, "023890") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsUnexpectVolBeforeCharing_Error = YES;
     if (strcmp(string, "023891") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccNotReadyForCharging = YES;
-    if (strcmp(string, "023892") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccTimeoutQCA7000Comm = YES;
+    if (strcmp(string, "023892") == EQUAL)
+    {
+        ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccTimeoutQCA7000Comm = YES;
+        //CcsSeccTimeoutQCA7000Comm is fault event, should enter fix page.
+        ShmSysConfigAndInfo->SysWarningInfo.Level = 2;
+    }
     if (strcmp(string, "023893") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccFailForQCA7000SetKey = YES;
 
     if (strcmp(string, "023702") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.GbEvCommFail = YES;

+ 8 - 9
EVSE/Projects/DW30/Apps/Module_EvComm.c

@@ -2221,13 +2221,7 @@ void ClearAbnormalStatus_CCS(byte gun_index)
         memcpy(_chargingData[gun_index]->EvConnAlarmCode, "", 6);
         isCleanCheck = true;
     }
-    else if (strncmp((char *)_chargingData[gun_index]->EvConnAlarmCode, "023892", 6) == EQUAL &&
-             ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccTimeoutQCA7000Comm == YES)
-    {
-        memcpy(code, "023892", 6);
-        memcpy(_chargingData[gun_index]->EvConnAlarmCode, "", 6);
-        isCleanCheck = true;
-    }
+    // "023892" CcsSeccTimeoutQCA7000Comm is fault event, will never recoverable until to QCA 7000 data installed.
     else if (strncmp((char *)_chargingData[gun_index]->EvConnAlarmCode, "023893", 6) == EQUAL &&
              ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccFailForQCA7000SetKey == YES)
     {
@@ -2384,7 +2378,7 @@ void ClearAbnormalStatus_CCS(byte gun_index)
                     if (strncmp(code, "023889", 6) == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsCpStatus_Error = NO;
                     if (strncmp(code, "023890", 6) == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsUnexpectVolBeforeCharing_Error = NO;
                     if (strncmp(code, "023891", 6) == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccNotReadyForCharging = NO;
-                    if (strncmp(code, "023892", 6) == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccTimeoutQCA7000Comm = NO;
+                    // "023892" CcsSeccTimeoutQCA7000Comm is fault event, will never recoverable until to QCA 7000 data installed.
                     if (strncmp(code, "023893", 6) == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccFailForQCA7000SetKey = NO;
                 }
             }
@@ -2579,7 +2573,12 @@ void AbnormalStopAnalysis(byte gun_index, byte *errCode)
     if (strcmp(string, "023889") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsCpStatus_Error = YES;
     if (strcmp(string, "023890") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsUnexpectVolBeforeCharing_Error = YES;
     if (strcmp(string, "023891") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccNotReadyForCharging = YES;
-    if (strcmp(string, "023892") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccTimeoutQCA7000Comm = YES;
+    if (strcmp(string, "023892") == EQUAL)
+    {
+        ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccTimeoutQCA7000Comm = YES;
+        //CcsSeccTimeoutQCA7000Comm is fault event, should enter fix page.
+        ShmSysConfigAndInfo->SysWarningInfo.Level = 2;
+    }
     if (strcmp(string, "023893") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.CcsSeccFailForQCA7000SetKey = YES;
 
     if (strcmp(string, "023702") == EQUAL) ShmStatusCodeData->InfoCode.InfoEvents.bits.GbEvCommFail = YES;