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

📄 mt_zdo.h

📁 Zigbee2006入门源代码,包括了Zigbee的入门介绍,和源代码
💻 H
字号:
/*********************************************************************
    Filename:       MT_ZDO.h
    Revised:        $Date: 2006-11-30 12:05:15 -0800 (Thu, 30 Nov 2006) $
    Revision:       $Revision: 12906 $

    Description:

        MonitorTest functions for APS.

    Notes:

    Copyright (c) 2006 by Texas Instruments, Inc.
    All Rights Reserved.  Permission to use, reproduce, copy, prepare
    derivative works, modify, distribute, perform, display or sell this
    software and/or its documentation for any purpose is prohibited
    without the express written consent of Texas Instruments, Inc.
*********************************************************************/


/*********************************************************************
 * INCLUDES
 */
#include "ZComDef.h"
#include "MTEL.h"
#include "APSMEDE.h"
#include "AF.h"
#include "ZDProfile.h"
#include "ZDObject.h"
#include "ZDApp.h"

#if !defined( WIN32 )
  #include "OnBoard.h"
#endif


/*********************************************************************
 * MACROS
 */

/*********************************************************************
 * CONSTANTS
 */
//ZDO commands
#define SPI_CMD_ZDO_AUTO_ENDDEVICEBIND_REQ    0x0A00
#define SPI_CMD_ZDO_AUTO_FIND_DESTINATION_REQ 0x0A01
#define SPI_CMD_ZDO_NWK_ADDR_REQ              0x0A02
#define SPI_CMD_ZDO_IEEE_ADDR_REQ             0x0A03
#define SPI_CMD_ZDO_NODE_DESC_REQ             0x0A04
#define SPI_CMD_ZDO_POWER_DESC_REQ            0x0A05
#define SPI_CMD_ZDO_SIMPLE_DESC_REQ           0x0A06
#define SPI_CMD_ZDO_ACTIVE_EPINT_REQ          0x0A07
#define SPI_CMD_ZDO_MATCH_DESC_REQ            0x0A08
#define SPI_CMD_ZDO_COMPLEX_DESC_REQ          0x0A09
#define SPI_CMD_ZDO_USER_DESC_REQ             0x0A0A
#define SPI_CMD_ZDO_END_DEV_BIND_REQ          0x0A0B
#define SPI_CMD_ZDO_BIND_REQ                  0x0A0C
#define SPI_CMD_ZDO_UNBIND_REQ                0x0A0D
#define SPI_CMD_ZDO_MGMT_NWKDISC_REQ          0x0A0E
#define SPI_CMD_ZDO_MGMT_LQI_REQ              0x0A0F
#define SPI_CMD_ZDO_MGMT_RTG_REQ              0x0A10
#define SPI_CMD_ZDO_MGMT_BIND_REQ             0x0A11
#define SPI_CMD_ZDO_MGMT_DIRECT_JOIN_REQ      0x0A12
#define SPI_CMD_ZDO_USER_DESC_SET             0x0A13
#define SPI_CMD_ZDO_END_DEV_ANNCE             0x0A14
#define SPI_CMD_ZDO_MGMT_LEAVE_REQ            0x0A15
#define SPI_CMD_ZDO_MGMT_PERMIT_JOIN_REQ      0x0A16
#define SPI_CMD_ZDO_SERVERDISC_REQ            0X0A17
#define SPI_CMD_ZDO_NETWORK_START_REQ         0X0A18

#define SPI_ZDO_CB_TYPE                       0x0A80

