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

2021.03.16 / Jerry Wang

Actions:
1.Debug report alarm code to power cabinet can't release connectorAlarmCode issue.

Files:
follow commit history.
Jerry_Wang 4 жил өмнө
parent
commit
cc3b89adc6

+ 21 - 10
EVSE/Projects/DD360/Apps/ReMain.c

@@ -2301,6 +2301,14 @@ void ReleaseAlarmCode(byte gunIndex)
             }
         }
     }
+
+    if (strncmp((char *)chargingInfo[gunIndex]->ConnectorAlarmCode, "012251", 6) == EQUAL ||
+            strncmp((char *)chargingInfo[gunIndex]->ConnectorAlarmCode, "012252", 6) == EQUAL ||
+            strncmp((char *)chargingInfo[gunIndex]->ConnectorAlarmCode, "012238", 6) == EQUAL ||
+            strncmp((char *)chargingInfo[gunIndex]->ConnectorAlarmCode, "012304", 6) == EQUAL
+       ) {
+        memset(chargingInfo[gunIndex]->ConnectorAlarmCode, 0, sizeof(chargingInfo[gunIndex]->ConnectorAlarmCode));
+    }
 }
 
 void ReleaseWarningCodeByString(byte gunIndex, char *code)
@@ -2822,15 +2830,17 @@ void CheckErrorOccurStatus(byte index)
         }
     }
     //--------------------------------------------------------------------------
-    //Primary
-    if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.EmergencyStopTrip == YES) {
-        memcpy(chargingInfo[index]->ConnectorAlarmCode, "012251", 6);
-    } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.DoorOpen == YES) {
-        memcpy(chargingInfo[index]->ConnectorAlarmCode, "012252", 6);
-    } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.MainPowerBreakerTrip == YES) {
-        memcpy(chargingInfo[index]->ConnectorAlarmCode, "012238", 6);
-    } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.DisconnectedFromDo == YES) {
-        memcpy(chargingInfo[index]->ConnectorAlarmCode, "012304", 6);
+    if (strlen(chargingInfo[index]->ConnectorAlarmCode) == 0) {
+        //Primary
+        if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.EmergencyStopTrip == YES) {
+            memcpy(chargingInfo[index]->ConnectorAlarmCode, "012251", 6);
+        } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.DoorOpen == YES) {
+            memcpy(chargingInfo[index]->ConnectorAlarmCode, "012252", 6);
+        } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.MainPowerBreakerTrip == YES) {
+            memcpy(chargingInfo[index]->ConnectorAlarmCode, "012238", 6);
+        } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.DisconnectedFromDo == YES) {
+            memcpy(chargingInfo[index]->ConnectorAlarmCode, "012304", 6);
+        }
     }
 }
 
@@ -5616,6 +5626,8 @@ int main(void)
             //PRINTF_FUNC("index = %d, ErrorCode = %s \n", gun_index, ShmOCPP16Data->StatusNotification[gun_index].ErrorCode);
             switch (chargingInfo[gun_index]->SystemStatus) {
             case S_IDLE:
+                ReleaseAlarmCode(gun_index);
+
                 if (isModeChange(gun_index)) {
                     log_info("S_IDLE================================== %x \n", gun_index);
                     chargingInfo[gun_index]->PresentChargedDuration = 0;
@@ -5813,7 +5825,6 @@ int main(void)
                         }
                     }
 #endif //defined METER_ENABLE
-                    ReleaseAlarmCode(gun_index);
                 }
             }
             break;

BIN
EVSE/Projects/DD360/Apps/UnsafetyOutputTask


+ 5 - 4
EVSE/Projects/DD360/Apps/main.c

@@ -2421,6 +2421,7 @@ void CheckGunTypeFromHw()
         case 23:
             bd1_2_status = gpioValue;
             break;
+
         case 44:
             bd0_1_status = gpioValue;
             break;
@@ -2438,16 +2439,16 @@ void CheckGunTypeFromHw()
     for (int i = 0; i < 2; i++) {
         switch (tmp[i]) {
         case 0x01:
-            DEBUG_INFO_MSG("BD%d(%s) = %s ", i + 1, i == 1 ? "Right" : "Left", "CHAdeMO");
+            DEBUG_INFO_MSG("BD%d(%s) = %s ", i + 1, i + 1 == 1 ? "Right" : "Left", "CHAdeMO");
             break;
         case 0x10:
-            DEBUG_INFO_MSG("BD%d(%s) = %s ", i + 1, i == 1 ? "Right" : "Left", "CCS");
+            DEBUG_INFO_MSG("BD%d(%s) = %s ", i + 1, i + 1 == 1 ? "Right" : "Left", "CCS");
             break;
         case 0x11:
-            DEBUG_INFO_MSG("BD%d(%s) = %s ", i + 1, i == 1 ? "Right" : "Left", "GBT");
+            DEBUG_INFO_MSG("BD%d(%s) = %s ", i + 1, i + 1 == 1 ? "Right" : "Left", "GBT");
             break;
         case 0x00:
-            DEBUG_INFO_MSG("BD%d(%s) = %s ", i + 1, i == 1 ? "Right" : "Left", "None");
+            DEBUG_INFO_MSG("BD%d(%s) = %s ", i + 1, i + 1 == 1 ? "Right" : "Left", "None");
             break;
         }
     }

