9ceb218f80
Co-authored-by: Cursor <cursoragent@cursor.com>
90 lines
3.0 KiB
C
90 lines
3.0 KiB
C
|
|
#ifndef BS_GWSDK_CTRL_H
|
|
#define BS_GWSDK_CTRL_H
|
|
|
|
|
|
|
|
#ifdef __cplusplus /*C++编译环境下兼容C语言*/
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*------ Exported includes(头文件) ----------------------*/
|
|
#include "main.h"
|
|
#include "publicdata/type.h"
|
|
|
|
#if (BS_GWSDK_EN)
|
|
/*------ Exported macro(宏定义) -------------------------*/
|
|
#define GWSDK_TIMERCNT_NUM (3 + 5*GUN_MAX_CNT) //计时计数 -每一个需主动上送的报文总数
|
|
|
|
/*------ Exported struct(结构体定义) --------------------*/
|
|
typedef enum{
|
|
SDK_TIMER_REQUSET = 0, //校时
|
|
SDK_TIMER_FEE_REQ, //费率请求
|
|
SDK_TIMER_DC_DEV_INFO, //直流设备属性上报
|
|
|
|
|
|
SDK_TIMER_REAL_WORK_GUN, //工作实时状态 数量跟随枪数量 - 包含工作状态和空闲状态两种
|
|
SDK_TIMER_TRADE_INFO = SDK_TIMER_REAL_WORK_GUN + GUN_MAX_CNT, //订单信息上送 数量跟随枪数量
|
|
SDK_TIMER_PROPERTY_BMS = SDK_TIMER_TRADE_INFO + GUN_MAX_CNT, //BMS 属性周期上送
|
|
SDK_TIMER_METER_INFO = SDK_TIMER_PROPERTY_BMS + GUN_MAX_CNT, //电表低值上送
|
|
SDK_TIMER_FAULT_INFO = SDK_TIMER_METER_INFO + GUN_MAX_CNT, //故障信息上报
|
|
}SDK_SEND_TIMER;
|
|
|
|
typedef struct
|
|
{
|
|
U8_T u8_bs_flag; //处于双平台架构中的哪个 用于映射控制结构体的地址
|
|
S8_T gw_connet_flag; //联网标识
|
|
|
|
U8_T u8_bs_state_type; //维护状态
|
|
U8_T u8_bs_reboot_flag; //平台重启标志 - 要求收到重启命令时,需回复后再重启
|
|
U8_T u8_bs_gun2_notup_cnt; //2枪订单未上传计时
|
|
|
|
U8_T txFlag_synTime; //是否已校时标识 0否 1是
|
|
U8_T txFlag_askFeeMode; //请求费率
|
|
|
|
U8_T txFlag_firwareInfo; //固件信息上送标志
|
|
U8_T txFlag_versInfo; //版本信息上送标志
|
|
U8_T txFlag_cfgInfoUpdate; //配置信息更新请求
|
|
U8_T txFlag_devMduInfoEvt; //设备组件信息上报
|
|
|
|
U8_T u8_Meter_ack[2]; //电表召测标志
|
|
|
|
U8_T u8_sim_id[20]; //sim卡号
|
|
|
|
U16_T u16_work_info_period; //工作实时状态 上送周期
|
|
U16_T u16_free_info_period; //空闲实时状态 上送周期
|
|
U16_T ChargeCnt; //充电序号计次
|
|
U16_T OperateCnt; //操作序号计次 生成订单流水号时使用
|
|
|
|
struct
|
|
{
|
|
U8_T u8_real_state_cnt; //充电实时状态 上送计数
|
|
U16_T u16_charge_cnt; //充电次数
|
|
U32_T u32_charge_time; //充电时间
|
|
}s_gwsdk_gun[GUN_MAX_CNT];
|
|
|
|
struct
|
|
{
|
|
U16_T u16_timerCnt; //周期发送计数
|
|
U16_T u16_timeNUM ; //计数周期值 单位秒
|
|
}s_timerCnt[GWSDK_TIMERCNT_NUM];
|
|
}S_GWSDK_CTRL_DATA;
|
|
/*------ Exported variables(变量定义) -------------------*/
|
|
|
|
/*------ Exported function prototypes (函数声明) -------*/
|
|
void v_sdk_init_data(U8_T bs_flag);
|
|
U8_T v_sdk_tcp_connect(void);
|
|
U8_T v_sdk_logo_on(void);
|
|
void v_sdk_recv_data(void);
|
|
void v_sdk_send_ctrl(void);
|
|
void v_sdk_private_crel(U8_T u8_flag);
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* BS_GWSDK_CTRL_H */
|