#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