#ifndef _MODULE_NAME_PARSING_H_ #define _MODULE_NAME_PARSING_H_ //------------------------------------------------------------------------------ #include //------------------------------------------------------------------------------ #define BADKEY (-1) //------------------------------------------------------------------------------ // model type key //------------------------------------------------------------------------------ #define MODEL_AC (0x01) //Ac EVse Cordset #define MODEL_AW (0x02) //Ac EVse Wallmount #define MODEL_AP (0x03) //Ac EVse Pedestal #define MODEL_AX (0x04) //Ac EVSE Wallmount excellent #define MODEL_DW (0x05) //Dc EVse Wallmount #define MODEL_DS (0x06) //Dc EVse Standalone #define MODEL_DM (0x07) //Dc EVse Moveable (Battery equipped) #define MODEL_DR (0x08) //Dc EVse Power Rack (without cabinet) //#define MODEL_DM (0x09) //Dc EVse Moveable (Movable) #define MODEL_DD (0x0A) //Dc EVse Dispenser #define MODEL_DO (0x0B) //Dc EVse Output power cabinet #define MODEL_DQ (0x0C) //DC EVSE Infy 30KW GB #define MODEL_DK (0x0D) //DC EVSE Power rack #define MODEL_DX (0x0E) //DC EVSE Output Communication Box (Dispenser) #define MODEL_DB (0x0F) //DC to DC EVSE Output power cabinet #define MODEL_DH (0x10) //CSU 3.0 #define MODEL_DL (0x11) //DC EVSE liquid cooling power cabinet //------------------------------------------------------------------------------ // regulation key //------------------------------------------------------------------------------ #define REG_CE (0x01) // CE / European Market #define REG_UL (0x02) // UL / North America Market #define REG_GB (0x03) // GB / China Market #define REG_CNS (0x04) // CNS / Taiwan Market #define REG_JARI (0x05) // JARI / Japan Market #define REG_TR25 (0x06) // TR25 / Singapor Market #define REG_KC (0x07) // KC / Korea Market #define REG_B (0x08) // British / UK Market #define REG_Z (0x09) // EV ready / French Market #define REG_M (0x0A) // E + MID Meter #define REG_P (0x0B) // E + PTB certification #define REG_I (0x0C) // Z + TIC Meter pcb #define REG_F (0x0D) // Z + MID Meter #define REG_L (0x0E) // U + UL meter #define REG_W (0x0F) // CNS / Taiwan manufacture //------------------------------------------------------------------------------ // rate power key //------------------------------------------------------------------------------ #define POWER_20W (0x01) #define POWER_25W (0x02) #define POWER_30W (0x03) #define POWER_60W (0x04) #define POWER_80W (0x05) #define POWER_90W (0x06) #define POWER_120W (0x07) #define POWER_150W (0x08) #define POWER_160W (0x09) #define POWER_180W (0x0A) #define POWER_210W (0x0B) #define POWER_240W (0x0C) #define POWER_270W (0x0D) #define POWER_300W (0x0E) #define POWER_330W (0x0F) #define POWER_360W (0x10) #define POWER_480W (0x11) #define POWER_720W (0x12) //------------------------------------------------------------------------------ // gun type key //------------------------------------------------------------------------------ #define GUN_TYPE_0 (0x00) //none #define GUN_TYPE_1 (0x01) //IEC 62196-2 Type 1/SAE J1772 Plug #define GUN_TYPE_2 (0x02) //IEC 62196-2 Type 1/SAE J1772 Socket #define GUN_TYPE_3 (0x03) //IEC 62196-2 Type 2 Plug #define GUN_TYPE_4 (0x04) //IEC 62196-2 Type 2 Socket #define GUN_TYPE_5 (0x05) //GB/T AC Plug #define GUN_TYPE_6 (0x06) //GB/T AC Socket #define GUN_TYPE_7 (0x07) //CS2 AC Plug #define GUN_TYPE_8 (0x08) //Type E socket #define GUN_TYPE_J (0x09) //CHAdeMO, Japan Market: 125A, else 120A #define GUN_TYPE_U (0x0A) //Natural cooling CCS1 combo #define GUN_TYPE_V (0x0B) //Liquid cooling CCS1 combo #define GUN_TYPE_E (0x0C) //Natural cooling CCS2 combo #define GUN_TYPE_F (0x0D) //Liquid cooling CCS2 combo #define GUN_TYPE_G (0x0E) //GBT DC #define GUN_TYPE_T (0x0F) //Rema CCS1 300A, Boost Mode: 500A #define GUN_TYPE_D (0x10) //Rema CCS2 300A, Boost Mode: 500A #define GUN_TYPE_K (0x11) //CHAdeMO 200A/500V #define GUN_TYPE_M (0x12) //CCS2 80A #define GUN_TYPE_N (0x13) //CCS1 80A #define GUN_TYPE_P (0x14) //Phoenix CCS2 500A Liquid cooling #define GUN_TYPE_R (0x15) //Phoenix CCS1 500A Liquid cooling #define GUN_TYPE_C (0x16) //Reserved for ChaoJi #define GUN_TYPE_W (0x17) //CHAdeMO 200A boost 350A #define GUN_TYPE_B (0x18) //GBT YG PT1000 #define GUN_TYPE_H (0x19) //WOER GBT 500A #define GUN_TYPE_A (0x1A) //WOER GBT 400A #define GUN_TYPE_L (0x1B) //CHAdeMO 80A #define GUN_TYPE_Y (0x1C) //CCS1 150A #define GUN_TYPE_Z (0x1D) //CCS2 150A #define GUN_TYPE_S (0x1E) //CHAdeMO 125A, Boost Mode: 200A #define GUN_TYPE_I (0x1F) //CCS1 300A Boost mode #define GUN_TYPE_Q (0x20) //CCS2 300A Boost mode //------------------------------------------------------------------------------ // rating current parameters //------------------------------------------------------------------------------ #define RC_0A (0) #define RC_60A (600) #define RC_65A (650) #define RC_80A (800) #define RC_120A (1200) #define RC_125A (1250) #define RC_150A (1500) #define RC_200A (2000) #define RC_250A (2500) #define RC_300A (3000) #define RC_400A (4000) #define RC_500A (5000) //------------------------------------------------------------------------------ // maximum voltage parameters //------------------------------------------------------------------------------ #define VOL_CHADEMO (5000) #define VOL_CCS (9500) #define VOL_GBT (7500) #define DC_ONE (7) #define DC_SEC (9) #define AC_ONE (8) //------------------------------------------------------------------------------ // power parameters //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // rating current case //------------------------------------------------------------------------------ //J #define DW_CE_30_J ((uint32_t)((MODEL_DW << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_J)) #define DM_CE_30_J ((uint32_t)((MODEL_DM << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_J)) #define DW_UL_30_J ((uint32_t)((MODEL_DW << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_J)) #define DM_UL_30_J ((uint32_t)((MODEL_DM << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_J)) #define DW_CNS_30_J ((uint32_t)((MODEL_DW << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_J)) #define DM_CNS_30_J ((uint32_t)((MODEL_DM << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_J)) #define DS_CE_60_J ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_60W << 8) | GUN_TYPE_J)) #define DS_CE_90_J ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_90W << 8) | GUN_TYPE_J)) #define DS_CE_120_J ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_120W << 8) | GUN_TYPE_J)) #define DS_CE_150_J ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_150W << 8) | GUN_TYPE_J)) #define DS_CE_180_J ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_J)) #define DS_UL_60_J ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_60W << 8) | GUN_TYPE_J)) #define DS_UL_90_J ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_90W << 8) | GUN_TYPE_J)) #define DS_UL_120_J ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_120W << 8) | GUN_TYPE_J)) #define DS_UL_150_J ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_150W << 8) | GUN_TYPE_J)) #define DS_UL_180_J ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_J)) #define DS_CNS_60_J ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_60W << 8) | GUN_TYPE_J)) #define DS_CNS_90_J ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_90W << 8) | GUN_TYPE_J)) #define DS_CNS_120_J ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_120W << 8) | GUN_TYPE_J)) #define DS_CNS_150_J ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_150W << 8) | GUN_TYPE_J)) #define DS_CNS_180_J ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_J)) #define DS_JARI_60_J ((uint32_t)((MODEL_DS << 24) | (REG_JARI << 16) | (POWER_60W << 8) | GUN_TYPE_J)) #define DS_JARI_90_J ((uint32_t)((MODEL_DS << 24) | (REG_JARI << 16) | (POWER_90W << 8) | GUN_TYPE_J)) #define DS_JARI_120_J ((uint32_t)((MODEL_DS << 24) | (REG_JARI << 16) | (POWER_120W << 8) | GUN_TYPE_J)) #define DS_JARI_150_J ((uint32_t)((MODEL_DS << 24) | (REG_JARI << 16) | (POWER_150W << 8) | GUN_TYPE_J)) #define DS_JARI_180_J ((uint32_t)((MODEL_DS << 24) | (REG_JARI << 16) | (POWER_180W << 8) | GUN_TYPE_J)) //U #define DD_CE_180_U ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_U)) #define DD_CE_360_U ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_U)) #define DW_UL_30_U ((uint32_t)((MODEL_DW << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_U)) #define DM_UL_30_U ((uint32_t)((MODEL_DM << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_U)) #define DW_CNS_30_U ((uint32_t)((MODEL_DW << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_U)) #define DM_CNS_30_U ((uint32_t)((MODEL_DM << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_U)) #define DS_UL_60_U ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_60W << 8) | GUN_TYPE_U)) #define DS_UL_90_U ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_90W << 8) | GUN_TYPE_U)) #define DS_UL_120_U ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_120W << 8) | GUN_TYPE_U)) #define DS_UL_150_U ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_150W << 8) | GUN_TYPE_U)) #define DS_UL_180_U ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_U)) #define DD_UL_180_U ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_U)) #define DD_UL_360_U ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_U)) #define DS_CNS_60_U ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_60W << 8) | GUN_TYPE_U)) #define DS_CNS_90_U ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_90W << 8) | GUN_TYPE_U)) #define DS_CNS_120_U ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_120W << 8) | GUN_TYPE_U)) #define DS_CNS_150_U ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_150W << 8) | GUN_TYPE_U)) #define DS_CNS_180_U ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_U)) #define DD_CNS_180_U ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_U)) #define DD_CNS_360_U ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_U)) //V #define DD_CE_180_V ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_V)) #define DD_UL_180_V ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_V)) #define DD_CNS_180_V ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_V)) #define DD_CE_360_V ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_V)) #define DD_UL_360_V ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_V)) #define DD_CNS_360_V ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_V)) #define DO_CE_180_V ((uint32_t)((MODEL_DO << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_V)) #define DO_UL_180_V ((uint32_t)((MODEL_DO << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_V)) #define DO_CNS_180_V ((uint32_t)((MODEL_DO << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_V)) #define DO_CE_360_V ((uint32_t)((MODEL_DO << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_V)) #define DO_UL_360_V ((uint32_t)((MODEL_DO << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_V)) #define DO_CNS_360_V ((uint32_t)((MODEL_DO << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_V)) //E #define DW_CE_30_E ((uint32_t)((MODEL_DW << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_E)) #define DM_CE_30_E ((uint32_t)((MODEL_DM << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_E)) #define DS_CE_60_E ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_60W << 8) | GUN_TYPE_E)) #define DS_CE_90_E ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_90W << 8) | GUN_TYPE_E)) #define DS_CE_120_E ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_120W << 8) | GUN_TYPE_E)) #define DS_CE_150_E ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_150W << 8) | GUN_TYPE_E)) #define DS_CE_180_E ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_E)) //F #define DD_CE_360_F ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_F)) #define DO_CE_360_F ((uint32_t)((MODEL_DO << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_F)) //G #define DM_CNS_30_G ((uint32_t)((MODEL_DM << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_G)) #define DS_UL_30_G ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_G)) #define DS_CNS_120_G ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_120W << 8) | GUN_TYPE_G)) //T #define DS_CE_90_T ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_90W << 8) | GUN_TYPE_T)) #define DS_CE_120_T ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_120W << 8) | GUN_TYPE_T)) #define DS_CE_150_T ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_150W << 8) | GUN_TYPE_T)) #define DS_CE_180_T ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_T)) #define DD_CE_180_T ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_T)) #define DD_CE_360_T ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_T)) #define DS_UL_90_T ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_90W << 8) | GUN_TYPE_T)) #define DS_UL_120_T ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_120W << 8) | GUN_TYPE_T)) #define DS_UL_150_T ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_150W << 8) | GUN_TYPE_T)) #define DS_UL_180_T ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_T)) #define DD_UL_180_T ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_T)) #define DD_UL_360_T ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_T)) #define DS_CNS_90_T ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_90W << 8) | GUN_TYPE_T)) #define DS_CNS_120_T ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_120W << 8) | GUN_TYPE_T)) #define DS_CNS_150_T ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_150W << 8) | GUN_TYPE_T)) #define DS_CNS_180_T ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_T)) #define DD_CNS_180_T ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_T)) #define DD_CNS_360_T ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_T)) //D #define DS_CE_90_D ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_90W << 8) | GUN_TYPE_D)) #define DS_CE_120_D ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_120W << 8) | GUN_TYPE_D)) #define DS_CE_150_D ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_150W << 8) | GUN_TYPE_D)) #define DS_CE_180_D ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_D)) #define DD_CE_180_D ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_D)) #define DD_CE_360_D ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_D)) #define DS_UL_90_D ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_90W << 8) | GUN_TYPE_D)) #define DS_UL_120_D ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_120W << 8) | GUN_TYPE_D)) #define DS_UL_150_D ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_150W << 8) | GUN_TYPE_D)) #define DS_UL_180_D ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_D)) #define DD_UL_180_D ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_D)) #define DD_UL_360_D ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_D)) #define DS_CNS_90_D ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_90W << 8) | GUN_TYPE_D)) #define DS_CNS_120_D ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_120W << 8) | GUN_TYPE_D)) #define DS_CNS_150_D ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_150W << 8) | GUN_TYPE_D)) #define DS_CNS_180_D ((uint32_t)((MODEL_DS << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_D)) #define DD_CNS_180_D ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_180W << 8) | GUN_TYPE_D)) #define DD_CNS_360_D ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_D)) //K #define DS_CE_90_K ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_90W << 8) | GUN_TYPE_K)) #define DS_CE_120_K ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_120W << 8) | GUN_TYPE_K)) #define DS_CE_150_K ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_150W << 8) | GUN_TYPE_K)) #define DS_CE_180_K ((uint32_t)((MODEL_DS << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_K)) #define DD_CE_180_K ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_180W << 8) | GUN_TYPE_K)) #define DD_CE_360_K ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_K)) #define DS_UL_90_K ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_90W << 8) | GUN_TYPE_K)) #define DS_UL_120_K ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_120W << 8) | GUN_TYPE_K)) #define DS_UL_150_K ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_150W << 8) | GUN_TYPE_K)) #define DS_UL_180_K ((uint32_t)((MODEL_DS << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_K)) #define DD_UL_180_K ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_180W << 8) | GUN_TYPE_K)) #define DD_UL_360_K ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_K)) //M #define DW_CE_30_M ((uint32_t)((MODEL_DW << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_M)) #define DM_CE_30_M ((uint32_t)((MODEL_DM << 24) | (REG_CE << 16) | (POWER_30W << 8) | GUN_TYPE_M)) //N #define DW_UL_30_N ((uint32_t)((MODEL_DW << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_N)) #define DM_UL_30_N ((uint32_t)((MODEL_DM << 24) | (REG_UL << 16) | (POWER_30W << 8) | GUN_TYPE_N)) #define DW_CNS_30_N ((uint32_t)((MODEL_DW << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_N)) #define DM_CNS_30_N ((uint32_t)((MODEL_DM << 24) | (REG_CNS << 16) | (POWER_30W << 8) | GUN_TYPE_N)) //P #define DD_CE_360_P ((uint32_t)((MODEL_DD << 24) | (REG_CE << 16) | (POWER_360W << 8) | GUN_TYPE_P)) //R #define DD_UL_360_R ((uint32_t)((MODEL_DD << 24) | (REG_UL << 16) | (POWER_360W << 8) | GUN_TYPE_R)) #define DD_CNS_360_R ((uint32_t)((MODEL_DD << 24) | (REG_CNS << 16) | (POWER_360W << 8) | GUN_TYPE_R)) //------------------------------------------------------------------------------ typedef enum EnGunType { Gun_Type_Chademo = 0, Gun_Type_CCS_2, Gun_Type_GB, Gun_Type_AC, } GunType; typedef struct StSymStruct { char *key; int val; } SymStruct; typedef struct StGunTypeAndVolInfo { uint8_t GunType; uint16_t GunVoltage; } GunTypeAndVolInfo; typedef struct StRateCurInfo { uint8_t GunType; uint16_t Current; //* 0.1A uint16_t Voltage; //* 0.1V uint8_t Reserved[3]; } RateCurInfo; typedef struct StParsingRatingCur { uint8_t GetGunCount; uint16_t Power; uint32_t ratedPower; // unit: W RateCurInfo ParsingInfo[3]; uint8_t Reserved; } ParsingRatedCur; //------------------------------------------------------------------------------ int RatedCurrentParsing(char *pModuleName, void *pDestStruct); void TestParsingRatingCurrent(void); #endif /* _MODULE_NAME_PARSING_H_ */