📄 zdobject.s51
字号:
CFI V2 SameValue
CFI V3 SameValue
CFI V4 SameValue
CFI V5 SameValue
CFI V6 SameValue
CFI V7 SameValue
CFI PSPH Undefined
CFI PSPL Undefined
CFI XSPH Undefined
CFI XSPL Undefined
CFI ?RET Concat
CFI ?BRET_EXT SameValue
CFI ?RET_HIGH Frame(CFA_SP, 2)
CFI ?RET_LOW Frame(CFA_SP, 1)
CFI EndCommon cfiCommon1
EXTERN NLME_DeviceJoiningInit
FUNCTION NLME_DeviceJoiningInit,0202H
ARGFRAME ISTACK, 2, STACK
EXTERN ZDSecMgrInit
FUNCTION ZDSecMgrInit,0202H
ARGFRAME ISTACK, 2, STACK
EXTERN NLME_NetworkDiscoveryRequest
FUNCTION NLME_NetworkDiscoveryRequest,0202H
ARGFRAME XSTACK, 23, STACK
EXTERN nwk_ScanJoiningOrphan
FUNCTION nwk_ScanJoiningOrphan,0202H
ARGFRAME XSTACK, 23, STACK
EXTERN NLME_OrphanJoinRequest
FUNCTION NLME_OrphanJoinRequest,0202H
ARGFRAME XSTACK, 23, STACK
EXTERN ZDSecMgrConfig
FUNCTION ZDSecMgrConfig,0202H
ARGFRAME XSTACK, 23, STACK
EXTERN osal_start_timer
FUNCTION osal_start_timer,0202H
ARGFRAME XSTACK, 23, STACK
EXTERN NLME_GetShortAddr
FUNCTION NLME_GetShortAddr,0202H
ARGFRAME XSTACK, 12, STACK
EXTERN NLME_GetExtAddr
FUNCTION NLME_GetExtAddr,0202H
ARGFRAME XSTACK, 12, STACK
EXTERN osal_msg_allocate
FUNCTION osal_msg_allocate,0202H
ARGFRAME XSTACK, 30, STACK
EXTERN osal_msg_send
FUNCTION osal_msg_send,0202H
ARGFRAME XSTACK, 30, STACK
EXTERN osal_mem_alloc
FUNCTION osal_mem_alloc,0202H
ARGFRAME XSTACK, 14, STACK
EXTERN NLME_GetProtocolVersion
FUNCTION NLME_GetProtocolVersion,0202H
ARGFRAME XSTACK, 14, STACK
EXTERN ZDP_NodeDescMsg
FUNCTION ZDP_NodeDescMsg,0202H
ARGFRAME XSTACK, 15, STACK
EXTERN ZDP_GenericRsp
FUNCTION ZDP_GenericRsp,0202H
ARGFRAME XSTACK, 20, STACK
EXTERN ZDP_PowerDescMsg
FUNCTION ZDP_PowerDescMsg,0202H
ARGFRAME XSTACK, 15, STACK
EXTERN afFindSimpleDesc
FUNCTION afFindSimpleDesc,0202H
ARGFRAME XSTACK, 16, STACK
EXTERN ZDP_SimpleDescMsg
FUNCTION ZDP_SimpleDescMsg,0202H
ARGFRAME XSTACK, 20, STACK
EXTERN osal_mem_free
FUNCTION osal_mem_free,0202H
ARGFRAME XSTACK, 30, STACK
EXTERN afNumEndPoints
FUNCTION afNumEndPoints,0202H
ARGFRAME XSTACK, 16, STACK
EXTERN afEndPoints
FUNCTION afEndPoints,0202H
ARGFRAME XSTACK, 16, STACK
EXTERN ZDP_EPRsp
FUNCTION ZDP_EPRsp,0202H
ARGFRAME XSTACK, 37, STACK
EXTERN NLME_IsAddressBroadcast
FUNCTION NLME_IsAddressBroadcast,0202H
ARGFRAME XSTACK, 30, STACK
EXTERN osal_memcpy
FUNCTION osal_memcpy,0202H
ARGFRAME XSTACK, 33, STACK
EXTERN ZDApp_MatchDescRspCB
FUNCTION ZDApp_MatchDescRspCB,0202H
ARGFRAME XSTACK, 14, STACK
EXTERN ZDApp_EndDeviceBindRsp
FUNCTION ZDApp_EndDeviceBindRsp,0202H
ARGFRAME ISTACK, 2, STACK
EXTERN ZDAppNwkAddr
EXTERN ZDO_Config_Node_Descriptor
EXTERN ZDO_Config_Power_Descriptor
EXTERN devState
EXTERN epList
EXTERN zgDefaultChannelList
EXTERN zgDefaultStartingScanDuration
// C:\Texas Instruments\ZStack-1.4.2\Components\stack\zdo\ZDObject.c
// 1 /*********************************************************************
// 2 Filename: ZDObject.c
// 3 Revised: $Date: 2007-05-14 17:34:18 -0700 (Mon, 14 May 2007) $
// 4 Revision: $Revision: 14296 $
// 5
// 6 Description:
// 7
// 8 This Zigbee Device Object.
// 9
// 10 Notes:
// 11
// 12 Copyright (c) 2006 by Texas Instruments, Inc.
// 13 All Rights Reserved. Permission to use, reproduce, copy, prepare
// 14 derivative works, modify, distribute, perform, display or sell this
// 15 software and/or its documentation for any purpose is prohibited
// 16 without the express written consent of Texas Instruments, Inc.
// 17 *********************************************************************/
// 18
// 19 /*********************************************************************
// 20 * INCLUDES
// 21 */
// 22 #include "ZComdef.h"
// 23 #include "OSAL.h"
// 24 #include "OSAL_Nv.h"
// 25 #include "rtg.h"
// 26 #include "NLMEDE.h"
// 27 #include "nwk_globals.h"
// 28 #include "APS.h"
// 29 #include "APSMEDE.h"
// 30 #include "AssocList.h"
// 31 #include "BindingTable.h"
// 32 #include "AddrMgr.h"
// 33 #include "AF.h"
// 34 #include "ZDObject.h"
// 35 #include "ZDProfile.h"
// 36 #include "ZDConfig.h"
// 37 #include "ZDCache.h"
// 38 #include "ZDSecMgr.h"
// 39 #include "ZDApp.h"
// 40 #include "nwk_util.h" // NLME_IsAddressBroadcast()
// 41 #include "ZGlobals.h"
// 42
// 43 #if defined( LCD_SUPPORTED )
// 44 #include "OnBoard.h"
// 45 #endif
// 46
// 47 /* HAL */
// 48 #include "hal_lcd.h"
// 49
// 50 /*********************************************************************
// 51 * MACROS
// 52 */
// 53
// 54 /*********************************************************************
// 55 * CONSTANTS
// 56 */
// 57 // NLME Stub Implementations
// 58 #define ZDO_ProcessMgmtPermitJoinTimeout NLME_PermitJoiningTimeout
// 59
// 60 // Status fields used by ZDO_ProcessMgmtRtgReq
// 61 #define ZDO_MGMT_RTG_ENTRY_ACTIVE 0x00
// 62 #define ZDO_MGMT_RTG_ENTRY_DISCOVERY_UNDERWAY 0x01
// 63 #define ZDO_MGMT_RTG_ENTRY_DISCOVERY_FAILED 0x02
// 64 #define ZDO_MGMT_RTG_ENTRY_INACTIVE 0x03
// 65
// 66 /*********************************************************************
// 67 * TYPEDEFS
// 68 */
// 69 #if defined ( REFLECTOR )
// 70 typedef struct
// 71 {
// 72 byte SrcTransSeq;
// 73 zAddrType_t SrcAddr;
// 74 uint16 LocalCoordinator;
// 75 byte epIntf;
// 76 uint16 ProfileID;
// 77 byte numInClusters;
// 78 uint16 *inClusters;
// 79 byte numOutClusters;
// 80 uint16 *outClusters;
// 81 byte SecurityUse;
// 82 byte status;
// 83 } ZDO_EDBind_t;
// 84 #endif // defined ( REFLECTOR )
// 85
// 86 #if defined ( ZDO_COORDINATOR )
// 87 enum
// 88 {
// 89 ZDMATCH_INIT, // Initialized
// 90 ZDMATCH_WAIT_REQ, // Received first request, waiting for second
// 91 ZDMATCH_SENDING_BINDS // Received both requests, sending unbind/binds
// 92 };
// 93
// 94 enum
// 95 {
// 96 ZDMATCH_REASON_START,
// 97 ZDMATCH_REASON_TIMEOUT,
// 98 ZDMATCH_REASON_UNBIND_RSP,
// 99 ZDMATCH_REASON_BIND_RSP
// 100 };
// 101
// 102 enum
// 103 {
// 104 ZDMATCH_SENDING_NOT,
// 105 ZDMATCH_SENDING_UNBIND,
// 106 ZDMATCH_SENDING_BIND
// 107 };
// 108
// 109 typedef struct
// 110 {
// 111 ZDEndDeviceBind_t ed1;
// 112 ZDEndDeviceBind_t ed2;
// 113 uint8 state; // One of the above states
// 114 uint8 sending; // 0 - not sent, 1 - unbind, 2 bind - expecting response
// 115 uint8 transSeq;
// 116 uint8 ed1numMatched;
// 117 uint16 *ed1Matched;
// 118 uint8 ed2numMatched;
// 119 uint16 *ed2Matched;
// 120 } ZDMatchEndDeviceBind_t;
// 121 #endif
// 122
// 123 /*********************************************************************
// 124 * GLOBAL VARIABLES
// 125 */
// 126
// 127 /*********************************************************************
// 128 * EXTERNAL VARIABLES
// 129 */
// 130
// 131 /*********************************************************************
// 132 * EXTERNAL FUNCTIONS
// 133 */
// 134
// 135 /*********************************************************************
// 136 * LOCAL VARIABLES
// 137 */
RSEG XDATA_Z:XDATA:NOROOT(0)
REQUIRE __INIT_XDATA_Z
// 138 static uint16 ZDOBuildBuf[26]; // temp area to build data without allocation
??ZDOBuildBuf:
DS 52
// 139
// 140 #if defined ( REFLECTOR )
// 141 static ZDO_EDBind_t *ZDO_EDBind; // Null when not used
// 142 #endif
// 143
// 144 #if defined ( MANAGED_SCAN )
// 145 uint32 managedScanNextChannel = 0;
// 146 uint32 managedScanChannelMask = 0;
// 147 uint8 managedScanTimesPerChannel = 0;
// 148 #endif
// 149
// 150 #if defined ( ZDO_COORDINATOR )
// 151 ZDMatchEndDeviceBind_t *matchED = (ZDMatchEndDeviceBind_t *)NULL;
// 152 #endif
// 153
// 154 /*********************************************************************
// 155 * LOCAL FUNCTIONS
// 156 */
// 157 static void ZDODeviceSetup( void );
// 158 static uint16 *ZDO_CreateAlignedUINT16List(uint8 num, uint8 *buf);
// 159 #if defined ( MANAGED_SCAN )
// 160 static void ZDOManagedScan_Next( void );
// 161 #endif
// 162 #if defined ( REFLECTOR )
// 163 static void ZDO_RemoveEndDeviceBind( void );
// 164 static void ZDO_SendEDBindRsp( byte TransSeq, zAddrType_t *dstAddr, byte Status, byte secUse );
// 165 #endif
// 166 #if defined ( REFLECTOR ) || defined( ZDO_COORDINATOR )
// 167 static byte ZDO_CompareClusterLists( byte numList1, uint16 *list1,
// 168 byte numList2, uint16 *list2, uint16 *pMatches );
// 169 #endif
// 170 #if defined ( ZDO_COORDINATOR )
// 171 static void ZDO_RemoveMatchMemory( void );
// 172 static uint8 ZDO_CopyMatchInfo( ZDEndDeviceBind_t *destReq, ZDEndDeviceBind_t *srcReq );
// 173 static uint8 ZDMatchSendState( uint8 reason, uint8 status, uint8 TransSeq );
// 174 static void ZDO_EndDeviceBindMatchTimeoutCB( void );
// 175 #endif
// 176
// 177 /*********************************************************************
// 178 * @fn ZDO_Init
// 179 *
// 180 * @brief ZDObject and ZDProfile initialization.
// 181 *
// 182 * @param none
// 183 *
// 184 * @return none
// 185 */
RSEG BANKED_CODE:CODE:NOROOT(0)
// 186 void ZDO_Init( void )
ZDO_Init:
CFI Block cfiBlock0 Using cfiCommon0
CFI Function ZDO_Init
// 187 {
FUNCALL ZDO_Init, NLME_DeviceJoiningInit
LOCFRAME ISTACK, 2, STACK
ARGFRAME ISTACK, 2, STACK
FUNCALL ZDO_Init, ZDSecMgrInit
LOCFRAME ISTACK, 2, STACK
ARGFRAME ISTACK, 2, STACK
PUSH DPL
CFI DPL0 Frame(CFA_SP, 4)
CFI CFA_SP SP+-4
PUSH DPH
CFI DPH0 Frame(CFA_SP, 5)
CFI CFA_SP SP+-5
; Saved register size: 2
; Auto size: 0
// 188 // Initialize ZD items
// 189 #if defined ( REFLECTOR )
// 190 ZDO_EDBind = NULL;
// 191 #endif
// 192
// 193 // Setup the device - type of device to create.
// 194 ZDODeviceSetup();
; Setup parameters for call to function NLME_DeviceJoiningInit
MOV DPTR,#(NLME_DeviceJoiningInit & 0xffff)
MOV A,#((NLME_DeviceJoiningInit >> 16) & 0xff)
LCALL ?BCALL ; Banked call to: DPTR()
// 195
// 196 // Initialize ZigBee Device Security Manager
// 197 ZDSecMgrInit();
; Setup parameters for call to function ZDSecMgrInit
MOV DPTR,#(ZDSecMgrInit & 0xffff)
MOV A,#((ZDSecMgrInit >> 16) & 0xff)
LCALL ?BCALL ; Banked call to: DPTR()
CFI EndBlock cfiBlock0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -