Module_RatedCurrent.h 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. #ifndef _MODULE_NAME_PARSING_H_
  2. #define _MODULE_NAME_PARSING_H_
  3. //------------------------------------------------------------------------------
  4. #include <stdint.h>
  5. //------------------------------------------------------------------------------
  6. #define BADKEY (-1)
  7. //------------------------------------------------------------------------------
  8. // model type key
  9. //------------------------------------------------------------------------------
  10. #define MODEL_AC (0x01) //Ac EVse Cordset
  11. #define MODEL_AW (0x02) //Ac EVse Wallmount
  12. #define MODEL_AP (0x03) //Ac EVse Pedestal
  13. #define MODEL_AX (0x04) //Ac EVSE Wallmount excellent
  14. #define MODEL_DW (0x05) //Dc EVse Wallmount
  15. #define MODEL_DS (0x06) //Dc EVse Standalone
  16. #define MODEL_DM (0x07) //Dc EVse Moveable (Battery equipped)
  17. #define MODEL_DR (0x08) //Dc EVse Power Rack (without cabinet)
  18. //#define MODEL_DM (0x09) //Dc EVse Moveable (Movable)
  19. #define MODEL_DD (0x0A) //Dc EVse Dispenser
  20. #define MODEL_DO (0x0B) //Dc EVse Output power cabinet
  21. #define MODEL_DQ (0x0C) //DC EVSE Infy 30KW GB
  22. #define MODEL_DK (0x0D) //DC EVSE Power rack
  23. #define MODEL_DX (0x0E) //DC EVSE Output Communication Box (Dispenser)
  24. #define MODEL_DB (0x0F) //DC to DC EVSE Output power cabinet
  25. #define MODEL_DH (0x10) //CSU 3.0
  26. #define MODEL_DL (0x11) //DC EVSE liquid cooling power cabinet
  27. //------------------------------------------------------------------------------
  28. // regulation key
  29. //------------------------------------------------------------------------------
  30. #define REG_CE (0x01) // CE / European Market
  31. #define REG_UL (0x02) // UL / North America Market
  32. #define REG_GB (0x03) // GB / China Market
  33. #define REG_CNS (0x04) // CNS / Taiwan Market
  34. #define REG_JARI (0x05) // JARI / Japan Market
  35. #define REG_TR25 (0x06) // TR25 / Singapor Market
  36. #define REG_KC (0x07) // KC / Korea Market
  37. #define REG_B (0x08) // British / UK Market
  38. #define REG_Z (0x09) // EV ready / French Market
  39. #define REG_M (0x0A) // E + MID Meter
  40. #define REG_P (0x0B) // E + PTB certification
  41. #define REG_I (0x0C) // Z + TIC Meter pcb
  42. #define REG_F (0x0D) // Z + MID Meter
  43. #define REG_L (0x0E) // U + UL meter
  44. #define REG_W (0x0F) // CNS / Taiwan manufacture
  45. //------------------------------------------------------------------------------
  46. // rate power key
  47. //------------------------------------------------------------------------------
  48. #define POWER_20W (0x01)
  49. #define POWER_25W (0x02)
  50. #define POWER_30W (0x03)
  51. #define POWER_60W (0x04)
  52. #define POWER_80W (0x05)
  53. #define POWER_90W (0x06)
  54. #define POWER_120W (0x07)
  55. #define POWER_150W (0x08)
  56. #define POWER_160W (0x09)
  57. #define POWER_180W (0x0A)
  58. #define POWER_210W (0x0B)
  59. #define POWER_240W (0x0C)
  60. #define POWER_270W (0x0D)
  61. #define POWER_300W (0x0E)
  62. #define POWER_330W (0x0F)
  63. #define POWER_360W (0x10)
  64. #define POWER_480W (0x11)
  65. #define POWER_720W (0x12)
  66. //------------------------------------------------------------------------------
  67. // gun type key
  68. //------------------------------------------------------------------------------
  69. #define GUN_TYPE_0 (0x00) //none
  70. #define GUN_TYPE_1 (0x01) //IEC 62196-2 Type 1/SAE J1772 Plug
  71. #define GUN_TYPE_2 (0x02) //IEC 62196-2 Type 1/SAE J1772 Socket
  72. #define GUN_TYPE_3 (0x03) //IEC 62196-2 Type 2 Plug
  73. #define GUN_TYPE_4 (0x04) //IEC 62196-2 Type 2 Socket
  74. #define GUN_TYPE_5 (0x05) //GB/T AC Plug
  75. #define GUN_TYPE_6 (0x06) //GB/T AC Socket
  76. #define GUN_TYPE_7 (0x07) //CS2 AC Plug
  77. #define GUN_TYPE_8 (0x08) //Type E socket
  78. #define GUN_TYPE_J (0x09) //CHAdeMO, Japan Market: 125A, else 120A
  79. #define GUN_TYPE_U (0x0A) //Natural cooling CCS1 combo
  80. #define GUN_TYPE_V (0x0B) //Liquid cooling CCS1 combo
  81. #define GUN_TYPE_E (0x0C) //Natural cooling CCS2 combo
  82. #define GUN_TYPE_F (0x0D) //Liquid cooling CCS2 combo
  83. #define GUN_TYPE_G (0x0E) //GBT DC
  84. #define GUN_TYPE_T (0x0F) //Rema CCS1 300A, Boost Mode: 500A
  85. #define GUN_TYPE_D (0x10) //Rema CCS2 300A, Boost Mode: 500A
  86. #define GUN_TYPE_K (0x11) //CHAdeMO 200A/500V
  87. #define GUN_TYPE_M (0x12) //CCS2 80A
  88. #define GUN_TYPE_N (0x13) //CCS1 80A
  89. #define GUN_TYPE_P (0x14) //Phoenix CCS2 500A Liquid cooling
  90. #define GUN_TYPE_R (0x15) //Phoenix CCS1 500A Liquid cooling
  91. #define GUN_TYPE_C (0x16) //Reserved for ChaoJi
  92. #define GUN_TYPE_W (0x17) //CHAdeMO 200A boost 350A
  93. #define GUN_TYPE_B (0x18) //GBT YG PT1000
  94. #define GUN_TYPE_H (0x19) //WOER GBT 500A
  95. #define GUN_TYPE_A (0x1A) //WOER GBT 400A
  96. #define GUN_TYPE_L (0x1B) //CHAdeMO 80A
  97. #define GUN_TYPE_Y (0x1C) //CCS1 150A
  98. #define GUN_TYPE_Z (0x1D) //CCS2 150A
  99. #define GUN_TYPE_S (0x1E) //CHAdeMO 125A, Boost Mode: 200A
  100. #define GUN_TYPE_I (0x1F) //CCS1 300A Boost mode
  101. #define GUN_TYPE_Q (0x20) //CCS2 300A Boost mode
  102. //------------------------------------------------------------------------------
  103. // rating current parameters
  104. //------------------------------------------------------------------------------
  105. #define RC_0A (0)
  106. #define RC_60A (600)
  107. #define RC_65A (650)
  108. #define RC_80A (800)
  109. #define RC_120A (1200)
  110. #define RC_125A (1250)
  111. #define RC_150A (1500)
  112. #define RC_200A (2000)
  113. #define RC_250A (2500)
  114. #define RC_300A (3000)
  115. #define RC_400A (4000)
  116. #define RC_500A (5000)
  117. //------------------------------------------------------------------------------
  118. // maximum voltage parameters
  119. //------------------------------------------------------------------------------
  120. #define VOL_CHADEMO (5000)
  121. #define VOL_CCS (9500)
  122. #define VOL_GBT (7500)
  123. #define DC_ONE (7)
  124. #define DC_SEC (9)
  125. #define AC_ONE (8)
  126. //------------------------------------------------------------------------------
  127. // power parameters
  128. //------------------------------------------------------------------------------
  129. //------------------------------------------------------------------------------
  130. // rating current case
  131. //------------------------------------------------------------------------------
  132. //J
  133. #define DW_CE_30_J ((uint32_t)((MODEL_DW << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_J))
  134. #define DM_CE_30_J ((uint32_t)((MODEL_DM << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_J))
  135. #define DW_UL_30_J ((uint32_t)((MODEL_DW << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_J))
  136. #define DM_UL_30_J ((uint32_t)((MODEL_DM << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_J))
  137. #define DW_CNS_30_J ((uint32_t)((MODEL_DW << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_J))
  138. #define DM_CNS_30_J ((uint32_t)((MODEL_DM << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_J))
  139. #define DS_CE_60_J ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_60W << 8) | GUN_TYPE_J))
  140. #define DS_CE_90_J ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_90W << 8) | GUN_TYPE_J))
  141. #define DS_CE_120_J ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_120W << 8) | GUN_TYPE_J))
  142. #define DS_CE_150_J ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_150W << 8) | GUN_TYPE_J))
  143. #define DS_CE_180_J ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_J))
  144. #define DS_UL_60_J ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_60W << 8) | GUN_TYPE_J))
  145. #define DS_UL_90_J ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_90W << 8) | GUN_TYPE_J))
  146. #define DS_UL_120_J ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_120W << 8) | GUN_TYPE_J))
  147. #define DS_UL_150_J ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_150W << 8) | GUN_TYPE_J))
  148. #define DS_UL_180_J ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_J))
  149. #define DS_CNS_60_J ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_60W << 8) | GUN_TYPE_J))
  150. #define DS_CNS_90_J ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_90W << 8) | GUN_TYPE_J))
  151. #define DS_CNS_120_J ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_120W << 8) | GUN_TYPE_J))
  152. #define DS_CNS_150_J ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_150W << 8) | GUN_TYPE_J))
  153. #define DS_CNS_180_J ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_J))
  154. #define DS_JARI_60_J ((uint32_t)((MODEL_DS << 24) | (REG_JARI << 16) | (POWER_60W << 8) | GUN_TYPE_J))
  155. #define DS_JARI_90_J ((uint32_t)((MODEL_DS << 24) | (REG_JARI << 16) | (POWER_90W << 8) | GUN_TYPE_J))
  156. #define DS_JARI_120_J ((uint32_t)((MODEL_DS << 24) | (REG_JARI << 16) | (POWER_120W << 8) | GUN_TYPE_J))
  157. #define DS_JARI_150_J ((uint32_t)((MODEL_DS << 24) | (REG_JARI << 16) | (POWER_150W << 8) | GUN_TYPE_J))
  158. #define DS_JARI_180_J ((uint32_t)((MODEL_DS << 24) | (REG_JARI << 16) | (POWER_180W << 8) | GUN_TYPE_J))
  159. //U
  160. #define DD_CE_180_U ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_U))
  161. #define DD_CE_360_U ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_U))
  162. #define DW_UL_30_U ((uint32_t)((MODEL_DW << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_U))
  163. #define DM_UL_30_U ((uint32_t)((MODEL_DM << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_U))
  164. #define DW_CNS_30_U ((uint32_t)((MODEL_DW << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_U))
  165. #define DM_CNS_30_U ((uint32_t)((MODEL_DM << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_U))
  166. #define DS_UL_60_U ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_60W << 8) | GUN_TYPE_U))
  167. #define DS_UL_90_U ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_90W << 8) | GUN_TYPE_U))
  168. #define DS_UL_120_U ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_120W << 8) | GUN_TYPE_U))
  169. #define DS_UL_150_U ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_150W << 8) | GUN_TYPE_U))
  170. #define DS_UL_180_U ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_U))
  171. #define DD_UL_180_U ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_U))
  172. #define DD_UL_360_U ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_U))
  173. #define DS_CNS_60_U ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_60W << 8) | GUN_TYPE_U))
  174. #define DS_CNS_90_U ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_90W << 8) | GUN_TYPE_U))
  175. #define DS_CNS_120_U ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_120W << 8) | GUN_TYPE_U))
  176. #define DS_CNS_150_U ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_150W << 8) | GUN_TYPE_U))
  177. #define DS_CNS_180_U ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_U))
  178. #define DD_CNS_180_U ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_U))
  179. #define DD_CNS_360_U ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_U))
  180. //V
  181. #define DD_CE_180_V ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_V))
  182. #define DD_UL_180_V ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_V))
  183. #define DD_CNS_180_V ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_V))
  184. #define DD_CE_360_V ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_V))
  185. #define DD_UL_360_V ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_V))
  186. #define DD_CNS_360_V ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_V))
  187. #define DO_CE_180_V ((uint32_t)((MODEL_DO << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_V))
  188. #define DO_UL_180_V ((uint32_t)((MODEL_DO << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_V))
  189. #define DO_CNS_180_V ((uint32_t)((MODEL_DO << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_V))
  190. #define DO_CE_360_V ((uint32_t)((MODEL_DO << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_V))
  191. #define DO_UL_360_V ((uint32_t)((MODEL_DO << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_V))
  192. #define DO_CNS_360_V ((uint32_t)((MODEL_DO << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_V))
  193. //E
  194. #define DW_CE_30_E ((uint32_t)((MODEL_DW << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_E))
  195. #define DM_CE_30_E ((uint32_t)((MODEL_DM << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_E))
  196. #define DS_CE_60_E ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_60W << 8) | GUN_TYPE_E))
  197. #define DS_CE_90_E ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_90W << 8) | GUN_TYPE_E))
  198. #define DS_CE_120_E ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_120W << 8) | GUN_TYPE_E))
  199. #define DS_CE_150_E ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_150W << 8) | GUN_TYPE_E))
  200. #define DS_CE_180_E ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_E))
  201. //F
  202. #define DD_CE_360_F ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_F))
  203. #define DO_CE_360_F ((uint32_t)((MODEL_DO << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_F))
  204. //G
  205. #define DM_CNS_30_G ((uint32_t)((MODEL_DM << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_G))
  206. #define DS_UL_30_G ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_G))
  207. #define DS_CNS_120_G ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_120W << 8) | GUN_TYPE_G))
  208. //T
  209. #define DS_CE_90_T ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_90W << 8) | GUN_TYPE_T))
  210. #define DS_CE_120_T ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_120W << 8) | GUN_TYPE_T))
  211. #define DS_CE_150_T ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_150W << 8) | GUN_TYPE_T))
  212. #define DS_CE_180_T ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_T))
  213. #define DD_CE_180_T ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_T))
  214. #define DD_CE_360_T ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_T))
  215. #define DS_UL_90_T ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_90W << 8) | GUN_TYPE_T))
  216. #define DS_UL_120_T ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_120W << 8) | GUN_TYPE_T))
  217. #define DS_UL_150_T ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_150W << 8) | GUN_TYPE_T))
  218. #define DS_UL_180_T ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_T))
  219. #define DD_UL_180_T ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_T))
  220. #define DD_UL_360_T ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_T))
  221. #define DS_CNS_90_T ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_90W << 8) | GUN_TYPE_T))
  222. #define DS_CNS_120_T ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_120W << 8) | GUN_TYPE_T))
  223. #define DS_CNS_150_T ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_150W << 8) | GUN_TYPE_T))
  224. #define DS_CNS_180_T ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_T))
  225. #define DD_CNS_180_T ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_T))
  226. #define DD_CNS_360_T ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_T))
  227. //D
  228. #define DS_CE_90_D ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_90W << 8) | GUN_TYPE_D))
  229. #define DS_CE_120_D ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_120W << 8) | GUN_TYPE_D))
  230. #define DS_CE_150_D ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_150W << 8) | GUN_TYPE_D))
  231. #define DS_CE_180_D ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_D))
  232. #define DD_CE_180_D ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_D))
  233. #define DD_CE_360_D ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_D))
  234. #define DS_UL_90_D ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_90W << 8) | GUN_TYPE_D))
  235. #define DS_UL_120_D ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_120W << 8) | GUN_TYPE_D))
  236. #define DS_UL_150_D ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_150W << 8) | GUN_TYPE_D))
  237. #define DS_UL_180_D ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_D))
  238. #define DD_UL_180_D ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_D))
  239. #define DD_UL_360_D ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_D))
  240. #define DS_CNS_90_D ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_90W << 8) | GUN_TYPE_D))
  241. #define DS_CNS_120_D ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_120W << 8) | GUN_TYPE_D))
  242. #define DS_CNS_150_D ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_150W << 8) | GUN_TYPE_D))
  243. #define DS_CNS_180_D ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_D))
  244. #define DD_CNS_180_D ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_D))
  245. #define DD_CNS_360_D ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_D))
  246. //K
  247. #define DS_CE_90_K ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_90W << 8) | GUN_TYPE_K))
  248. #define DS_CE_120_K ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_120W << 8) | GUN_TYPE_K))
  249. #define DS_CE_150_K ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_150W << 8) | GUN_TYPE_K))
  250. #define DS_CE_180_K ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_K))
  251. #define DD_CE_180_K ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_K))
  252. #define DD_CE_360_K ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_K))
  253. #define DS_UL_90_K ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_90W << 8) | GUN_TYPE_K))
  254. #define DS_UL_120_K ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_120W << 8) | GUN_TYPE_K))
  255. #define DS_UL_150_K ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_150W << 8) | GUN_TYPE_K))
  256. #define DS_UL_180_K ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_K))
  257. #define DD_UL_180_K ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_K))
  258. #define DD_UL_360_K ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_K))
  259. //M
  260. #define DW_CE_30_M ((uint32_t)((MODEL_DW << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_M))
  261. #define DM_CE_30_M ((uint32_t)((MODEL_DM << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_M))
  262. //N
  263. #define DW_UL_30_N ((uint32_t)((MODEL_DW << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_N))
  264. #define DM_UL_30_N ((uint32_t)((MODEL_DM << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_N))
  265. #define DW_CNS_30_N ((uint32_t)((MODEL_DW << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_N))
  266. #define DM_CNS_30_N ((uint32_t)((MODEL_DM << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_N))
  267. //P
  268. #define DD_CE_360_P ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_P))
  269. //R
  270. #define DD_UL_360_R ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_R))
  271. #define DD_CNS_360_R ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_R))
  272. //------------------------------------------------------------------------------
  273. typedef enum EnGunType {
  274. Gun_Type_Chademo = 0,
  275. Gun_Type_CCS_2,
  276. Gun_Type_GB,
  277. Gun_Type_AC,
  278. } GunType;
  279. typedef struct StSymStruct {
  280. char *key;
  281. int val;
  282. } SymStruct;
  283. typedef struct StGunTypeAndVolInfo {
  284. uint8_t GunType;
  285. uint16_t GunVoltage;
  286. } GunTypeAndVolInfo;
  287. typedef struct StRateCurInfo {
  288. uint8_t GunType;
  289. uint16_t Current; //* 0.1A
  290. uint16_t Voltage; //* 0.1V
  291. uint8_t Reserved[3];
  292. } RateCurInfo;
  293. typedef struct StParsingRatingCur {
  294. uint8_t GetGunCount;
  295. uint16_t Power;
  296. uint32_t ratedPower; // unit: W
  297. RateCurInfo ParsingInfo[3];
  298. uint8_t Reserved;
  299. } ParsingRatedCur;
  300. //------------------------------------------------------------------------------
  301. int RatedCurrentParsing(char *pModuleName, void *pDestStruct);
  302. void TestParsingRatingCurrent(void);
  303. #endif /* _MODULE_NAME_PARSING_H_ */