zdapp.lst
来自「TI的基于ZIGBEE2006的协议栈」· LST 代码 · 共 1,223 行 · 第 1/5 页
LST
1,223 行
74 #endif
75
76 #if !defined( BEACON_REQUEST_DELAY )
77 #define BEACON_REQUEST_DELAY 100 // in milliseconds
78 #endif
79
80 #if !defined( BEACON_REQ_DELAY_MASK )
81 #define BEACON_REQ_DELAY_MASK 0x007F
82 #endif
83
84 #if defined (AUTO_SOFT_START)
85 #define MAX_RESUME_RETRY 3
86 #define NUM_DISC_ATTEMPTS 3
87 #else
88 #define MAX_RESUME_RETRY 1
89 #endif
90
91 #define MAX_DEVICE_UNAUTH_TIMEOUT 5000 // 5 seconds
92
93 // Beacon Order Settings (see NLMEDE.h)
94 #define DEFAULT_BEACON_ORDER BEACON_ORDER_NO_BEACONS
95 #define DEFAULT_SUPERFRAME_ORDER DEFAULT_BEACON_ORDER
96
97 #if ( SECURE != 0 )
98 #if !defined( MAX_NWK_FRAMECOUNTER_CHANGES )
99 // The number of times the frame counter can change before
100 // saving to NV
101 #define MAX_NWK_FRAMECOUNTER_CHANGES 1000
102 #endif
103 #endif
104
105 // Leave control bits
106 #define ZDAPP_LEAVE_CTRL_INIT 0
107 #define ZDAPP_LEAVE_CTRL_SET 1
108 #define ZDAPP_LEAVE_CTRL_RA 2
109
110 // Standard time to update NWK NV data
111 #define ZDAPP_UPDATE_NWK_NV_TIME 100
112
113 // Address Manager Stub Implementation
114 #define ZDApp_NwkWriteNVRequest AddrMgrWriteNVRequest
115
116 /*********************************************************************
117 * TYPEDEFS
118 */
119
120 /*********************************************************************
121 * GLOBAL VARIABLES
122 */
123
124 #if defined( LCD_SUPPORTED )
125 byte MatchRsps = 0;
126 #endif
127
\ In segment XDATA_I, align 1, keep-with-next
128 byte zdoDiscCounter = 1;
\ zdoDiscCounter:
\ 000000 DS 1
\ 000001 REQUIRE `?<Initializer for zdoDiscCounter>`
\ 000001 REQUIRE __INIT_XDATA_I
129
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
130 zAddrType_t ZDAppNwkAddr;
\ ZDAppNwkAddr:
\ 000000 DS 9
131
132 #if defined ( ZDO_MGMT_NWKDISC_RESPONSE )
133 byte zdappMgmtNwkDiscRspTransSeq;
134 byte zdappMgmtNwkDiscReqInProgress = FALSE;
135 zAddrType_t zdappMgmtNwkDiscRspAddr;
136 byte zdappMgmtNwkDiscStartIndex;
137 byte zdappMgmtSavedNwkState;
138 #endif
139
140 #if ( SECURE != 0 )
141 uint16 nwkFrameCounterChanges = 0;
142 #endif
143
144 #if defined ( SOFT_START )
145 static uint8 softStartAllowCoord = TRUE;
146 #endif
147
\ In segment XDATA_I, align 1, keep-with-next
148 uint8 continueJoining = TRUE;
\ continueJoining:
\ 000000 DS 1
\ 000001 REQUIRE `?<Initializer for continueJoining>`
\ 000001 REQUIRE __INIT_XDATA_I
149
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
150 byte _tmpRejoinState;
\ _tmpRejoinState:
\ 000000 DS 1
151
152 /*********************************************************************
153 * EXTERNAL VARIABLES
154 */
155
156 /*********************************************************************
157 * EXTERNAL FUNCTIONS
158 */
159
160 /*********************************************************************
161 * LOCAL FUNCTIONS
162 */
163
164 void ZDApp_NetworkStartEvt( void );
165 void ZDApp_DeviceAuthEvt( void );
166 void ZDApp_SaveNetworkStateEvt( void );
167
168 uint8 ZDApp_ReadNetworkRestoreState( void );
169 uint8 ZDApp_RestoreNetworkState( void );
170 void ZDAppDetermineDeviceType( void );
171 void ZDAppSetupProtoVersion( void );
172 void ZDApp_InitUserDesc( void );
173 void ZDAppCheckForHoldKey( void );
174 void ZDApp_ProcessOSALMsg( osal_event_hdr_t *msgPtr );
175 void ZDApp_ProcessNetworkJoin( void );
176 void ZDApp_SetCoordAddress( byte endPoint, byte dstEP );
177 void ZDApp_SendNewDstAddr( byte dstEP, zAddrType_t *dstAddr,
178 cId_t clusterID, byte removeFlag, byte task_id, byte endpoint );
179
180 #if ( SECURE != 0 )
181 void ZDApp_SaveNwkKey( void );
182 byte ZDApp_RestoreNwkKey( void );
183 #endif
184
185 void ZDApp_SendMsg( byte taskID, byte cmd, byte len, byte *buf );
186
187 #if defined ( ZDO_BIND_UNBIND_RESPONSE ) && !defined ( REFLECTOR )
188 extern void ZDApp_AppBindReq( byte TransSeq, zAddrType_t *SrcAddr, byte *SrcAddress,
189 byte SrcEndPoint, cId_t ClusterID, byte *DstAddress,
190 byte DstEndPoint, byte SecurityUse, uint8 Type );
191 #endif
192
193 void ZDApp_ResetTimerStart( uint16 delay );
194 void ZDApp_ResetTimerCancel( void );
195 void ZDApp_LeaveCtrlInit( void );
196 void ZDApp_LeaveCtrlSet( uint8 ra );
197 uint8 ZDApp_LeaveCtrlBypass( void );
198 void ZDApp_LeaveCtrlStartup( devStates_t* state, uint16* startDelay );
199 void ZDApp_LeaveReset( uint8 ra );
200 void ZDApp_LeaveUpdate( uint16 nwkAddr, uint8* extAddr,
201 uint8 removeChildren );
202 void ZDApp_NodeProfileSync( ZDO_NetworkDiscoveryCfm_t* cfm );
203
204 /*********************************************************************
205 * LOCAL VARIABLES
206 */
207
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
208 byte ZDAppTaskID;
\ ZDAppTaskID:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
209 byte nwkStatus;
\ nwkStatus:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
210 endPointDesc_t *ZDApp_AutoFindMode_epDesc = (endPointDesc_t *)NULL;
\ ZDApp_AutoFindMode_epDesc:
\ 000000 DS 2
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
211 uint8 ZDApp_LeaveCtrl;
\ ZDApp_LeaveCtrl:
\ 000000 DS 1
212
213 #if defined( HOLD_AUTO_START )
214 devStates_t devState = DEV_HOLD;
215 #else
\ In segment XDATA_I, align 1, keep-with-next
216 devStates_t devState = DEV_INIT;
\ devState:
\ 000000 DS 1
\ 000001 REQUIRE `?<Initializer for devState>`
\ 000001 REQUIRE __INIT_XDATA_I
217 #endif
218
219 #if defined( ZDO_COORDINATOR ) && !defined( SOFT_START )
220 // Set the default to coodinator
\ In segment XDATA_I, align 1, keep-with-next
221 devStartModes_t devStartMode = MODE_HARD;
\ devStartMode:
\ 000000 DS 1
\ 000001 REQUIRE `?<Initializer for devStartMode>`
\ 000001 REQUIRE __INIT_XDATA_I
222 #else
223 devStartModes_t devStartMode = MODE_JOIN; // Assume joining
224 //devStartModes_t devStartMode = MODE_RESUME; // if already "directly joined"
225 // to parent. Set to make the device do an Orphan scan.
226 #endif
227
228 #if defined ( ZDO_IEEEADDR_REQUEST )
229 static byte ZDApp_IEEEAddrRsp_TaskID = 0; // Initialized to NO TASK
230 #endif
231
232 #if defined ( ZDO_NWKADDR_REQUEST )
233 static byte ZDApp_NwkAddrRsp_TaskID = 0; // Initialized to NO TASK
234 #endif
235
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
236 static byte ZDApp_MatchDescRsp_TaskID = 0; // Initialized to NO TASK
\ ??ZDApp_MatchDescRsp_TaskID:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
237 static byte ZDApp_EndDeviceAnnounce_TaskID = 0; // Initialized to NO TASK
\ ??ZDApp_EndDeviceAnnounce_TaskID:
\ 000000 DS 1
238
239 #if defined ( ZDO_BIND_UNBIND_REQUEST )
240 static byte ZDApp_BindUnbindRsp_TaskID = TASK_NO_TASK;
241 #endif
242
243 #if defined ( ZDO_BIND_UNBIND_RESPONSE ) && !defined ( REFLECTOR )
244 static byte ZDApp_BindReq_TaskID = 0; // Initialized to NO TASK
245 #endif
246
247 #if defined ( ZDO_MGMT_BIND_RESPONSE ) && !defined ( REFLECTOR )
248 static byte ZDApp_MgmtBindReq_TaskID = 0; // Initialized to NO TASK
249 #endif
250
251 #if !defined( ZDO_COORDINATOR ) || defined( SOFT_START )
252 static uint8 retryCnt;
253 #endif
254
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?