ZigBee重要结构及表解释

各表中的元素结构:

 

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()停止硬件定时器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值