9ceb218f80
Co-authored-by: Cursor <cursoragent@cursor.com>
264 lines
13 KiB
C
264 lines
13 KiB
C
|
||
#ifndef SYSTEM_PARACFG_H
|
||
#define SYSTEM_PARACFG_H
|
||
|
||
#ifdef __cplusplus /*C++编译环境下兼容C语言*/
|
||
extern "C" {
|
||
#endif
|
||
|
||
/*------ Exported includes(头文件) ----------------------*/
|
||
#include <stdint.h>
|
||
#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 */
|