#define SPI_CB_ZDO_NWK_ADDR_RSP               0x0A80
#define SPI_CB_ZDO_IEEE_ADDR_RSP              0x0A81
#define SPI_CB_ZDO_NODE_DESC_RSP              0x0A82
#define SPI_CB_ZDO_POWER_DESC_RSP             0x0A83
#define SPI_CB_ZDO_SIMPLE_DESC_RSP            0x0A84
#define SPI_CB_ZDO_ACTIVE_EPINT_RSP           0x0A85
#define SPI_CB_ZDO_MATCH_DESC_RSP             0x0A86
#define SPI_CB_ZDO_END_DEVICE_BIND_RSP        0x0A87
#define SPI_CB_ZDO_BIND_RSP                   0x0A88
#define SPI_CB_ZDO_UNBIND_RSP                 0x0A89
#define SPI_CB_ZDO_MGMT_NWKDISC_RSP           0x0A8A
#define SPI_CB_ZDO_MGMT_LQI_RSP               0x0A8B
#define SPI_CB_ZDO_MGMT_RTG_RSP               0x0A8C
#define SPI_CB_ZDO_MGMT_BIND_RSP              0x0A8D
#define SPI_CB_ZDO_MGMT_DIRECT_JOIN_RSP       0x0A8E
#define SPI_CB_ZDO_USER_DESC_RSP              0x0A8F

#define SPI_ZDO_CB2_TYPE                      0x0A90

#define SPI_CB_ZDO_USER_DESC_CNF              0x0A90
#define SPI_CB_ZDO_MGMT_LEAVE_RSP             0x0A91
#define SPI_CB_ZDO_MGMT_PERMIT_JOIN_RSP       0x0A92
#define SPI_CB_ZDO_SERVERDISC_RSP             0x0A93

#define SPI_RESP_LEN_ZDO_DEFAULT              0x01

#define CB_ID_ZDO_NWK_ADDR_RSP               0x00000001
#define CB_ID_ZDO_IEEE_ADDR_RSP              0x00000002
#define CB_ID_ZDO_NODE_DESC_RSP              0x00000004
#define CB_ID_ZDO_POWER_DESC_RSP             0x00000008
#define CB_ID_ZDO_SIMPLE_DESC_RSP            0x00000010
#define CB_ID_ZDO_ACTIVE_EPINT_RSP           0x00000020
#define CB_ID_ZDO_MATCH_DESC_RSP             0x00000040
#define CB_ID_ZDO_END_DEVICE_BIND_RSP        0x00000080
#define CB_ID_ZDO_BIND_RSP                   0x00000100
#define CB_ID_ZDO_UNBIND_RSP                 0x00000200
#define CB_ID_ZDO_MGMT_NWKDISC_RSP           0x00000400
#define CB_ID_ZDO_MGMT_LQI_RSP               0x00000800
#define CB_ID_ZDO_MGMT_RTG_RSP               0x00001000
#define CB_ID_ZDO_MGMT_BIND_RSP              0x00002000
#define CB_ID_ZDO_MGMT_DIRECT_JOIN_RSP       0x00004000
#define CB_ID_ZDO_USER_DESC_RSP              0x00008000
#define CB_ID_ZDO_USER_DESC_CONF             0x00010000
#define CB_ID_ZDO_MGMT_LEAVE_RSP             0x00020000
#define CB_ID_ZDO_MGMT_PERMIT_JOIN_RSP       0x00040000
#define CB_ID_ZDO_SERVERDISC_RSP             0x00080000

/*********************************************************************
 * TYPEDEFS
 */

/*********************************************************************
 * GLOBAL VARIABLES
 */
extern uint32 _zdoCallbackSub;

/*********************************************************************
 * EXTERNAL VARIABLES
 */

/*********************************************************************
 * EXTERNAL FUNCTIONS
 */

/*********************************************************************
 * LOCAL VARIABLES
 */

/*********************************************************************
 * LOCAL FUNCTIONS
 */

/*
 *   Process all the NWK commands that are issued by test tool
 */
extern void MT_ZdoCommandProcessing( uint16 cmd_id , byte len , byte *pData );

/*********************************************************************
 * Callback FUNCTIONS
 */

/*
 *  NwkAddrRsp or IEEEAddrRsp
 *
 *  @MT SPI_CB_ZDO_NWK_ADDR_RSP
 *  (byte SrcAddrMode,
 *   byte *SrcAddr,
 *   byte Status,
 *   byte *IEEEAddr,
 *   uint16 nwkAddr,
 *   byte NumAssocDev,
 *   byte StartIndex,
 *   byte *AssocDevList)
 *
 *  @MT SPI_CB_ZDO_IEEE_ADDR_RSP
 *  (byte SrcAddrMode,
 *   byte *SrcAddr,
 *   byte Status,
 *   byte *IEEEAddr,
 *   byte NumAssocDev,
 *   byte StartIndex,
 *   byte *AssocDevList)
 *
 */
