📄 message.h
字号:
#ifndef _MESSAGE_H_
#define _MESSAGE_H_
#include "defines.h"
#ifdef _cplusplus
extern "C" {
#endif
///////////////////////////
//defines
#define MSGNAME_MAX 64
#define MSGBLOCKSIZE 37
#define MSG_MAX 4096
#define MSGCTYPE_INIT 0
#define MSGCTYPE_ADD 1
#define MSGCTYPE_MODIFY 2
#define MSGCTYPE_NONE 3
#define MSGTYPE_BC_RT 0x00
#define MSGTYPE_RT_RT 0x01
#define MSGTYPE_BRDCST 0x02
#define MSGTYPE_RT_RTS 0x03
#define MSGTYPE_MC 0x04
#define MSGTYPE_MCS 0x06
#define FMSG_BC_RT 0x00
#define FMSG_RT_RT 0x01
#define FMSG_BRDCST 0x02
#define FMSG_MC 0x04
#define RT_ADDR_MAX 32
#define SA_ADDR_MAX 32
//prototypes
//////////////// BC
typedef struct {
char msgname[MSGNAME_MAX];
SMSG_STRUCT msg;
unsigned char blocklen;
} STRUCT_MSG, *LPSTRUCT_MSG;
typedef struct {
int num;
STRUCT_MSG msgAry[MSG_MAX];
} STRUCT_MSG_VECTOR, *LPSTRUCT_MSG_VECTOR;
typedef struct {
ULONG num;
char msgname[MSG_MAX][MSGNAME_MAX];
} STRUCT_FRM_CONF, *LPSTRUCT_FRM_CONF;
/////////////// RT
typedef struct {
unsigned short data[32][30][32]; // rt=0~31, sa=1~30
unsigned short len[32][30]; // rt=0~31, sa=1~30
} STRUCT_RT_MSG;
typedef struct{
WORD MsgId;
RMSG_STRUCT Msg;
}STRUCT_BC_RECV_MSG;
extern STRUCT_MSG_VECTOR g_MsgsVec;
extern STRUCT_MSG_VECTOR g_TempMsgsVec;
extern STRUCT_MSG g_TempMsg;
extern STRUCT_FRM_CONF g_FrameConf;
extern SFRAME_STRUCT g_Frame;
extern STRUCT_BC_RECV_MSG g_RMsg;
extern STRUCT_RT_MSG g_TempRTMsgs;
extern STRUCT_RT_MSG g_RTMsgs;
extern RT_TX_MODE_STRUCT g_RTTxMode;
extern RT_STATUS_WORD_STRUCT g_RTStatusWord[RT_ADDR_MAX];
extern RMSG_STRUCT g_RTRxMsg;
extern RMSG_STRUCT g_RTTxMsg;
extern RMSG_STRUCT g_MTMsg;
extern BYTE msgChangeType;
extern INT modifyid;
//function prototypes
INT MsgClear(LPSTRUCT_MSG_VECTOR pVec);
INT MsgAdd(LPSTRUCT_MSG_VECTOR pVec, LPSTRUCT_MSG pMsg, UCHAR isForced);
INT MsgDel(LPSTRUCT_MSG_VECTOR pVec, USHORT msgid);
INT Msg_isExist(LPSTRUCT_MSG_VECTOR pVec, const char *mname);
unsigned short OwnRTAddr(unsigned short cw);
unsigned short OwnTR(unsigned short cw);
unsigned short OwnSubAddr(unsigned short cw);
unsigned short OwnWordCount(unsigned short cw);
unsigned short OwnModeCode(unsigned short cw);
unsigned short SetRTAddr(unsigned short cw, unsigned short val);
unsigned short SetTR(unsigned short cw, unsigned short val);
unsigned short SetSubAddr(unsigned short cw, unsigned short val);
unsigned short SetWordCount(unsigned short cw, unsigned short val);
unsigned short SetModeCode(unsigned short cw, unsigned short val);
#ifdef _cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -