⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 message.h

📁 1553B板卡的源代码,只有购买板卡才能得到的好资料
💻 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 + -