extern void zdo_MTCB_NwkIEEEAddrRspCB( uint16 type, zAddrType_t *SrcAddr,
              byte Status, byte *IEEEAddr, uint16 nwkAddr, byte NumAssocDev,
              byte StartIndex, uint16 *AssocDevList );

/*
 *  NodeDescRsp
 *
 *  @MT SPI_CB_ZDO_NODE_DESC_RSP
 *  (byte Status,
 *   uint16 SrcAddr,
 *   uint16 NWKAddrOfInterest,
 *   byte NodeType,
 *   byte Flags,
 *   byte Capabilities,
 *   byte BufferSize,
 *   uint16 TransferSize)
 */
extern void zdo_MTCB_NodeDescRspCB( zAddrType_t *SrcAddr, byte Status,
            uint16 nwkAddr, NodeDescriptorFormat_t *pNodeDesc );

/*
 *  PowerDescRsp
 *
 *  @MT SPI_CB_ZDO_POWER_DESC_RSP
 *  (byte Status,
 *   uint16 SrcAddr,
 *   uint16 NWKAddrOfInterest,
 *   byte Power1,
 *   byte Power2)
 *
 */
extern void zdo_MTCB_PowerDescRspCB( zAddrType_t *SrcAddr, byte Status,
          uint16 nwkAddr, NodePowerDescriptorFormat_t *pPwrDesc );

/*
 *   SimpleDescRsp
 *
 *  @MT SPI_CB_ZDO_SIMPLE_DESC_RSP
 *  (byte Status,
 *   uint16 SrcAddr,
 *   uint16 NWKAddrOfInterest,
 *   byte SimpleLen,
 *   byte Endpoint,
 *   uint16 AppProfID,
 *   uint16 AppDevID,
 *   byte AppVerFlags,
 *   byte AppInClusterCount,
 *   byte AppInClusterList[15],
 *   byte AppOutClusterCount,
 *   byte AppOutClusterList[15])
 *
 */
extern void zdo_MTCB_SimpleDescRspCB( zAddrType_t *SrcAddr, byte Status,
    uint16 nwkAddr, byte EPIntf, SimpleDescriptionFormat_t *pSimpleDesc );

/*
 *   ActiveEPRsp or MatchDescRsp
 *
 *  @MT SPI_CB_ZDO_ACTIVE_EPINT_RSP
 *  (byte Status,
 *   uint16 SrcAddr,
 *   uint16 NWKAddrOfInterest,
 *   byte ActiveEndpointCount,
 *   byte ActiveEndpointList[15])
 *
 *  @MT SPI_CB_ZDO_MATCH_DESC_RSP
 *  (byte Status,
 *   unit16 SrcAddr,
 *   uint16 NWKAddrOfInterest,
 *   byte MatchCount,
 *   byte MatchEndpointList[15])
 *
 */
extern void zdo_MTCB_MatchActiveEPRspCB( uint16 type, zAddrType_t *SrcAddr, byte Status,
                  uint16 nwkAddr, byte epIntfCnt, byte *epIntfList );

/*
 *   BindRsp, EndDeviceBindRsp, UnBindRsp
 *
 *  @MT SPI_CB_ZDO_END_DEVICE_BIND_RSP
 *  (byte Status,
 *   UInt16 SrcAddr)
 *
 *  @MT SPI_CB_ZDO_BIND_RSP
 *  (byte Status,
 *   UInt16 SrcAddr)
 *
 *  @MT SPI_CB_ZDO_UNBIND_RSP
 *  (byte Status,
 *   UInt16 SrcAddr)
 *
 */
extern void zdo_MTCB_BindRspCB( uint16 type,
                  zAddrType_t *SrcAddr, byte Status );



/*
 *   Management Network Discovery Response
 *
 *  @MT SPI_CB_ZDO_MGMT_NWKDISC_RSP
 *  (uint16 SrcAddr,
 *   byte Status,
 *   byte NetworkCount,
 *   byte StartIndex,
 *   byte NetworkListCount,
 *   byte *NetworkList)
 *
 */
