📄 znwk_type.h
字号:
// 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 + -