Files
secs2-bootloader/usr/protocol/proto_SECS2.h

60 lines
1.9 KiB
C

#ifndef _PROTO_SECS2_H_
#define _PROTO_SECS2_H_
#include "main.h"
#include "proto_HSMS.h"
#define PROTO_SECS2_S1F3 (0x0103) /*数据采集*/
#define PROTO_SECS2_S2F49 (0x0231) /*设备状态远程控制*/
#define PROTO_SECS2_S1F1 (0x0101) /*心跳*/
#define PROTO_SECS2_S6F11 (0x060B) /*设备主动报警*/
#define PROTO_SECS2_S6F12 (0x060C) /*确认报警*/
#define PROTO_SECS2_S1F13 (0x010D) /*建立连接*/
#define PROTO_SECS2_S2F31 (0x021F) /*时间设置*/
/*报警和状态哦改变是否需要响应*/
#define PROTO_ALARM_CHANGE_RX_WAIT (1)
#define PROTO_STATE_CHANGE_RX_WAIT (1)
/*数据类型*/
#define PROTO_SECS2_DATA_TYPE_List 000/*八进制*/
#define PROTO_SECS2_DATA_TYPE_Binary 010
#define PROTO_SECS2_DATA_TYPE_Bool 011
#define PROTO_SECS2_DATA_TYPE_ASCII 020
#define PROTO_SECS2_DATA_TYPE_JIS_8 021
#define PROTO_SECS2_DATA_TYPE_2Byte_char 022
#define PROTO_SECS2_DATA_TYPE_8Byte_int 030
#define PROTO_SECS2_DATA_TYPE_1Byte_int 031
#define PROTO_SECS2_DATA_TYPE_2Byte_int 032
#define PROTO_SECS2_DATA_TYPE_4Byte_int 034
#define PROTO_SECS2_DATA_TYPE_8Byte_float 040
#define PROTO_SECS2_DATA_TYPE_4Byte_float 044
#define PROTO_SECS2_DATA_TYPE_8Byte_uint 050
#define PROTO_SECS2_DATA_TYPE_1Byte_uint 051
#define PROTO_SECS2_DATA_TYPE_2Byte_uint 052
#define PROTO_SECS2_DATA_TYPE_4Byte_uint 054
/*解析出来的消息数据*/
typedef struct
{
void *pData; /*解析的数据首地址*/
u8 w_bit; /*是否需要响应*/
u8 DataType; /*数据类型*/
u8 ByteLen; /*字节长度*/
u8 DataNum; /*数据个数*/
}proto_SECS2_MessageData_t;
typedef struct
{
u32 sys_count;
void (*Rx_DataAnalysis)(proto_HSMS_Header_Data_t *,u8 *,u16);
void (*Tx_Alarm_Task)(void);
void (*Tx_Dev_State_Task)(void);
}proto_SECS2_t;
extern proto_SECS2_t SECS2;
#endif