extern void zdo_MTCB_MgmtNwkDiscRspCB( uint16 SrcAddr, byte Status,
                        byte NetworkCount, byte StartIndex,
                        byte networkListCount, mgmtNwkDiscItem_t *pList );

/*
 *   Management LQI Response
 *
 *  @MT SPI_CB_ZDO_MGMT_LQI_RSP
 *  (uint16 SrcAddr,
 *   byte Status,
 *   byte NeighborLQIEntries,
 *   byte StartIndex,
 *   byte *NeighborLqiList)
 *
 */
extern void zdo_MTCB_MgmtLqiRspCB( uint16 SrcAddr, byte Status,
                         byte NeighborLqiEntries,
                         byte StartIndex, byte NeighborLqiCount,
                         neighborLqiItem_t *pList );

/*
 *   Management Routing Response
 *
 *  @MT SPI_CB_ZDO_MGMT_RTG_RSP
 *  (uint16 SrcAddr,
 *   byte Status,
 *   byte RtgCount,
 *   byte StartIndex,
 *   byte RtgListCount,
 *   byte *RtgList)
 *
 */
extern void zdo_MTCB_MgmtRtgRspCB( uint16 SrcAddr, byte Status,
                        byte RtgCount, byte StartIndex,
                        byte RtgListCount, rtgItem_t *pList );

/*
 *   Management Binding Response
 *
 *  @MT SPI_CB_ZDO_MGMT_BIND_RSP
 *  (uint16 SrcAddr,
 *   byte Status,
 *   byte BindCount,
 *   byte StartIndex,
 *   byte BindListCount,
 *   byte *BindList)
 *
 */
extern void zdo_MTCB_MgmtBindRspCB( uint16 SrcAddr, byte Status,
                        byte BindCount, byte StartIndex,
                        byte BindListCount, apsBindingItem_t *pList );

/*
 *   Management Direct Join Response
 *
 *  @MT SPI_CB_ZDO_MGMT_DIRECT_JOIN_RSP
 *  (uint16 SrcAddr,
 *   byte Status)
 *
 */
extern void zdo_MTCB_MgmtDirectJoinRspCB( uint16 SrcAddr, byte Status,
                        byte SecurityUse );

/*
 *   Management Leave Response
 *
 *  @MT SPI_CB_ZDO_MGMT_LEAVE_RSP
 *  (byte Status,
 *   uint16 SrcAddr)
 *
 */
extern void zdo_MTCB_MgmtLeaveRspCB( uint16 SrcAddr, byte Status,
                        byte SecurityUse );

/*
 *   Management Permit Join Response
 *
 *  @MT SPI_CB_ZDO_MGMT_PERMIT_JOIN_RSP
 *  (uint16 SrcAddr,
 *   byte Status)
 *
 */
extern void zdo_MTCB_MgmtPermitJoinRspCB( uint16 SrcAddr, byte Status,
                        byte SecurityUse );

/*
 *   User Descriptor Response
 *
 *  @MT SPI_CB_ZDO_USER_DESC_RSP
 *  (byte Status,
 *   uint16 SrcAddr)
 *
 */
extern void zdo_MTCB_UserDescRspCB( uint16 SrcAddr, byte status,
                          uint16 nwkAddrOfInterest,
                          byte userDescLen, byte *userDesc, byte SecurityUse );

/*
 *   User Descriptor Confirm
 *
 *  @MT SPI_CB_ZDO_USER_DESC_CNF
 *  (byte Status,
 *   uint16 SrcAddr)
 *
 */
extern void zdo_MTCB_UserDescConfCB( uint16 SrcAddr, byte status,
                          byte SecurityUse );

/*
 *  Server Discovery Response.
 *
 *  @MT SPI_CB_ZDO_SERVER_DISC_CNF
 *
 */
#if defined ( ZDO_SERVERDISC_REQUEST )
void zdo_MTCB_ServerDiscRspCB( uint16 srcAddr, byte status, 
                               uint16 serverMask, byte SecurityUse );
#endif

/*********************************************************************
*********************************************************************/

⌨️ 快捷键说明

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