Эх сурвалжийг харах

[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 жил өмнө
parent
commit
f1903a429e

+ 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;