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 );

12、mac回调函数事件表 zmacCBEventTable;

13、数据结构大小查找表 zmacCBSizeTable;

必须以mac回调事件顺序相匹配;

14、ZDP处理请求消息表的元素结构 zdpMsgProcItem_t;

typedef struct

{

  uint16      clusterID; //--簇ID(请求消息)

  pfnZDPMsgProcessor  pFn; //要执行的函数

} zdpMsgProcItem_t;

15、PAN网络描述列表的元素结构 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 ) //初始化

回调表:

1、 ZDO消息处理回调表zdpMsgProcs oid ZDP_IncomingData( afIncomingMSGPacket_t *pData )

//执行回调函数

2、 MT消息处理回调表mtzdoConvTable

3、 MAC事件回调表zmacCBEventTable

4、 MAC事件回调大小表 zmacCBSizeTable

void MAC_CbackEvent(macCbackEvent_t *pData)    //回调事件处理

链表:

1、 PAN网络描述符链表 NwkDescList

2、 端点链表 epList void afInit( void )       //初始化端点链表

Status_t afRegister( endPointDesc_t *epDesc )    //端点注册

记录表:

1、 定时器记录表 halTimerSettings_t halTimerRecord。

2、 定时器通道表halTimerChannel_t halTimerChannel。

HalTimerStart()开始硬件定时器

HalTimerStop()停止硬件定时器

posted @ 2011-04-28 10:21  雪帕  阅读(3456)  评论(0编辑  收藏  举报