Initial commit: CCU621_M firmware project with BLE debug link support.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,250 @@
|
||||
#ifndef _SHARE_DATA_STRUCT_H_
|
||||
#define _SHARE_DATA_STRUCT_H_
|
||||
|
||||
#include "publicdata/type.h"
|
||||
#include "publicdata/public_define.h"
|
||||
/*
|
||||
缩写 全称 翻译
|
||||
volt voltage 电压
|
||||
curr current 电流/现在
|
||||
res resistance 电阻
|
||||
batt battery 电池
|
||||
thr threshold 阀值
|
||||
in input 输入
|
||||
out output 输出
|
||||
insu insulation 绝缘
|
||||
num number 数量
|
||||
cfg configure 配置
|
||||
def default 默认
|
||||
comm commucation 通信
|
||||
mgmt management 管理
|
||||
lang language 语言
|
||||
ctl control 控制
|
||||
bms battery monitor system 电池管理系统
|
||||
dur duration 持续
|
||||
comp compensation 补偿
|
||||
dis discharge 放电
|
||||
pos positive 正
|
||||
neg negative 负
|
||||
rt real time 实时
|
||||
freq frequency 频率
|
||||
pf power factor 功率因数
|
||||
temp temperature 温度
|
||||
*/
|
||||
//#pragma pack(8)
|
||||
#pragma pack(push,8)
|
||||
#define CFG_DATA_VERSION_L 2 //配置数据区版本的低字节
|
||||
#define CFG_DATA_VERSION_H 0 //配置数据区版本的高字节
|
||||
|
||||
#define FEE_MODEL_CNT 96 //计费段数量-新协议
|
||||
#define FEE_MODEL_TYPE_CNT 30 //费率类型 默认最大费率种类 30
|
||||
|
||||
#define IOTX_FIRMWARE_VER_LEN (64) //sdk变量长度结构体
|
||||
#define IOTX_PRODUCT_KEY_LEN (20)
|
||||
#define IOTX_DEVICE_UID_LEN (16)
|
||||
#define IOTX_DEVICE_REG_CODE_LEN (64)
|
||||
#define IOTX_DEVICE_NAME_LEN (32)
|
||||
#define IOTX_DEVICE_SECRET_LEN (64)
|
||||
|
||||
/* 网络连接方式 */
|
||||
typedef enum
|
||||
{
|
||||
NETWORK_GPRS = 0x00, //4G网络
|
||||
NETWORK_ETHER, //以太网
|
||||
}NETWORK_TYPE_E; //通信网络类型
|
||||
|
||||
typedef struct //费率存储结构体
|
||||
{
|
||||
U32_T u32_rate; //小数点后5位
|
||||
U32_T u32_sevice;
|
||||
}S_FEE_DATA;
|
||||
typedef struct
|
||||
{
|
||||
U8_T u8_model_no[17]; //计费模型编号
|
||||
U8_T u8_feeCnt; //费率条数
|
||||
|
||||
S_FEE_DATA s_fee_data[FEE_MODEL_TYPE_CNT]; //费率类型
|
||||
U8_T u8_fee_type[FEE_MODEL_CNT]; //默认96个时段 费率类型12345.。。
|
||||
}S_FEE_MODEL;
|
||||
|
||||
typedef struct //SDK存储结构体
|
||||
{
|
||||
//存储三元组写入的数据
|
||||
char product_key[IOTX_PRODUCT_KEY_LEN + 1]; //产品秘钥
|
||||
char device_name[IOTX_DEVICE_NAME_LEN + 1]; //资产码
|
||||
char device_secret[IOTX_DEVICE_SECRET_LEN + 1]; //设备密钥
|
||||
|
||||
char device_reg_code[IOTX_DEVICE_REG_CODE_LEN + 1]; //注册码
|
||||
char device_uid[IOTX_DEVICE_REG_CODE_LEN + 1]; //出厂编码
|
||||
|
||||
char firmware_version[IOTX_FIRMWARE_VER_LEN]; //固件版本信息
|
||||
}S_SDK_DATA;
|
||||
|
||||
typedef union //使能标志位
|
||||
{
|
||||
U64_T u64_enable_flag;
|
||||
struct
|
||||
{
|
||||
U64_T bit_doorEnable :2; //门禁使能
|
||||
U64_T bit_gunLockEna :2; // 枪锁使能
|
||||
U64_T bit_gunLockNeg :2; // 枪锁信号取反
|
||||
U64_T bit_AcContactEna :2; // 交流接触器使能
|
||||
U64_T bit_gunHoming :2; // 枪归位信号有无
|
||||
U64_T bit_GBEnable :2; // 国标使能(0:兼容 1:国标)
|
||||
U64_T bit_LcdEnable :2; // 液晶使能,0不使能,1使能
|
||||
U64_T bit_auxpower :2; // 辅助电压返回状态使能
|
||||
U64_T bit_reliefen :2; // 泄放使能
|
||||
U64_T bit_YeLenEn :2; // 液冷通讯使能
|
||||
U64_T bit_ABcommEn :2; // 主副班通讯使能 0 1使能且为1枪 2使能且为2枪
|
||||
U64_T bit_ScreenSaverEn :2; // UI界面屏保使能 0不使能 1使能 2使能轮播
|
||||
U64_T bit_PlugEn :2; //即插即充使能
|
||||
U64_T bit_uiEnglishEn :2; //UI界面 英语使能 0 中文 1英文 2俄文
|
||||
U64_T bit_dcBusEn :2; // 直流母联接触器使能 0 不使能 1使能
|
||||
U64_T bit_gunFanEn :2; // 枪风扇使能 0 不使能 1使能
|
||||
U64_T bit_mduzeropowEn :2; // 零功控制方式 0普通控制 1脉冲控制(80kW模块)
|
||||
U64_T bit_ledGbEn :2; //国标指示灯使能 0 待机黄,充电绿,故障红;1 待机绿,充电红,故障黄
|
||||
U64_T bit_reserve :(64-18*2); // 预留 - 新增数据内容 注意修改 预留字节数量
|
||||
}bit_enable;
|
||||
}U_ENABLE_FALG;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
one_pile_gun_1 = 0x00, //一体一枪
|
||||
one_pile_gun_2, //一体双枪
|
||||
split_gun_1, //分体一枪
|
||||
split_gun_2, //分体双枪
|
||||
}PILE_TYPE; //桩类型
|
||||
|
||||
typedef enum
|
||||
{
|
||||
E_LED_TYPE_NULL =0 , //无指示灯
|
||||
E_LED_TYPE_1, //指示灯类型1 大功率灯板,使用高低电平组成编码-控制灯的动作方式
|
||||
E_LED_TYPE_2, //指示灯类型2 灯条,不流水显示
|
||||
E_LED_TYPE_3, //指示灯类型3 灯条,流水显示
|
||||
E_LED_TYPE_4, //指示灯类型4 欧标灯板 普通方案
|
||||
E_LED_TYPE_5, //指示灯类型5 欧标灯板 恩普方案
|
||||
}E_LED_TYPE;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
GUN_TYPE_EU = 0, //欧标枪
|
||||
GUN_TYPE_GB = 1, //国标枪
|
||||
}GUN_TYPE_ENUM;
|
||||
|
||||
|
||||
/******************************** 系统配置参数定义 *********************************/
|
||||
typedef struct
|
||||
{
|
||||
U8_T u8_meter_num; //电表数量
|
||||
|
||||
struct
|
||||
{
|
||||
U8_T u8_inGun; //归属枪号 0无效,不存在; 1A枪 2B枪
|
||||
U8_T u8_highPrec; //是否支持高精度 0 不支持 1支持
|
||||
U8_T u8_isAC; //是否为交流电表 0直流表 1交流表
|
||||
|
||||
U8_T u8_meterAddr[6]; //电表地址
|
||||
}s_data[METER_MAX_CNT]; //最大4个电表 -- 默认顺序,先A枪再B枪,先直流表再交流表 ,即
|
||||
}S_MEMET_PARA;
|
||||
|
||||
typedef union
|
||||
{
|
||||
U32_T u32_data;
|
||||
struct
|
||||
{
|
||||
U32_T bit_program_type :2; //程序类型 0社会 1sdk 2ocpp
|
||||
U32_T bit_netA_type :2; //平台1联网方式 0:以太网 1:GPRS
|
||||
U32_T bit_netB_type :2; //平台2联网方式 0:以太网 1:GPRS
|
||||
U32_T bit_platA_en :2; //平台1使能 默认第三方平台 0不使能 1使能
|
||||
U32_T bit_platB_en :2; //平台2使能 默认积成平台 0不使能 1使能
|
||||
U32_T bit_platA_type :4; //平台1类型 0云快充 1...
|
||||
U32_T bit_platB_type :4; //平台1类型 默认积成平台 --非SDK平台时有效,SDK平台时 仅连接SDK
|
||||
U32_T bit_sim_anp_type :2; //SIM卡 APN类型- 0公网卡 1国网移动 2国网联通 3国网电信
|
||||
U32_T bit_res :12; //功能预留
|
||||
}bits;
|
||||
}U_NET_COMM_PARA; //网路连接参数 用于区分接入平台信息
|
||||
|
||||
typedef struct
|
||||
{
|
||||
U8_T u8_eth_ip[4]; //IP地址, 默认192.168.1.140
|
||||
U8_T u8_eth_gate[4]; //网关, 默认192.168.1.254
|
||||
U8_T u8_eth_mask[4]; //地址掩码, 默认255.255.255.0
|
||||
U8_T u8_eth_mac[6]; //MAC地址, 默认00:0E:EA:03:A5:01
|
||||
|
||||
U8_T u8_serverA_domain_name[NUM_100]; //服务器A域名(IP+端口号) - 最大字符64字节 注意 域名和ip之间使用,分隔 例如39.104.96.26,8897
|
||||
U8_T u8_serverB_domain_name[NUM_100]; //服务器B域名(IP+端口号) - 最大字符64字节
|
||||
U8_T u8_platA_pileNum[NUM_32]; //平台1桩编号
|
||||
U8_T u8_platB_pileNum[NUM_32]; //平台2桩编号
|
||||
char apn_str[NUM_32]; //apn设置
|
||||
U_NET_COMM_PARA u_net_comm_para; //网路联网参数
|
||||
}S_NET_CFG_T;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
//充电桩资产参数配置
|
||||
U16_T u16_pile_power_limit; //整桩限制功率 kW
|
||||
U16_T u16_reserve; //预留
|
||||
U16_T u16_reserve1; //预留
|
||||
U16_T u16_reserve2; //预留
|
||||
U16_T u16_reserve3; //预留
|
||||
U16_T u16_reserve4; //预留
|
||||
U8_T u8_reserve[12]; //预留
|
||||
U8_T u8_pwd[NUM_16]; //维护密码,字符串类型-用户使用
|
||||
|
||||
U8_T u8_gunCnt; //枪号
|
||||
PILE_TYPE u8_pile_type; //指一个终端几把枪!!!!!
|
||||
U8_T u8_terminal[GUN_MAX_CNT]; //终端地址,0是一体机,1~*是分体机号,一拖几
|
||||
U8_T u8_gun_type[GUN_MAX_CNT]; //枪类型 0欧标枪 1国标枪
|
||||
E_LED_TYPE e_ledType; //灯板类型, 0流水灯 1液冷6灯条方案
|
||||
TIMEZONE_ENUM e_timeZone; //系统时区 0-25 默认20 东八区
|
||||
|
||||
U8_T u8_threshold_gunTemp; //枪温阈值 90
|
||||
U8_T u8_soc_limit; //SOC阈值
|
||||
U8_T u8_gun_power_limit[GUN_MAX_CNT];//枪充电功率限制 0表示不限制 单位kW
|
||||
U16_T u16_ratePow; //额定功率 kW
|
||||
U16_T u16_max_volt; //充电机的调压上值/电压上限 精度 0.1
|
||||
U16_T u16_min_volt; //充电机的调压下值/电压下限 精度 0.1
|
||||
U16_T u16_trickle_limit; //涓流充电停机阈值
|
||||
|
||||
U16_T u16_max_cur; //最大电流 250A 精度 0.1
|
||||
|
||||
//整流模块参数 --
|
||||
U8_T u8_mdu_num; //充电模块数量
|
||||
U8_T u8_MduType; //模块类型
|
||||
U8_T u8_mduTemp_flag; //模块温度获取使能
|
||||
U8_T u8_mdu_rated_pow; //模块额定功率 kw
|
||||
U16_T u16_mdu_max_vol; //模块最大电压 0.1V
|
||||
U16_T u16_mdu_max_cur; //模块最大电流 0.1A
|
||||
|
||||
//网络参数配置
|
||||
S_NET_CFG_T s_net_cfg;
|
||||
|
||||
//电表数据
|
||||
S_MEMET_PARA s_memter;
|
||||
|
||||
//使能参数
|
||||
U_ENABLE_FALG u_enable;
|
||||
}SYS_FIX_CFG_T;
|
||||
|
||||
/* 可变配置数据,后续在这个结构中添加配置数据 */
|
||||
typedef struct
|
||||
{
|
||||
S_FEE_MODEL s_fee_model; //费率类型 - sdk新协议96时段
|
||||
S_SDK_DATA s_sdk_data; //sdk参数
|
||||
|
||||
char QRDisplay[GUN_MAX_CNT][150]; //二维码
|
||||
|
||||
char custom_ver[NUM_64]; //自定义版本号字符串 例如 V1.0.0 用于显示
|
||||
|
||||
char apn_str[NUM_32]; //apn设置
|
||||
char ocpp_auth_key[NUM_32]; //OCPP鉴权密钥(AuthorizationKey)
|
||||
}SYS_VAR_CFG_T;
|
||||
/************************* 共享数据定义 ***************************************/
|
||||
typedef struct
|
||||
{
|
||||
SYS_FIX_CFG_T t_sys_fix_cfg; //固定配置数据,此结构在最初确定后,不能再添加和减少变量
|
||||
SYS_VAR_CFG_T t_sys_var_cfg; //可变配置数据,此结构可后续改变其中的变量
|
||||
}SHARE_DATA_T;
|
||||
|
||||
#pragma pack(pop) // 恢复之前的对齐状态
|
||||
#endif
|
||||
Reference in New Issue
Block a user