#include <stdio.h> #include <stdint.h> #include <stdlib.h> #include <string.h> #include "../Config.h" #include "../Log/log.h" #include "../ShareMemory/shmMem.h" #include "../Define/define.h" //------------------------------------------------------------------------------ void ClearAbnormalStatus_CCS(uint8_t gun_index) { bool isCleanCheck = false; char code[7]; struct SysConfigData *pSysConfig = (struct SysConfigData *)GetShmSysConfigData(); struct InfoCodeData *pInfoCode = (struct InfoCodeData *)GetShmInfoCodeData(); struct AlarmCodeData *pAlarmCode = (struct AlarmCodeData *)GetShmAlarmCodeData(); struct ChargingInfoData *pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(gun_index); memset(code, '\n', sizeof(code)); if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "", 6) == EQUAL) { return; } if (true) { if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "012219", 6) == EQUAL && pAlarmCode->AlarmEvents.bits.SystemCcsOutputOVP == YES) { memcpy(code, "012219", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023701", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsEvCommFail == YES) { memcpy(code, "023701", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023737", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsRESTemperatureInhibit == YES) { memcpy(code, "023737", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023738", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsEVShiftPosition == YES) { memcpy(code, "023738", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023739", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsChargerConnectorLockFault == YES) { memcpy(code, "023739", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023740", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsEVRESSMalfunction == YES) { memcpy(code, "023740", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023741", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsChargingCurrentdifferential == YES) { memcpy(code, "023741", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023742", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsChargingVoltageOutOfRange == YES) { memcpy(code, "023742", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023743", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsChargingSystemIncompatibility == YES) { memcpy(code, "023743", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023744", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsEmergencyEvent == YES) { memcpy(code, "023744", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023745", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsBreaker == YES) { memcpy(code, "023745", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023746", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsNoData == YES) { memcpy(code, "023746", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023747", 6) == EQUAL && pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_A == YES) { memcpy(code, "023747", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023748", 6) == EQUAL && pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_B == YES) { memcpy(code, "023748", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023749", 6) == EQUAL && pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_C == YES) { memcpy(code, "023749", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023750", 6) == EQUAL && pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_1 == YES) { memcpy(code, "023750", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023751", 6) == EQUAL && pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_2 == YES) { memcpy(code, "023751", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023752", 6) == EQUAL && pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_3 == YES) { memcpy(code, "023752", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023753", 6) == EQUAL && pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_1 == YES) { memcpy(code, "023753", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023754", 6) == EQUAL && pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_2 == YES) { memcpy(code, "023754", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023755", 6) == EQUAL && pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_3 == YES) { memcpy(code, "023755", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023756", 6) == EQUAL && pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_4 == YES) { memcpy(code, "023756", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023757", 6) == EQUAL && pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_5 == YES) { memcpy(code, "023757", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023758", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsSequenceError == YES) { memcpy(code, "023758", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023759", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsSignatureError == YES) { memcpy(code, "023759", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023760", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsUnknownSession == YES) { memcpy(code, "023760", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023761", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsServiceIDInvalid == YES) { memcpy(code, "023761", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023762", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsPaymentSelectionInvalid == YES) { memcpy(code, "023762", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023763", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsIdentificationSelectionInvalid == YES) { memcpy(code, "023763", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023764", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsServiceSelectionInvalid == YES) { memcpy(code, "023764", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023765", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCertificateExpired == YES) { memcpy(code, "023765", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023766", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCertificateNotYetValid == YES) { memcpy(code, "023766", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023767", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCertificateRevoked == YES) { memcpy(code, "023767", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023768", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsNoCertificateAvailable == YES) { memcpy(code, "023768", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023769", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCertChainError == YES) { memcpy(code, "023769", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023770", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCertValidationError == YES) { memcpy(code, "023770", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023771", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCertVerificationError == YES) { memcpy(code, "023771", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023772", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsContractCanceled == YES) { memcpy(code, "023772", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023773", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsChallengeInvalid == YES) { memcpy(code, "023773", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023774", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsWrongEnergyTransferMode == YES) { memcpy(code, "023774", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023775", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsWrongChargeParameter == YES) { memcpy(code, "023775", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023776", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsChargingProfileInvalid == YES) { memcpy(code, "023776", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023777", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTariffSelectionInvalid == YES) { memcpy(code, "023777", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023778", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsEVSEPresentVoltageToLow == YES) { memcpy(code, "023778", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023779", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsPowerDeliveryNotApplied == YES) { memcpy(code, "023779", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023780", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsMeteringSignatureNotValid == YES) { memcpy(code, "023780", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023781", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsNoChargeServiceSelected == YES) { memcpy(code, "023781", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023782", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsContactorError == YES) { memcpy(code, "023782", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023783", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCertificateNotAllowedAtThisEVSE == YES) { memcpy(code, "023783", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023784", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsGAChargeStop == YES) { memcpy(code, "023784", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023785", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsAlignmentError == YES) { memcpy(code, "023785", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023786", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsACDError == YES) { memcpy(code, "023786", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023787", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsAssociationError == YES) { memcpy(code, "023787", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023788", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsEVSEChargeAbort == YES) { memcpy(code, "023788", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023789", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsNoSupportedAppProtocol == YES) { memcpy(code, "023789", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023790", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsContractNotAccepted == YES) { memcpy(code, "023790", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023791", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsMOUnknown == YES) { memcpy(code, "023791", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023792", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsOEM_Prov_CertificateRevoke == YES) { memcpy(code, "023792", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023793", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsOEM_SubCA1_CertificateRevoked == YES) { memcpy(code, "023793", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023794", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsOEM_SubCA2_CertificateRevoked == YES) { memcpy(code, "023794", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023795", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsOEM_RootCA_CertificateRevoked == YES) { memcpy(code, "023795", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023796", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsMO_Prov_CertificateRevoked == YES) { memcpy(code, "023796", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023797", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsMO_SubCA1_CertificateRevoked == YES) { memcpy(code, "023797", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023798", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsMO_SubCA2_CertificateRevoked == YES) { memcpy(code, "023798", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023799", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsMO_RootCA_CertificateRevoked == YES) { memcpy(code, "023799", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023800", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCPS_Prov_CertificateRevoked == YES) { memcpy(code, "023800", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023801", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCPS_SubCA1_CertificateRevoked == YES) { memcpy(code, "023801", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023802", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCPS_SubCA2_CertificateRevoked == YES) { memcpy(code, "023802", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023803", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCPS_RootCA_CertificateRevoked == YES) { memcpy(code, "023803", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023809", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_EVSE_SLAC_init == YES) { memcpy(code, "023809", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023810", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_match_response == YES) { memcpy(code, "023810", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023811", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_match_sequence == YES) { memcpy(code, "023811", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023812", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_EVSE_match_MNBC == YES) { memcpy(code, "023812", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023813", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_EVSE_avg_atten_calc == YES) { memcpy(code, "023813", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023814", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_match_response == YES) { memcpy(code, "023814", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023815", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_EVSE_match_session == YES) { memcpy(code, "023815", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023816", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_EVSE_assoc_session == YES) { memcpy(code, "023816", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023817", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_EVSE_vald_toggle == YES) { memcpy(code, "023817", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023818", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsSeccSlacTimeoutCmMnbcSound == YES) { memcpy(code, "023818", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023819", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsSeccSlacTimeoutCmValidateReq == YES) { memcpy(code, "023819", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023823", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsUDP_TT_match_join == YES) { memcpy(code, "023823", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023824", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTCP_TT_match_join == YES) { memcpy(code, "023824", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023825", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_amp_map_exchange == YES) { memcpy(code, "023825", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023826", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_link_ready_notification == YES) { memcpy(code, "023826", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023832", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsSupportedAppProtocolRes == YES) { memcpy(code, "023832", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023833", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsSessionSetupRes == YES) { memcpy(code, "023833", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023834", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsServiceDiscoveryRes == YES) { memcpy(code, "023834", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023835", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsServicePaymentSelectionRes == YES) { memcpy(code, "023835", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023836", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsContractAuthenticationRes == YES) { memcpy(code, "023836", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023837", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsChargeParameterDiscoveryRes == YES) { memcpy(code, "023837", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023838", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsPowerDeliveryRes == YES) { memcpy(code, "023838", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023839", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCableCheckRes == YES) { memcpy(code, "023839", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023840", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsPreChargeRes == YES) { memcpy(code, "023840", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023841", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCurrentDemandRes == YES) { memcpy(code, "023841", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023842", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsWeldingDetectionRes == YES) { memcpy(code, "023842", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023843", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsSessionStopRes == YES) { memcpy(code, "023843", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023844", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsSequence_Time == YES) { memcpy(code, "023844", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023845", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsReadyToCharge_Performance_Time == YES) { memcpy(code, "023845", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023846", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCommunicationSetup_Performance_Time == YES) { memcpy(code, "023846", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023847", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCableCheck_Performance_Time == YES) { memcpy(code, "023847", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023848", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCPState_Detection_Time == YES) { memcpy(code, "023848", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023849", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCPOscillator_Retain_Time == YES) { memcpy(code, "023849", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023850", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsSeccTimeoutV2GPreChargePerformaceTime == YES) { memcpy(code, "023850", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023855", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_GET_EV_TARGET_INFO == YES) { memcpy(code, "023855", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023856", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_GET_EV_TARGET_INFO == YES) { memcpy(code, "023856", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023857", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_GET_EV_BATTERY_INFO == YES) { memcpy(code, "023857", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023858", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_GET_EV_BATTERY_INFO == YES) { memcpy(code, "023858", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023859", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_EV_STOP_EVENT == YES) { memcpy(code, "023859", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023860", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_EV_STOP_EVENT == YES) { memcpy(code, "023860", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023861", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_EVSE_STOP_EVENT == YES) { memcpy(code, "023861", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023862", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_EVSE_STOP_EVENT == YES) { memcpy(code, "023862", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023863", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_GET_MISC_INFO == YES) { memcpy(code, "023863", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023864", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_GET_MISC_INFO == YES) { memcpy(code, "023864", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023865", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_DOWNLOAD_REQUEST == YES) { memcpy(code, "023865", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023866", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_DOWNLOAD_REQUEST == YES) { memcpy(code, "023866", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023867", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_START_BLOCK_TRANSFER == YES) { memcpy(code, "023867", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023868", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_START_BLOCK_TRANSFER == YES) { memcpy(code, "023868", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023869", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_DATA_TRANSFER == YES) { memcpy(code, "023869", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023870", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_DATA_TRANSFER == YES) { memcpy(code, "023870", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023871", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_DOWNLOAD_FINISH == YES) { memcpy(code, "023871", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023872", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_DOWNLOAD_FINISH == YES) { memcpy(code, "023872", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023873", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_ISOLATION_STATUS == YES) { memcpy(code, "023873", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023874", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_ISOLATION_STATUS == YES) { memcpy(code, "023874", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023875", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_CONNECTOR_INFO == YES) { memcpy(code, "023875", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023876", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_CONNECTOR_INFO == YES) { memcpy(code, "023876", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023877", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_RTC_INFO == YES) { memcpy(code, "023877", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023878", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_RTC_INFO == YES) { memcpy(code, "023878", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023879", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTP_EVSE_PRECHARGE_INFO == YES) { memcpy(code, "023879", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023880", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsTT_EVSE_PRECHARGE_INFO == YES) { memcpy(code, "023880", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023881", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsMSG_Sequence == YES) { memcpy(code, "023881", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023882", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCAN_MSG_Unrecognized_CMD_ID == YES) { memcpy(code, "023882", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023883", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsDIN_Msg_Decode_Error == YES) { memcpy(code, "023883", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023884", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsDIN_Msg_Encode_Error == YES) { memcpy(code, "023884", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023885", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsISO1_Msg_Decode_Error == YES) { memcpy(code, "023885", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023886", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsISO1_Msg_Encode_Error == YES) { memcpy(code, "023886", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023887", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsISO2_Msg_Decode_Error == YES) { memcpy(code, "023887", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023888", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsISO2_Msg_Encode_Error == YES) { memcpy(code, "023888", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023889", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsCpStatus_Error == YES) { memcpy(code, "023889", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023890", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsUnexpectVolBeforeCharing_Error == YES) { memcpy(code, "023890", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023891", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsSeccNotReadyForCharging == YES) { memcpy(code, "023891", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } // else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023892", 6) == EQUAL && // pInfoCode->InfoEvents.bits.CcsSeccTimeoutQCA7000Comm == YES) // { // memcpy(code, "023892", 6); // memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); // isCleanCheck = true; // } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023893", 6) == EQUAL && pInfoCode->InfoEvents.bits.CcsSeccFailForQCA7000SetKey == YES) { memcpy(code, "023893", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023979", 6) == EQUAL && pInfoCode->InfoEvents.bits.EV_Full_Charging == YES) { memcpy(code, "023979", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023983", 6) == EQUAL && pInfoCode->InfoEvents.bits.Stop_by_EV_with_unknow_reason == YES) { memcpy(code, "023983", 6); memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); isCleanCheck = true; } } if (isCleanCheck) { for (uint8_t index = 0; index < pSysConfig->TotalConnectorCount; index++) { pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(index); if (index != gun_index || pSysConfig->TotalConnectorCount == 1) { /* log_info("CCS clean error : index = %d, EvConnAlarmCode = %s, code = %s \n", index, pDcChargingInfo->EvConnAlarmCode, code); */ if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, code, 6) != EQUAL) { if (strncmp(code, "012219", 6) == EQUAL) { pAlarmCode->AlarmEvents.bits.SystemCcsOutputOVP = NO; } if (strncmp(code, "023701", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEvCommFail = NO; } if (strncmp(code, "023737", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsRESTemperatureInhibit = NO; } if (strncmp(code, "023738", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEVShiftPosition = NO; } if (strncmp(code, "023739", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargerConnectorLockFault = NO; } if (strncmp(code, "023740", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEVRESSMalfunction = NO; } if (strncmp(code, "023741", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargingCurrentdifferential = NO; } if (strncmp(code, "023742", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargingVoltageOutOfRange = NO; } if (strncmp(code, "023743", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargingSystemIncompatibility = NO; } if (strncmp(code, "023744", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEmergencyEvent = NO; } if (strncmp(code, "023745", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsBreaker = NO; } if (strncmp(code, "023746", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsNoData = NO; } if (strncmp(code, "023747", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_A = NO; } if (strncmp(code, "023748", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_B = NO; } if (strncmp(code, "023749", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_C = NO; } if (strncmp(code, "023750", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_1 = NO; } if (strncmp(code, "023751", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_2 = NO; } if (strncmp(code, "023752", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_3 = NO; } if (strncmp(code, "023753", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_1 = NO; } if (strncmp(code, "023754", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_2 = NO; } if (strncmp(code, "023755", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_3 = NO; } if (strncmp(code, "023756", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_4 = NO; } if (strncmp(code, "023757", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_5 = NO; } if (strncmp(code, "023758", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSequenceError = NO; } if (strncmp(code, "023759", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSignatureError = NO; } if (strncmp(code, "023760", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsUnknownSession = NO; } if (strncmp(code, "023761", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsServiceIDInvalid = NO; } if (strncmp(code, "023762", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsPaymentSelectionInvalid = NO; } if (strncmp(code, "023763", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsIdentificationSelectionInvalid = NO; } if (strncmp(code, "023764", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsServiceSelectionInvalid = NO; } if (strncmp(code, "023765", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertificateExpired = NO; } if (strncmp(code, "023766", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertificateNotYetValid = NO; } if (strncmp(code, "023767", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertificateRevoked = NO; } if (strncmp(code, "023768", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsNoCertificateAvailable = NO; } if (strncmp(code, "023769", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertChainError = NO; } if (strncmp(code, "023770", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertValidationError = NO; } if (strncmp(code, "023771", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertVerificationError = NO; } if (strncmp(code, "023772", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsContractCanceled = NO; } if (strncmp(code, "023773", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChallengeInvalid = NO; } if (strncmp(code, "023774", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsWrongEnergyTransferMode = NO; } if (strncmp(code, "023775", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsWrongChargeParameter = NO; } if (strncmp(code, "023776", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargingProfileInvalid = NO; } if (strncmp(code, "023777", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTariffSelectionInvalid = NO; } if (strncmp(code, "023778", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEVSEPresentVoltageToLow = NO; } if (strncmp(code, "023779", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsPowerDeliveryNotApplied = NO; } if (strncmp(code, "023780", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMeteringSignatureNotValid = NO; } if (strncmp(code, "023781", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsNoChargeServiceSelected = NO; } if (strncmp(code, "023782", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsContactorError = NO; } if (strncmp(code, "023783", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertificateNotAllowedAtThisEVSE = NO; } if (strncmp(code, "023784", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsGAChargeStop = NO; } if (strncmp(code, "023785", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsAlignmentError = NO; } if (strncmp(code, "023786", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsACDError = NO; } if (strncmp(code, "023787", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsAssociationError = NO; } if (strncmp(code, "023788", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEVSEChargeAbort = NO; } if (strncmp(code, "023789", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsNoSupportedAppProtocol = NO; } if (strncmp(code, "023790", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsContractNotAccepted = NO; } if (strncmp(code, "023791", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMOUnknown = NO; } if (strncmp(code, "023792", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsOEM_Prov_CertificateRevoke = NO; } if (strncmp(code, "023793", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsOEM_SubCA1_CertificateRevoked = NO; } if (strncmp(code, "023794", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsOEM_SubCA2_CertificateRevoked = NO; } if (strncmp(code, "023795", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsOEM_RootCA_CertificateRevoked = NO; } if (strncmp(code, "023796", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMO_Prov_CertificateRevoked = NO; } if (strncmp(code, "023797", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMO_SubCA1_CertificateRevoked = NO; } if (strncmp(code, "023798", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMO_SubCA2_CertificateRevoked = NO; } if (strncmp(code, "023799", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMO_RootCA_CertificateRevoked = NO; } if (strncmp(code, "023800", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPS_Prov_CertificateRevoked = NO; } if (strncmp(code, "023801", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPS_SubCA1_CertificateRevoked = NO; } if (strncmp(code, "023802", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPS_SubCA2_CertificateRevoked = NO; } if (strncmp(code, "023803", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPS_RootCA_CertificateRevoked = NO; } if (strncmp(code, "023809", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_SLAC_init = NO; } if (strncmp(code, "023810", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_match_response = NO; } if (strncmp(code, "023811", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_match_sequence = NO; } if (strncmp(code, "023812", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_match_MNBC = NO; } if (strncmp(code, "023813", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_EVSE_avg_atten_calc = NO; } if (strncmp(code, "023814", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_match_response = NO; } if (strncmp(code, "023815", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_EVSE_match_session = NO; } if (strncmp(code, "023816", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_assoc_session = NO; } if (strncmp(code, "023817", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_vald_toggle = NO; } if (strncmp(code, "023818", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSeccSlacTimeoutCmMnbcSound = NO; } if (strncmp(code, "023819", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSeccSlacTimeoutCmValidateReq = NO; } if (strncmp(code, "023823", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsUDP_TT_match_join = NO; } if (strncmp(code, "023824", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTCP_TT_match_join = NO; } if (strncmp(code, "023825", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_amp_map_exchange = NO; } if (strncmp(code, "023826", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_link_ready_notification = NO; } if (strncmp(code, "023832", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSupportedAppProtocolRes = NO; } if (strncmp(code, "023833", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSessionSetupRes = NO; } if (strncmp(code, "023834", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsServiceDiscoveryRes = NO; } if (strncmp(code, "023835", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsServicePaymentSelectionRes = NO; } if (strncmp(code, "023836", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsContractAuthenticationRes = NO; } if (strncmp(code, "023837", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargeParameterDiscoveryRes = NO; } if (strncmp(code, "023838", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsPowerDeliveryRes = NO; } if (strncmp(code, "023839", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCableCheckRes = NO; } if (strncmp(code, "023840", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsPreChargeRes = NO; } if (strncmp(code, "023841", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCurrentDemandRes = NO; } if (strncmp(code, "023842", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsWeldingDetectionRes = NO; } if (strncmp(code, "023843", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSessionStopRes = NO; } if (strncmp(code, "023844", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSequence_Time = NO; } if (strncmp(code, "023845", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsReadyToCharge_Performance_Time = NO; } if (strncmp(code, "023846", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCommunicationSetup_Performance_Time = NO; } if (strncmp(code, "023847", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCableCheck_Performance_Time = NO; } if (strncmp(code, "023848", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPState_Detection_Time = NO; } if (strncmp(code, "023849", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPOscillator_Retain_Time = NO; } if (strncmp(code, "023850", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSeccTimeoutV2GPreChargePerformaceTime = NO; } if (strncmp(code, "023855", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_GET_EV_TARGET_INFO = NO; } if (strncmp(code, "023856", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_GET_EV_TARGET_INFO = NO; } if (strncmp(code, "023857", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_GET_EV_BATTERY_INFO = NO; } if (strncmp(code, "023858", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_GET_EV_BATTERY_INFO = NO; } if (strncmp(code, "023859", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_EV_STOP_EVENT = NO; } if (strncmp(code, "023860", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EV_STOP_EVENT = NO; } if (strncmp(code, "023861", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_EVSE_STOP_EVENT = NO; } if (strncmp(code, "023862", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_STOP_EVENT = NO; } if (strncmp(code, "023863", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_GET_MISC_INFO = NO; } if (strncmp(code, "023864", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_GET_MISC_INFO = NO; } if (strncmp(code, "023865", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_DOWNLOAD_REQUEST = NO; } if (strncmp(code, "023866", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_DOWNLOAD_REQUEST = NO; } if (strncmp(code, "023867", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_START_BLOCK_TRANSFER = NO; } if (strncmp(code, "023868", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_START_BLOCK_TRANSFER = NO; } if (strncmp(code, "023869", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_DATA_TRANSFER = NO; } if (strncmp(code, "023870", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_DATA_TRANSFER = NO; } if (strncmp(code, "023871", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_DOWNLOAD_FINISH = NO; } if (strncmp(code, "023872", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_DOWNLOAD_FINISH = NO; } if (strncmp(code, "023873", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_ISOLATION_STATUS = NO; } if (strncmp(code, "023874", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_ISOLATION_STATUS = NO; } if (strncmp(code, "023875", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_CONNECTOR_INFO = NO; } if (strncmp(code, "023876", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_CONNECTOR_INFO = NO; } if (strncmp(code, "023877", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_RTC_INFO = NO; } if (strncmp(code, "023878", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_RTC_INFO = NO; } if (strncmp(code, "023879", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_EVSE_PRECHARGE_INFO = NO; } if (strncmp(code, "023880", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_PRECHARGE_INFO = NO; } if (strncmp(code, "023881", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMSG_Sequence = NO; } if (strncmp(code, "023882", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCAN_MSG_Unrecognized_CMD_ID = NO; } if (strncmp(code, "023883", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsDIN_Msg_Decode_Error = NO; } if (strncmp(code, "023884", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsDIN_Msg_Encode_Error = NO; } if (strncmp(code, "023885", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsISO1_Msg_Decode_Error = NO; } if (strncmp(code, "023886", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsISO1_Msg_Encode_Error = NO; } if (strncmp(code, "023887", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsISO2_Msg_Decode_Error = NO; } if (strncmp(code, "023888", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsISO2_Msg_Encode_Error = NO; } if (strncmp(code, "023889", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCpStatus_Error = NO; } if (strncmp(code, "023890", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsUnexpectVolBeforeCharing_Error = NO; } if (strncmp(code, "023891", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSeccNotReadyForCharging = NO; } //if (strncmp(code, "023892", 6) == EQUAL) pInfoCode->InfoEvents.bits.CcsSeccTimeoutQCA7000Comm = NO; if (strncmp(code, "023893", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSeccFailForQCA7000SetKey = NO; } if (strncmp(code, "023979", 6) == EQUAL) { pInfoCode->InfoEvents.bits.EV_Full_Charging = NO; } if (strncmp(code, "023983", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Stop_by_EV_with_unknow_reason = NO; } } } } } pDcChargingInfo = (struct ChargingInfoData*)GetDcChargingInfoData(gun_index); if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "", 6) != EQUAL) { memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6); } }