+ 21 - 10
EVSE/Projects/DD360Audi/Apps/ReMain.c

@@ -2301,6 +2301,14 @@ void ReleaseAlarmCode(byte gunIndex)
             }
         }
     }
+
+    if (strncmp((char *)chargingInfo[gunIndex]->ConnectorAlarmCode, "012251", 6) == EQUAL ||
+            strncmp((char *)chargingInfo[gunIndex]->ConnectorAlarmCode, "012252", 6) == EQUAL ||
+            strncmp((char *)chargingInfo[gunIndex]->ConnectorAlarmCode, "012238", 6) == EQUAL ||
+            strncmp((char *)chargingInfo[gunIndex]->ConnectorAlarmCode, "012304", 6) == EQUAL
+       ) {
+        memset(chargingInfo[gunIndex]->ConnectorAlarmCode, 0, sizeof(chargingInfo[gunIndex]->ConnectorAlarmCode));
+    }
 }
 
 void ReleaseWarningCodeByString(byte gunIndex, char *code)
@@ -2822,15 +2830,17 @@ void CheckErrorOccurStatus(byte index)
         }
     }
     //--------------------------------------------------------------------------
-    //Primary
-    if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.EmergencyStopTrip == YES) {
-        memcpy(chargingInfo[index]->ConnectorAlarmCode, "012251", 6);
-    } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.DoorOpen == YES) {
-        memcpy(chargingInfo[index]->ConnectorAlarmCode, "012252", 6);
-    } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.MainPowerBreakerTrip == YES) {
-        memcpy(chargingInfo[index]->ConnectorAlarmCode, "012238", 6);
-    } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.DisconnectedFromDo == YES) {
-        memcpy(chargingInfo[index]->ConnectorAlarmCode, "012304", 6);
+    if (strlen(chargingInfo[index]->ConnectorAlarmCode) == 0) {
+        //Primary
+        if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.EmergencyStopTrip == YES) {
+            memcpy(chargingInfo[index]->ConnectorAlarmCode, "012251", 6);
+        } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.DoorOpen == YES) {
+            memcpy(chargingInfo[index]->ConnectorAlarmCode, "012252", 6);
+        } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.MainPowerBreakerTrip == YES) {
+            memcpy(chargingInfo[index]->ConnectorAlarmCode, "012238", 6);
+        } else if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.DisconnectedFromDo == YES) {
+            memcpy(chargingInfo[index]->ConnectorAlarmCode, "012304", 6);
+        }
     }
 }
 
@@ -5616,6 +5626,8 @@ int main(void)
             //PRINTF_FUNC("index = %d, ErrorCode = %s \n", gun_index, ShmOCPP16Data->StatusNotification[gun_index].ErrorCode);
             switch (chargingInfo[gun_index]->SystemStatus) {
             case S_IDLE:
+                ReleaseAlarmCode(gun_index);
+
                 if (isModeChange(gun_index)) {
                     log_info("S_IDLE================================== %x \n", gun_index);
                     chargingInfo[gun_index]->PresentChargedDuration = 0;
@@ -5813,7 +5825,6 @@ int main(void)
                         }
                     }
 #endif //defined METER_ENABLE
-                    ReleaseAlarmCode(gun_index);
                 }
             }
             break;

BIN
EVSE/Projects/DD360Audi/Images/ramdisk.gz


BIN
EVSE/Projects/DD360Audi/output/DoComm


BIN
EVSE/Projects/DD360Audi/output/FactoryConfig


BIN
EVSE/Projects/DD360Audi/output/Module_EvComm


BIN
EVSE/Projects/DD360Audi/output/Module_EventLogging


BIN
EVSE/Projects/DD360Audi/output/Module_InternalComm


BIN
EVSE/Projects/DD360Audi/output/Module_LcmControl


BIN
EVSE/Projects/DD360Audi/output/Module_PrimaryComm


BIN
EVSE/Projects/DD360Audi/output/ReadCmdline


BIN
EVSE/Projects/DD360Audi/output/main