Config.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657
  1. /*
  2. * Config.h
  3. *
  4. * Created on: 2019年4月23日
  5. * Author: foluswen
  6. */
  7. #ifndef CONFIG_H_
  8. #define CONFIG_H_
  9. #include <sys/types.h>
  10. #define ShmCsuMeterKey 2001
  11. #define ShmCommonKey 2002
  12. typedef unsigned char byte;
  13. #define TOTAL_QUANTITY_GUN 4 //Max Count
  14. #define PSU_GROUP_COUNT 4
  15. #define DC_CONNECTOR_COUNT 2
  16. #define AC_CONNECTOR_COUNT 1
  17. #define VOLTAGE_SAMPLE_COUNT 30
  18. #define GFD_WAIT 0
  19. #define GFD_PASS 1
  20. #define GFD_FAIL 2
  21. #define GFD_WARNING 3
  22. #define PRECHARGE_WAIT 0
  23. #define PRECHARGE_READY 1
  24. #define PRECHARGE_PRERELAY_PASS 2
  25. #define PRECHARGE_CHARELAY_PASS 3
  26. #define BOOTTING 0
  27. #define BOOT_COMPLETE 1
  28. #define AC_MINIMUM_DUTY 6
  29. #define AC_STOP_DUTY 100
  30. #define GUN_LEFT 0
  31. #define GUN_RIGHT 1
  32. #define GUN_CHECK 255
  33. //=======================================
  34. // Price type
  35. //=======================================
  36. #define DEFAULT_VALUE 0
  37. #define CONNECTION_FEE 1
  38. #define CURRENT_RATE 2
  39. #define OCCUPANCY_FEE 3
  40. #define SESSION_FEE 4
  41. #define TOTAL_COST 5
  42. #define ACCOUNT_BALANCE 6
  43. enum _AC_SYSTEM_STATUS
  44. {
  45. AC_SYS_NONE = 0,
  46. AC_SYS_A,
  47. AC_SYS_B,
  48. AC_SYS_C,
  49. AC_SYS_D,
  50. AC_SYS_E,
  51. AC_SYS_F
  52. };
  53. enum _GUN_TYPE
  54. {
  55. _Type_Chademo = 0,
  56. _Type_CCS = 1,
  57. _Type_GB = 2,
  58. _Type_AC = 3,
  59. _Type_Test = 9
  60. };
  61. enum _CCS_TYPE
  62. {
  63. _CCS_TYPE_CCS1 = 0,
  64. _CCS_TYPE_CCS2 = 1,
  65. };
  66. enum _LCM_INDEX
  67. {
  68. _LCM_INIT = 0x00,
  69. _LCM_IDLE = 0x01,
  70. _LCM_AUTHORIZING = 0x02,
  71. _LCM_AUTHORIZ_COMP = 0x03,
  72. _LCM_AUTHORIZ_FAIL = 0x04,
  73. _LCM_WAIT_FOR_PLUG = 0x05,
  74. _LCM_PRE_CHARGE = 0x06,
  75. _LCM_CHARGING = 0x07,
  76. _LCM_COMPLETE = 0x08,
  77. _LCM_FIX = 0x09,
  78. _LCM_EMC = 0x0A,
  79. _LCM_NONE = 0xFF,
  80. };
  81. enum _SELF_TEST_SEQ
  82. {
  83. _STEST_VERSION = 0x00,
  84. _STEST_AC_CONTACTOR = 0x01,
  85. _STEST_PSU_DETECT = 0x02,
  86. _STEST_PSU_CAP = 0x03,
  87. _STEST_FAIL = 0x04,
  88. _STEST_COMPLETE = 0xEE,
  89. };
  90. enum _MODULE_PSU_WORK_STEP
  91. {
  92. INITIAL_START = 0,
  93. GET_PSU_COUNT = 1,
  94. GET_SYS_CAP = 2,
  95. BOOTING_COMPLETE = 3,
  96. _WORK_CHARGING = 10,
  97. _TEST_MODE = 20,
  98. _ALATON_MODE = 21,
  99. _NO_WORKING = 254
  100. };
  101. enum _OFFLINE_POLICY
  102. {
  103. _OFFLINE_POLICY_LOCAL_LIST = 0x00,
  104. _OFFLINE_POLICY_PHIHONG_RFID_TAG = 0x01,
  105. _OFFLINE_POLICY_FREE_CHARGING = 0x02,
  106. _OFFLINE_POLICY_NO_CHARGING = 0x03,
  107. };
  108. enum _MAIN_CHARGING_MODE
  109. {
  110. _MAIN_CHARGING_MODE_NORMAL = 0,
  111. _MAIN_CHARGING_MODE_BOTH = 1,
  112. };
  113. enum _EXTRA_ERR_PROCESS
  114. {
  115. _EXTRA_ERR_PROCESS_NONE = 0,
  116. _EXTRA_ERR_PROCESS_INUVP = 1,
  117. _EXTRA_ERR_PROCESS_INOVP = 2
  118. };
  119. enum _CHARGER_TYPE
  120. {
  121. _CHARGER_TYPE_IEC = 0,
  122. _CHARGER_TYPE_UL = 1,
  123. _CHARGER_TYPE_JARI = 2 //LWADD
  124. };
  125. enum _SYS_WIFI_MODE
  126. {
  127. _SYS_WIFI_MODE_DISABLE = 0,
  128. _SYS_WIFI_MODE_STATION = 1,
  129. _SYS_WIFI_MODE_AP = 2
  130. };
  131. enum _SYS_4G_MODE
  132. {
  133. _SYS_4G_MODE_DISABLE = 0,
  134. _SYS_4G_MODE_ENABLE = 1,
  135. };
  136. enum _LED_INTENSITY_LV
  137. {
  138. _LED_INTENSITY_DARKEST = 0,
  139. _LED_INTENSITY_MEDIUM = 1,
  140. _LED_INTENSITY_BRIGHTEST = 2
  141. };
  142. enum _UPDATE_TYPE
  143. {
  144. _UPDATE_TYPE_CSU_UBOOT = 0x10000001,
  145. _UPDATE_TYPE_CSU_DTB = 0x10000002,
  146. _UPDATE_TYPE_CSU_ZIMAGE = 0x10000003,
  147. _UPDATE_TYPE_CSU_RFILES = 0x10000004,
  148. _UPDATE_TYPE_CSU_CONFIG = 0x10000005,
  149. _UPDATE_TYPE_CCS_UBOOT = 0x10000007,
  150. _UPDATE_TYPE_CCS_DTB = 0x10000008,
  151. _UPDATE_TYPE_CCS_ZIMAGE = 0x10000009,
  152. _UPDATE_TYPE_CCS_RFILES = 0x1000000A,
  153. _UPDATE_TYPE_DCM_ST407 = 0x10000006,
  154. _UPDATE_TYPE_RELAY_CTR = 0x1000000D,
  155. _UPDATE_TYPE_FAN_CTR = 0x1000000E,
  156. _UPDATE_TYPE_AC_WLMOUNT_CTR = 0x20000002,
  157. _UPDATE_TYPE_LED_CTR = 0x10000014,
  158. _UPDATE_TYPE_CHADEMO = 0x1000000B,
  159. _UPDATE_TYPE_GBT = 0x1000000C,
  160. _UPDATE_TYPE_DWIN_LCM = 0x1000000F,
  161. };
  162. enum _CCS_COMM_PROTOCOL
  163. {
  164. _CCS_COMM_V2GMessage_DIN70121 = 0x01,
  165. _CCS_COMM_V2GMessage_ISO15118_2014 = 0x02,
  166. _CCS_COMM_V2GMessage_ISO15118_2018 = 0x03
  167. };
  168. enum _ETHERNET_USAGE
  169. {
  170. _ETHERNET_USAGE_NONE = 0,
  171. _ETHERNET_USAGE_LAN,
  172. _ETHERNET_USAGE_WIFI,
  173. _ETHERNET_USAGE_3G_4g
  174. };
  175. enum _PRIMARY_CHECK_TAG
  176. {
  177. _PRIMARY_CHECK_TAG_AC_CONTACT = 0,
  178. _PRIMARY_CHECK_TAG_MAIN_BREAKER = 1,
  179. };
  180. enum _ALARM_LEVEL_TAG
  181. {
  182. _ALARM_LEVEL_NORMAL = 0,
  183. _ALARM_LEVEL_WARNING = 1,
  184. _ALARM_LEVEL_CRITICAL = 2
  185. };
  186. enum _SYSTEM_TASK_LOST_ITEM
  187. {
  188. _SYSTEM_TASK_LOST_ITEM_MAIN = 1,
  189. _SYSTEM_TASK_LOST_ITEM_EVCOMM = 2,
  190. _SYSTEM_TASK_LOST_ITEM_PSUCOMM = 3,
  191. _SYSTEM_TASK_LOST_ITEM_EVENTLOG = 4,
  192. _SYSTEM_TASK_LOST_ITEM_PRIMARYCOMM = 5,
  193. _SYSTEM_TASK_LOST_ITEM_LCMCONTROL = 6,
  194. _SYSTEM_TASK_LOST_ITEM_INTERCOMM = 7,
  195. _SYSTEM_TASK_LOST_ITEM_SMARTBOX = 8
  196. };
  197. enum _PSU_PROTOCOL_TYPE
  198. {
  199. _PSU_PROTOCOL_INFY = 0,
  200. _PSU_PROTOCOL_UU = 1
  201. };
  202. enum _PSU_USING_TARGET
  203. {
  204. _PSU_USING_TARGET_CON1 = 0x00,
  205. _PSU_USING_TARGET_CON2 = 0x01,
  206. _PSU_USING_TARGET_READY = 0xFF,
  207. };
  208. enum _PSU_POWER_STATUS
  209. {
  210. _PSU_POWER_STATUS_OFF = 0x00,
  211. _PSU_POWER_STATUS_ON = 0x01,
  212. };
  213. enum _PSU_DYNAMIC_FETCH_STEP
  214. {
  215. _PSU_DYNAMIC_FETCH_STEP_NONE = 0x00,
  216. _PSU_DYNAMIC_FETCH_STEP_WAIT = 0x01,
  217. _PSU_DYNAMIC_FETCH_STEP_TG_VOL = 0x02,
  218. _PSU_DYNAMIC_FETCH_STEP_RELAY = 0x03,
  219. _PSU_DYNAMIC_FETCH_STEP_CUR_SHARE = 0x04,
  220. _PSU_DYNAMIC_FETCH_STEP_WATI_FINISH = 0x05,
  221. _PSU_DYNAMIC_FETCH_STEP_FINISH = 0x06,
  222. _PSU_DYNAMIC_FETCH_STEP_ABORT = 0x10,
  223. };
  224. enum _PSU_DYNAMIC_RELEASE_STEP
  225. {
  226. _PSU_DYNAMIC_RELEASE_STEP_NONE = 0x00,
  227. _PSU_DYNAMIC_RELEASE_STEP_WAIT = 0x01,
  228. _PSU_DYNAMIC_RELEASE_STEP_LIMIT = 0x02,
  229. _PSU_DYNAMIC_RELEASE_STEP_CUR_SHARE = 0x03,
  230. _PSU_DYNAMIC_RELEASE_STEP_RELAYOFF = 0x04,
  231. _PSU_DYNAMIC_RELEASE_STEP_WAIT_FINISH = 0x05,
  232. _PSU_DYNAMIC_RELEASE_STEP_FINISH = 0x06,
  233. _PSU_DYNAMIC_RELEASE_STEP_ABORT = 0x10,
  234. };
  235. enum _PSU_GROUP_INDEX
  236. {
  237. _PSU_GROUP_INDEX_0 = 0x00,
  238. _PSU_GROUP_INDEX_1 = 0x01,
  239. _PSU_GROUP_INDEX_2 = 0x02,
  240. _PSU_GROUP_INDEX_3 = 0x03,
  241. };
  242. enum _RELAY_SWITCH_NAME
  243. {
  244. _RELAY_SWITCH_NAME_R3 = 0x00,
  245. _RELAY_SWITCH_NAME_R4 = 0x01,
  246. _RELAY_SWITCH_NAME_R5 = 0x02,
  247. };
  248. struct StructMeter
  249. {
  250. float curMeterValue;
  251. float newMeterValue;
  252. byte isCalculation;
  253. float _chargingValue;
  254. float _curTotalCharging;
  255. };
  256. struct MeterInformation
  257. {
  258. struct StructMeter _meter[DC_CONNECTOR_COUNT];
  259. byte isWorking;
  260. };
  261. //struct ConnectorBalanceInfo
  262. //{
  263. // unsigned int UserPrice; // connector user's user price, unit: 0.01 (dollar / kWh)
  264. // unsigned int TotalCost; // connector user's total cost, unit: 0.01 dollar
  265. // int AccountBalance; // connector user's account balance, unit: 0.01 dollar
  266. //};
  267. //
  268. //struct BalanceInfo
  269. //{
  270. // unsigned int defaultPrice;
  271. // struct ConnectorBalanceInfo connectorBalanceInfo[3]; // Max count : DC * 2 + AC * 1
  272. //};
  273. struct ConnectorBalanceInfo
  274. {
  275. unsigned int UserPrice; // connector user's user price, unit: 0.01 (dollar / kWh)
  276. unsigned int TotalCost; // connector user's total cost, unit: 0.01 dollar
  277. int AccountBalance; // connector user's account balance, unit: 0.01 dollar
  278. };
  279. struct BalanceInfo
  280. {
  281. //CTEP
  282. char defaultPrice[250];
  283. unsigned int defaultPrice_Noodoe;
  284. struct ConnectorBalanceInfo connectorBalanceInfo[3]; // Max count : DC * 2 + AC * 1
  285. };
  286. struct ChademoTryCommunicationKey
  287. {
  288. byte try2CommunicationFlag;
  289. struct timespec detectTimer;
  290. byte elapsedTime;
  291. };
  292. struct GbtVincodeInfo
  293. {
  294. byte packageCount;
  295. int dataLen;
  296. byte data[18];
  297. byte checksum;
  298. };
  299. struct CdfaInfor
  300. {
  301. double _ctepEnergyCost;
  302. double _ctepParkingFee;
  303. double _ctepTotalCost;
  304. // 2.0 Needed
  305. byte _preTimestamp[36];
  306. float _preOutputEnergy;
  307. float _prekWhPrice;
  308. float _prehourPrice;
  309. double _preEnergyCost;
  310. double _preParkingFee;
  311. byte _preQrCodeText[1024];
  312. };
  313. enum _CCS_VERSION_CHECK_TAG
  314. {
  315. _CCS_VERSION_CHECK_TAG_V015S0 = 0,
  316. _CCS_VERSION_CHECK_TAG_V013S0 = 1,
  317. };
  318. enum RELAY_STATUS_ERROR_INDEX
  319. {
  320. RELAY_SMR1_P_STATUS = 0,
  321. RELAY_SMR1_N_STATUS = 1,
  322. RELAY_SMR2_P_STATUS = 2,
  323. RELAY_SMR2_N_STATUS = 3,
  324. RELAY_PARA_P_STATUS = 4,
  325. RELAY_PARA_N_STATUS = 5,
  326. RELAY_PRE_STATUS = 6
  327. };
  328. enum RELAY_STATUS_ERROR_TYPE
  329. {
  330. RELAY_STATUS_ERROR_NONE = 0,
  331. RELAY_STATUS_ERROR_WELDING = 10,
  332. RELAY_STATUS_ERROR_DRIVING = 11,
  333. RELAY_STATUS_ERROR_PARA_WELDING = 12,
  334. RELAY_STATUS_ERROR_PARA_DRIVING = 13,
  335. };
  336. enum START_TRANSATION_STATUS
  337. {
  338. START_TRANSATION_STATUS_WAIT = 0x00,
  339. START_TRANSATION_STATUS_PASS = 0x01,
  340. START_TRANSATION_STATUS_FAIL = 0x02,
  341. };
  342. enum CHARGER_TYPE
  343. {
  344. CHARGER_TYPE_STANDARD = 0x00,
  345. CHARGER_TYPE_SIMPLE = 0X01,
  346. };
  347. enum RESET_4G_STEP
  348. {
  349. RESET_4G_STEP_NONE = 0x00,
  350. RESET_4G_STEP_DELETE_TASK = 0x01,
  351. RESET_4G_STEP_GPIO_HIGH = 0x02,
  352. RESET_4G_STEP_GPIO_LOW_COMP = 0x03
  353. };
  354. enum _CCID_INDEX
  355. {
  356. _CCID_GET = 0x01,
  357. _CCID_CHECK = 0x02,
  358. _CCID_AUTH = 0x03,
  359. _CCID_AUTHCOMP = 0x04,
  360. _CCID_AUTHFAIL = 0x05,
  361. _CCID_NONE = 0xFF,
  362. };
  363. enum _CONNECTOR_STATUS
  364. {
  365. _CONNECTOR_STATUS_NONE = 0x00,
  366. _CONNECTOR_STATUS_WAIT = 0x01,
  367. _CONNECTOR_STATUS_USING = 0x02,
  368. };
  369. enum _SYSTEM_TYPE
  370. {
  371. _SYSTEM_TYPE_SIMPLE = 0x00,
  372. _SYSTEM_TYPE_STANDARD = 0x01,
  373. _SYSTEM_TYPE_SMART = 0x10
  374. };
  375. enum _TPC_PLUG_DETECT_STATUS
  376. {
  377. _TPC_PLUG_DETECT_STATUS_NONE = 0x00,
  378. _TPC_PLUG_DETECT_STATUS_WAIT = 0x01,
  379. };
  380. enum VERIFY_MECHANISM
  381. {
  382. VERIFY_MECHANISM_RFID = 0,
  383. VERIFY_MECHANISM_BAZEL8 = 1,
  384. VERIFY_MECHANISM_ENEGATE = 2
  385. };
  386. enum _LCM_UPGRADE_RESULT
  387. {
  388. _LCM_UPGRADE_RESULT_WAIT = 0,
  389. _LCM_UPGRADE_RESULT_PASS,
  390. _LCM_UPGRADE_RESULT_FAIL,
  391. };
  392. enum _DC_METER_TRANSACTION_ACTION
  393. {
  394. _DC_METER_TRANSACTION_ACTION_NONE = 0,
  395. _DC_METER_TRANSACTION_ACTION_START,
  396. _DC_METER_TRANSACTION_ACTION_STOP,
  397. };
  398. enum _OCMF_INFO_READY_FLAG
  399. {
  400. _OCMF_INFO_READY_NO = 0,
  401. _OCMF_INFO_READY_YES,
  402. _OCMF_INFO_READY_FAIL
  403. };
  404. enum _CDFA_VERSION
  405. {
  406. _CDFA_VERSION_NONE = 0,
  407. _CDFA_VERSION_NOODOE = 1,
  408. _CDFA_VERSION_10 = 2,
  409. _CDFA_VERSION_20 = 3
  410. };
  411. enum _TILT_SENSOR_STEP
  412. {
  413. _TILT_SENSOR_STEP_NONE = 0x00,
  414. _TILT_SENSOR_STEP_PIN_ON = 0x01,
  415. _TILT_SENSOR_STEP_PIN_WAIT = 0x02,
  416. _TILT_SENSOR_STEP_PIN_OFF = 0x03,
  417. _TILT_SENSOR_STEP_PIN_FINISH = 0x04,
  418. };
  419. typedef union
  420. {
  421. unsigned int GunErrMessage;
  422. struct
  423. {
  424. unsigned char ChaGfdTrip:1;
  425. unsigned char ChaUvpFail:1;
  426. unsigned char ChaConnectOTP:1;
  427. unsigned char ChaConnectOVP:1;
  428. unsigned char ChaGfdWarning:1;
  429. unsigned char ChaRelayWeldingFault:1;
  430. unsigned char ChaRelayDrivingFault:1;
  431. unsigned char ChaConnectTempSensorFail:1;
  432. unsigned char CCSGfdTrip :1;
  433. unsigned char CCSUvpFail :1;
  434. unsigned char CCSConnectOTP :1;
  435. unsigned char CCSConnectOVP :1;
  436. unsigned char CCSGfdWarning :1;
  437. unsigned char CCSRelayWeldingFault :1;
  438. unsigned char CCSRelayDrivingFault :1;
  439. unsigned char CCSConnectTempSensorFail :1;
  440. unsigned char GBTGfdTrip :1;
  441. unsigned char GBTUvpFail :1;
  442. unsigned char GBTConnectOTP :1;
  443. unsigned char GBTConnectOVP :1;
  444. unsigned char GBTGfdWarning :1;
  445. unsigned char GBTRelayWeldingFault :1;
  446. unsigned char GBTRelayDrivingFault :1;
  447. unsigned char GBTConnectTempSensorFail :1;
  448. unsigned char ChaConnectUCP :1;
  449. unsigned char CCSConnectUCP :1;
  450. unsigned char GBTConnectUCP :1;
  451. unsigned char ParallelRelayWeldingFault :1;
  452. unsigned char ParallelRelayDrivingFault :1;
  453. unsigned char StopByEvseCondition:1;
  454. unsigned char :2;
  455. }GunBits;
  456. }GunErr;
  457. struct DcCommonInformation
  458. {
  459. // 0 : Standard (only one psu module), 1 : Standard (two psu module), 2 : Smart
  460. byte systemType;
  461. byte halfGroupCount;
  462. byte rebootCount;
  463. // charger type (standard、simple)
  464. byte chargerType;
  465. // minimun output current limit
  466. float minOutputCur;
  467. // check if the guns are of the same type
  468. byte SysGunAreSameType;
  469. // to check the ccs version
  470. byte CcsVersion;
  471. // for relay welding/driving check
  472. char RelayCheckStatus[6];
  473. char GunRelayWeldingOccur[DC_CONNECTOR_COUNT];
  474. char GunRelayDrivingOccur[DC_CONNECTOR_COUNT];
  475. char ParaRelayWeldingOccur;
  476. char ParaRelayDrivingOccur;
  477. byte ConnectorTemp1[DC_CONNECTOR_COUNT]; //0x00: -60¢XC ~ 0xFE: 194
  478. byte ConnectorTemp2[DC_CONNECTOR_COUNT]; //0x00: -60¢XC ~ 0xFE: 194
  479. // to check the ac contact status with psu communication
  480. byte acContactSwitch;
  481. byte psuKeepCommunication;
  482. byte startTransactionFlag[DC_CONNECTOR_COUNT];
  483. int startTransactionID[DC_CONNECTOR_COUNT];
  484. GunErr ConnectErrList[DC_CONNECTOR_COUNT];
  485. byte CcsTypeSaved[DC_CONNECTOR_COUNT];
  486. // Plugit Rack180 : for checking start/stop charging flag
  487. byte StartToChargingFlag[DC_CONNECTOR_COUNT]; // 0 : Stop, 1 : Start by modbus
  488. unsigned short LcmFwVersion;
  489. byte ShowLogoFlag;
  490. // ocpp offline policy
  491. byte _isAllowChargingOnDisconnect;
  492. // Billing Data extend
  493. byte _hour_index; //0 ~ 23
  494. float energy_time_period[DC_CONNECTOR_COUNT][24];
  495. // for OCPP Reserved
  496. byte _reserved_UserId[DC_CONNECTOR_COUNT][32];
  497. byte _reserved_ac_UserId[AC_CONNECTOR_COUNT][32];
  498. // auto run flag
  499. byte _isAutoRunTest;
  500. // chademo try to communicaton flag (for tesla adapter)
  501. struct ChademoTryCommunicationKey _cha_try_communication[DC_CONNECTOR_COUNT];
  502. // if the psu communication timedout, reset the AC contact for 30s
  503. struct timespec _psuComm_time;
  504. // for reset ev board (GBT or Chademo)
  505. byte evBoardResetFlag;
  506. // Use ccid to obtain authorization
  507. byte enObtainAuthorizbyCCID;
  508. byte _CcidAuthProcessStep;
  509. byte _authWithCcidFlag[DC_CONNECTOR_COUNT];
  510. // balance information - for tariff
  511. //struct BalanceInfo balanceInfo;
  512. // balance information - for standard
  513. struct BalanceInfo balanceInfo;
  514. // the hold time before return idle
  515. byte _returnIdleHoldFlag[DC_CONNECTOR_COUNT];
  516. // Date - YYYY/MM/DD
  517. byte _sys_date[11];
  518. // Date - hh/mm
  519. byte _sys_time[8];
  520. // Date - a / p .m
  521. byte _sys_period[6];
  522. // isPsuError
  523. byte _isPsuErrorOccur;
  524. // PSU Protocol
  525. byte _psuProtocol;
  526. //CHAdeMo transfer TPC plug in detect
  527. //LW_tpc plug detect
  528. byte _tpcPlugDetectState;
  529. byte TpcDetectFunction;
  530. // Check if the output voltage is stable
  531. float _outputVoltageSapmle[PSU_GROUP_COUNT][VOLTAGE_SAMPLE_COUNT];
  532. // offline power - LW_OfflinePower
  533. int _offlinePower;
  534. // Verified by GBT Vincode
  535. struct GbtVincodeInfo gbtVincodeInfo[DC_CONNECTOR_COUNT];
  536. // LCM upgrade
  537. byte _upgrade_lcm_flag;
  538. byte _upgrade_lcm_result;
  539. // CTEP : California Type Evaluation Program
  540. byte _useVersion;
  541. struct CdfaInfor cdfaInfor[DC_CONNECTOR_COUNT + AC_CONNECTOR_COUNT];
  542. // Tilt sensor step
  543. byte _tiltSensorStep;
  544. // Ocmf Record resend
  545. int ocmfTridRecord[DC_CONNECTOR_COUNT];
  546. // OCTT
  547. char stopSessionIndex;
  548. char remoteStartAuthFlag[DC_CONNECTOR_COUNT];
  549. byte for_alston_test_1;
  550. byte for_alston_test_2;
  551. byte for_alston_test_3;
  552. // for test smartbox - fetch / release
  553. byte smartFetchRun[DC_CONNECTOR_COUNT];
  554. byte smartReleaseRun[DC_CONNECTOR_COUNT];
  555. };
  556. #endif /* CONFIG_H_ */