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

📄 znwk_type.h

📁 ZIGBEE 2006协议栈 BAT测试代码 RADIO PULSE MG2455
💻 H
📖 第 1 页 / 共 2 页
字号:
	// bit[7:4]	: ProtoclVer
	// bit[3:0]	: StackProfile
	UINT8	OPT1;
	// bit[7]		: 1=Can have children
	// bit[6:3]	: Max Device Depth
	// bit[2] 		: 1=Router Capable
	// bit[1:0]	: rsv
	UINT8	OPT2;
	UINT8	EPID[8];
	UINT8	TxOffset[3];	// optional field. present in multi-hop beacon network
} NS_BeaPay;

typedef struct
{
	UINT16	In_NwkAddr;	
	UINT8	Out_Depth;
	UINT16	Out_ParentAddr;
	UINT8	Out_ZED;
} NS_AddrAssign;


typedef struct
{
	NS_RDT	*pRDT;
	NS_BTT	*pBTT;
	NS_ANT	*pANT;
	NS_SRT	*pSRT;

	NS_NT	*pnwkNT;					// 0x87
	NS_RT	*pnwkRT;					// 0x8B
	NS_GID	*pnwkGID;

	UINT16	*pReuseZRAddr;
	UINT16	*pReuseZEDAddr;	

	UINT8	SIZE_NT;
	UINT8	SIZE_RT;	
	UINT8	SIZE_GID;
	UINT8	SIZE_RDT;
	UINT8	SIZE_BTT;
	UINT8	SIZE_ANT;
	UINT8	SIZE_SRT;

	UINT8	SIZE_ReuseZRAddr;
	UINT8	SIZE_ReuseZEDAddr;

	UINT8	NQ0_PS;
	UINT8	NQ0_MaxMask;
	UINT8	NQ0_Interval;
	UINT8	NQ0_Retry;
	UINT8	NQ0_Idx;
	
	UINT8	NQ1_PS;
	UINT8	NQ1_MaxMask;
	UINT8	NQ1_Interval;
	UINT8	NQ1_Retry;
	UINT8	NQ1_Idx;
	
} NS_PARA;

////////////////////////////////////////////////////////////////
/////////////////////// NWK REQUEST primitive ////////////////////
////////////////////////////////////////////////////////////////

typedef struct
{
	UINT8	DstMode;		// 1=Multicast GroupID, 2=Device Addr or Broadcast
	UINT16	DstAddr;
	UINT8	nsduLen;
	UINT8	nsduHandle;
	UINT8	Radius;
	UINT8	NoMemRadius;		// 0x00 ~ 0x07		
	//--	TxOpt_DiscRoute
	// bit[7:4]	: OOB. by RadioPulse
	// bit[3]		: MAC Security
	// bit[2:1]	: reserved
	// bit[0]		: DiscRoute. 0=Supress, 1=Enable
	UINT8	TxOpt_DiscRoute;
	UINT8	Security;
	UINT8	*pnsdu;
} NLDE_DATA_req;

typedef struct
{
	UINT8	nsduHandle;
	UINT8	Sta;
} NLDE_DATA_con;

typedef struct
{
	UINT8	DstMode;	// 1=Multicast GroupID, 2=Device Addr or Broadcast
	UINT16	DstAddr;
	UINT16	SrcAddr;
	UINT8	nsduLen;
	UINT8	LQI;
	UINT8	*pnsdu;
 } NLDE_DATA_ind;


// By ZC or ZR
typedef struct
{
	UINT8	DstMode;		// 0=No Dst(Many-To-One mode), 1=Multicast GroupID, 2=Device Addr
	UINT16	DstAddr;
	UINT8	Radius;
} NLME_ROUTE_DISC_req;


typedef struct
{
	UINT8	Sta;
} NLME_ROUTE_DISC_con;


typedef struct
{
	UINT32	ScanChan;
	UINT8	ScanDur;
} NLME_NET_DISC_req;

