?? sampleapp.lst
字號(hào):
\ 000006 90.... MOV DPTR,#??rejoinPending
\ 000009 F0 MOVX @DPTR,A
325 ZDApp_SendEventMsg( ZDO_NWK_JOIN_REQ, 0, NULL );
\ 00000A ; Setup parameters for call to function ZDApp_SendEventMsg
\ 00000A 7C00 MOV R4,#0x0
\ 00000C 7D00 MOV R5,#0x0
\ 00000E 7A00 MOV R2,#0x0
\ 000010 7903 MOV R1,#0x3
\ 000012 90.... MOV DPTR,#(ZDApp_SendEventMsg & 0xffff)
\ 000015 74.. MOV A,#((ZDApp_SendEventMsg >> 16) & 0xff)
\ 000017 12.... LCALL ?BCALL ; Banked call to: DPTR()
326
327 SampleApp_Sleep( FALSE );
\ 00001A ; Setup parameters for call to function SampleApp_Sleep
\ 00001A 7900 MOV R1,#0x0
\ 00001C 90.... MOV DPTR,#(SampleApp_Sleep & 0xffff)
\ 00001F 74.. MOV A,#((SampleApp_Sleep >> 16) & 0xff)
\ 000021 02.... LJMP ?Subroutine0 & 0xFFFF
328 #endif
329 }
330
331 /*********************************************************************
332 * @fn SampleApp_Sleep
333 *
334 * @brief Sample Application set allow/disallow sleep mode.
335 *
336 * @return none
337 */
\ In segment BANKED_CODE, align 1, keep-with-next
338 void SampleApp_Sleep( uint8 allow )
\ SampleApp_Sleep:
339 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
340 #if defined( POWER_SAVING )
341 if ( allow )
\ 000004 E9 MOV A,R1
\ 000005 6015 JZ ??SampleApp_Sleep_0
342 {
343 osal_pwrmgr_task_state( NWK_TaskID, PWRMGR_CONSERVE );
\ 000007 ; Setup parameters for call to function osal_pwrmgr_task_state
\ 000007 7A00 MOV R2,#0x0
\ 000009 90.... MOV DPTR,#NWK_TaskID
\ 00000C E0 MOVX A,@DPTR
\ 00000D F9 MOV R1,A
\ 00000E 90.... MOV DPTR,#(osal_pwrmgr_task_state & 0xffff)
\ 000011 74.. MOV A,#((osal_pwrmgr_task_state >> 16) & 0xff)
\ 000013 12.... LCALL ?BCALL ; Banked call to: DPTR()
344 NLME_SetPollRate( 0 );
\ 000016 ; Setup parameters for call to function NLME_SetPollRate
\ 000016 7A00 MOV R2,#0x0
\ 000018 7B00 MOV R3,#0x0
\ 00001A 8013 SJMP ??SampleApp_Sleep_1
345 }
346 else
347 {
348 osal_pwrmgr_task_state( NWK_TaskID, PWRMGR_HOLD );
\ ??SampleApp_Sleep_0:
\ 00001C ; Setup parameters for call to function osal_pwrmgr_task_state
\ 00001C 7A01 MOV R2,#0x1
\ 00001E 90.... MOV DPTR,#NWK_TaskID
\ 000021 E0 MOVX A,@DPTR
\ 000022 F9 MOV R1,A
\ 000023 90.... MOV DPTR,#(osal_pwrmgr_task_state & 0xffff)
\ 000026 74.. MOV A,#((osal_pwrmgr_task_state >> 16) & 0xff)
\ 000028 12.... LCALL ?BCALL ; Banked call to: DPTR()
349 NLME_SetPollRate( 1000 );
\ 00002B ; Setup parameters for call to function NLME_SetPollRate
\ 00002B 7AE8 MOV R2,#-0x18
\ 00002D 7B03 MOV R3,#0x3
\ ??SampleApp_Sleep_1:
\ 00002F 90.... MOV DPTR,#(NLME_SetPollRate & 0xffff)
\ 000032 74.. MOV A,#((NLME_SetPollRate >> 16) & 0xff)
\ 000034 02.... LJMP ?Subroutine0 & 0xFFFF
350 }
351 #endif
352 }
353
354 /*********************************************************************
355 * @fn handleKeys
356 *
357 * @brief Handles all key events for this device.
358 *
359 * @param shift - true if in shift/alt.
360 * @param keys - bit field for key events. Valid entries:
361 *
362 * @return none
363 */
364 static void handleKeys( uint8 shift, uint8 keys )
365 {
366 /* POWER_SAVING key press interrupt uses shift key to awaken from deep sleep,
367 * so it is not available.
368 */
369 #if !defined( POWER_SAVING )
370 /* Give the LocationProfile access to 4 keys by sending any Shif-Key
371 * sequence to the profile as a normal Key.
372 */
373 if ( shift )
374 {
375 LocationHandleKeys( keys );
376 }
377 else
378 #endif
379 {
380 if ( keys & HAL_KEY_SW_1 )
381 {
382 }
383
384 if ( keys & HAL_KEY_SW_2 )
385 {
386 }
387
388 if ( keys & HAL_KEY_SW_3 )
389 {
390 }
391
392 if ( keys & HAL_KEY_SW_4 )
393 {
394 }
395 }
396
397 #if defined ( LOCATION_BLINDNODE )
398 {
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
399 static uint8 transId;
\ ??transId:
\ 000000 DS 1
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for SampleApp_InputClusterList>`:
\ 000000 0100 DW 1
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for SampleApp_OutputClusterList>`:
\ 000000 01001000 DW 1, 16
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for SampleApp_SimpleDesc>`:
\ 000000 0A DB 10
\ 000001 01200D00 DW 8193, 13
\ 000005 0F02 DB 15, 2
\ 000007 .... DW ??SampleApp_InputClusterList
\ 000009 04 DB 4
\ 00000A .... DW ??SampleApp_OutputClusterList
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for SampleApp_epDesc>`:
\ 000000 0A DB 10
\ 000001 ........ DW SampleApp_TaskID, ??SampleApp_SimpleDesc
\ 000005 00 DB 0
400
401 uint8 actionId = SAMPLE_APP_TOGGLE;
402 afAddrType_t dstAddr;
403
404 dstAddr.addrMode = afAddrBroadcast;
405 dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR_DEVALL;
406 dstAddr.endPoint = SAMPLE_APP_ENDPOINT;
407
408 // Control all lights within 1-hop radio range.
409 (void)AF_DataRequest( &dstAddr, (endPointDesc_t *)&SampleApp_epDesc,
410 SAMPLE_APP_ON_OFF_ID, 1, &actionId,
411 &transId, AF_SKIP_ROUTING, 1 );
412
413 BlindNode_FindRequest();
414 }
415 #endif
416 }
417
418 /*********************************************************************
419 * @fn processMSGCmd
420 *
421 * @brief Data message processor callback.
422 *
423 * @param none
424 *
425 * @return none
426 */
427 static void processMSGCmd( afIncomingMSGPacket_t *pkt )
428 {
429 switch ( pkt->clusterId )
430 {
431 case SAMPLE_APP_ON_OFF_ID:
432 switch ( pkt->cmd.Data[0] )
433 {
434 case SAMPLE_APP_OFF:
435 HalLedSet( HAL_LED_3, HAL_LED_MODE_OFF );
436 break;
437
438 case SAMPLE_APP_TOGGLE:
439 HalLedSet( HAL_LED_3, HAL_LED_MODE_TOGGLE );
440 break;
441
442 case SAMPLE_APP_ON:
443 HalLedSet( HAL_LED_3, HAL_LED_MODE_ON );
444 break;
445 }
446 break;
447
448 default:
449 break;
450 }
451 }
452
453 /*********************************************************************
454 *********************************************************************/
Maximum stack usage in bytes:
Function ISTACK PSTACK XSTACK
-------- ------ ------ ------
SampleApp_Init 2 0 0
-> afRegister 4 0 0
-> RegisterForKeys 4 0 0
SampleApp_NoACK 2 0 17
-> ZDApp_SendEventMsg 4 0 0
-> SampleApp_Sleep 4 0 0
SampleApp_ProcessEvent 1 0 26
-> osal_msg_receive 0 0 34
-> SampleApp_Sleep 0 0 34
-> osal_msg_deallocate 0 0 34
-> osal_msg_receive 0 0 34
-> AF_DataRequest 0 0 52
-> BlindNode_FindRequest 0 0 34
-> SampleApp_NoACK 0 0 34
-> HalLedSet 0 0 34
-> HalLedSet 0 0 34
-> HalLedSet 0 0 34
SampleApp_Sleep 4 0 17
-> osal_pwrmgr_task_state 4 0 0
-> NLME_SetPollRate 4 0 0
-> osal_pwrmgr_task_state 4 0 0
-> NLME_SetPollRate 4 0 0
osalAddTasks 0 0 14
-> osalTaskAdd 0 0 28
-> osalTaskAdd 0 0 28
-> osalTaskAdd 0 0 28
-> osalTaskAdd 0 0 28
-> osalTaskAdd 0 0 28
-> osalTaskAdd 0 0 28
-> osalTaskAdd 0 0 28
Segment part sizes:
Function/Label Bytes
-------------- -----
SampleApp_TaskID 1
SampleApp_InputClusterList 2
SampleApp_OutputClusterList 4
SampleApp_SimpleDesc 12
SampleApp_epDesc 6
rejoinPending 1
osalAddTasks 255
SampleApp_Init 31
?Subroutine0 10
SampleApp_ProcessEvent 365
SampleApp_NoACK 36
SampleApp_Sleep 55
transId 1
?<Initializer for SampleApp_InputClusterList>
2
?<Initializer for SampleApp_OutputClusterList>
4
?<Initializer for SampleApp_SimpleDesc>
12
?<Initializer for SampleApp_epDesc>
6
752 bytes in segment BANKED_CODE
24 bytes in segment XDATA_I
24 bytes in segment XDATA_ID
3 bytes in segment XDATA_Z
776 bytes of CODE memory
27 bytes of XDATA memory
Errors: none
Warnings: none
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -