NXP

ZigBee重要结构及表解释

2019-07-12 12:21发布

各表中的元素结构:   1、组表的元素结构 aps_Group_t;   typedef struct   {     uint16 ID;         // ID     uint8 name[APS_GROUP_NAME_LEN]; // 组名称   } aps_Group_t;   2、组列表的元素结构   typedef struct apsGroupItem   {     struct apsGroupItem *next; //指向下一个组表条目     uint8      endpoint; //此终端接收发送给组的信息     aps_Group_t    group; //ID和组名   } apsGroupItem_t;   3、路由表的元素结构 rtgEntry_t;   typedef struct   {     uint16 dstAddress;       //目标地址     uint16 nextHopAddress;   //单跳地址     byte  expiryTime;     //有效时间     byte  status;        //状态   } rtgEntry_t;   4、绑定表的元素结构 BindingEntry_t;   typedef struct   {     uint8 srcEP;          // 没有源地址自从源地址一直是本地设备     uint8 dstGroupMode; // 目标地址类型; 0 –正常地址, 1 – 组地址     uint16 dstIdx;    //在两种模式中 (组或非组) 保存到 NV RAM     // dstGroupMode = 0 - Address Manager index     // dstGroupMode = 1 – 组地址     uint8 dstEP;       //目标地址     uint8 numClusterIds; //簇个数     uint16 clusterIdList[MAX_BINDING_CLUSTER_IDS];     // Don't use MAX_BINDING_CLUSTERS_ID when     // using the clusterIdList field. Use     // gMAX_BINDING_CLUSTER_IDS   } BindingEntry_t;   5、相邻表的元素结构 neighborEntry_t;   typedef struct   {     uint16 neighborAddress;    //相邻地址     uint16 panId;        //所属的PAN网络ID     linkInfo_t linkInfo;     //连接信息(包括发送/接收和安全帧计数)   } neighborEntry_t;   6、路由发现表的元素结构 rtDiscEntry_t;   typedef struct   {     byte  rreqId;   //接收请求ID     uint16 srcAddress; //源地址     uint16 previousNode;  //上次模式     byte  forwardCost;      //发送成本     byte  residualCost;      //剩余成本     byte  expiryTime;    //有效时间   } rtDiscEntry_t;   7、广播表的元素结构 bcastEntry_t;   typedef struct   {     uint16 srcAddr; //源地址     uint8 bdt; // 广播传递时间     uint8 pat; // 被动应答超时     uint8 mbr; // 最大广播重试次数     uint8 handle;     // 计数非睡眠邻居和路由器子节点.     uint8 ackCnt; //应答次数     uint8 id; //广播ID   } bcastEntry_t;   8、回调表的元素结构 MTZDO_ConversionItem_t;   typedef struct   {     uint16    clusterID;   //请求命令     uint32    subCBID;  // 回调回应参数     uint16    mtID;   // SPI 消息ID     pfnMtZdoRspProc pFn;     //回调函数   } MTZDO_ConversionItem_t;   9、电源功率表   macRadioDefsTxPowerTable   10、全局常量表元素结构(即NV区中的项) zgItem_t;   typedef struct zgItem   {     uint16 id;  //项目类?     uint16 len; //占用空间     void *buf; //要写入的数据   } zgItem_t;   11、任务表元素结构 *pTaskEventHandlerFn;   ( unsigned char task_id, unsigned short event );   12mac回调函数事件表 zmacCBEventTable;   13、数据结构大小查找表 zmacCBSizeTable;   必须以mac回调事件顺序相匹配;   14ZDP处理请求消息表的元素结构 zdpMsgProcItem_t;   typedef struct   {     uint16      clusterID; //--ID(请求消息)     pfnZDPMsgProcessor  pFn; //要执行的函数   } zdpMsgProcItem_t;   15PAN网络描述列表的元素结构 networkDesc_t;   typedef struct   {     uint16 panId;   //PAN ID     byte logicalChannel; //逻辑信道     byte beaconOrder;   //信标指令     byte superFrameOrder; //超级帧指令     byte routerCapacity; //路由能力     byte deviceCapacity; //设备能力     byte version;    //版本     byte stackProfile;  //profilestack     //byte securityLevel;     uint16 chosenRouter; //所选择的路由器     uint8 chosenRouterLinkQuality; //所选择路由器的链路质量     byte chosenRouterDepth; //所选择路由器的深度     uint8 extendedPANID[Z_EXTADDR_LEN]; //PAN ID的扩展地址     void *nextDesc; //指向下一个的PAN   } networkDesc_t;   16、端点表元素结构 endPointDesc_t;   typedef struct   {     byte endPoint;     //终端号     byte *task_id; // Pointer to location of the Application task ID.     //–指向本地应用任务,ID的一个指针     SimpleDescriptionFormat_t *simpleDesc;    //指向简单描述符     afNetworkLatencyReq_t latencyReq;    //这个字段必须为nolatencyreqs   } endPointDesc_t;   17、端点列表元素结构 epList_t   typedef struct   {     endPointDesc_t *epDesc;    //指向终端描述符     eEP_Flags flags;     pDescCB pfnDescCB;   // Don't use if this function pointer is NULL.     void *nextDesc;   } epList_t;   18、关联设备表元素结构 associated_devices_t   typedef struct   {     UINT16 shortAddr;      // 关联设备短地址     uint16 addrIdx;       // 地址管理器的索引标?     byte nodeRelation;     byte devStatus;       // bitmap of various status values     byte assocCnt;     linkInfo_t linkInfo;   } associated_devices_t;   重要的表   网络表:   1、 关联表 AssociatedDevList    最大条目数NWK_MAX_DEVICES   2、 相邻表 neighborTable      最大条目数MAX_NEIGHBOR_ENTRIES   3、 路由表 rtgTable         最大条目数MAX_RTG_ENTRIES   4、路由发现表rtDiscTable      最大条目数MAX_RREQ_ENTRIES   5、广播表bcastTable       最大条目数MAX_BCAST   6、绑定表BindingTable      最大条目数NWK_MAX_BINDING_ENTRIES   7、 组表 SampleApp_Group   系统表:   1、 任务表 tasksArr        最大任务数   2、任务事件表tasksEvents      2字节*任务数   3、 电源功率表macRadioDefsTxPowerTable   4、 全局常量表zgItemTable static uint8 zgItemInit( uint16 id, uint16 len, void *buf, uint8 setDefault ) //初始化   回调表:   1ZDO消息处理回调表zdpMsgProcs oid ZDP_IncomingData( afIncomingMSGPacket_t *pData )   //执行回调函数   2MT消息处理回调表mtzdoConvTable   3MAC事件回调表zmacCBEventTable   4MAC事件回调大小表 zmacCBSizeTable   void MAC_CbackEvent(macCbackEvent_t *pData)    //回调事件处理   链表:   1PAN网络描述符链表 NwkDescList   2、 端点链表 epList void afInit( void )       //初始化端点链表   Status_t afRegister( endPointDesc_t *epDesc )    //端点注册   记录表:   1、 定时器记录表 halTimerSettings_t halTimerRecord   2、 定时器通道表halTimerChannel_t halTimerChannel   HalTimerStart()开始硬件定时器   HalTimerStop()停止硬件定时器