typedef struct
{
	UINT8		NwkCount;
	UINT8		Sta;
	//NS_DESC	*pDesc;	
	S_ZIGBEE_NET	*pZNET;
} NLME_NET_DISC_con;

typedef struct
{
	UINT32	ScanChan;
	UINT8	ScanDur;
	UINT8	BO;
	UINT8	SO;
	UINT8	BattExtend;
} NLME_NET_FORM_req;

typedef struct
{
	UINT8	Sta;
} NLME_NET_FORM_con;

typedef struct
{
	UINT8	PermitDur;
} NLME_PERMIT_JOIN_req;

typedef struct
{
	UINT8	Sta;
} NLME_PERMIT_JOIN_con;

typedef struct
{
	UINT8	BO;
	UINT8	SO;
	UINT8	BattExtend;
} NLME_START_ROU_req;

typedef struct
{
	UINT8	Sta;
} NLME_START_ROU_con;

typedef struct
{
	UINT8	EPID[8];
	UINT8	JoinAsRou;
	//--	Rejoin
	//	0	: Joining through association
	// 	1	: Joining directly or rejoining through orphaning
	//	2	: Joining through NWK rejoining
	UINT8	Rejoin;
	UINT32	ScanChan;
	UINT8	ScanDur;
	UINT8	PwrSrc;
	UINT8	RxOnIdle;
	UINT8	MACSecure;
} NLME_JOIN_req;

typedef struct
{
	UINT8	ForceMode;
	UINT16	NwkAddr;
	UINT16	PanID;
	UINT8	EPID[8];
	UINT8	Chan;
	UINT32	ScanChan;
	UINT8	JoinAsRou;
	UINT8	PwrSrc;
	UINT8	RxOnIdle;
	UINT8	MACSecure;
} NLME_FORCE_JOIN_req;

typedef struct
{
	UINT16	ShortAddr;
	UINT16	PanID;
	UINT8	NwkKey;
	UINT8	Sta;
} NLME_JOIN_con;

typedef struct
{
	UINT16	ShortAddr;
	UINT16	PanID;
	UINT8	NwkKey;
	UINT8	Sta;
} NLME_FORCE_JOIN_con;


typedef struct
{
	UINT16	ShortAddr;
	UINT8	EPID[8];
	//-- 	CapaInfo
	// bit[7]		: Allocate Addr. 1=Can be a PAN Coordinator
	// bit[6]		: Security
	// bit[5:4]	: rsv
	// bit[3]		: RxOnIdle
	// bit[2]		: Power Source. 1=Mains Power
	// bit[1]		: Device Type. 1=FFD, 0=RFD
	// bit[0]		: Alternative PAN Coordinator
	UINT8	CapaInfo;
	UINT8	Secure;
} NLME_JOIN_ind;


typedef struct
{
	UINT8	DevAddr[8];
	//-- 	CapaInfo
	// bit[7]		: Allocate Addr. 1=Can be a PAN Coordinator
	// bit[6]		: Security
	// bit[5:4]	: rsv
	// bit[3]		: RxOnIdle
	// bit[2]		: Power Source. 1=Mains Power
	// bit[1]		: Device Type. 1=FFD, 0=RFD
	// bit[0]		: Alternative PAN Coordinator
	UINT8	CapaInfo;
} NLME_DIRECT_JOIN_req;

typedef struct
{
	UINT8	DevAddr[8];
	UINT8	Sta;
} NLME_DIRECT_JOIN_con;


typedef struct
{
	UINT8	DevAddr[8];
	UINT8	RmChild;
	UINT8	Rejoin;
	UINT8	ReuseAddr;
	UINT8	Silent;
} NLME_LEAVE_req;

typedef struct
{
	UINT8	DevAddr[8];
	UINT8	Sta;
} NLME_LEAVE_con;

typedef struct
{
	UINT8	DevAddr[8];
	UINT8	Rejoin;
} NLME_LEAVE_ind;


