R1UWaterRS485/app/UWater_Frame/UWater_frame_func_ReplyShan...

87 lines
2.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef UWATER_FRAME_FUNC_REPLAYSHANGHE_H
#define UWATER_FRAME_FUNC_REPLAYSHANGHE_H
#include "sys_config.h"
#if PRODUCT_SHTCP
#define UP_DATA_BUF_SIZE_SH 128
//阀门控制-----商河水务,数据标识高低位调换-------------------------------------------------
#define VALVE_CONTROL_TCP_CTRL 0x04
#define ACK_VALVE_CONTROL_TCP_CTRL 0x84
#define VALVE_CONTROL_TCP_DATA_ID0 0xA0
#define VALVE_CONTROL_TCP_DATA_ID1 0x17
//数据上报
#define FM_TCP_UPLOAD_CTRL 0x81
#define FM_TCP_UPLOAD_REPLAY_CTRL 0x22
#define FM_TCP_UPLOAD_DI0 0x47
#define FM_TCP_UPLOAD_DI1 0x02
/************************************************************************************************/
typedef struct
{
u8 head_site; //帧头位置
u8 ctrl;
u8 ack_ctrl;
u8 len;
u8 DI0;
u8 DI1;
u8 serial_num0;
u8 serial_num1;
u8 key_num;
u8 end_site; //帧尾位置
u8 check_len; //参与校验计算的数据长度
u8 sta; //GPRS加密状态0x80加密 0x40 主动发送(BIT2 = 0应答帧)
u8 met_type;
} STRUCT_FRAME_SH;//存储数据帧重要内容
typedef union {
struct
{
u8 HeadBuf[4];// FE FE 68 20
u8 Addr[7];//表地址
u8 Ctrl;//控制字
u8 Num;//数据长度
u8 DataFlag[2];//数据标识
u8 Ser;//序列号
u8 Data1Buf[4];//数据1
u8 Data2Buf[24];
u8 Data3Buf[28];
u8 Cs;//68到data3
u8 End;//结束符
}data;
u8 buf[80];
} STRU_TCP_UPLOAD_FRAME;
u8 crack_frame_SHTCP(u16 frame_lenth,u8 *frame_buffer);
u8 up_deal_code_sh(void);
void Frame_ResetDealState_SH(void);
void Frame_CreatCs_AckSH(u8* p_send_buf, u16* p_send_len);
void GetUploadDataResetState_SH(void);
u8 GetUploadDataCheckIdle_SH(void);
u8 GetUploadDataCheckTask_SH(void);
void GetUploadDataMachine_SH(u8 data_step, u8* p_send_buf, u16* p_send_len);
/**************************存储相关函数***************************************/
void DataStoreInit(void);
void DataStoreMachine(void);
u8 DataStoreIfIdle(void);
/*****************************************************************************/
#define MAIN_CONNECT_TYPE NBIOT_CONNECT_COAP
#define MAIN_SEND_TYPE SEND_TYPE_COAP
#define SLAVE_CONNECT_TYPE NBIOT_CONNECT_UDP1
#define SLAVE_SEND_TYPE SEND_TYPE_UDP1
//主上报15秒副上报5秒
#define COAP_UPLOAD_WAIT_ACK_TIME 150
#define UDP_UPLOAD_WAIT_ACK_TIME 50
#define NB_ONLINE_KEEP_TIME 50
#endif
#endif