AbnormalCCS.c 62 KB

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