typedef struct
{
	UINT8	NoParameter;	
} NLME_RESET_req;


typedef struct
{
	UINT8	Sta;	
} NLME_RESET_con;


typedef struct
{
	UINT8	Track;
} NLME_SYNC_req;

typedef struct
{
	UINT8	Sta;
} NLME_SYNC_con;

typedef struct
{
	UINT8	NoParameter;
} NLME_SYNC_ind;


typedef struct
{
	UINT8	AttID;
} NLME_GET_req;

typedef struct
{
	UINT8	Sta;
	UINT8	AttID;
	UINT8	AttLen;
	UINT8	AttValue[16];
} NLME_GET_con;

typedef struct
{
	UINT8	AttID;
	UINT8	AttLen;
	UINT8	AttValue[16];
} NLME_SET_req;

typedef struct
{
	UINT8	Sta;
	UINT8	AttID;
} NLME_SET_con;

typedef struct
{
	UINT16	ShortAddr;		// address of failed routing destination
	UINT8	Sta;
} NLME_ROUTE_ERR_ind;

typedef struct
{
	UINT8	AttID;
} NLME_GET_TABLE_req;

typedef struct
{
 	UINT8	Sta;
 	UINT8	AttID;
 	UINT8	EntryLen;
 	UINT8	*pEntry;
} NLME_GET_TABLE_con;

////////////////////////////////////////////////////////////////
/////////////////////// NWK primitive ////////////////////////////
////////////////////////////////////////////////////////////////

typedef union {
	//////////////////////////////////////////	
	NLDE_DATA_req			DATA_REQ;
	NLME_ROUTE_DISC_req	ROU_DISC_REQ;	
	NLME_NET_DISC_req		NET_DISC_REQ;
	NLME_NET_FORM_req		NET_FORM_REQ;
	NLME_PERMIT_JOIN_req	PERMIT_JOIN_REQ;
	NLME_START_ROU_req		START_ROU_REQ;
	NLME_JOIN_req			JOIN_REQ;
	NLME_DIRECT_JOIN_req	DIRECT_JOIN_REQ;	
	NLME_LEAVE_req			LEAVE_REQ;	
	NLME_RESET_req			RESET_REQ;
	NLME_SYNC_req			SYNC_REQ;
	NLME_GET_req			GET_REQ;
	NLME_SET_req			SET_REQ;

	NLME_FORCE_JOIN_req		FORCE_JOIN_REQ;
	NLME_GET_TABLE_req		GET_TABLE_REQ;
	//////////////////////////////////////////
	NLDE_DATA_con			DATA_CON;
	NLME_ROUTE_DISC_con	ROU_DISC_CON;	
	NLME_NET_DISC_con		NET_DISC_CON;
	NLME_NET_FORM_con		NET_FORM_CON;	
	NLME_PERMIT_JOIN_con	PERMIT_JOIN_CON;
	NLME_START_ROU_con		START_ROU_CON;
	NLME_JOIN_con			JOIN_CON;
	
	NLME_DIRECT_JOIN_con	DIRECT_JOIN_CON;
	NLME_LEAVE_con			LEAVE_CON;
	NLME_RESET_con			RESET_CON;
	NLME_SYNC_con			SYNC_CON;
	NLME_GET_con			GET_CON;
	NLME_SET_con			SET_CON;	

	NLME_FORCE_JOIN_con		FORCE_JOIN_CON;
	NLME_GET_TABLE_con		GET_TABLE_CON;
	//////////////////////////////////////////
	NLDE_DATA_ind			DATA_IND;
	NLME_ROUTE_ERR_ind		ROU_ERR_IND;
	NLME_JOIN_ind			JOIN_IND;
	NLME_SYNC_ind			SYNC_IND;
	NLME_LEAVE_ind			LEAVE_IND;
	////////////////////////////////////////////	
} NLDME_PKT;


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -