AbnormalCCS.c 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917
  1. #include <stdio.h>
  2. #include <stdint.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include "../Config.h"
  6. #include "../Log/log.h"
  7. #include "../ShareMemory/shmMem.h"
  8. #include "../Define/define.h"
  9. //------------------------------------------------------------------------------
  10. void ClearAbnormalStatus_CCS(uint8_t gun_index)
  11. {
  12. bool isCleanCheck = false;
  13. char code[7];
  14. struct SysConfigData *pSysConfig = (struct SysConfigData *)GetShmSysConfigData();
  15. struct InfoCodeData *pInfoCode = (struct InfoCodeData *)GetShmInfoCodeData();
  16. struct AlarmCodeData *pAlarmCode = (struct AlarmCodeData *)GetShmAlarmCodeData();
  17. struct ChargingInfoData *pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(gun_index);
  18. if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "", 6) == EQUAL) {
  19. return;
  20. }
  21. if (true) {
  22. if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "012219", 6) == EQUAL &&
  23. pAlarmCode->AlarmEvents.bits.SystemCcsOutputOVP == YES) {
  24. memcpy(code, "012219", 6);
  25. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  26. isCleanCheck = true;
  27. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023701", 6) == EQUAL &&
  28. pInfoCode->InfoEvents.bits.CcsEvCommFail == YES) {
  29. memcpy(code, "023701", 6);
  30. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  31. isCleanCheck = true;
  32. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023737", 6) == EQUAL &&
  33. pInfoCode->InfoEvents.bits.CcsRESTemperatureInhibit == YES) {
  34. memcpy(code, "023737", 6);
  35. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  36. isCleanCheck = true;
  37. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023738", 6) == EQUAL &&
  38. pInfoCode->InfoEvents.bits.CcsEVShiftPosition == YES) {
  39. memcpy(code, "023738", 6);
  40. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  41. isCleanCheck = true;
  42. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023739", 6) == EQUAL &&
  43. pInfoCode->InfoEvents.bits.CcsChargerConnectorLockFault == YES) {
  44. memcpy(code, "023739", 6);
  45. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  46. isCleanCheck = true;
  47. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023740", 6) == EQUAL &&
  48. pInfoCode->InfoEvents.bits.CcsEVRESSMalfunction == YES) {
  49. memcpy(code, "023740", 6);
  50. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  51. isCleanCheck = true;
  52. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023741", 6) == EQUAL &&
  53. pInfoCode->InfoEvents.bits.CcsChargingCurrentdifferential == YES) {
  54. memcpy(code, "023741", 6);
  55. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  56. isCleanCheck = true;
  57. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023742", 6) == EQUAL &&
  58. pInfoCode->InfoEvents.bits.CcsChargingVoltageOutOfRange == YES) {
  59. memcpy(code, "023742", 6);
  60. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  61. isCleanCheck = true;
  62. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023743", 6) == EQUAL &&
  63. pInfoCode->InfoEvents.bits.CcsChargingSystemIncompatibility == YES) {
  64. memcpy(code, "023743", 6);
  65. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  66. isCleanCheck = true;
  67. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023744", 6) == EQUAL &&
  68. pInfoCode->InfoEvents.bits.CcsEmergencyEvent == YES) {
  69. memcpy(code, "023744", 6);
  70. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  71. isCleanCheck = true;
  72. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023745", 6) == EQUAL &&
  73. pInfoCode->InfoEvents.bits.CcsBreaker == YES) {
  74. memcpy(code, "023745", 6);
  75. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  76. isCleanCheck = true;
  77. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023746", 6) == EQUAL &&
  78. pInfoCode->InfoEvents.bits.CcsNoData == YES) {
  79. memcpy(code, "023746", 6);
  80. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  81. isCleanCheck = true;
  82. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023747", 6) == EQUAL &&
  83. pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_A == YES) {
  84. memcpy(code, "023747", 6);
  85. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  86. isCleanCheck = true;
  87. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023748", 6) == EQUAL &&
  88. pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_B == YES) {
  89. memcpy(code, "023748", 6);
  90. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  91. isCleanCheck = true;
  92. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023749", 6) == EQUAL &&
  93. pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_C == YES) {
  94. memcpy(code, "023749", 6);
  95. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  96. isCleanCheck = true;
  97. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023750", 6) == EQUAL &&
  98. pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_1 == YES) {
  99. memcpy(code, "023750", 6);
  100. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  101. isCleanCheck = true;
  102. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023751", 6) == EQUAL &&
  103. pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_2 == YES) {
  104. memcpy(code, "023751", 6);
  105. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  106. isCleanCheck = true;
  107. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023752", 6) == EQUAL &&
  108. pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_3 == YES) {
  109. memcpy(code, "023752", 6);
  110. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  111. isCleanCheck = true;
  112. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023753", 6) == EQUAL &&
  113. pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_1 == YES) {
  114. memcpy(code, "023753", 6);
  115. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  116. isCleanCheck = true;
  117. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023754", 6) == EQUAL &&
  118. pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_2 == YES) {
  119. memcpy(code, "023754", 6);
  120. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  121. isCleanCheck = true;
  122. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023755", 6) == EQUAL &&
  123. pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_3 == YES) {
  124. memcpy(code, "023755", 6);
  125. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  126. isCleanCheck = true;
  127. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023756", 6) == EQUAL &&
  128. pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_4 == YES) {
  129. memcpy(code, "023756", 6);
  130. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  131. isCleanCheck = true;
  132. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023757", 6) == EQUAL &&
  133. pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_5 == YES) {
  134. memcpy(code, "023757", 6);
  135. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  136. isCleanCheck = true;
  137. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023758", 6) == EQUAL &&
  138. pInfoCode->InfoEvents.bits.CcsSequenceError == YES) {
  139. memcpy(code, "023758", 6);
  140. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  141. isCleanCheck = true;
  142. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023759", 6) == EQUAL &&
  143. pInfoCode->InfoEvents.bits.CcsSignatureError == YES) {
  144. memcpy(code, "023759", 6);
  145. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  146. isCleanCheck = true;
  147. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023760", 6) == EQUAL &&
  148. pInfoCode->InfoEvents.bits.CcsUnknownSession == YES) {
  149. memcpy(code, "023760", 6);
  150. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  151. isCleanCheck = true;
  152. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023761", 6) == EQUAL &&
  153. pInfoCode->InfoEvents.bits.CcsServiceIDInvalid == YES) {
  154. memcpy(code, "023761", 6);
  155. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  156. isCleanCheck = true;
  157. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023762", 6) == EQUAL &&
  158. pInfoCode->InfoEvents.bits.CcsPaymentSelectionInvalid == YES) {
  159. memcpy(code, "023762", 6);
  160. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  161. isCleanCheck = true;
  162. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023763", 6) == EQUAL &&
  163. pInfoCode->InfoEvents.bits.CcsIdentificationSelectionInvalid == YES) {
  164. memcpy(code, "023763", 6);
  165. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  166. isCleanCheck = true;
  167. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023764", 6) == EQUAL &&
  168. pInfoCode->InfoEvents.bits.CcsServiceSelectionInvalid == YES) {
  169. memcpy(code, "023764", 6);
  170. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  171. isCleanCheck = true;
  172. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023765", 6) == EQUAL &&
  173. pInfoCode->InfoEvents.bits.CcsCertificateExpired == YES) {
  174. memcpy(code, "023765", 6);
  175. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  176. isCleanCheck = true;
  177. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023766", 6) == EQUAL &&
  178. pInfoCode->InfoEvents.bits.CcsCertificateNotYetValid == YES) {
  179. memcpy(code, "023766", 6);
  180. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  181. isCleanCheck = true;
  182. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023767", 6) == EQUAL &&
  183. pInfoCode->InfoEvents.bits.CcsCertificateRevoked == YES) {
  184. memcpy(code, "023767", 6);
  185. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  186. isCleanCheck = true;
  187. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023768", 6) == EQUAL &&
  188. pInfoCode->InfoEvents.bits.CcsNoCertificateAvailable == YES) {
  189. memcpy(code, "023768", 6);
  190. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  191. isCleanCheck = true;
  192. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023769", 6) == EQUAL &&
  193. pInfoCode->InfoEvents.bits.CcsCertChainError == YES) {
  194. memcpy(code, "023769", 6);
  195. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  196. isCleanCheck = true;
  197. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023770", 6) == EQUAL &&
  198. pInfoCode->InfoEvents.bits.CcsCertValidationError == YES) {
  199. memcpy(code, "023770", 6);
  200. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  201. isCleanCheck = true;
  202. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023771", 6) == EQUAL &&
  203. pInfoCode->InfoEvents.bits.CcsCertVerificationError == YES) {
  204. memcpy(code, "023771", 6);
  205. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  206. isCleanCheck = true;
  207. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023772", 6) == EQUAL &&
  208. pInfoCode->InfoEvents.bits.CcsContractCanceled == YES) {
  209. memcpy(code, "023772", 6);
  210. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  211. isCleanCheck = true;
  212. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023773", 6) == EQUAL &&
  213. pInfoCode->InfoEvents.bits.CcsChallengeInvalid == YES) {
  214. memcpy(code, "023773", 6);
  215. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  216. isCleanCheck = true;
  217. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023774", 6) == EQUAL &&
  218. pInfoCode->InfoEvents.bits.CcsWrongEnergyTransferMode == YES) {
  219. memcpy(code, "023774", 6);
  220. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  221. isCleanCheck = true;
  222. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023775", 6) == EQUAL &&
  223. pInfoCode->InfoEvents.bits.CcsWrongChargeParameter == YES) {
  224. memcpy(code, "023775", 6);
  225. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  226. isCleanCheck = true;
  227. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023776", 6) == EQUAL &&
  228. pInfoCode->InfoEvents.bits.CcsChargingProfileInvalid == YES) {
  229. memcpy(code, "023776", 6);
  230. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  231. isCleanCheck = true;
  232. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023777", 6) == EQUAL &&
  233. pInfoCode->InfoEvents.bits.CcsTariffSelectionInvalid == YES) {
  234. memcpy(code, "023777", 6);
  235. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  236. isCleanCheck = true;
  237. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023778", 6) == EQUAL &&
  238. pInfoCode->InfoEvents.bits.CcsEVSEPresentVoltageToLow == YES) {
  239. memcpy(code, "023778", 6);
  240. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  241. isCleanCheck = true;
  242. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023779", 6) == EQUAL &&
  243. pInfoCode->InfoEvents.bits.CcsPowerDeliveryNotApplied == YES) {
  244. memcpy(code, "023779", 6);
  245. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  246. isCleanCheck = true;
  247. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023780", 6) == EQUAL &&
  248. pInfoCode->InfoEvents.bits.CcsMeteringSignatureNotValid == YES) {
  249. memcpy(code, "023780", 6);
  250. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  251. isCleanCheck = true;
  252. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023781", 6) == EQUAL &&
  253. pInfoCode->InfoEvents.bits.CcsNoChargeServiceSelected == YES) {
  254. memcpy(code, "023781", 6);
  255. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  256. isCleanCheck = true;
  257. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023782", 6) == EQUAL &&
  258. pInfoCode->InfoEvents.bits.CcsContactorError == YES) {
  259. memcpy(code, "023782", 6);
  260. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  261. isCleanCheck = true;
  262. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023783", 6) == EQUAL &&
  263. pInfoCode->InfoEvents.bits.CcsCertificateNotAllowedAtThisEVSE == YES) {
  264. memcpy(code, "023783", 6);
  265. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  266. isCleanCheck = true;
  267. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023784", 6) == EQUAL &&
  268. pInfoCode->InfoEvents.bits.CcsGAChargeStop == YES) {
  269. memcpy(code, "023784", 6);
  270. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  271. isCleanCheck = true;
  272. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023785", 6) == EQUAL &&
  273. pInfoCode->InfoEvents.bits.CcsAlignmentError == YES) {
  274. memcpy(code, "023785", 6);
  275. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  276. isCleanCheck = true;
  277. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023786", 6) == EQUAL &&
  278. pInfoCode->InfoEvents.bits.CcsACDError == YES) {
  279. memcpy(code, "023786", 6);
  280. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  281. isCleanCheck = true;
  282. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023787", 6) == EQUAL &&
  283. pInfoCode->InfoEvents.bits.CcsAssociationError == YES) {
  284. memcpy(code, "023787", 6);
  285. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  286. isCleanCheck = true;
  287. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023788", 6) == EQUAL &&
  288. pInfoCode->InfoEvents.bits.CcsEVSEChargeAbort == YES) {
  289. memcpy(code, "023788", 6);
  290. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  291. isCleanCheck = true;
  292. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023789", 6) == EQUAL &&
  293. pInfoCode->InfoEvents.bits.CcsNoSupportedAppProtocol == YES) {
  294. memcpy(code, "023789", 6);
  295. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  296. isCleanCheck = true;
  297. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023790", 6) == EQUAL &&
  298. pInfoCode->InfoEvents.bits.CcsContractNotAccepted == YES) {
  299. memcpy(code, "023790", 6);
  300. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  301. isCleanCheck = true;
  302. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023791", 6) == EQUAL &&
  303. pInfoCode->InfoEvents.bits.CcsMOUnknown == YES) {
  304. memcpy(code, "023791", 6);
  305. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  306. isCleanCheck = true;
  307. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023792", 6) == EQUAL &&
  308. pInfoCode->InfoEvents.bits.CcsOEM_Prov_CertificateRevoke == YES) {
  309. memcpy(code, "023792", 6);
  310. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  311. isCleanCheck = true;
  312. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023793", 6) == EQUAL &&
  313. pInfoCode->InfoEvents.bits.CcsOEM_SubCA1_CertificateRevoked == YES) {
  314. memcpy(code, "023793", 6);
  315. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  316. isCleanCheck = true;
  317. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023794", 6) == EQUAL &&
  318. pInfoCode->InfoEvents.bits.CcsOEM_SubCA2_CertificateRevoked == YES) {
  319. memcpy(code, "023794", 6);
  320. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  321. isCleanCheck = true;
  322. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023795", 6) == EQUAL &&
  323. pInfoCode->InfoEvents.bits.CcsOEM_RootCA_CertificateRevoked == YES) {
  324. memcpy(code, "023795", 6);
  325. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  326. isCleanCheck = true;
  327. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023796", 6) == EQUAL &&
  328. pInfoCode->InfoEvents.bits.CcsMO_Prov_CertificateRevoked == YES) {
  329. memcpy(code, "023796", 6);
  330. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  331. isCleanCheck = true;
  332. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023797", 6) == EQUAL &&
  333. pInfoCode->InfoEvents.bits.CcsMO_SubCA1_CertificateRevoked == YES) {
  334. memcpy(code, "023797", 6);
  335. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  336. isCleanCheck = true;
  337. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023798", 6) == EQUAL &&
  338. pInfoCode->InfoEvents.bits.CcsMO_SubCA2_CertificateRevoked == YES) {
  339. memcpy(code, "023798", 6);
  340. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  341. isCleanCheck = true;
  342. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023799", 6) == EQUAL &&
  343. pInfoCode->InfoEvents.bits.CcsMO_RootCA_CertificateRevoked == YES) {
  344. memcpy(code, "023799", 6);
  345. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  346. isCleanCheck = true;
  347. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023800", 6) == EQUAL &&
  348. pInfoCode->InfoEvents.bits.CcsCPS_Prov_CertificateRevoked == YES) {
  349. memcpy(code, "023800", 6);
  350. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  351. isCleanCheck = true;
  352. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023801", 6) == EQUAL &&
  353. pInfoCode->InfoEvents.bits.CcsCPS_SubCA1_CertificateRevoked == YES) {
  354. memcpy(code, "023801", 6);
  355. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  356. isCleanCheck = true;
  357. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023802", 6) == EQUAL &&
  358. pInfoCode->InfoEvents.bits.CcsCPS_SubCA2_CertificateRevoked == YES) {
  359. memcpy(code, "023802", 6);
  360. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  361. isCleanCheck = true;
  362. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023803", 6) == EQUAL &&
  363. pInfoCode->InfoEvents.bits.CcsCPS_RootCA_CertificateRevoked == YES) {
  364. memcpy(code, "023803", 6);
  365. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  366. isCleanCheck = true;
  367. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023809", 6) == EQUAL &&
  368. pInfoCode->InfoEvents.bits.CcsTT_EVSE_SLAC_init == YES) {
  369. memcpy(code, "023809", 6);
  370. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  371. isCleanCheck = true;
  372. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023810", 6) == EQUAL &&
  373. pInfoCode->InfoEvents.bits.CcsTP_match_response == YES) {
  374. memcpy(code, "023810", 6);
  375. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  376. isCleanCheck = true;
  377. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023811", 6) == EQUAL &&
  378. pInfoCode->InfoEvents.bits.CcsTT_match_sequence == YES) {
  379. memcpy(code, "023811", 6);
  380. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  381. isCleanCheck = true;
  382. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023812", 6) == EQUAL &&
  383. pInfoCode->InfoEvents.bits.CcsTT_EVSE_match_MNBC == YES) {
  384. memcpy(code, "023812", 6);
  385. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  386. isCleanCheck = true;
  387. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023813", 6) == EQUAL &&
  388. pInfoCode->InfoEvents.bits.CcsTP_EVSE_avg_atten_calc == YES) {
  389. memcpy(code, "023813", 6);
  390. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  391. isCleanCheck = true;
  392. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023814", 6) == EQUAL &&
  393. pInfoCode->InfoEvents.bits.CcsTT_match_response == YES) {
  394. memcpy(code, "023814", 6);
  395. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  396. isCleanCheck = true;
  397. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023815", 6) == EQUAL &&
  398. pInfoCode->InfoEvents.bits.CcsTP_EVSE_match_session == YES) {
  399. memcpy(code, "023815", 6);
  400. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  401. isCleanCheck = true;
  402. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023816", 6) == EQUAL &&
  403. pInfoCode->InfoEvents.bits.CcsTT_EVSE_assoc_session == YES) {
  404. memcpy(code, "023816", 6);
  405. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  406. isCleanCheck = true;
  407. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023817", 6) == EQUAL &&
  408. pInfoCode->InfoEvents.bits.CcsTT_EVSE_vald_toggle == YES) {
  409. memcpy(code, "023817", 6);
  410. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  411. isCleanCheck = true;
  412. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023818", 6) == EQUAL &&
  413. pInfoCode->InfoEvents.bits.CcsSeccSlacTimeoutCmMnbcSound == YES) {
  414. memcpy(code, "023818", 6);
  415. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  416. isCleanCheck = true;
  417. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023819", 6) == EQUAL &&
  418. pInfoCode->InfoEvents.bits.CcsSeccSlacTimeoutCmValidateReq == YES) {
  419. memcpy(code, "023819", 6);
  420. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  421. isCleanCheck = true;
  422. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023823", 6) == EQUAL &&
  423. pInfoCode->InfoEvents.bits.CcsUDP_TT_match_join == YES) {
  424. memcpy(code, "023823", 6);
  425. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  426. isCleanCheck = true;
  427. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023824", 6) == EQUAL &&
  428. pInfoCode->InfoEvents.bits.CcsTCP_TT_match_join == YES) {
  429. memcpy(code, "023824", 6);
  430. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  431. isCleanCheck = true;
  432. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023825", 6) == EQUAL &&
  433. pInfoCode->InfoEvents.bits.CcsTP_amp_map_exchange == YES) {
  434. memcpy(code, "023825", 6);
  435. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  436. isCleanCheck = true;
  437. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023826", 6) == EQUAL &&
  438. pInfoCode->InfoEvents.bits.CcsTP_link_ready_notification == YES) {
  439. memcpy(code, "023826", 6);
  440. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  441. isCleanCheck = true;
  442. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023832", 6) == EQUAL &&
  443. pInfoCode->InfoEvents.bits.CcsSupportedAppProtocolRes == YES) {
  444. memcpy(code, "023832", 6);
  445. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  446. isCleanCheck = true;
  447. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023833", 6) == EQUAL &&
  448. pInfoCode->InfoEvents.bits.CcsSessionSetupRes == YES) {
  449. memcpy(code, "023833", 6);
  450. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  451. isCleanCheck = true;
  452. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023834", 6) == EQUAL &&
  453. pInfoCode->InfoEvents.bits.CcsServiceDiscoveryRes == YES) {
  454. memcpy(code, "023834", 6);
  455. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  456. isCleanCheck = true;
  457. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023835", 6) == EQUAL &&
  458. pInfoCode->InfoEvents.bits.CcsServicePaymentSelectionRes == YES) {
  459. memcpy(code, "023835", 6);
  460. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  461. isCleanCheck = true;
  462. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023836", 6) == EQUAL &&
  463. pInfoCode->InfoEvents.bits.CcsContractAuthenticationRes == YES) {
  464. memcpy(code, "023836", 6);
  465. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  466. isCleanCheck = true;
  467. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023837", 6) == EQUAL &&
  468. pInfoCode->InfoEvents.bits.CcsChargeParameterDiscoveryRes == YES) {
  469. memcpy(code, "023837", 6);
  470. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  471. isCleanCheck = true;
  472. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023838", 6) == EQUAL &&
  473. pInfoCode->InfoEvents.bits.CcsPowerDeliveryRes == YES) {
  474. memcpy(code, "023838", 6);
  475. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  476. isCleanCheck = true;
  477. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023839", 6) == EQUAL &&
  478. pInfoCode->InfoEvents.bits.CcsCableCheckRes == YES) {
  479. memcpy(code, "023839", 6);
  480. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  481. isCleanCheck = true;
  482. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023840", 6) == EQUAL &&
  483. pInfoCode->InfoEvents.bits.CcsPreChargeRes == YES) {
  484. memcpy(code, "023840", 6);
  485. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  486. isCleanCheck = true;
  487. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023841", 6) == EQUAL &&
  488. pInfoCode->InfoEvents.bits.CcsCurrentDemandRes == YES) {
  489. memcpy(code, "023841", 6);
  490. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  491. isCleanCheck = true;
  492. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023842", 6) == EQUAL &&
  493. pInfoCode->InfoEvents.bits.CcsWeldingDetectionRes == YES) {
  494. memcpy(code, "023842", 6);
  495. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  496. isCleanCheck = true;
  497. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023843", 6) == EQUAL &&
  498. pInfoCode->InfoEvents.bits.CcsSessionStopRes == YES) {
  499. memcpy(code, "023843", 6);
  500. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  501. isCleanCheck = true;
  502. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023844", 6) == EQUAL &&
  503. pInfoCode->InfoEvents.bits.CcsSequence_Time == YES) {
  504. memcpy(code, "023844", 6);
  505. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  506. isCleanCheck = true;
  507. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023845", 6) == EQUAL &&
  508. pInfoCode->InfoEvents.bits.CcsReadyToCharge_Performance_Time == YES) {
  509. memcpy(code, "023845", 6);
  510. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  511. isCleanCheck = true;
  512. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023846", 6) == EQUAL &&
  513. pInfoCode->InfoEvents.bits.CcsCommunicationSetup_Performance_Time == YES) {
  514. memcpy(code, "023846", 6);
  515. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  516. isCleanCheck = true;
  517. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023847", 6) == EQUAL &&
  518. pInfoCode->InfoEvents.bits.CcsCableCheck_Performance_Time == YES) {
  519. memcpy(code, "023847", 6);
  520. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  521. isCleanCheck = true;
  522. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023848", 6) == EQUAL &&
  523. pInfoCode->InfoEvents.bits.CcsCPState_Detection_Time == YES) {
  524. memcpy(code, "023848", 6);
  525. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  526. isCleanCheck = true;
  527. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023849", 6) == EQUAL &&
  528. pInfoCode->InfoEvents.bits.CcsCPOscillator_Retain_Time == YES) {
  529. memcpy(code, "023849", 6);
  530. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  531. isCleanCheck = true;
  532. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023850", 6) == EQUAL &&
  533. pInfoCode->InfoEvents.bits.CcsSeccTimeoutV2GPreChargePerformaceTime == YES) {
  534. memcpy(code, "023850", 6);
  535. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  536. isCleanCheck = true;
  537. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023855", 6) == EQUAL &&
  538. pInfoCode->InfoEvents.bits.CcsTP_GET_EV_TARGET_INFO == YES) {
  539. memcpy(code, "023855", 6);
  540. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  541. isCleanCheck = true;
  542. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023856", 6) == EQUAL &&
  543. pInfoCode->InfoEvents.bits.CcsTT_GET_EV_TARGET_INFO == YES) {
  544. memcpy(code, "023856", 6);
  545. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  546. isCleanCheck = true;
  547. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023857", 6) == EQUAL &&
  548. pInfoCode->InfoEvents.bits.CcsTP_GET_EV_BATTERY_INFO == YES) {
  549. memcpy(code, "023857", 6);
  550. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  551. isCleanCheck = true;
  552. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023858", 6) == EQUAL &&
  553. pInfoCode->InfoEvents.bits.CcsTT_GET_EV_BATTERY_INFO == YES) {
  554. memcpy(code, "023858", 6);
  555. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  556. isCleanCheck = true;
  557. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023859", 6) == EQUAL &&
  558. pInfoCode->InfoEvents.bits.CcsTP_EV_STOP_EVENT == YES) {
  559. memcpy(code, "023859", 6);
  560. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  561. isCleanCheck = true;
  562. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023860", 6) == EQUAL &&
  563. pInfoCode->InfoEvents.bits.CcsTT_EV_STOP_EVENT == YES) {
  564. memcpy(code, "023860", 6);
  565. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  566. isCleanCheck = true;
  567. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023861", 6) == EQUAL &&
  568. pInfoCode->InfoEvents.bits.CcsTP_EVSE_STOP_EVENT == YES) {
  569. memcpy(code, "023861", 6);
  570. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  571. isCleanCheck = true;
  572. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023862", 6) == EQUAL &&
  573. pInfoCode->InfoEvents.bits.CcsTT_EVSE_STOP_EVENT == YES) {
  574. memcpy(code, "023862", 6);
  575. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  576. isCleanCheck = true;
  577. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023863", 6) == EQUAL &&
  578. pInfoCode->InfoEvents.bits.CcsTP_GET_MISC_INFO == YES) {
  579. memcpy(code, "023863", 6);
  580. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  581. isCleanCheck = true;
  582. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023864", 6) == EQUAL &&
  583. pInfoCode->InfoEvents.bits.CcsTT_GET_MISC_INFO == YES) {
  584. memcpy(code, "023864", 6);
  585. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  586. isCleanCheck = true;
  587. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023865", 6) == EQUAL &&
  588. pInfoCode->InfoEvents.bits.CcsTP_DOWNLOAD_REQUEST == YES) {
  589. memcpy(code, "023865", 6);
  590. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  591. isCleanCheck = true;
  592. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023866", 6) == EQUAL &&
  593. pInfoCode->InfoEvents.bits.CcsTT_DOWNLOAD_REQUEST == YES) {
  594. memcpy(code, "023866", 6);
  595. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  596. isCleanCheck = true;
  597. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023867", 6) == EQUAL &&
  598. pInfoCode->InfoEvents.bits.CcsTP_START_BLOCK_TRANSFER == YES) {
  599. memcpy(code, "023867", 6);
  600. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  601. isCleanCheck = true;
  602. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023868", 6) == EQUAL &&
  603. pInfoCode->InfoEvents.bits.CcsTT_START_BLOCK_TRANSFER == YES) {
  604. memcpy(code, "023868", 6);
  605. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  606. isCleanCheck = true;
  607. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023869", 6) == EQUAL &&
  608. pInfoCode->InfoEvents.bits.CcsTP_DATA_TRANSFER == YES) {
  609. memcpy(code, "023869", 6);
  610. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  611. isCleanCheck = true;
  612. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023870", 6) == EQUAL &&
  613. pInfoCode->InfoEvents.bits.CcsTT_DATA_TRANSFER == YES) {
  614. memcpy(code, "023870", 6);
  615. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  616. isCleanCheck = true;
  617. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023871", 6) == EQUAL &&
  618. pInfoCode->InfoEvents.bits.CcsTP_DOWNLOAD_FINISH == YES) {
  619. memcpy(code, "023871", 6);
  620. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  621. isCleanCheck = true;
  622. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023872", 6) == EQUAL &&
  623. pInfoCode->InfoEvents.bits.CcsTT_DOWNLOAD_FINISH == YES) {
  624. memcpy(code, "023872", 6);
  625. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  626. isCleanCheck = true;
  627. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023873", 6) == EQUAL &&
  628. pInfoCode->InfoEvents.bits.CcsTP_ISOLATION_STATUS == YES) {
  629. memcpy(code, "023873", 6);
  630. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  631. isCleanCheck = true;
  632. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023874", 6) == EQUAL &&
  633. pInfoCode->InfoEvents.bits.CcsTT_ISOLATION_STATUS == YES) {
  634. memcpy(code, "023874", 6);
  635. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  636. isCleanCheck = true;
  637. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023875", 6) == EQUAL &&
  638. pInfoCode->InfoEvents.bits.CcsTP_CONNECTOR_INFO == YES) {
  639. memcpy(code, "023875", 6);
  640. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  641. isCleanCheck = true;
  642. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023876", 6) == EQUAL &&
  643. pInfoCode->InfoEvents.bits.CcsTT_CONNECTOR_INFO == YES) {
  644. memcpy(code, "023876", 6);
  645. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  646. isCleanCheck = true;
  647. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023877", 6) == EQUAL &&
  648. pInfoCode->InfoEvents.bits.CcsTT_RTC_INFO == YES) {
  649. memcpy(code, "023877", 6);
  650. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  651. isCleanCheck = true;
  652. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023878", 6) == EQUAL &&
  653. pInfoCode->InfoEvents.bits.CcsTP_RTC_INFO == YES) {
  654. memcpy(code, "023878", 6);
  655. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  656. isCleanCheck = true;
  657. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023879", 6) == EQUAL &&
  658. pInfoCode->InfoEvents.bits.CcsTP_EVSE_PRECHARGE_INFO == YES) {
  659. memcpy(code, "023879", 6);
  660. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  661. isCleanCheck = true;
  662. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023880", 6) == EQUAL &&
  663. pInfoCode->InfoEvents.bits.CcsTT_EVSE_PRECHARGE_INFO == YES) {
  664. memcpy(code, "023880", 6);
  665. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  666. isCleanCheck = true;
  667. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023881", 6) == EQUAL &&
  668. pInfoCode->InfoEvents.bits.CcsMSG_Sequence == YES) {
  669. memcpy(code, "023881", 6);
  670. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  671. isCleanCheck = true;
  672. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023882", 6) == EQUAL &&
  673. pInfoCode->InfoEvents.bits.CcsCAN_MSG_Unrecognized_CMD_ID == YES) {
  674. memcpy(code, "023882", 6);
  675. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  676. isCleanCheck = true;
  677. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023883", 6) == EQUAL &&
  678. pInfoCode->InfoEvents.bits.CcsDIN_Msg_Decode_Error == YES) {
  679. memcpy(code, "023883", 6);
  680. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  681. isCleanCheck = true;
  682. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023884", 6) == EQUAL &&
  683. pInfoCode->InfoEvents.bits.CcsDIN_Msg_Encode_Error == YES) {
  684. memcpy(code, "023884", 6);
  685. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  686. isCleanCheck = true;
  687. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023885", 6) == EQUAL &&
  688. pInfoCode->InfoEvents.bits.CcsISO1_Msg_Decode_Error == YES) {
  689. memcpy(code, "023885", 6);
  690. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  691. isCleanCheck = true;
  692. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023886", 6) == EQUAL &&
  693. pInfoCode->InfoEvents.bits.CcsISO1_Msg_Encode_Error == YES) {
  694. memcpy(code, "023886", 6);
  695. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  696. isCleanCheck = true;
  697. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023887", 6) == EQUAL &&
  698. pInfoCode->InfoEvents.bits.CcsISO2_Msg_Decode_Error == YES) {
  699. memcpy(code, "023887", 6);
  700. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  701. isCleanCheck = true;
  702. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023888", 6) == EQUAL &&
  703. pInfoCode->InfoEvents.bits.CcsISO2_Msg_Encode_Error == YES) {
  704. memcpy(code, "023888", 6);
  705. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  706. isCleanCheck = true;
  707. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023889", 6) == EQUAL &&
  708. pInfoCode->InfoEvents.bits.CcsCpStatus_Error == YES) {
  709. memcpy(code, "023889", 6);
  710. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  711. isCleanCheck = true;
  712. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023890", 6) == EQUAL &&
  713. pInfoCode->InfoEvents.bits.CcsUnexpectVolBeforeCharing_Error == YES) {
  714. memcpy(code, "023890", 6);
  715. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  716. isCleanCheck = true;
  717. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023891", 6) == EQUAL &&
  718. pInfoCode->InfoEvents.bits.CcsSeccNotReadyForCharging == YES) {
  719. memcpy(code, "023891", 6);
  720. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  721. isCleanCheck = true;
  722. }
  723. // else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023892", 6) == EQUAL &&
  724. // pInfoCode->InfoEvents.bits.CcsSeccTimeoutQCA7000Comm == YES)
  725. // {
  726. // memcpy(code, "023892", 6);
  727. // memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  728. // isCleanCheck = true;
  729. // }
  730. else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023893", 6) == EQUAL &&
  731. pInfoCode->InfoEvents.bits.CcsSeccFailForQCA7000SetKey == YES) {
  732. memcpy(code, "023893", 6);
  733. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  734. isCleanCheck = true;
  735. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023979", 6) == EQUAL &&
  736. pInfoCode->InfoEvents.bits.EV_Full_Charging == YES) {
  737. memcpy(code, "023979", 6);
  738. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  739. isCleanCheck = true;
  740. } else if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "023983", 6) == EQUAL &&
  741. pInfoCode->InfoEvents.bits.Stop_by_EV_with_unknow_reason == YES) {
  742. memcpy(code, "023983", 6);
  743. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  744. isCleanCheck = true;
  745. }
  746. }
  747. if (isCleanCheck) {
  748. for (uint8_t index = 0; index < pSysConfig->TotalConnectorCount; index++) {
  749. pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(index);
  750. if (index != gun_index || pSysConfig->TotalConnectorCount == 1) {
  751. log_info("CCS clean error : index = %d, EvConnAlarmCode = %s, code = %s \n",
  752. index,
  753. pDcChargingInfo->EvConnAlarmCode,
  754. code);
  755. if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, code, 6) != EQUAL) {
  756. if (strncmp(code, "012219", 6) == EQUAL) { pAlarmCode->AlarmEvents.bits.SystemCcsOutputOVP = NO; }
  757. if (strncmp(code, "023701", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEvCommFail = NO; }
  758. if (strncmp(code, "023737", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsRESTemperatureInhibit = NO; }
  759. if (strncmp(code, "023738", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEVShiftPosition = NO; }
  760. if (strncmp(code, "023739", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargerConnectorLockFault = NO; }
  761. if (strncmp(code, "023740", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEVRESSMalfunction = NO; }
  762. if (strncmp(code, "023741", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargingCurrentdifferential = NO; }
  763. if (strncmp(code, "023742", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargingVoltageOutOfRange = NO; }
  764. if (strncmp(code, "023743", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargingSystemIncompatibility = NO; }
  765. if (strncmp(code, "023744", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEmergencyEvent = NO; }
  766. if (strncmp(code, "023745", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsBreaker = NO; }
  767. if (strncmp(code, "023746", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsNoData = NO; }
  768. if (strncmp(code, "023747", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_A = NO; }
  769. if (strncmp(code, "023748", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_B = NO; }
  770. if (strncmp(code, "023749", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_DIN_C = NO; }
  771. if (strncmp(code, "023750", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_1 = NO; }
  772. if (strncmp(code, "023751", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_2 = NO; }
  773. if (strncmp(code, "023752", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_ISO_3 = NO; }
  774. if (strncmp(code, "023753", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_1 = NO; }
  775. if (strncmp(code, "023754", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_2 = NO; }
  776. if (strncmp(code, "023755", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_3 = NO; }
  777. if (strncmp(code, "023756", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_4 = NO; }
  778. if (strncmp(code, "023757", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Ccsreserved_by_OEM_5 = NO; }
  779. if (strncmp(code, "023758", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSequenceError = NO; }
  780. if (strncmp(code, "023759", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSignatureError = NO; }
  781. if (strncmp(code, "023760", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsUnknownSession = NO; }
  782. if (strncmp(code, "023761", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsServiceIDInvalid = NO; }
  783. if (strncmp(code, "023762", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsPaymentSelectionInvalid = NO; }
  784. if (strncmp(code, "023763", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsIdentificationSelectionInvalid = NO; }
  785. if (strncmp(code, "023764", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsServiceSelectionInvalid = NO; }
  786. if (strncmp(code, "023765", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertificateExpired = NO; }
  787. if (strncmp(code, "023766", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertificateNotYetValid = NO; }
  788. if (strncmp(code, "023767", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertificateRevoked = NO; }
  789. if (strncmp(code, "023768", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsNoCertificateAvailable = NO; }
  790. if (strncmp(code, "023769", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertChainError = NO; }
  791. if (strncmp(code, "023770", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertValidationError = NO; }
  792. if (strncmp(code, "023771", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertVerificationError = NO; }
  793. if (strncmp(code, "023772", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsContractCanceled = NO; }
  794. if (strncmp(code, "023773", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChallengeInvalid = NO; }
  795. if (strncmp(code, "023774", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsWrongEnergyTransferMode = NO; }
  796. if (strncmp(code, "023775", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsWrongChargeParameter = NO; }
  797. if (strncmp(code, "023776", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargingProfileInvalid = NO; }
  798. if (strncmp(code, "023777", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTariffSelectionInvalid = NO; }
  799. if (strncmp(code, "023778", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEVSEPresentVoltageToLow = NO; }
  800. if (strncmp(code, "023779", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsPowerDeliveryNotApplied = NO; }
  801. if (strncmp(code, "023780", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMeteringSignatureNotValid = NO; }
  802. if (strncmp(code, "023781", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsNoChargeServiceSelected = NO; }
  803. if (strncmp(code, "023782", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsContactorError = NO; }
  804. if (strncmp(code, "023783", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCertificateNotAllowedAtThisEVSE = NO; }
  805. if (strncmp(code, "023784", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsGAChargeStop = NO; }
  806. if (strncmp(code, "023785", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsAlignmentError = NO; }
  807. if (strncmp(code, "023786", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsACDError = NO; }
  808. if (strncmp(code, "023787", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsAssociationError = NO; }
  809. if (strncmp(code, "023788", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsEVSEChargeAbort = NO; }
  810. if (strncmp(code, "023789", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsNoSupportedAppProtocol = NO; }
  811. if (strncmp(code, "023790", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsContractNotAccepted = NO; }
  812. if (strncmp(code, "023791", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMOUnknown = NO; }
  813. if (strncmp(code, "023792", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsOEM_Prov_CertificateRevoke = NO; }
  814. if (strncmp(code, "023793", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsOEM_SubCA1_CertificateRevoked = NO; }
  815. if (strncmp(code, "023794", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsOEM_SubCA2_CertificateRevoked = NO; }
  816. if (strncmp(code, "023795", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsOEM_RootCA_CertificateRevoked = NO; }
  817. if (strncmp(code, "023796", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMO_Prov_CertificateRevoked = NO; }
  818. if (strncmp(code, "023797", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMO_SubCA1_CertificateRevoked = NO; }
  819. if (strncmp(code, "023798", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMO_SubCA2_CertificateRevoked = NO; }
  820. if (strncmp(code, "023799", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMO_RootCA_CertificateRevoked = NO; }
  821. if (strncmp(code, "023800", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPS_Prov_CertificateRevoked = NO; }
  822. if (strncmp(code, "023801", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPS_SubCA1_CertificateRevoked = NO; }
  823. if (strncmp(code, "023802", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPS_SubCA2_CertificateRevoked = NO; }
  824. if (strncmp(code, "023803", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPS_RootCA_CertificateRevoked = NO; }
  825. if (strncmp(code, "023809", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_SLAC_init = NO; }
  826. if (strncmp(code, "023810", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_match_response = NO; }
  827. if (strncmp(code, "023811", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_match_sequence = NO; }
  828. if (strncmp(code, "023812", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_match_MNBC = NO; }
  829. if (strncmp(code, "023813", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_EVSE_avg_atten_calc = NO; }
  830. if (strncmp(code, "023814", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_match_response = NO; }
  831. if (strncmp(code, "023815", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_EVSE_match_session = NO; }
  832. if (strncmp(code, "023816", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_assoc_session = NO; }
  833. if (strncmp(code, "023817", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_vald_toggle = NO; }
  834. if (strncmp(code, "023818", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSeccSlacTimeoutCmMnbcSound = NO; }
  835. if (strncmp(code, "023819", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSeccSlacTimeoutCmValidateReq = NO; }
  836. if (strncmp(code, "023823", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsUDP_TT_match_join = NO; }
  837. if (strncmp(code, "023824", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTCP_TT_match_join = NO; }
  838. if (strncmp(code, "023825", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_amp_map_exchange = NO; }
  839. if (strncmp(code, "023826", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_link_ready_notification = NO; }
  840. if (strncmp(code, "023832", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSupportedAppProtocolRes = NO; }
  841. if (strncmp(code, "023833", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSessionSetupRes = NO; }
  842. if (strncmp(code, "023834", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsServiceDiscoveryRes = NO; }
  843. if (strncmp(code, "023835", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsServicePaymentSelectionRes = NO; }
  844. if (strncmp(code, "023836", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsContractAuthenticationRes = NO; }
  845. if (strncmp(code, "023837", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsChargeParameterDiscoveryRes = NO; }
  846. if (strncmp(code, "023838", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsPowerDeliveryRes = NO; }
  847. if (strncmp(code, "023839", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCableCheckRes = NO; }
  848. if (strncmp(code, "023840", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsPreChargeRes = NO; }
  849. if (strncmp(code, "023841", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCurrentDemandRes = NO; }
  850. if (strncmp(code, "023842", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsWeldingDetectionRes = NO; }
  851. if (strncmp(code, "023843", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSessionStopRes = NO; }
  852. if (strncmp(code, "023844", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSequence_Time = NO; }
  853. if (strncmp(code, "023845", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsReadyToCharge_Performance_Time = NO; }
  854. if (strncmp(code, "023846", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCommunicationSetup_Performance_Time = NO; }
  855. if (strncmp(code, "023847", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCableCheck_Performance_Time = NO; }
  856. if (strncmp(code, "023848", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPState_Detection_Time = NO; }
  857. if (strncmp(code, "023849", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCPOscillator_Retain_Time = NO; }
  858. if (strncmp(code, "023850", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSeccTimeoutV2GPreChargePerformaceTime = NO; }
  859. if (strncmp(code, "023855", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_GET_EV_TARGET_INFO = NO; }
  860. if (strncmp(code, "023856", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_GET_EV_TARGET_INFO = NO; }
  861. if (strncmp(code, "023857", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_GET_EV_BATTERY_INFO = NO; }
  862. if (strncmp(code, "023858", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_GET_EV_BATTERY_INFO = NO; }
  863. if (strncmp(code, "023859", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_EV_STOP_EVENT = NO; }
  864. if (strncmp(code, "023860", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EV_STOP_EVENT = NO; }
  865. if (strncmp(code, "023861", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_EVSE_STOP_EVENT = NO; }
  866. if (strncmp(code, "023862", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_STOP_EVENT = NO; }
  867. if (strncmp(code, "023863", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_GET_MISC_INFO = NO; }
  868. if (strncmp(code, "023864", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_GET_MISC_INFO = NO; }
  869. if (strncmp(code, "023865", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_DOWNLOAD_REQUEST = NO; }
  870. if (strncmp(code, "023866", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_DOWNLOAD_REQUEST = NO; }
  871. if (strncmp(code, "023867", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_START_BLOCK_TRANSFER = NO; }
  872. if (strncmp(code, "023868", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_START_BLOCK_TRANSFER = NO; }
  873. if (strncmp(code, "023869", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_DATA_TRANSFER = NO; }
  874. if (strncmp(code, "023870", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_DATA_TRANSFER = NO; }
  875. if (strncmp(code, "023871", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_DOWNLOAD_FINISH = NO; }
  876. if (strncmp(code, "023872", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_DOWNLOAD_FINISH = NO; }
  877. if (strncmp(code, "023873", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_ISOLATION_STATUS = NO; }
  878. if (strncmp(code, "023874", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_ISOLATION_STATUS = NO; }
  879. if (strncmp(code, "023875", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_CONNECTOR_INFO = NO; }
  880. if (strncmp(code, "023876", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_CONNECTOR_INFO = NO; }
  881. if (strncmp(code, "023877", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_RTC_INFO = NO; }
  882. if (strncmp(code, "023878", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_RTC_INFO = NO; }
  883. if (strncmp(code, "023879", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTP_EVSE_PRECHARGE_INFO = NO; }
  884. if (strncmp(code, "023880", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsTT_EVSE_PRECHARGE_INFO = NO; }
  885. if (strncmp(code, "023881", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsMSG_Sequence = NO; }
  886. if (strncmp(code, "023882", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCAN_MSG_Unrecognized_CMD_ID = NO; }
  887. if (strncmp(code, "023883", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsDIN_Msg_Decode_Error = NO; }
  888. if (strncmp(code, "023884", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsDIN_Msg_Encode_Error = NO; }
  889. if (strncmp(code, "023885", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsISO1_Msg_Decode_Error = NO; }
  890. if (strncmp(code, "023886", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsISO1_Msg_Encode_Error = NO; }
  891. if (strncmp(code, "023887", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsISO2_Msg_Decode_Error = NO; }
  892. if (strncmp(code, "023888", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsISO2_Msg_Encode_Error = NO; }
  893. if (strncmp(code, "023889", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsCpStatus_Error = NO; }
  894. if (strncmp(code, "023890", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsUnexpectVolBeforeCharing_Error = NO; }
  895. if (strncmp(code, "023891", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSeccNotReadyForCharging = NO; }
  896. //if (strncmp(code, "023892", 6) == EQUAL) pInfoCode->InfoEvents.bits.CcsSeccTimeoutQCA7000Comm = NO;
  897. if (strncmp(code, "023893", 6) == EQUAL) { pInfoCode->InfoEvents.bits.CcsSeccFailForQCA7000SetKey = NO; }
  898. if (strncmp(code, "023979", 6) == EQUAL) { pInfoCode->InfoEvents.bits.EV_Full_Charging = NO; }
  899. if (strncmp(code, "023983", 6) == EQUAL) { pInfoCode->InfoEvents.bits.Stop_by_EV_with_unknow_reason = NO; }
  900. }
  901. }
  902. }
  903. }
  904. if (strncmp((char *)pDcChargingInfo->EvConnAlarmCode, "", 6) != EQUAL) {
  905. memcpy(pDcChargingInfo->EvConnAlarmCode, "", 6);
  906. }
  907. }