#ifndef SYSTEM_PARACFG_H #define SYSTEM_PARACFG_H #ifdef __cplusplus /*C++编译环境下兼容C语言*/ extern "C" { #endif /*------ Exported includes(头文件) ----------------------*/ #include #include "publicdata/public_define.h" #include "publicdata/publicdata.h" /*------ Exported macro(宏定义) -------------------------*/ /*------ Exported struct(结构体定义) --------------------*/ /* 参数类型枚举(节省内存) */ typedef enum { PARAM_TYPE_STRING = 0, /* 字符串类型 */ PARAM_TYPE_UINT8 = 1, /* uint8类型 */ PARAM_TYPE_UINT16 = 2, /* uint16类型 */ PARAM_TYPE_UINT32 = 3, /* uint32类型 */ PARAM_TYPE_FLOAT = 4, /* 浮点类型 */ PARAM_TYPE_INT = 5, /* 整数类型 */ PARAM_TYPE_ARRAY = 6, /* 数组类型(字节数组) */ PARAM_TYPE_BIT = 7, /* 位字段类型 */ } param_data_type_t; /* 基本参数枚举 */ typedef enum { PARAM_BASIC_GUN_COUNT, /* 枪数量 */ PARAM_BASIC_RATE_POW, /* 额定功率 */ PARAM_BASIC_MAX_VOLT, /* 最大电压 */ PARAM_BASIC_MAX_CUR, /* 最大电流 */ PARAM_BASIC_PWD, /* 维护密码 */ PARAM_BASIC_PILE_TYPE, /* 桩类型 */ PARAM_BASIC_TERMINAL_0, /* 终端地址0 */ PARAM_BASIC_TERMINAL_1, /* 终端地址1 */ PARAM_BASIC_LED_TYPE, /* 灯板类型 */ PARAM_BASIC_TIME_ZONE, /* 时区设置*/ PARAM_BASIC_THRESHOLD_GUN_TEMP, /* 枪温阈值 */ PARAM_BASIC_SOC_LIMIT, /* SOC阈值 */ PARAM_BASIC_MIN_VOLT, /* 最小电压 */ PARAM_BASIC_TRICKLE_LIMIT, /* 涓流充电停机阈值 */ PARAM_BASIC_MDU_NUM, /* 充电模块数量 */ PARAM_BASIC_MDU_TYPE, /* 模块类型 */ PARAM_BASIC_MDU_TEMP_FLAG, /* 模块温度获取使能 */ PARAM_BASIC_MDU_RATED_POW, /* 模块额定功率 */ PARAM_BASIC_MDU_MAX_VOL, /* 模块最大电压 */ PARAM_BASIC_MDU_MAX_CUR, /* 模块最大电流 */ PARAM_BASIC_GUN_TYPE_0, /* 枪1类型 0欧标枪 1国标枪 */ PARAM_BASIC_GUN_TYPE_1, /* 枪2类型 0欧标枪 1国标枪 */ PARAM_BASIC_GUN_POWER_LIMIT_0, /* 枪1充电功率限制 0表示不限制 单位kW */ PARAM_BASIC_GUN_POWER_LIMIT_1, /* 枪2充电功率限制 0表示不限制 单位kW */ PARAM_BASIC_PILE_POWER_LIMIT, /* 整桩功率限制 0表示不限制 单位kW */ PARAM_BASIC_COUNT /* 基本参数数量 */ } param_basic_enum_t; /* 网络参数枚举 */ typedef enum { PARAM_NETWORK_ETH_IP = 0, /* IP地址 */ PARAM_NETWORK_ETH_GATE, /* 网关 */ PARAM_NETWORK_ETH_MASK, /* 子网掩码 */ PARAM_NETWORK_ETH_MAC, /* MAC地址 */ PARAM_NETWORK_SERVER_A_DOMAIN, /* 服务器A域名 */ PARAM_NETWORK_SERVER_B_DOMAIN, /* 服务器B域名 */ PARAM_NETWORK_PLAT_A_PILENUM, /* 平台1桩编号 */ PARAM_NETWORK_PLAT_B_PILENUM, /* 平台2桩编号 */ PARAM_NETWORK_NET_COMM_PARA, /* 网络连接参数(整体)- 保留用于兼容性 */ /* U_NET_COMM_PARA 位字段参数 */ PARAM_NETWORK_PROGRAM_TYPE, /* 程序类型(2位) */ PARAM_NETWORK_NET_A_TYPE, /* 平台1联网方式(2位) */ PARAM_NETWORK_NET_B_TYPE, /* 平台2联网方式(2位) */ PARAM_NETWORK_PLAT_A_EN, /* 平台1使能(2位) */ PARAM_NETWORK_PLAT_B_EN, /* 平台2使能(2位) */ PARAM_NETWORK_PLAT_A_TYPE, /* 平台1类型(4位) */ PARAM_NETWORK_PLAT_B_TYPE, /* 平台2类型(4位) */ PARAM_NETWORK_SIM_ANP_TYPE, /* SIM卡APN类型(2位) */ PARAM_NETWORK_COUNT /* 网络参数数量 */ } param_network_enum_t; /* 电表参数枚举 */ typedef enum { PARAM_METER_METER_NUM = 0, /* 电表数量 */ PARAM_METER_0_IN_GUN, /* 电表0归属枪号 */ PARAM_METER_0_HIGH_PREC, /* 电表0高精度支持 */ PARAM_METER_0_IS_AC, /* 电表0是否为交流表 */ PARAM_METER_0_ADDR, /* 电表0地址 */ PARAM_METER_1_IN_GUN, /* 电表1归属枪号 */ PARAM_METER_1_HIGH_PREC, /* 电表1高精度支持 */ PARAM_METER_1_IS_AC, /* 电表1是否为交流表 */ PARAM_METER_1_ADDR, /* 电表1地址 */ PARAM_METER_2_IN_GUN, /* 电表2归属枪号 */ PARAM_METER_2_HIGH_PREC, /* 电表2高精度支持 */ PARAM_METER_2_IS_AC, /* 电表2是否为交流表 */ PARAM_METER_2_ADDR, /* 电表2地址 */ PARAM_METER_3_IN_GUN, /* 电表3归属枪号 */ PARAM_METER_3_HIGH_PREC, /* 电表3高精度支持 */ PARAM_METER_3_IS_AC, /* 电表3是否为交流表 */ PARAM_METER_3_ADDR, /* 电表3地址 */ PARAM_METER_COUNT /* 电表参数数量 */ } param_meter_enum_t; /* 使能参数枚举 */ typedef enum { PARAM_ENABLE_DOOR_ENABLE = 0, /* 门禁使能(2位) */ PARAM_ENABLE_GUN_LOCK_ENA, /* 枪锁使能(2位) */ PARAM_ENABLE_GUN_LOCK_NEG, /* 枪锁信号取反(2位) */ PARAM_ENABLE_AC_CONTACT_ENA, /* 交流接触器使能(2位) */ PARAM_ENABLE_GUN_HOMING, /* 枪归位信号有无(2位) */ PARAM_ENABLE_GB_ENABLE, /* 国标使能(2位) */ PARAM_ENABLE_LCD_ENABLE, /* 液晶使能(2位) */ PARAM_ENABLE_AUX_POWER, /* 辅助电压返回状态使能(2位) */ PARAM_ENABLE_RELIEF_EN, /* 泄放使能(2位) */ PARAM_ENABLE_YE_LEN_EN, /* 液冷通讯使能(2位) */ PARAM_ENABLE_AB_COMM_EN, /* 主副班通讯使能(2位) */ PARAM_ENABLE_SCREEN_SAVER_EN, /* UI屏保显示使能(2位) */ PARAM_ENABLE_PLUG_EN, /* 即插即充使能(2位) */ PARAM_ENABLE_UI_ENGLISH_EN, /* UI界面英语使能(2位) */ PARAM_ENABLE_DC_CONTACT_EN, /* 直流接触器使能(2位) */ PARAM_ENABLE_GUN_FAN_EN, /* 枪风扇使能(2位) */ PARAM_ENABLE_MDU_ZERO_POW_EN, /* 零功控制使能(2位) */ PARAM_ENABLE_LED_GB_EN, /* LED国标使能(2位) */ PARAM_ENABLE_COUNT /* 使能参数数量 */ } param_enable_enum_t; /* 费率参数枚举 */ typedef enum { PARAM_FEE_MODEL_NO = 0, /* 计费模型编号 */ PARAM_FEE_FEE_CNT, /* 费率条数 */ PARAM_FEE_TYPE_0_RATE, /* 费率类型0费率 */ PARAM_FEE_TYPE_0_SERVICE, /* 费率类型0服务费 */ PARAM_FEE_TYPE_1_RATE, /* 费率类型1费率 */ PARAM_FEE_TYPE_1_SERVICE, /* 费率类型1服务费 */ PARAM_FEE_TYPE_2_RATE, /* 费率类型2费率 */ PARAM_FEE_TYPE_2_SERVICE, /* 费率类型2服务费 */ PARAM_FEE_TYPE_3_RATE, /* 费率类型3费率 */ PARAM_FEE_TYPE_3_SERVICE, /* 费率类型3服务费 */ PARAM_FEE_TYPE_4_RATE, /* 费率类型4费率 */ PARAM_FEE_TYPE_4_SERVICE, /* 费率类型4服务费 */ PARAM_FEE_TYPE_5_RATE, /* 费率类型5费率 */ PARAM_FEE_TYPE_5_SERVICE, /* 费率类型5服务费 */ PARAM_FEE_TYPE_6_RATE, /* 费率类型6费率 */ PARAM_FEE_TYPE_6_SERVICE, /* 费率类型6服务费 */ PARAM_FEE_TYPE_7_RATE, /* 费率类型7费率 */ PARAM_FEE_TYPE_7_SERVICE, /* 费率类型7服务费 */ PARAM_FEE_TYPE_8_RATE, /* 费率类型8费率 */ PARAM_FEE_TYPE_8_SERVICE, /* 费率类型8服务费 */ PARAM_FEE_TYPE_9_RATE, /* 费率类型9费率 */ PARAM_FEE_TYPE_9_SERVICE, /* 费率类型9服务费 */ PARAM_FEE_TYPE_10_RATE, /* 费率类型10费率 */ PARAM_FEE_TYPE_10_SERVICE, /* 费率类型10服务费 */ PARAM_FEE_TYPE_11_RATE, /* 费率类型11费率 */ PARAM_FEE_TYPE_11_SERVICE, /* 费率类型11服务费 */ PARAM_FEE_TYPE_12_RATE, /* 费率类型12费率 */ PARAM_FEE_TYPE_12_SERVICE, /* 费率类型12服务费 */ PARAM_FEE_TYPE_13_RATE, /* 费率类型13费率 */ PARAM_FEE_TYPE_13_SERVICE, /* 费率类型13服务费 */ PARAM_FEE_TYPE_14_RATE, /* 费率类型14费率 */ PARAM_FEE_TYPE_14_SERVICE, /* 费率类型14服务费 */ PARAM_FEE_TYPE_15_RATE, /* 费率类型15费率 */ PARAM_FEE_TYPE_15_SERVICE, /* 费率类型15服务费 */ PARAM_FEE_TYPE_16_RATE, /* 费率类型16费率 */ PARAM_FEE_TYPE_16_SERVICE, /* 费率类型16服务费 */ PARAM_FEE_TYPE_17_RATE, /* 费率类型17费率 */ PARAM_FEE_TYPE_17_SERVICE, /* 费率类型17服务费 */ PARAM_FEE_TYPE_18_RATE, /* 费率类型18费率 */ PARAM_FEE_TYPE_18_SERVICE, /* 费率类型18服务费 */ PARAM_FEE_TYPE_19_RATE, /* 费率类型19费率 */ PARAM_FEE_TYPE_19_SERVICE, /* 费率类型19服务费 */ PARAM_FEE_TYPE_20_RATE, /* 费率类型20费率 */ PARAM_FEE_TYPE_20_SERVICE, /* 费率类型20服务费 */ PARAM_FEE_TYPE_21_RATE, /* 费率类型21费率 */ PARAM_FEE_TYPE_21_SERVICE, /* 费率类型21服务费 */ PARAM_FEE_TYPE_22_RATE, /* 费率类型22费率 */ PARAM_FEE_TYPE_22_SERVICE, /* 费率类型22服务费 */ PARAM_FEE_TYPE_23_RATE, /* 费率类型23费率 */ PARAM_FEE_TYPE_23_SERVICE, /* 费率类型23服务费 */ PARAM_FEE_TYPE_24_RATE, /* 费率类型24费率 */ PARAM_FEE_TYPE_24_SERVICE, /* 费率类型24服务费 */ PARAM_FEE_TYPE_25_RATE, /* 费率类型25费率 */ PARAM_FEE_TYPE_25_SERVICE, /* 费率类型25服务费 */ PARAM_FEE_TYPE_26_RATE, /* 费率类型26费率 */ PARAM_FEE_TYPE_26_SERVICE, /* 费率类型26服务费 */ PARAM_FEE_TYPE_27_RATE, /* 费率类型27费率 */ PARAM_FEE_TYPE_27_SERVICE, /* 费率类型27服务费 */ PARAM_FEE_TYPE_28_RATE, /* 费率类型28费率 */ PARAM_FEE_TYPE_28_SERVICE, /* 费率类型28服务费 */ PARAM_FEE_TYPE_29_RATE, /* 费率类型29费率 */ PARAM_FEE_TYPE_29_SERVICE, /* 费率类型29服务费 */ PARAM_FEE_TYPE_1_24, /* 时段0费率类型 */ PARAM_FEE_TYPE_25_48, /* 时段0费率类型 */ PARAM_FEE_TYPE_49_72, /* 时段0费率类型 */ PARAM_FEE_TYPE_73_96, /* 时段0费率类型 */ PARAM_FEE_COUNT /* 费率参数数量 */ } param_fee_enum_t; /* SDK参数枚举 */ typedef enum { PARAM_SDK_PRODUCT_KEY = 0, /* 产品秘钥 */ PARAM_SDK_DEVICE_NAME, /* 资产码 */ PARAM_SDK_DEVICE_SECRET, /* 设备密钥 */ PARAM_SDK_DEVICE_REG_CODE, /* 注册码 */ PARAM_SDK_DEVICE_UID, /* 出厂编码 */ PARAM_SDK_FIRMWARE_VERSION, /* 固件版本信息 */ PARAM_SDK_COUNT /* SDK参数数量 */ } param_sdk_enum_t; /* 二维码参数枚举 */ typedef enum { PARAM_QRCODE_GUN1 = 0, /* 枪1二维码 */ PARAM_QRCODE_GUN2, /* 枪2二维码 */ PARAM_QRCODE_CUSTOM_VER, /* 自定义版本号 */ PARAM_QRCODE_APN_STR, /* 4G apn */ PARAM_QRCODE_OCPP_AUTH_KEY, /* OCPP鉴权密钥 */ PARAM_QRCODE_COUNT /* 二维码参数数量 */ } param_qrcode_enum_t; /* 参数映射表项结构 */ typedef struct { uint16_t param_id; /* 参数ID(枚举值) */ const char *param_name; /* 参数名称 */ param_data_type_t data_type; /* 参数数据类型 */ void *data_addr; /* 参数数据地址 */ uint16_t data_size; /* 参数数据大小 */ const char *decs; /* 参数描述(可为NULL) */ } param_map_item_t; /*------ Exported variables(变量定义) -------------------*/ /*------ Exported function prototypes (函数声明) -------*/ #if TCP_DEBUG_EN const param_map_item_t *param_get_basic_map(void); uint16_t param_get_basic_map_size(void); const param_map_item_t *param_get_network_map(void); uint16_t param_get_network_map_size(void); const param_map_item_t *param_get_meter_map(void); uint16_t param_get_meter_map_size(void); const param_map_item_t *param_get_enable_map(void); uint16_t param_get_enable_map_size(void); const param_map_item_t *param_get_fee_map(void); uint16_t param_get_fee_map_size(void); const param_map_item_t *param_get_sdk_map(void); uint16_t param_get_sdk_map_size(void); const param_map_item_t *param_get_qrcode_map(void); uint16_t param_get_qrcode_map_size(void); const char *param_type_to_string(param_data_type_t type); uint32_t param_get_enable_bit_value(uint16_t param_id, uint8_t op_flag, uint32_t value); uint32_t param_get_netcomm_bit_value(uint16_t param_id, uint8_t op_flag, uint32_t value); int param_get_value_as_string(const param_map_item_t *item, char *buffer, uint32_t size); int param_set_value_from_string(const param_map_item_t *item, const char *value_str); const param_map_item_t *param_get_map_item_by_id(uint16_t param_id); #endif /* TCP_DEBUG_EN */ #ifdef __cplusplus } #endif #endif /* SYSTEM_PARACFG_H */