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

📄 zbaps.h

📁 IEEE802.15.4标准下的基于ZIGBEE协议栈的物理及链路层的代码
💻 H
字号:
#ifndef __ZBAPS_H__#define __ZBAPS_H__#include "ZBTYPES.h"#define POS_APS_FRAME_TYPE			0x0#define POS_APS_DELIVERY_MODE			0x2#define POS_APS_INDIRECT_ADDR_MODE		0x4#define POS_APS_SECURITY				0x5#define POS_APS_ACK_REQ				0x6#define MASK_APS_FRAME_TYPE			0x3#define MASK_APS_DELIVERY_MODE		0xC#define MASK_APS_INDIRECT_ADDR_MODE	0x10#define MASK_APS_SECURITY			0x20#define MASK_APS_ACK_REQ				0x40#define APS_FRAME_TYPE_DATA			0x0#define APS_FRAME_TYPE_CMD			0x1#define APS_FRAME_TYPE_ACK			0x2#define APS_DELIVERY_MODE_NORMAL			0x0#define APS_DELIVERY_MODE_INDIRECT			0x1#define APS_DELIVERY_MODE_BROADCAST		0x2#define APS_DELIVERY_MODE_GROUP			0x3#define APS_INDIRECT_ADDR_MODE_FROM_COORD	0x0#define APS_INDIRECT_ADDR_MODE_TO_COORD		0x1typedef struct _addr_map_t {	laddr_t longAddr;	saddr_t shortAddr;} addr_map_t;typedef struct _binding_dest_t {	laddr_t dstAddr;	uint8_t dstEp;} binding_dest_t;#define DEST_LIST_NUM	4typedef struct _binding_table_t {	laddr_t srcAddr;	uint16_t clusterId;	uint8_t srcEp;	binding_dest_t dstList[DEST_LIST_NUM];	} binding_table_t;#define EP_LIST_NUM		6/** * when groupId = 0 indicate this item is free. * if epList[i] = 0 indicate that epList[i] is not use. */typedef struct _group_table_t {	uint16_t groupId;	uint8_t epList[EP_LIST_NUM];} group_table_t;typedef struct _aps_pib_t {	addr_map_t* pAddrMap;	binding_table_t* pBindTable;	group_table_t* pGroupTable;} aps_pib_t;enum{	ZBSOCKETS = 10,	MAX_PAYLOAD_LEN = 48,	MAX_HEAD_LEN = 8+8+10,	WAIT_ACK_TIME = 500,};typedef struct{	bool free;	uint8_t srcEp;	uint8_t id;	uint16_t clusterId;	uint16_t profileId;	uint8_t fcf;		// default ack=0,security=0;}ZbSocket_table_t;//Zbsocket_table[MAX_ZbSockets]/*typedef nx_struct apsSendParam{	nxle_uint16_t dstAddr;	nxle_uint8_t destEp;	nxle_uint8_t isAck;       //isAck=1,是ack包;isAck=0,不是ack包	nxle_uint8_t ackDsn;         //在isAck=1时使用,表示确认包dsn	nxle_uint16_t ackClusterId;  //在isAck=1时使用	nxle_uint16_t ackProfileId;  //在isAck=1时使用	nxle_uint8_t ackSrcEp;       //在isAck=1时使用}apsSendParam; *//*application layer data endpoint distribute|0 ZDO|0x01-0xF0 USE|0xF1-0xFE NOT USE|0xFF BROADCAST|APS_DELIVERY_MODE_NORMAL:FCF(1)+DEST_ED(1)+CLUSTER_ID(2)+PROFILE_ID(2)+SOURCE_ID(1)+DSN(1)+PAYLOADAPS_DELIVERY_MODE_INDIRECT+APS_INDIRECT_ADDR_MODE_FROM_COORD:FCF(1)+DEST_ED(1)+CLUSTER_ID(2)+PROFILE_ID(2)+DSN(1)+PAYLOADAPS_DELIVERY_MODE_INDIRECT+APS_INDIRECT_ADDR_MODE_TO_COORD:FCF(1)+CLUSTER_ID(2)+PROFILE_ID(2)+SOURCE_ID(1)+DSN(1)+PAYLOADAPS_DELIVERY_MODE_BROADCAST:FCF(1)+CLUSTER_ID(2)+PROFILE_ID(2)+SOURCE_ID(1)+DSN(1)+PAYLOADAPS_DELIVERY_MODE_GROUP:FCF(1)+GROUP_ADDR(2)+CLUSTER_ID(2)+PROFILE_ID(2)+SOURCE_ID(1)+DSN(1)+PAYLOAD*/#endif

⌨️ 快捷键说明

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