15149 lines
604 KiB
Plaintext
15149 lines
604 KiB
Plaintext
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// IAR C/C++ Compiler V10.30.1.6000 for 8051 23/Aug/2019 12:13:09
|
|
// Copyright 2004-2018 IAR Systems AB.
|
|
// PC-locked license - IAR Embedded Workbench for 8051
|
|
//
|
|
// Core = plain
|
|
// Code model = banked
|
|
// Data model = large
|
|
// Calling convention = xdata reentrant
|
|
// Constant location = data_rom
|
|
// Dptr setup = 1,16
|
|
//
|
|
// Source file =
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\stack\zdo\ZDApp.c
|
|
// Command line =
|
|
// -f C:\Users\VULCAN\AppData\Local\Temp\EWDF27.tmp
|
|
// (E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\stack\zdo\ZDApp.c
|
|
// -D ZIGBEEPRO -D ZTOOL_P1 -D MT_TASK -D MT_SYS_FUNC -D MT_ZDO_FUNC -D
|
|
// LCD_SUPPORTED=DEBUG -D SAPP_ZSTACK -lC
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\List
|
|
// -lA
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\List
|
|
// --diag_suppress Pe001,Pa010 -o
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\Obj
|
|
// -e --debug --core=plain --dptr=16,1 --data_model=large
|
|
// --code_model=banked --calling_convention=xdata_reentrant
|
|
// --place_constants=data_rom --nr_virtual_regs 8 -f
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\Tools\CC2530DB\f8wRouter.cfg
|
|
// (-DCPU32MHZ -DROOT=__near_func -DMAC_CFG_APP_PENDING_QUEUE=TRUE
|
|
// -DMAC_CFG_TX_DATA_MAX=5 -DMAC_CFG_TX_MAX=8 -DMAC_CFG_RX_MAX=5
|
|
// -DRTR_NWK) -f
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\Tools\CC2530DB\f8wConfig.cfg
|
|
// (-DZIGBEEPRO -DSECURE=0 -DZG_SECURE_DYNAMIC=0 -DREFLECTOR
|
|
// -DDEFAULT_CHANLIST=0x00800000 -DZDAPP_CONFIG_PAN_ID=0x0057
|
|
// -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_MASK=0x007F
|
|
// -DBEACON_REQUEST_DELAY=100 -DBEACON_REQ_DELAY_MASK=0x00FF
|
|
// -DLINK_STATUS_JITTER_MASK=0x007F -DROUTE_EXPIRY_TIME=30
|
|
// -DAPSC_ACK_WAIT_DURATION_POLLED=3000 -DNWK_INDIRECT_MSG_TIMEOUT=7
|
|
// -DMAX_RREQ_ENTRIES=8 -DAPSC_MAX_FRAME_RETRIES=3
|
|
// -DNWK_MAX_DATA_RETRIES=2 -DMAX_POLL_FAILURE_RETRIES=2 -DMAX_BCAST=9
|
|
// -DAPS_MAX_GROUPS=16 -DMAX_RTG_ENTRIES=40 -DNWK_MAX_BINDING_ENTRIES=4
|
|
// -DMAX_BINDING_CLUSTER_IDS=4 "-DDEFAULT_KEY={0x01, 0x03, 0x05, 0x07,
|
|
// 0x09, 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C,
|
|
// 0x0D}" -DMAC_MAX_FRAME_SIZE=116 -DZDNWKMGR_MIN_TRANSMISSIONS=20
|
|
// "-DCONST=const __code" -DGENERIC=__generic -DRFD_RCVC_ALWAYS_ON=FALSE
|
|
// -DPOLL_RATE=1000 -DQUEUED_POLL_RATE=100 -DRESPONSE_POLL_RATE=100
|
|
// -DREJOIN_POLL_RATE=440) -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\Source\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\ZMain\TI2530DB\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\hal\include\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\hal\target\CC2530EB\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\include\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\high_level\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\low_level\srf04\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\low_level\srf04\single_chip\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mt\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\osal\include\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\services\saddr\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\services\sdata\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\af\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\nwk\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sapi\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sec\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sys\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\zdo\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\zmac\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\zmac\f8w\
|
|
// -Ohz --require_prototypes --no_code_motion)
|
|
// Locale = Chinese (Simplified)_CHN.936
|
|
// List file =
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\List\ZDApp.s51
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
NAME ZDApp
|
|
|
|
RTMODEL "__SystemLibrary", "CLib"
|
|
RTMODEL "__calling_convention", "xdata_reentrant"
|
|
RTMODEL "__code_model", "banked"
|
|
RTMODEL "__core", "plain"
|
|
RTMODEL "__data_model", "large"
|
|
RTMODEL "__dptr_size", "16"
|
|
RTMODEL "__extended_stack", "disabled"
|
|
RTMODEL "__location_for_constants", "data"
|
|
RTMODEL "__number_of_dptrs", "1"
|
|
RTMODEL "__register_banks", "*"
|
|
RTMODEL "__rt_version", "1"
|
|
|
|
RSEG DOVERLAY:DATA:NOROOT(0)
|
|
RSEG IOVERLAY:IDATA:NOROOT(0)
|
|
RSEG ISTACK:IDATA:NOROOT(0)
|
|
RSEG PSTACK:XDATA:NOROOT(0)
|
|
RSEG XSTACK:XDATA:NOROOT(0)
|
|
|
|
EXTERN ?V0
|
|
EXTERN ?V1
|
|
EXTERN ?V2
|
|
EXTERN ?V3
|
|
EXTERN ?V4
|
|
EXTERN ?V5
|
|
EXTERN ?V6
|
|
EXTERN ?V7
|
|
EXTERN ?ALLOC_XSTACK8
|
|
EXTERN ?BANKED_ENTER_XDATA
|
|
EXTERN ?BANKED_LEAVE_XDATA
|
|
EXTERN ?BDISPATCH
|
|
EXTERN ?BRET
|
|
EXTERN ?CALL_IND
|
|
EXTERN ?DEALLOC_XSTACK8
|
|
EXTERN ?L_ADD_TO_X
|
|
EXTERN ?L_MOV_X
|
|
EXTERN ?PUSH_XSTACK8_X_TWO
|
|
EXTERN ?PUSH_XSTACK_I_ONE
|
|
EXTERN ?PUSH_XSTACK_I_THREE
|
|
EXTERN ?PUSH_XSTACK_I_TWO
|
|
EXTERN ?US_SWITCH_SPARSE
|
|
EXTERN ?XLOAD_R0123
|
|
EXTERN ?XSP
|
|
EXTERN ?XSTACK_DISP0_8
|
|
EXTERN ?XSTACK_DISP102_8
|
|
EXTERN ?XSTORE_R0123
|
|
EXTERN __INIT_XDATA_I
|
|
EXTERN __INIT_XDATA_Z
|
|
|
|
PUBLIC `??AddrMgrWriteNVRequest::?relay`
|
|
FUNCTION `??AddrMgrWriteNVRequest::?relay`,0203H
|
|
PUBLIC `??ZDAppCheckForHoldKey::?relay`
|
|
FUNCTION `??ZDAppCheckForHoldKey::?relay`,0203H
|
|
PUBLIC `??ZDAppDetermineDeviceType::?relay`
|
|
FUNCTION `??ZDAppDetermineDeviceType::?relay`,0203H
|
|
PUBLIC `??ZDApp_AnnounceNewAddress::?relay`
|
|
FUNCTION `??ZDApp_AnnounceNewAddress::?relay`,0203H
|
|
PUBLIC `??ZDApp_ChangeMatchDescRespPermission::?relay`
|
|
FUNCTION `??ZDApp_ChangeMatchDescRespPermission::?relay`,0203H
|
|
PUBLIC `??ZDApp_CoordStartPANIDConflictCB::?relay`
|
|
FUNCTION `??ZDApp_CoordStartPANIDConflictCB::?relay`,0203H
|
|
PUBLIC `??ZDApp_DeviceAuthEvt::?relay`
|
|
FUNCTION `??ZDApp_DeviceAuthEvt::?relay`,0203H
|
|
PUBLIC `??ZDApp_DeviceConfigured::?relay`
|
|
FUNCTION `??ZDApp_DeviceConfigured::?relay`,0203H
|
|
PUBLIC `??ZDApp_InMsgCB::?relay`
|
|
FUNCTION `??ZDApp_InMsgCB::?relay`,0203H
|
|
PUBLIC `??ZDApp_Init::?relay`
|
|
FUNCTION `??ZDApp_Init::?relay`,0203H
|
|
PUBLIC `??ZDApp_InitUserDesc::?relay`
|
|
FUNCTION `??ZDApp_InitUserDesc::?relay`,0203H
|
|
PUBLIC `??ZDApp_InitZdoCBFunc::?relay`
|
|
FUNCTION `??ZDApp_InitZdoCBFunc::?relay`,0203H
|
|
PUBLIC `??ZDApp_JoinReq::?relay`
|
|
FUNCTION `??ZDApp_JoinReq::?relay`,0203H
|
|
PUBLIC `??ZDApp_LeaveCtrlBypass::?relay`
|
|
FUNCTION `??ZDApp_LeaveCtrlBypass::?relay`,0203H
|
|
PUBLIC `??ZDApp_LeaveCtrlInit::?relay`
|
|
FUNCTION `??ZDApp_LeaveCtrlInit::?relay`,0203H
|
|
PUBLIC `??ZDApp_LeaveCtrlReset::?relay`
|
|
FUNCTION `??ZDApp_LeaveCtrlReset::?relay`,0203H
|
|
PUBLIC `??ZDApp_LeaveCtrlSet::?relay`
|
|
FUNCTION `??ZDApp_LeaveCtrlSet::?relay`,0203H
|
|
PUBLIC `??ZDApp_LeaveCtrlStartup::?relay`
|
|
FUNCTION `??ZDApp_LeaveCtrlStartup::?relay`,0203H
|
|
PUBLIC `??ZDApp_LeaveReset::?relay`
|
|
FUNCTION `??ZDApp_LeaveReset::?relay`,0203H
|
|
PUBLIC `??ZDApp_LeaveUpdate::?relay`
|
|
FUNCTION `??ZDApp_LeaveUpdate::?relay`,0203H
|
|
PUBLIC `??ZDApp_NVUpdate::?relay`
|
|
FUNCTION `??ZDApp_NVUpdate::?relay`,0203H
|
|
PUBLIC `??ZDApp_NetworkDiscoveryReq::?relay`
|
|
FUNCTION `??ZDApp_NetworkDiscoveryReq::?relay`,0203H
|
|
PUBLIC `??ZDApp_NetworkInit::?relay`
|
|
FUNCTION `??ZDApp_NetworkInit::?relay`,0203H
|
|
PUBLIC `??ZDApp_NetworkStartEvt::?relay`
|
|
FUNCTION `??ZDApp_NetworkStartEvt::?relay`,0203H
|
|
PUBLIC `??ZDApp_NodeProfileSync::?relay`
|
|
FUNCTION `??ZDApp_NodeProfileSync::?relay`,0203H
|
|
PUBLIC `??ZDApp_NwkDescListProcessing::?relay`
|
|
FUNCTION `??ZDApp_NwkDescListProcessing::?relay`,0203H
|
|
PUBLIC `??ZDApp_NwkStateUpdateCB::?relay`
|
|
FUNCTION `??ZDApp_NwkStateUpdateCB::?relay`,0203H
|
|
PUBLIC `??ZDApp_ProcessMsgCBs::?relay`
|
|
FUNCTION `??ZDApp_ProcessMsgCBs::?relay`,0203H
|
|
PUBLIC `??ZDApp_ProcessNetworkJoin::?relay`
|
|
FUNCTION `??ZDApp_ProcessNetworkJoin::?relay`,0203H
|
|
PUBLIC `??ZDApp_ProcessOSALMsg::?relay`
|
|
FUNCTION `??ZDApp_ProcessOSALMsg::?relay`,0203H
|
|
PUBLIC `??ZDApp_ProcessSecEvent::?relay`
|
|
FUNCTION `??ZDApp_ProcessSecEvent::?relay`,0203H
|
|
PUBLIC `??ZDApp_ProcessSecMsg::?relay`
|
|
FUNCTION `??ZDApp_ProcessSecMsg::?relay`,0203H
|
|
PUBLIC `??ZDApp_ReadNetworkRestoreState::?relay`
|
|
FUNCTION `??ZDApp_ReadNetworkRestoreState::?relay`,0203H
|
|
PUBLIC `??ZDApp_RegisterCBs::?relay`
|
|
FUNCTION `??ZDApp_RegisterCBs::?relay`,0203H
|
|
PUBLIC `??ZDApp_ResetNwkKey::?relay`
|
|
FUNCTION `??ZDApp_ResetNwkKey::?relay`,0203H
|
|
PUBLIC `??ZDApp_ResetTimerCancel::?relay`
|
|
FUNCTION `??ZDApp_ResetTimerCancel::?relay`,0203H
|
|
PUBLIC `??ZDApp_ResetTimerStart::?relay`
|
|
FUNCTION `??ZDApp_ResetTimerStart::?relay`,0203H
|
|
PUBLIC `??ZDApp_RestoreNetworkState::?relay`
|
|
FUNCTION `??ZDApp_RestoreNetworkState::?relay`,0203H
|
|
PUBLIC `??ZDApp_RestoreNwkKey::?relay`
|
|
FUNCTION `??ZDApp_RestoreNwkKey::?relay`,0203H
|
|
PUBLIC `??ZDApp_SaveNetworkStateEvt::?relay`
|
|
FUNCTION `??ZDApp_SaveNetworkStateEvt::?relay`,0203H
|
|
PUBLIC `??ZDApp_SaveNwkKey::?relay`
|
|
FUNCTION `??ZDApp_SaveNwkKey::?relay`,0203H
|
|
PUBLIC `??ZDApp_SecInit::?relay`
|
|
FUNCTION `??ZDApp_SecInit::?relay`,0203H
|
|
PUBLIC `??ZDApp_SendEventMsg::?relay`
|
|
FUNCTION `??ZDApp_SendEventMsg::?relay`,0203H
|
|
PUBLIC `??ZDApp_SendMsg::?relay`
|
|
FUNCTION `??ZDApp_SendMsg::?relay`,0203H
|
|
PUBLIC `??ZDApp_StartJoiningCycle::?relay`
|
|
FUNCTION `??ZDApp_StartJoiningCycle::?relay`,0203H
|
|
PUBLIC `??ZDApp_StopJoiningCycle::?relay`
|
|
FUNCTION `??ZDApp_StopJoiningCycle::?relay`,0203H
|
|
PUBLIC `??ZDApp_event_loop::?relay`
|
|
FUNCTION `??ZDApp_event_loop::?relay`,0203H
|
|
PUBLIC `??ZDOInitDevice::?relay`
|
|
FUNCTION `??ZDOInitDevice::?relay`,0203H
|
|
PUBLIC `??ZDO_AddrChangeIndicationCB::?relay`
|
|
FUNCTION `??ZDO_AddrChangeIndicationCB::?relay`,0203H
|
|
PUBLIC `??ZDO_ConcentratorIndicationCB::?relay`
|
|
FUNCTION `??ZDO_ConcentratorIndicationCB::?relay`,0203H
|
|
PUBLIC `??ZDO_DeregisterForZdoCB::?relay`
|
|
FUNCTION `??ZDO_DeregisterForZdoCB::?relay`,0203H
|
|
PUBLIC `??ZDO_JoinConfirmCB::?relay`
|
|
FUNCTION `??ZDO_JoinConfirmCB::?relay`,0203H
|
|
PUBLIC `??ZDO_JoinIndicationCB::?relay`
|
|
FUNCTION `??ZDO_JoinIndicationCB::?relay`,0203H
|
|
PUBLIC `??ZDO_LeaveCnf::?relay`
|
|
FUNCTION `??ZDO_LeaveCnf::?relay`,0203H
|
|
PUBLIC `??ZDO_LeaveInd::?relay`
|
|
FUNCTION `??ZDO_LeaveInd::?relay`,0203H
|
|
PUBLIC `??ZDO_ManytoOneFailureIndicationCB::?relay`
|
|
FUNCTION `??ZDO_ManytoOneFailureIndicationCB::?relay`,0203H
|
|
PUBLIC `??ZDO_NetworkDiscoveryConfirmCB::?relay`
|
|
FUNCTION `??ZDO_NetworkDiscoveryConfirmCB::?relay`,0203H
|
|
PUBLIC `??ZDO_NetworkFormationConfirmCB::?relay`
|
|
FUNCTION `??ZDO_NetworkFormationConfirmCB::?relay`,0203H
|
|
PUBLIC `??ZDO_PollConfirmCB::?relay`
|
|
FUNCTION `??ZDO_PollConfirmCB::?relay`,0203H
|
|
PUBLIC `??ZDO_RegisterForZdoCB::?relay`
|
|
FUNCTION `??ZDO_RegisterForZdoCB::?relay`,0203H
|
|
PUBLIC `??ZDO_SrcRtgIndCB::?relay`
|
|
FUNCTION `??ZDO_SrcRtgIndCB::?relay`,0203H
|
|
PUBLIC `??ZDO_StartRouterConfirmCB::?relay`
|
|
FUNCTION `??ZDO_StartRouterConfirmCB::?relay`,0203H
|
|
PUBLIC `??ZDO_SyncIndicationCB::?relay`
|
|
FUNCTION `??ZDO_SyncIndicationCB::?relay`,0203H
|
|
PUBLIC `??ZDO_UpdateDeviceIndication::?relay`
|
|
FUNCTION `??ZDO_UpdateDeviceIndication::?relay`,0203H
|
|
PUBLIC `??ZDO_beaconNotifyIndCB::?relay`
|
|
FUNCTION `??ZDO_beaconNotifyIndCB::?relay`,0203H
|
|
PUBLIC AddrMgrWriteNVRequest
|
|
FUNCTION AddrMgrWriteNVRequest,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
PUBLIC MatchRsps
|
|
PUBLIC ZDAppCheckForHoldKey
|
|
FUNCTION ZDAppCheckForHoldKey,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
PUBLIC ZDAppDetermineDeviceType
|
|
FUNCTION ZDAppDetermineDeviceType,021203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDAppNwkAddr
|
|
PUBLIC ZDAppTaskID
|
|
PUBLIC ZDApp_AnnounceNewAddress
|
|
FUNCTION ZDApp_AnnounceNewAddress,0a1203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 11, STACK
|
|
PUBLIC ZDApp_AutoFindMode_epDesc
|
|
PUBLIC ZDApp_ChangeMatchDescRespPermission
|
|
FUNCTION ZDApp_ChangeMatchDescRespPermission,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDApp_CoordStartPANIDConflictCB
|
|
FUNCTION ZDApp_CoordStartPANIDConflictCB,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
PUBLIC ZDApp_DeviceAuthEvt
|
|
FUNCTION ZDApp_DeviceAuthEvt,021203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_DeviceConfigured
|
|
FUNCTION ZDApp_DeviceConfigured,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
PUBLIC ZDApp_InMsgCB
|
|
FUNCTION ZDApp_InMsgCB,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
PUBLIC ZDApp_Init
|
|
FUNCTION ZDApp_Init,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDApp_InitUserDesc
|
|
FUNCTION ZDApp_InitUserDesc,0a1203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 31, STACK
|
|
PUBLIC ZDApp_InitZdoCBFunc
|
|
FUNCTION ZDApp_InitZdoCBFunc,0203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_JoinReq
|
|
FUNCTION ZDApp_JoinReq,0a1203H
|
|
ARGFRAME XSTACK, 4, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
PUBLIC ZDApp_LeaveCtrl
|
|
PUBLIC ZDApp_LeaveCtrlBypass
|
|
FUNCTION ZDApp_LeaveCtrlBypass,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_LeaveCtrlInit
|
|
FUNCTION ZDApp_LeaveCtrlInit,0a1203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 14, STACK
|
|
PUBLIC ZDApp_LeaveCtrlReset
|
|
FUNCTION ZDApp_LeaveCtrlReset,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 14, STACK
|
|
PUBLIC ZDApp_LeaveCtrlSet
|
|
FUNCTION ZDApp_LeaveCtrlSet,0a1203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 14, STACK
|
|
PUBLIC ZDApp_LeaveCtrlStartup
|
|
FUNCTION ZDApp_LeaveCtrlStartup,021203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_LeaveReset
|
|
FUNCTION ZDApp_LeaveReset,021203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDApp_LeaveUpdate
|
|
FUNCTION ZDApp_LeaveUpdate,021203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDApp_NVUpdate
|
|
FUNCTION ZDApp_NVUpdate,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
PUBLIC ZDApp_NetworkDiscoveryReq
|
|
FUNCTION ZDApp_NetworkDiscoveryReq,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
PUBLIC ZDApp_NetworkInit
|
|
FUNCTION ZDApp_NetworkInit,021203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_NetworkStartEvt
|
|
FUNCTION ZDApp_NetworkStartEvt,021203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_NodeProfileSync
|
|
FUNCTION ZDApp_NodeProfileSync,021203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDApp_NwkDescListProcessing
|
|
FUNCTION ZDApp_NwkDescListProcessing,0a1203H
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 14, STACK
|
|
PUBLIC ZDApp_NwkStateUpdateCB
|
|
FUNCTION ZDApp_NwkStateUpdateCB,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_ProcessMsgCBs
|
|
FUNCTION ZDApp_ProcessMsgCBs,0a1203H
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 31, STACK
|
|
PUBLIC ZDApp_ProcessNetworkJoin
|
|
FUNCTION ZDApp_ProcessNetworkJoin,0a1203H
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 12, STACK
|
|
PUBLIC ZDApp_ProcessOSALMsg
|
|
FUNCTION ZDApp_ProcessOSALMsg,0a1203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 15, STACK
|
|
PUBLIC ZDApp_ProcessSecEvent
|
|
FUNCTION ZDApp_ProcessSecEvent,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDApp_ProcessSecMsg
|
|
FUNCTION ZDApp_ProcessSecMsg,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_ReadNetworkRestoreState
|
|
FUNCTION ZDApp_ReadNetworkRestoreState,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDApp_RegisterCBs
|
|
FUNCTION ZDApp_RegisterCBs,021203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_ResetNwkKey
|
|
FUNCTION ZDApp_ResetNwkKey,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 35, STACK
|
|
PUBLIC ZDApp_ResetTimerCancel
|
|
FUNCTION ZDApp_ResetTimerCancel,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_ResetTimerStart
|
|
FUNCTION ZDApp_ResetTimerStart,021203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_RestoreNetworkState
|
|
FUNCTION ZDApp_RestoreNetworkState,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDApp_RestoreNwkKey
|
|
FUNCTION ZDApp_RestoreNwkKey,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 37, STACK
|
|
PUBLIC ZDApp_SaveNetworkStateEvt
|
|
FUNCTION ZDApp_SaveNetworkStateEvt,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
PUBLIC ZDApp_SaveNwkKey
|
|
FUNCTION ZDApp_SaveNwkKey,0a1203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 37, STACK
|
|
PUBLIC ZDApp_SavedPollRate
|
|
PUBLIC ZDApp_SecInit
|
|
FUNCTION ZDApp_SecInit,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDApp_SendEventMsg
|
|
FUNCTION ZDApp_SendEventMsg,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDApp_SendMsg
|
|
FUNCTION ZDApp_SendMsg,0a1203H
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 19, STACK
|
|
PUBLIC ZDApp_StartJoiningCycle
|
|
FUNCTION ZDApp_StartJoiningCycle,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_StopJoiningCycle
|
|
FUNCTION ZDApp_StopJoiningCycle,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDApp_epDesc
|
|
PUBLIC ZDApp_event_loop
|
|
FUNCTION ZDApp_event_loop,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
PUBLIC ZDOInitDevice
|
|
FUNCTION ZDOInitDevice,0a1203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 12, STACK
|
|
PUBLIC ZDO_AddrChangeIndicationCB
|
|
FUNCTION ZDO_AddrChangeIndicationCB,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
PUBLIC ZDO_ConcentratorIndicationCB
|
|
FUNCTION ZDO_ConcentratorIndicationCB,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
PUBLIC ZDO_DeregisterForZdoCB
|
|
FUNCTION ZDO_DeregisterForZdoCB,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDO_JoinConfirmCB
|
|
FUNCTION ZDO_JoinConfirmCB,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
PUBLIC ZDO_JoinIndicationCB
|
|
FUNCTION ZDO_JoinIndicationCB,0203H
|
|
ARGFRAME XSTACK, 1, STACK
|
|
PUBLIC ZDO_LeaveCnf
|
|
FUNCTION ZDO_LeaveCnf,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
PUBLIC ZDO_LeaveInd
|
|
FUNCTION ZDO_LeaveInd,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
PUBLIC ZDO_ManytoOneFailureIndicationCB
|
|
FUNCTION ZDO_ManytoOneFailureIndicationCB,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDO_NetworkDiscoveryConfirmCB
|
|
FUNCTION ZDO_NetworkDiscoveryConfirmCB,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 3, STACK
|
|
LOCFRAME XSTACK, 3, STACK
|
|
PUBLIC ZDO_NetworkFormationConfirmCB
|
|
FUNCTION ZDO_NetworkFormationConfirmCB,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDO_PollConfirmCB
|
|
FUNCTION ZDO_PollConfirmCB,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
PUBLIC ZDO_RegisterForZdoCB
|
|
FUNCTION ZDO_RegisterForZdoCB,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZDO_SrcRtgIndCB
|
|
FUNCTION ZDO_SrcRtgIndCB,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
PUBLIC ZDO_StartRouterConfirmCB
|
|
FUNCTION ZDO_StartRouterConfirmCB,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDO_SyncIndicationCB
|
|
FUNCTION ZDO_SyncIndicationCB,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZDO_UpdateDeviceIndication
|
|
FUNCTION ZDO_UpdateDeviceIndication,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
PUBLIC ZDO_UseExtendedPANID
|
|
PUBLIC ZDO_beaconNotifyIndCB
|
|
FUNCTION ZDO_beaconNotifyIndCB,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
PUBWEAK __Constant_1
|
|
PUBWEAK __Constant_3e8
|
|
PUBLIC _tmpRejoinState
|
|
PUBLIC continueJoining
|
|
PUBLIC devStartMode
|
|
PUBLIC devState
|
|
PUBLIC nwkFrameCounterChanges
|
|
PUBLIC nwkStatus
|
|
PUBLIC retryCnt
|
|
PUBLIC zdappMgmtNwkDiscReqInProgress
|
|
PUBLIC zdappMgmtNwkDiscRspAddr
|
|
PUBLIC zdappMgmtNwkDiscRspTransSeq
|
|
PUBLIC zdappMgmtNwkDiscStartIndex
|
|
PUBLIC zdappMgmtSavedNwkState
|
|
PUBLIC zdoCBFunc
|
|
PUBLIC zdoDiscCounter
|
|
|
|
CFI Names cfiNames0
|
|
CFI StackFrame CFA_SP SP IDATA
|
|
CFI StackFrame CFA_PSP16 PSP16 XDATA
|
|
CFI StackFrame CFA_XSP16 XSP16 XDATA
|
|
CFI StaticOverlayFrame CFA_IOVERLAY IOVERLAY
|
|
CFI StaticOverlayFrame CFA_DOVERLAY DOVERLAY
|
|
CFI Resource `PSW.CY`:1, `B.BR0`:1, `B.BR1`:1, `B.BR2`:1, `B.BR3`:1
|
|
CFI Resource `B.BR4`:1, `B.BR5`:1, `B.BR6`:1, `B.BR7`:1, `VB.BR8`:1
|
|
CFI Resource `VB.BR9`:1, `VB.BR10`:1, `VB.BR11`:1, `VB.BR12`:1
|
|
CFI Resource `VB.BR13`:1, `VB.BR14`:1, `VB.BR15`:1, VB:8, B:8, A:8
|
|
CFI Resource PSW:8, DPL0:8, DPH0:8, R0:8, R1:8, R2:8, R3:8, R4:8, R5:8
|
|
CFI Resource R6:8, R7:8, V0:8, V1:8, V2:8, V3:8, V4:8, V5:8, V6:8, V7:8
|
|
CFI Resource SP:8, PSPH:8, PSPL:8, PSP16:16, XSPH:8, XSPL:8, XSP16:16
|
|
CFI VirtualResource ?RET:24
|
|
CFI Resource ?BRET_EXT:8
|
|
CFI VirtualResource ?RET_HIGH:8, ?RET_LOW:8
|
|
CFI ResourceParts PSP16 PSPH, PSPL
|
|
CFI ResourceParts XSP16 XSPH, XSPL
|
|
CFI ResourceParts ?RET ?BRET_EXT, ?RET_HIGH, ?RET_LOW
|
|
CFI EndNames cfiNames0
|
|
|
|
CFI Common cfiCommon0 Using cfiNames0
|
|
CFI CodeAlign 1
|
|
CFI DataAlign -1
|
|
CFI ReturnAddress ?RET CODE
|
|
CFI CFA_DOVERLAY Used
|
|
CFI CFA_IOVERLAY Used
|
|
CFI CFA_SP SP+-3
|
|
CFI CFA_PSP16 PSP16+0
|
|
CFI CFA_XSP16 XSP16+0
|
|
CFI `PSW.CY` SameValue
|
|
CFI `B.BR0` SameValue
|
|
CFI `B.BR1` SameValue
|
|
CFI `B.BR2` SameValue
|
|
CFI `B.BR3` SameValue
|
|
CFI `B.BR4` SameValue
|
|
CFI `B.BR5` SameValue
|
|
CFI `B.BR6` SameValue
|
|
CFI `B.BR7` SameValue
|
|
CFI `VB.BR8` SameValue
|
|
CFI `VB.BR9` SameValue
|
|
CFI `VB.BR10` SameValue
|
|
CFI `VB.BR11` SameValue
|
|
CFI `VB.BR12` SameValue
|
|
CFI `VB.BR13` SameValue
|
|
CFI `VB.BR14` SameValue
|
|
CFI `VB.BR15` SameValue
|
|
CFI VB SameValue
|
|
CFI B Undefined
|
|
CFI A Undefined
|
|
CFI PSW SameValue
|
|
CFI DPL0 SameValue
|
|
CFI DPH0 SameValue
|
|
CFI R0 Undefined
|
|
CFI R1 Undefined
|
|
CFI R2 Undefined
|
|
CFI R3 Undefined
|
|
CFI R4 Undefined
|
|
CFI R5 Undefined
|
|
CFI R6 SameValue
|
|
CFI R7 SameValue
|
|
CFI V0 SameValue
|
|
CFI V1 SameValue
|
|
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 Frame(CFA_SP, 3)
|
|
CFI ?RET_HIGH Frame(CFA_SP, 2)
|
|
CFI ?RET_LOW Frame(CFA_SP, 1)
|
|
CFI EndCommon cfiCommon0
|
|
|
|
|
|
CFI Common cfiCommon1 Using cfiNames0
|
|
CFI CodeAlign 1
|
|
CFI DataAlign -1
|
|
CFI ReturnAddress ?RET CODE
|
|
CFI CFA_DOVERLAY Used
|
|
CFI CFA_IOVERLAY Used
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_PSP16 PSP16+0
|
|
CFI CFA_XSP16 XSP16+0
|
|
CFI `PSW.CY` SameValue
|
|
CFI `B.BR0` SameValue
|
|
CFI `B.BR1` SameValue
|
|
CFI `B.BR2` SameValue
|
|
CFI `B.BR3` SameValue
|
|
CFI `B.BR4` SameValue
|
|
CFI `B.BR5` SameValue
|
|
CFI `B.BR6` SameValue
|
|
CFI `B.BR7` SameValue
|
|
CFI `VB.BR8` SameValue
|
|
CFI `VB.BR9` SameValue
|
|
CFI `VB.BR10` SameValue
|
|
CFI `VB.BR11` SameValue
|
|
CFI `VB.BR12` SameValue
|
|
CFI `VB.BR13` SameValue
|
|
CFI `VB.BR14` SameValue
|
|
CFI `VB.BR15` SameValue
|
|
CFI VB SameValue
|
|
CFI B SameValue
|
|
CFI A SameValue
|
|
CFI PSW SameValue
|
|
CFI DPL0 SameValue
|
|
CFI DPH0 SameValue
|
|
CFI R0 SameValue
|
|
CFI R1 SameValue
|
|
CFI R2 SameValue
|
|
CFI R3 SameValue
|
|
CFI R4 SameValue
|
|
CFI R5 SameValue
|
|
CFI R6 SameValue
|
|
CFI R7 SameValue
|
|
CFI V0 SameValue
|
|
CFI V1 SameValue
|
|
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
|
|
|
|
APSME_HoldDataRequests SYMBOL "APSME_HoldDataRequests"
|
|
`??APSME_HoldDataRequests::?relay` SYMBOL "?relay", APSME_HoldDataRequests
|
|
NLME_GetCoordShortAddr SYMBOL "NLME_GetCoordShortAddr"
|
|
`??NLME_GetCoordShortAddr::?relay` SYMBOL "?relay", NLME_GetCoordShortAddr
|
|
NLME_GetEnergyThreshold SYMBOL "NLME_GetEnergyThreshold"
|
|
`??NLME_GetEnergyThreshold::?relay` SYMBOL "?relay", NLME_GetEnergyThreshold
|
|
NLME_GetExtAddr SYMBOL "NLME_GetExtAddr"
|
|
`??NLME_GetExtAddr::?relay` SYMBOL "?relay", NLME_GetExtAddr
|
|
NLME_GetShortAddr SYMBOL "NLME_GetShortAddr"
|
|
`??NLME_GetShortAddr::?relay` SYMBOL "?relay", NLME_GetShortAddr
|
|
NLME_InitNV SYMBOL "NLME_InitNV"
|
|
`??NLME_InitNV::?relay` SYMBOL "?relay", NLME_InitNV
|
|
NLME_JoinRequest SYMBOL "NLME_JoinRequest"
|
|
`??NLME_JoinRequest::?relay` SYMBOL "?relay", NLME_JoinRequest
|
|
NLME_LeaveRsp SYMBOL "NLME_LeaveRsp"
|
|
`??NLME_LeaveRsp::?relay` SYMBOL "?relay", NLME_LeaveRsp
|
|
NLME_NetworkDiscoveryRequest SYMBOL "NLME_NetworkDiscoveryRequest"
|
|
`??NLME_NetworkDiscoveryRequest::?relay` SYMBOL "?relay", NLME_NetworkDiscoveryRequest
|
|
NLME_NwkDiscTerm SYMBOL "NLME_NwkDiscTerm"
|
|
`??NLME_NwkDiscTerm::?relay` SYMBOL "?relay", NLME_NwkDiscTerm
|
|
NLME_ReJoinRequest SYMBOL "NLME_ReJoinRequest"
|
|
`??NLME_ReJoinRequest::?relay` SYMBOL "?relay", NLME_ReJoinRequest
|
|
NLME_RemoveChild SYMBOL "NLME_RemoveChild"
|
|
`??NLME_RemoveChild::?relay` SYMBOL "?relay", NLME_RemoveChild
|
|
NLME_RestoreFromNV SYMBOL "NLME_RestoreFromNV"
|
|
`??NLME_RestoreFromNV::?relay` SYMBOL "?relay", NLME_RestoreFromNV
|
|
NLME_SetBroadcastFilter SYMBOL "NLME_SetBroadcastFilter"
|
|
`??NLME_SetBroadcastFilter::?relay` SYMBOL "?relay", NLME_SetBroadcastFilter
|
|
NLME_SetEnergyThreshold SYMBOL "NLME_SetEnergyThreshold"
|
|
`??NLME_SetEnergyThreshold::?relay` SYMBOL "?relay", NLME_SetEnergyThreshold
|
|
NLME_SetPollRate SYMBOL "NLME_SetPollRate"
|
|
`??NLME_SetPollRate::?relay` SYMBOL "?relay", NLME_SetPollRate
|
|
NLME_SetQueuedPollRate SYMBOL "NLME_SetQueuedPollRate"
|
|
`??NLME_SetQueuedPollRate::?relay` SYMBOL "?relay", NLME_SetQueuedPollRate
|
|
NLME_SetResponseRate SYMBOL "NLME_SetResponseRate"
|
|
`??NLME_SetResponseRate::?relay` SYMBOL "?relay", NLME_SetResponseRate
|
|
NLME_StartRouterRequest SYMBOL "NLME_StartRouterRequest"
|
|
`??NLME_StartRouterRequest::?relay` SYMBOL "?relay", NLME_StartRouterRequest
|
|
RTG_MTORouteReq SYMBOL "RTG_MTORouteReq"
|
|
`??RTG_MTORouteReq::?relay` SYMBOL "?relay", RTG_MTORouteReq
|
|
SSP_ReadNwkActiveKey SYMBOL "SSP_ReadNwkActiveKey"
|
|
`??SSP_ReadNwkActiveKey::?relay` SYMBOL "?relay", SSP_ReadNwkActiveKey
|
|
ZDConfig_InitDescriptors SYMBOL "ZDConfig_InitDescriptors"
|
|
`??ZDConfig_InitDescriptors::?relay` SYMBOL "?relay", ZDConfig_InitDescriptors
|
|
ZDO_Init SYMBOL "ZDO_Init"
|
|
`??ZDO_Init::?relay` SYMBOL "?relay", ZDO_Init
|
|
ZDO_ParseAddrRsp SYMBOL "ZDO_ParseAddrRsp"
|
|
`??ZDO_ParseAddrRsp::?relay` SYMBOL "?relay", ZDO_ParseAddrRsp
|
|
ZDO_ParseBindUnbindReq SYMBOL "ZDO_ParseBindUnbindReq"
|
|
`??ZDO_ParseBindUnbindReq::?relay` SYMBOL "?relay", ZDO_ParseBindUnbindReq
|
|
ZDO_ProcessBindUnbindReq SYMBOL "ZDO_ProcessBindUnbindReq"
|
|
`??ZDO_ProcessBindUnbindReq::?relay` SYMBOL "?relay", ZDO_ProcessBindUnbindReq
|
|
ZDO_RegisterForZDOMsg SYMBOL "ZDO_RegisterForZDOMsg"
|
|
`??ZDO_RegisterForZDOMsg::?relay` SYMBOL "?relay", ZDO_RegisterForZDOMsg
|
|
ZDO_StartDevice SYMBOL "ZDO_StartDevice"
|
|
`??ZDO_StartDevice::?relay` SYMBOL "?relay", ZDO_StartDevice
|
|
ZDO_UpdateAddrManager SYMBOL "ZDO_UpdateAddrManager"
|
|
`??ZDO_UpdateAddrManager::?relay` SYMBOL "?relay", ZDO_UpdateAddrManager
|
|
ZDO_UpdateNwkStatus SYMBOL "ZDO_UpdateNwkStatus"
|
|
`??ZDO_UpdateNwkStatus::?relay` SYMBOL "?relay", ZDO_UpdateNwkStatus
|
|
ZDP_DeviceAnnce SYMBOL "ZDP_DeviceAnnce"
|
|
`??ZDP_DeviceAnnce::?relay` SYMBOL "?relay", ZDP_DeviceAnnce
|
|
ZDP_GenericRsp SYMBOL "ZDP_GenericRsp"
|
|
`??ZDP_GenericRsp::?relay` SYMBOL "?relay", ZDP_GenericRsp
|
|
ZDP_IncomingData SYMBOL "ZDP_IncomingData"
|
|
`??ZDP_IncomingData::?relay` SYMBOL "?relay", ZDP_IncomingData
|
|
ZDSecMgrInit SYMBOL "ZDSecMgrInit"
|
|
`??ZDSecMgrInit::?relay` SYMBOL "?relay", ZDSecMgrInit
|
|
ZDSecMgrNewDeviceEvent SYMBOL "ZDSecMgrNewDeviceEvent"
|
|
`??ZDSecMgrNewDeviceEvent::?relay` SYMBOL "?relay", ZDSecMgrNewDeviceEvent
|
|
ZDSecMgrRemoveDeviceInd SYMBOL "ZDSecMgrRemoveDeviceInd"
|
|
`??ZDSecMgrRemoveDeviceInd::?relay` SYMBOL "?relay", ZDSecMgrRemoveDeviceInd
|
|
ZDSecMgrSaveTCLinkKey SYMBOL "ZDSecMgrSaveTCLinkKey"
|
|
`??ZDSecMgrSaveTCLinkKey::?relay` SYMBOL "?relay", ZDSecMgrSaveTCLinkKey
|
|
ZDSecMgrSwitchKeyInd SYMBOL "ZDSecMgrSwitchKeyInd"
|
|
`??ZDSecMgrSwitchKeyInd::?relay` SYMBOL "?relay", ZDSecMgrSwitchKeyInd
|
|
ZDSecMgrTransportKeyInd SYMBOL "ZDSecMgrTransportKeyInd"
|
|
`??ZDSecMgrTransportKeyInd::?relay` SYMBOL "?relay", ZDSecMgrTransportKeyInd
|
|
ZMacSetReq SYMBOL "ZMacSetReq"
|
|
`??ZMacSetReq::?relay` SYMBOL "?relay", ZMacSetReq
|
|
afRegister SYMBOL "afRegister"
|
|
`??afRegister::?relay` SYMBOL "?relay", afRegister
|
|
afSetMatch SYMBOL "afSetMatch"
|
|
`??afSetMatch::?relay` SYMBOL "?relay", afSetMatch
|
|
nwkNeighborInitTable SYMBOL "nwkNeighborInitTable"
|
|
`??nwkNeighborInitTable::?relay` SYMBOL "?relay", nwkNeighborInitTable
|
|
nwk_ExtPANIDValid SYMBOL "nwk_ExtPANIDValid"
|
|
`??nwk_ExtPANIDValid::?relay` SYMBOL "?relay", nwk_ExtPANIDValid
|
|
nwk_getNwkDescList SYMBOL "nwk_getNwkDescList"
|
|
`??nwk_getNwkDescList::?relay` SYMBOL "?relay", nwk_getNwkDescList
|
|
osal_get_timeoutEx SYMBOL "osal_get_timeoutEx"
|
|
`??osal_get_timeoutEx::?relay` SYMBOL "?relay", osal_get_timeoutEx
|
|
osal_mem_alloc SYMBOL "osal_mem_alloc"
|
|
`??osal_mem_alloc::?relay` SYMBOL "?relay", osal_mem_alloc
|
|
osal_mem_free SYMBOL "osal_mem_free"
|
|
`??osal_mem_free::?relay` SYMBOL "?relay", osal_mem_free
|
|
osal_memcpy SYMBOL "osal_memcpy"
|
|
`??osal_memcpy::?relay` SYMBOL "?relay", osal_memcpy
|
|
osal_memset SYMBOL "osal_memset"
|
|
`??osal_memset::?relay` SYMBOL "?relay", osal_memset
|
|
osal_msg_allocate SYMBOL "osal_msg_allocate"
|
|
`??osal_msg_allocate::?relay` SYMBOL "?relay", osal_msg_allocate
|
|
osal_msg_deallocate SYMBOL "osal_msg_deallocate"
|
|
`??osal_msg_deallocate::?relay` SYMBOL "?relay", osal_msg_deallocate
|
|
osal_msg_receive SYMBOL "osal_msg_receive"
|
|
`??osal_msg_receive::?relay` SYMBOL "?relay", osal_msg_receive
|
|
osal_msg_send SYMBOL "osal_msg_send"
|
|
`??osal_msg_send::?relay` SYMBOL "?relay", osal_msg_send
|
|
osal_nv_item_init SYMBOL "osal_nv_item_init"
|
|
`??osal_nv_item_init::?relay` SYMBOL "?relay", osal_nv_item_init
|
|
osal_nv_read SYMBOL "osal_nv_read"
|
|
`??osal_nv_read::?relay` SYMBOL "?relay", osal_nv_read
|
|
osal_nv_write SYMBOL "osal_nv_write"
|
|
`??osal_nv_write::?relay` SYMBOL "?relay", osal_nv_write
|
|
osal_pwrmgr_device SYMBOL "osal_pwrmgr_device"
|
|
`??osal_pwrmgr_device::?relay` SYMBOL "?relay", osal_pwrmgr_device
|
|
osal_rand SYMBOL "osal_rand"
|
|
`??osal_rand::?relay` SYMBOL "?relay", osal_rand
|
|
osal_set_event SYMBOL "osal_set_event"
|
|
`??osal_set_event::?relay` SYMBOL "?relay", osal_set_event
|
|
osal_start_timerEx SYMBOL "osal_start_timerEx"
|
|
`??osal_start_timerEx::?relay` SYMBOL "?relay", osal_start_timerEx
|
|
osal_stop_timerEx SYMBOL "osal_stop_timerEx"
|
|
`??osal_stop_timerEx::?relay` SYMBOL "?relay", osal_stop_timerEx
|
|
sAddrExtCmp SYMBOL "sAddrExtCmp"
|
|
`??sAddrExtCmp::?relay` SYMBOL "?relay", sAddrExtCmp
|
|
sAddrExtCpy SYMBOL "sAddrExtCpy"
|
|
`??sAddrExtCpy::?relay` SYMBOL "?relay", sAddrExtCpy
|
|
zgInitItems SYMBOL "zgInitItems"
|
|
`??zgInitItems::?relay` SYMBOL "?relay", zgInitItems
|
|
zgReadStartupOptions SYMBOL "zgReadStartupOptions"
|
|
`??zgReadStartupOptions::?relay` SYMBOL "?relay", zgReadStartupOptions
|
|
zgWriteStartupOptions SYMBOL "zgWriteStartupOptions"
|
|
`??zgWriteStartupOptions::?relay` SYMBOL "?relay", zgWriteStartupOptions
|
|
AddrMgrWriteNVRequest SYMBOL "AddrMgrWriteNVRequest"
|
|
`??AddrMgrWriteNVRequest::?relay` SYMBOL "?relay", AddrMgrWriteNVRequest
|
|
ZDAppCheckForHoldKey SYMBOL "ZDAppCheckForHoldKey"
|
|
`??ZDAppCheckForHoldKey::?relay` SYMBOL "?relay", ZDAppCheckForHoldKey
|
|
ZDAppDetermineDeviceType SYMBOL "ZDAppDetermineDeviceType"
|
|
`??ZDAppDetermineDeviceType::?relay` SYMBOL "?relay", ZDAppDetermineDeviceType
|
|
ZDApp_AnnounceNewAddress SYMBOL "ZDApp_AnnounceNewAddress"
|
|
`??ZDApp_AnnounceNewAddress::?relay` SYMBOL "?relay", ZDApp_AnnounceNewAddress
|
|
ZDApp_ChangeMatchDescRespPermission SYMBOL "ZDApp_ChangeMatchDescRespPermission"
|
|
`??ZDApp_ChangeMatchDescRespPermission::?relay` SYMBOL "?relay", ZDApp_ChangeMatchDescRespPermission
|
|
ZDApp_CoordStartPANIDConflictCB SYMBOL "ZDApp_CoordStartPANIDConflictCB"
|
|
`??ZDApp_CoordStartPANIDConflictCB::?relay` SYMBOL "?relay", ZDApp_CoordStartPANIDConflictCB
|
|
ZDApp_DeviceAuthEvt SYMBOL "ZDApp_DeviceAuthEvt"
|
|
`??ZDApp_DeviceAuthEvt::?relay` SYMBOL "?relay", ZDApp_DeviceAuthEvt
|
|
ZDApp_DeviceConfigured SYMBOL "ZDApp_DeviceConfigured"
|
|
`??ZDApp_DeviceConfigured::?relay` SYMBOL "?relay", ZDApp_DeviceConfigured
|
|
ZDApp_InMsgCB SYMBOL "ZDApp_InMsgCB"
|
|
`??ZDApp_InMsgCB::?relay` SYMBOL "?relay", ZDApp_InMsgCB
|
|
ZDApp_Init SYMBOL "ZDApp_Init"
|
|
`??ZDApp_Init::?relay` SYMBOL "?relay", ZDApp_Init
|
|
ZDApp_InitUserDesc SYMBOL "ZDApp_InitUserDesc"
|
|
`??ZDApp_InitUserDesc::?relay` SYMBOL "?relay", ZDApp_InitUserDesc
|
|
ZDApp_InitZdoCBFunc SYMBOL "ZDApp_InitZdoCBFunc"
|
|
`??ZDApp_InitZdoCBFunc::?relay` SYMBOL "?relay", ZDApp_InitZdoCBFunc
|
|
ZDApp_JoinReq SYMBOL "ZDApp_JoinReq"
|
|
`??ZDApp_JoinReq::?relay` SYMBOL "?relay", ZDApp_JoinReq
|
|
ZDApp_LeaveCtrlBypass SYMBOL "ZDApp_LeaveCtrlBypass"
|
|
`??ZDApp_LeaveCtrlBypass::?relay` SYMBOL "?relay", ZDApp_LeaveCtrlBypass
|
|
ZDApp_LeaveCtrlInit SYMBOL "ZDApp_LeaveCtrlInit"
|
|
`??ZDApp_LeaveCtrlInit::?relay` SYMBOL "?relay", ZDApp_LeaveCtrlInit
|
|
ZDApp_LeaveCtrlReset SYMBOL "ZDApp_LeaveCtrlReset"
|
|
`??ZDApp_LeaveCtrlReset::?relay` SYMBOL "?relay", ZDApp_LeaveCtrlReset
|
|
ZDApp_LeaveCtrlSet SYMBOL "ZDApp_LeaveCtrlSet"
|
|
`??ZDApp_LeaveCtrlSet::?relay` SYMBOL "?relay", ZDApp_LeaveCtrlSet
|
|
ZDApp_LeaveCtrlStartup SYMBOL "ZDApp_LeaveCtrlStartup"
|
|
`??ZDApp_LeaveCtrlStartup::?relay` SYMBOL "?relay", ZDApp_LeaveCtrlStartup
|
|
ZDApp_LeaveReset SYMBOL "ZDApp_LeaveReset"
|
|
`??ZDApp_LeaveReset::?relay` SYMBOL "?relay", ZDApp_LeaveReset
|
|
ZDApp_LeaveUpdate SYMBOL "ZDApp_LeaveUpdate"
|
|
`??ZDApp_LeaveUpdate::?relay` SYMBOL "?relay", ZDApp_LeaveUpdate
|
|
ZDApp_NVUpdate SYMBOL "ZDApp_NVUpdate"
|
|
`??ZDApp_NVUpdate::?relay` SYMBOL "?relay", ZDApp_NVUpdate
|
|
ZDApp_NetworkDiscoveryReq SYMBOL "ZDApp_NetworkDiscoveryReq"
|
|
`??ZDApp_NetworkDiscoveryReq::?relay` SYMBOL "?relay", ZDApp_NetworkDiscoveryReq
|
|
ZDApp_NetworkInit SYMBOL "ZDApp_NetworkInit"
|
|
`??ZDApp_NetworkInit::?relay` SYMBOL "?relay", ZDApp_NetworkInit
|
|
ZDApp_NetworkStartEvt SYMBOL "ZDApp_NetworkStartEvt"
|
|
`??ZDApp_NetworkStartEvt::?relay` SYMBOL "?relay", ZDApp_NetworkStartEvt
|
|
ZDApp_NodeProfileSync SYMBOL "ZDApp_NodeProfileSync"
|
|
`??ZDApp_NodeProfileSync::?relay` SYMBOL "?relay", ZDApp_NodeProfileSync
|
|
ZDApp_NwkDescListProcessing SYMBOL "ZDApp_NwkDescListProcessing"
|
|
`??ZDApp_NwkDescListProcessing::?relay` SYMBOL "?relay", ZDApp_NwkDescListProcessing
|
|
ZDApp_NwkStateUpdateCB SYMBOL "ZDApp_NwkStateUpdateCB"
|
|
`??ZDApp_NwkStateUpdateCB::?relay` SYMBOL "?relay", ZDApp_NwkStateUpdateCB
|
|
ZDApp_ProcessMsgCBs SYMBOL "ZDApp_ProcessMsgCBs"
|
|
`??ZDApp_ProcessMsgCBs::?relay` SYMBOL "?relay", ZDApp_ProcessMsgCBs
|
|
ZDApp_ProcessNetworkJoin SYMBOL "ZDApp_ProcessNetworkJoin"
|
|
`??ZDApp_ProcessNetworkJoin::?relay` SYMBOL "?relay", ZDApp_ProcessNetworkJoin
|
|
ZDApp_ProcessOSALMsg SYMBOL "ZDApp_ProcessOSALMsg"
|
|
`??ZDApp_ProcessOSALMsg::?relay` SYMBOL "?relay", ZDApp_ProcessOSALMsg
|
|
ZDApp_ProcessSecEvent SYMBOL "ZDApp_ProcessSecEvent"
|
|
`??ZDApp_ProcessSecEvent::?relay` SYMBOL "?relay", ZDApp_ProcessSecEvent
|
|
ZDApp_ProcessSecMsg SYMBOL "ZDApp_ProcessSecMsg"
|
|
`??ZDApp_ProcessSecMsg::?relay` SYMBOL "?relay", ZDApp_ProcessSecMsg
|
|
ZDApp_ReadNetworkRestoreState SYMBOL "ZDApp_ReadNetworkRestoreState"
|
|
`??ZDApp_ReadNetworkRestoreState::?relay` SYMBOL "?relay", ZDApp_ReadNetworkRestoreState
|
|
ZDApp_RegisterCBs SYMBOL "ZDApp_RegisterCBs"
|
|
`??ZDApp_RegisterCBs::?relay` SYMBOL "?relay", ZDApp_RegisterCBs
|
|
ZDApp_ResetNwkKey SYMBOL "ZDApp_ResetNwkKey"
|
|
`??ZDApp_ResetNwkKey::?relay` SYMBOL "?relay", ZDApp_ResetNwkKey
|
|
ZDApp_ResetTimerCancel SYMBOL "ZDApp_ResetTimerCancel"
|
|
`??ZDApp_ResetTimerCancel::?relay` SYMBOL "?relay", ZDApp_ResetTimerCancel
|
|
ZDApp_ResetTimerStart SYMBOL "ZDApp_ResetTimerStart"
|
|
`??ZDApp_ResetTimerStart::?relay` SYMBOL "?relay", ZDApp_ResetTimerStart
|
|
ZDApp_RestoreNetworkState SYMBOL "ZDApp_RestoreNetworkState"
|
|
`??ZDApp_RestoreNetworkState::?relay` SYMBOL "?relay", ZDApp_RestoreNetworkState
|
|
ZDApp_RestoreNwkKey SYMBOL "ZDApp_RestoreNwkKey"
|
|
`??ZDApp_RestoreNwkKey::?relay` SYMBOL "?relay", ZDApp_RestoreNwkKey
|
|
ZDApp_SaveNetworkStateEvt SYMBOL "ZDApp_SaveNetworkStateEvt"
|
|
`??ZDApp_SaveNetworkStateEvt::?relay` SYMBOL "?relay", ZDApp_SaveNetworkStateEvt
|
|
ZDApp_SaveNwkKey SYMBOL "ZDApp_SaveNwkKey"
|
|
`??ZDApp_SaveNwkKey::?relay` SYMBOL "?relay", ZDApp_SaveNwkKey
|
|
ZDApp_SecInit SYMBOL "ZDApp_SecInit"
|
|
`??ZDApp_SecInit::?relay` SYMBOL "?relay", ZDApp_SecInit
|
|
ZDApp_SendEventMsg SYMBOL "ZDApp_SendEventMsg"
|
|
`??ZDApp_SendEventMsg::?relay` SYMBOL "?relay", ZDApp_SendEventMsg
|
|
ZDApp_SendMsg SYMBOL "ZDApp_SendMsg"
|
|
`??ZDApp_SendMsg::?relay` SYMBOL "?relay", ZDApp_SendMsg
|
|
ZDApp_StartJoiningCycle SYMBOL "ZDApp_StartJoiningCycle"
|
|
`??ZDApp_StartJoiningCycle::?relay` SYMBOL "?relay", ZDApp_StartJoiningCycle
|
|
ZDApp_StopJoiningCycle SYMBOL "ZDApp_StopJoiningCycle"
|
|
`??ZDApp_StopJoiningCycle::?relay` SYMBOL "?relay", ZDApp_StopJoiningCycle
|
|
ZDApp_event_loop SYMBOL "ZDApp_event_loop"
|
|
`??ZDApp_event_loop::?relay` SYMBOL "?relay", ZDApp_event_loop
|
|
ZDOInitDevice SYMBOL "ZDOInitDevice"
|
|
`??ZDOInitDevice::?relay` SYMBOL "?relay", ZDOInitDevice
|
|
ZDO_AddrChangeIndicationCB SYMBOL "ZDO_AddrChangeIndicationCB"
|
|
`??ZDO_AddrChangeIndicationCB::?relay` SYMBOL "?relay", ZDO_AddrChangeIndicationCB
|
|
ZDO_ConcentratorIndicationCB SYMBOL "ZDO_ConcentratorIndicationCB"
|
|
`??ZDO_ConcentratorIndicationCB::?relay` SYMBOL "?relay", ZDO_ConcentratorIndicationCB
|
|
ZDO_DeregisterForZdoCB SYMBOL "ZDO_DeregisterForZdoCB"
|
|
`??ZDO_DeregisterForZdoCB::?relay` SYMBOL "?relay", ZDO_DeregisterForZdoCB
|
|
ZDO_JoinConfirmCB SYMBOL "ZDO_JoinConfirmCB"
|
|
`??ZDO_JoinConfirmCB::?relay` SYMBOL "?relay", ZDO_JoinConfirmCB
|
|
ZDO_JoinIndicationCB SYMBOL "ZDO_JoinIndicationCB"
|
|
`??ZDO_JoinIndicationCB::?relay` SYMBOL "?relay", ZDO_JoinIndicationCB
|
|
ZDO_LeaveCnf SYMBOL "ZDO_LeaveCnf"
|
|
`??ZDO_LeaveCnf::?relay` SYMBOL "?relay", ZDO_LeaveCnf
|
|
ZDO_LeaveInd SYMBOL "ZDO_LeaveInd"
|
|
`??ZDO_LeaveInd::?relay` SYMBOL "?relay", ZDO_LeaveInd
|
|
ZDO_ManytoOneFailureIndicationCB SYMBOL "ZDO_ManytoOneFailureIndicationCB"
|
|
`??ZDO_ManytoOneFailureIndicationCB::?relay` SYMBOL "?relay", ZDO_ManytoOneFailureIndicationCB
|
|
ZDO_NetworkDiscoveryConfirmCB SYMBOL "ZDO_NetworkDiscoveryConfirmCB"
|
|
`??ZDO_NetworkDiscoveryConfirmCB::?relay` SYMBOL "?relay", ZDO_NetworkDiscoveryConfirmCB
|
|
ZDO_NetworkFormationConfirmCB SYMBOL "ZDO_NetworkFormationConfirmCB"
|
|
`??ZDO_NetworkFormationConfirmCB::?relay` SYMBOL "?relay", ZDO_NetworkFormationConfirmCB
|
|
ZDO_PollConfirmCB SYMBOL "ZDO_PollConfirmCB"
|
|
`??ZDO_PollConfirmCB::?relay` SYMBOL "?relay", ZDO_PollConfirmCB
|
|
ZDO_RegisterForZdoCB SYMBOL "ZDO_RegisterForZdoCB"
|
|
`??ZDO_RegisterForZdoCB::?relay` SYMBOL "?relay", ZDO_RegisterForZdoCB
|
|
ZDO_SrcRtgIndCB SYMBOL "ZDO_SrcRtgIndCB"
|
|
`??ZDO_SrcRtgIndCB::?relay` SYMBOL "?relay", ZDO_SrcRtgIndCB
|
|
ZDO_StartRouterConfirmCB SYMBOL "ZDO_StartRouterConfirmCB"
|
|
`??ZDO_StartRouterConfirmCB::?relay` SYMBOL "?relay", ZDO_StartRouterConfirmCB
|
|
ZDO_SyncIndicationCB SYMBOL "ZDO_SyncIndicationCB"
|
|
`??ZDO_SyncIndicationCB::?relay` SYMBOL "?relay", ZDO_SyncIndicationCB
|
|
ZDO_UpdateDeviceIndication SYMBOL "ZDO_UpdateDeviceIndication"
|
|
`??ZDO_UpdateDeviceIndication::?relay` SYMBOL "?relay", ZDO_UpdateDeviceIndication
|
|
ZDO_beaconNotifyIndCB SYMBOL "ZDO_beaconNotifyIndCB"
|
|
`??ZDO_beaconNotifyIndCB::?relay` SYMBOL "?relay", ZDO_beaconNotifyIndCB
|
|
|
|
EXTERN `??APSME_HoldDataRequests::?relay`
|
|
FUNCTION `??APSME_HoldDataRequests::?relay`,00H
|
|
EXTERN `??NLME_GetCoordShortAddr::?relay`
|
|
FUNCTION `??NLME_GetCoordShortAddr::?relay`,00H
|
|
EXTERN `??NLME_GetEnergyThreshold::?relay`
|
|
FUNCTION `??NLME_GetEnergyThreshold::?relay`,00H
|
|
EXTERN `??NLME_GetExtAddr::?relay`
|
|
FUNCTION `??NLME_GetExtAddr::?relay`,00H
|
|
EXTERN `??NLME_GetShortAddr::?relay`
|
|
FUNCTION `??NLME_GetShortAddr::?relay`,00H
|
|
EXTERN `??NLME_InitNV::?relay`
|
|
FUNCTION `??NLME_InitNV::?relay`,00H
|
|
EXTERN `??NLME_JoinRequest::?relay`
|
|
FUNCTION `??NLME_JoinRequest::?relay`,00H
|
|
EXTERN `??NLME_LeaveRsp::?relay`
|
|
FUNCTION `??NLME_LeaveRsp::?relay`,00H
|
|
EXTERN `??NLME_NetworkDiscoveryRequest::?relay`
|
|
FUNCTION `??NLME_NetworkDiscoveryRequest::?relay`,00H
|
|
EXTERN `??NLME_NwkDiscTerm::?relay`
|
|
FUNCTION `??NLME_NwkDiscTerm::?relay`,00H
|
|
EXTERN `??NLME_ReJoinRequest::?relay`
|
|
FUNCTION `??NLME_ReJoinRequest::?relay`,00H
|
|
EXTERN `??NLME_RemoveChild::?relay`
|
|
FUNCTION `??NLME_RemoveChild::?relay`,00H
|
|
EXTERN `??NLME_RestoreFromNV::?relay`
|
|
FUNCTION `??NLME_RestoreFromNV::?relay`,00H
|
|
EXTERN `??NLME_SetBroadcastFilter::?relay`
|
|
FUNCTION `??NLME_SetBroadcastFilter::?relay`,00H
|
|
EXTERN `??NLME_SetEnergyThreshold::?relay`
|
|
FUNCTION `??NLME_SetEnergyThreshold::?relay`,00H
|
|
EXTERN `??NLME_SetPollRate::?relay`
|
|
FUNCTION `??NLME_SetPollRate::?relay`,00H
|
|
EXTERN `??NLME_SetQueuedPollRate::?relay`
|
|
FUNCTION `??NLME_SetQueuedPollRate::?relay`,00H
|
|
EXTERN `??NLME_SetResponseRate::?relay`
|
|
FUNCTION `??NLME_SetResponseRate::?relay`,00H
|
|
EXTERN `??NLME_StartRouterRequest::?relay`
|
|
FUNCTION `??NLME_StartRouterRequest::?relay`,00H
|
|
EXTERN `??RTG_MTORouteReq::?relay`
|
|
FUNCTION `??RTG_MTORouteReq::?relay`,00H
|
|
EXTERN `??SSP_ReadNwkActiveKey::?relay`
|
|
FUNCTION `??SSP_ReadNwkActiveKey::?relay`,00H
|
|
EXTERN `??ZDConfig_InitDescriptors::?relay`
|
|
FUNCTION `??ZDConfig_InitDescriptors::?relay`,00H
|
|
EXTERN `??ZDO_Init::?relay`
|
|
FUNCTION `??ZDO_Init::?relay`,00H
|
|
EXTERN `??ZDO_ParseAddrRsp::?relay`
|
|
FUNCTION `??ZDO_ParseAddrRsp::?relay`,00H
|
|
EXTERN `??ZDO_ParseBindUnbindReq::?relay`
|
|
FUNCTION `??ZDO_ParseBindUnbindReq::?relay`,00H
|
|
EXTERN `??ZDO_ProcessBindUnbindReq::?relay`
|
|
FUNCTION `??ZDO_ProcessBindUnbindReq::?relay`,00H
|
|
EXTERN `??ZDO_RegisterForZDOMsg::?relay`
|
|
FUNCTION `??ZDO_RegisterForZDOMsg::?relay`,00H
|
|
EXTERN `??ZDO_StartDevice::?relay`
|
|
FUNCTION `??ZDO_StartDevice::?relay`,00H
|
|
EXTERN `??ZDO_UpdateAddrManager::?relay`
|
|
FUNCTION `??ZDO_UpdateAddrManager::?relay`,00H
|
|
EXTERN `??ZDO_UpdateNwkStatus::?relay`
|
|
FUNCTION `??ZDO_UpdateNwkStatus::?relay`,00H
|
|
EXTERN `??ZDP_DeviceAnnce::?relay`
|
|
FUNCTION `??ZDP_DeviceAnnce::?relay`,00H
|
|
EXTERN `??ZDP_GenericRsp::?relay`
|
|
FUNCTION `??ZDP_GenericRsp::?relay`,00H
|
|
EXTERN `??ZDP_IncomingData::?relay`
|
|
FUNCTION `??ZDP_IncomingData::?relay`,00H
|
|
EXTERN `??ZDSecMgrInit::?relay`
|
|
FUNCTION `??ZDSecMgrInit::?relay`,00H
|
|
EXTERN `??ZDSecMgrNewDeviceEvent::?relay`
|
|
FUNCTION `??ZDSecMgrNewDeviceEvent::?relay`,00H
|
|
EXTERN `??ZDSecMgrRemoveDeviceInd::?relay`
|
|
FUNCTION `??ZDSecMgrRemoveDeviceInd::?relay`,00H
|
|
EXTERN `??ZDSecMgrSaveTCLinkKey::?relay`
|
|
FUNCTION `??ZDSecMgrSaveTCLinkKey::?relay`,00H
|
|
EXTERN `??ZDSecMgrSwitchKeyInd::?relay`
|
|
FUNCTION `??ZDSecMgrSwitchKeyInd::?relay`,00H
|
|
EXTERN `??ZDSecMgrTransportKeyInd::?relay`
|
|
FUNCTION `??ZDSecMgrTransportKeyInd::?relay`,00H
|
|
EXTERN `??ZMacSetReq::?relay`
|
|
FUNCTION `??ZMacSetReq::?relay`,00H
|
|
EXTERN `??afRegister::?relay`
|
|
FUNCTION `??afRegister::?relay`,00H
|
|
EXTERN `??afSetMatch::?relay`
|
|
FUNCTION `??afSetMatch::?relay`,00H
|
|
EXTERN `??nwkNeighborInitTable::?relay`
|
|
FUNCTION `??nwkNeighborInitTable::?relay`,00H
|
|
EXTERN `??nwk_ExtPANIDValid::?relay`
|
|
FUNCTION `??nwk_ExtPANIDValid::?relay`,00H
|
|
EXTERN `??nwk_getNwkDescList::?relay`
|
|
FUNCTION `??nwk_getNwkDescList::?relay`,00H
|
|
EXTERN `??osal_get_timeoutEx::?relay`
|
|
FUNCTION `??osal_get_timeoutEx::?relay`,00H
|
|
EXTERN `??osal_mem_alloc::?relay`
|
|
FUNCTION `??osal_mem_alloc::?relay`,00H
|
|
EXTERN `??osal_mem_free::?relay`
|
|
FUNCTION `??osal_mem_free::?relay`,00H
|
|
EXTERN `??osal_memcpy::?relay`
|
|
FUNCTION `??osal_memcpy::?relay`,00H
|
|
EXTERN `??osal_memset::?relay`
|
|
FUNCTION `??osal_memset::?relay`,00H
|
|
EXTERN `??osal_msg_allocate::?relay`
|
|
FUNCTION `??osal_msg_allocate::?relay`,00H
|
|
EXTERN `??osal_msg_deallocate::?relay`
|
|
FUNCTION `??osal_msg_deallocate::?relay`,00H
|
|
EXTERN `??osal_msg_receive::?relay`
|
|
FUNCTION `??osal_msg_receive::?relay`,00H
|
|
EXTERN `??osal_msg_send::?relay`
|
|
FUNCTION `??osal_msg_send::?relay`,00H
|
|
EXTERN `??osal_nv_item_init::?relay`
|
|
FUNCTION `??osal_nv_item_init::?relay`,00H
|
|
EXTERN `??osal_nv_read::?relay`
|
|
FUNCTION `??osal_nv_read::?relay`,00H
|
|
EXTERN `??osal_nv_write::?relay`
|
|
FUNCTION `??osal_nv_write::?relay`,00H
|
|
EXTERN `??osal_pwrmgr_device::?relay`
|
|
FUNCTION `??osal_pwrmgr_device::?relay`,00H
|
|
EXTERN `??osal_rand::?relay`
|
|
FUNCTION `??osal_rand::?relay`,00H
|
|
EXTERN `??osal_set_event::?relay`
|
|
FUNCTION `??osal_set_event::?relay`,00H
|
|
EXTERN `??osal_start_timerEx::?relay`
|
|
FUNCTION `??osal_start_timerEx::?relay`,00H
|
|
EXTERN `??osal_stop_timerEx::?relay`
|
|
FUNCTION `??osal_stop_timerEx::?relay`,00H
|
|
EXTERN `??sAddrExtCmp::?relay`
|
|
FUNCTION `??sAddrExtCmp::?relay`,00H
|
|
EXTERN `??sAddrExtCpy::?relay`
|
|
FUNCTION `??sAddrExtCpy::?relay`,00H
|
|
EXTERN `??zgInitItems::?relay`
|
|
FUNCTION `??zgInitItems::?relay`,00H
|
|
EXTERN `??zgReadStartupOptions::?relay`
|
|
FUNCTION `??zgReadStartupOptions::?relay`,00H
|
|
EXTERN `??zgWriteStartupOptions::?relay`
|
|
FUNCTION `??zgWriteStartupOptions::?relay`,00H
|
|
EXTERN AIB_apsUseExtendedPANID
|
|
EXTERN AIB_apsUseInsecureJoin
|
|
EXTERN APSME_HoldDataRequests
|
|
FUNCTION APSME_HoldDataRequests,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_GetCoordShortAddr
|
|
FUNCTION NLME_GetCoordShortAddr,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_GetEnergyThreshold
|
|
FUNCTION NLME_GetEnergyThreshold,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_GetExtAddr
|
|
FUNCTION NLME_GetExtAddr,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_GetShortAddr
|
|
FUNCTION NLME_GetShortAddr,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_InitNV
|
|
FUNCTION NLME_InitNV,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_JoinRequest
|
|
FUNCTION NLME_JoinRequest,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_LeaveRsp
|
|
FUNCTION NLME_LeaveRsp,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_NetworkDiscoveryRequest
|
|
FUNCTION NLME_NetworkDiscoveryRequest,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_NwkDiscTerm
|
|
FUNCTION NLME_NwkDiscTerm,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_ReJoinRequest
|
|
FUNCTION NLME_ReJoinRequest,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_RemoveChild
|
|
FUNCTION NLME_RemoveChild,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_RestoreFromNV
|
|
FUNCTION NLME_RestoreFromNV,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_SetBroadcastFilter
|
|
FUNCTION NLME_SetBroadcastFilter,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_SetEnergyThreshold
|
|
FUNCTION NLME_SetEnergyThreshold,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_SetPollRate
|
|
FUNCTION NLME_SetPollRate,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_SetQueuedPollRate
|
|
FUNCTION NLME_SetQueuedPollRate,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_SetResponseRate
|
|
FUNCTION NLME_SetResponseRate,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NLME_StartRouterRequest
|
|
FUNCTION NLME_StartRouterRequest,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN NWK_TaskID
|
|
EXTERN NwkDescList
|
|
EXTERN Onboard_soft_reset
|
|
FUNCTION Onboard_soft_reset,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN RTG_MTORouteReq
|
|
FUNCTION RTG_MTORouteReq,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN SSP_ReadNwkActiveKey
|
|
FUNCTION SSP_ReadNwkActiveKey,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 33, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDConfig_InitDescriptors
|
|
FUNCTION ZDConfig_InitDescriptors,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDO_Config_Node_Descriptor
|
|
EXTERN ZDO_Init
|
|
FUNCTION ZDO_Init,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDO_ParseAddrRsp
|
|
FUNCTION ZDO_ParseAddrRsp,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDO_ParseBindUnbindReq
|
|
FUNCTION ZDO_ParseBindUnbindReq,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDO_ProcessBindUnbindReq
|
|
FUNCTION ZDO_ProcessBindUnbindReq,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDO_RegisterForZDOMsg
|
|
FUNCTION ZDO_RegisterForZDOMsg,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDO_StartDevice
|
|
FUNCTION ZDO_StartDevice,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDO_UpdateAddrManager
|
|
FUNCTION ZDO_UpdateAddrManager,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDO_UpdateNwkStatus
|
|
FUNCTION ZDO_UpdateNwkStatus,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDP_DeviceAnnce
|
|
FUNCTION ZDP_DeviceAnnce,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDP_GenericRsp
|
|
FUNCTION ZDP_GenericRsp,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDP_IncomingData
|
|
FUNCTION ZDP_IncomingData,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDSecMgrInit
|
|
FUNCTION ZDSecMgrInit,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDSecMgrNewDeviceEvent
|
|
FUNCTION ZDSecMgrNewDeviceEvent,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDSecMgrRemoveDeviceInd
|
|
FUNCTION ZDSecMgrRemoveDeviceInd,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDSecMgrSaveTCLinkKey
|
|
FUNCTION ZDSecMgrSaveTCLinkKey,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDSecMgrSwitchKeyInd
|
|
FUNCTION ZDSecMgrSwitchKeyInd,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZDSecMgrTransportKeyInd
|
|
FUNCTION ZDSecMgrTransportKeyInd,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN ZMacSetReq
|
|
FUNCTION ZMacSetReq,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN _NIB
|
|
EXTERN afRegister
|
|
FUNCTION afRegister,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN afSetMatch
|
|
FUNCTION afSetMatch,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN epList
|
|
EXTERN gMIN_TREE_LINK_COST
|
|
EXTERN nwkFrameCounter
|
|
EXTERN nwkNeighborInitTable
|
|
FUNCTION nwkNeighborInitTable,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN nwk_ExtPANIDValid
|
|
FUNCTION nwk_ExtPANIDValid,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN nwk_getNwkDescList
|
|
FUNCTION nwk_getNwkDescList,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_get_timeoutEx
|
|
FUNCTION osal_get_timeoutEx,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_mem_alloc
|
|
FUNCTION osal_mem_alloc,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_mem_free
|
|
FUNCTION osal_mem_free,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_memcpy
|
|
FUNCTION osal_memcpy,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 19, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_memset
|
|
FUNCTION osal_memset,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 33, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_msg_allocate
|
|
FUNCTION osal_msg_allocate,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_msg_deallocate
|
|
FUNCTION osal_msg_deallocate,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_msg_receive
|
|
FUNCTION osal_msg_receive,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_msg_send
|
|
FUNCTION osal_msg_send,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_nv_item_init
|
|
FUNCTION osal_nv_item_init,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 29, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_nv_read
|
|
FUNCTION osal_nv_read,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 37, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_nv_write
|
|
FUNCTION osal_nv_write,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 37, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_pwrmgr_device
|
|
FUNCTION osal_pwrmgr_device,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_rand
|
|
FUNCTION osal_rand,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_set_event
|
|
FUNCTION osal_set_event,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_start_timerEx
|
|
FUNCTION osal_start_timerEx,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_stop_timerEx
|
|
FUNCTION osal_stop_timerEx,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN pZDNwkMgr_ProcessDataConfirm
|
|
EXTERN sAddrExtCmp
|
|
FUNCTION sAddrExtCmp,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN sAddrExtCpy
|
|
FUNCTION sAddrExtCpy,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN zgConcentratorEnable
|
|
EXTERN zgConfigPANID
|
|
EXTERN zgDefaultStartingScanDuration
|
|
EXTERN zgDeviceLogicalType
|
|
EXTERN zgInitItems
|
|
FUNCTION zgInitItems,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN zgReadStartupOptions
|
|
FUNCTION zgReadStartupOptions,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN zgStackProfile
|
|
EXTERN zgWriteStartupOptions
|
|
FUNCTION zgWriteStartupOptions,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\stack\zdo\ZDApp.c
|
|
// 1 /**************************************************************************************************
|
|
// 2 Filename: ZDApp.c
|
|
// 3 Revised: $Date: 2011-04-13 10:12:34 -0700 (Wed, 13 Apr 2011) $
|
|
// 4 Revision: $Revision: 25678 $
|
|
// 5
|
|
// 6 Description: This file contains the interface to the Zigbee Device Application. This is the
|
|
// 7 Application part that the user can change. This also contains the Task functions.
|
|
// 8
|
|
// 9
|
|
// 10 Copyright 2004-2011 Texas Instruments Incorporated. All rights reserved.
|
|
// 11
|
|
// 12 IMPORTANT: Your use of this Software is limited to those specific rights
|
|
// 13 granted under the terms of a software license agreement between the user
|
|
// 14 who downloaded the software, his/her employer (which must be your employer)
|
|
// 15 and Texas Instruments Incorporated (the "License"). You may not use this
|
|
// 16 Software unless you agree to abide by the terms of the License. The License
|
|
// 17 limits your use, and you acknowledge, that the Software may not be modified,
|
|
// 18 copied or distributed unless embedded on a Texas Instruments microcontroller
|
|
// 19 or used solely and exclusively in conjunction with a Texas Instruments radio
|
|
// 20 frequency transceiver, which is integrated into your product. Other than for
|
|
// 21 the foregoing purpose, you may not use, reproduce, copy, prepare derivative
|
|
// 22 works of, modify, distribute, perform, display or sell this Software and/or
|
|
// 23 its documentation for any purpose.
|
|
// 24
|
|
// 25 YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
|
|
// 26 PROVIDED 揂S IS?WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
|
|
// 27 INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
|
|
// 28 NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
|
|
// 29 TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
|
|
// 30 NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
|
|
// 31 LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
|
|
// 32 INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
|
|
// 33 OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
|
|
// 34 OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
|
// 35 (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
|
// 36
|
|
// 37 Should you have any questions regarding your right to use this Software,
|
|
// 38 contact Texas Instruments Incorporated at www.TI.com.
|
|
// 39 **************************************************************************************************/
|
|
// 40
|
|
// 41 /*********************************************************************
|
|
// 42 * INCLUDES
|
|
// 43 */
|
|
// 44
|
|
// 45 #include "ZComDef.h"
|
|
// 46 #include "ZMac.h"
|
|
// 47 #include "OSAL.h"
|
|
// 48 #include "OSAL_Tasks.h"
|
|
// 49 #include "OSAL_PwrMgr.h"
|
|
// 50 #include "OSAL_Nv.h"
|
|
// 51 #include "AF.h"
|
|
// 52 #include "APSMEDE.h"
|
|
// 53 #include "NLMEDE.h"
|
|
// 54 #include "AddrMgr.h"
|
|
// 55 #include "ZDProfile.h"
|
|
// 56 #include "ZDObject.h"
|
|
// 57 #include "ZDConfig.h"
|
|
// 58 #include "ZDSecMgr.h"
|
|
// 59 #include "ZDApp.h"
|
|
// 60 #include "DebugTrace.h"
|
|
// 61 #include "nwk_util.h"
|
|
// 62 #include "OnBoard.h"
|
|
// 63 #include "ZGlobals.h"
|
|
// 64 #include "ZDNwkMgr.h"
|
|
// 65 #include "rtg.h"
|
|
// 66
|
|
// 67 #include "ssp.h"
|
|
// 68
|
|
// 69 /* HAL */
|
|
// 70 #include "hal_led.h"
|
|
// 71 #include "hal_lcd.h"
|
|
// 72 #include "hal_key.h"
|
|
// 73
|
|
// 74 #if defined( MT_MAC_FUNC ) || defined( MT_MAC_CB_FUNC )
|
|
// 75 #error "ERROR! MT_MAC functionalities should be disabled on ZDO devices"
|
|
// 76 #endif
|
|
// 77
|
|
// 78 /*********************************************************************
|
|
// 79 * CONSTANTS
|
|
// 80 */
|
|
// 81
|
|
// 82 #if !defined( NWK_START_DELAY )
|
|
// 83 #define NWK_START_DELAY 100 // in milliseconds
|
|
// 84 #endif
|
|
// 85
|
|
// 86 #if !defined( LEAVE_RESET_DELAY )
|
|
// 87 #define LEAVE_RESET_DELAY 5000 // in milliseconds
|
|
// 88 #endif
|
|
// 89
|
|
// 90 // Init ZDO, but hold and wait for application to start the joining or
|
|
// 91 // forming network
|
|
// 92 #define ZDO_INIT_HOLD_NWK_START 0xFFFF
|
|
// 93
|
|
// 94 #if !defined( EXTENDED_JOINING_RANDOM_MASK )
|
|
// 95 #define EXTENDED_JOINING_RANDOM_MASK 0x007F
|
|
// 96 #endif
|
|
// 97
|
|
// 98 #if !defined( BEACON_REQUEST_DELAY )
|
|
// 99 #define BEACON_REQUEST_DELAY 100 // in milliseconds
|
|
// 100 #endif
|
|
// 101
|
|
// 102 #if !defined( BEACON_REQ_DELAY_MASK )
|
|
// 103 #define BEACON_REQ_DELAY_MASK 0x007F
|
|
// 104 #endif
|
|
// 105
|
|
// 106 #define MAX_RESUME_RETRY 3
|
|
// 107
|
|
// 108 #define MAX_DEVICE_UNAUTH_TIMEOUT 5000 // 5 seconds
|
|
// 109
|
|
// 110 // Beacon Order Settings (see NLMEDE.h)
|
|
// 111 #define DEFAULT_BEACON_ORDER BEACON_ORDER_NO_BEACONS
|
|
// 112 #define DEFAULT_SUPERFRAME_ORDER DEFAULT_BEACON_ORDER
|
|
// 113
|
|
// 114 #if !defined( MAX_NWK_FRAMECOUNTER_CHANGES )
|
|
// 115 // The number of times the frame counter can change before
|
|
// 116 // saving to NV
|
|
// 117 #define MAX_NWK_FRAMECOUNTER_CHANGES 1000
|
|
// 118 #endif
|
|
// 119
|
|
// 120 // Leave control bits
|
|
// 121 #define ZDAPP_LEAVE_CTRL_INIT 0
|
|
// 122 #define ZDAPP_LEAVE_CTRL_SET 1
|
|
// 123 #define ZDAPP_LEAVE_CTRL_RA 2
|
|
// 124
|
|
// 125 // Address Manager Stub Implementation
|
|
// 126 #define ZDApp_NwkWriteNVRequest AddrMgrWriteNVRequest
|
|
// 127
|
|
// 128
|
|
// 129 #if !defined ZDO_NV_SAVE_RFDs
|
|
// 130 #define ZDO_NV_SAVE_RFDs TRUE
|
|
// 131 #endif
|
|
// 132
|
|
// 133 // Delay time before updating NWK NV data to force fewer writes during high activity.
|
|
// 134 #if ZDO_NV_SAVE_RFDs
|
|
// 135 #define ZDAPP_UPDATE_NWK_NV_TIME 700
|
|
// 136 #else
|
|
// 137 #define ZDAPP_UPDATE_NWK_NV_TIME 65000
|
|
// 138 #endif
|
|
// 139
|
|
// 140 /*********************************************************************
|
|
// 141 * GLOBAL VARIABLES
|
|
// 142 */
|
|
// 143
|
|
// 144 #if defined( LCD_SUPPORTED )
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 145 uint8 MatchRsps = 0;
|
|
MatchRsps:
|
|
DS 1
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 146 #endif
|
|
// 147
|
|
|
|
RSEG XDATA_I:XDATA:NOROOT(0)
|
|
// 148 uint8 zdoDiscCounter = 1;
|
|
zdoDiscCounter:
|
|
DATA8
|
|
DS 1
|
|
REQUIRE `?<Initializer for zdoDiscCounter>`
|
|
REQUIRE __INIT_XDATA_I
|
|
// 149
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 150 zAddrType_t ZDAppNwkAddr;
|
|
ZDAppNwkAddr:
|
|
DS 9
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 151
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 152 uint8 zdappMgmtNwkDiscRspTransSeq;
|
|
zdappMgmtNwkDiscRspTransSeq:
|
|
DS 1
|
|
REQUIRE __INIT_XDATA_Z
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 153 uint8 zdappMgmtNwkDiscReqInProgress = FALSE;
|
|
zdappMgmtNwkDiscReqInProgress:
|
|
DS 1
|
|
REQUIRE __INIT_XDATA_Z
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 154 zAddrType_t zdappMgmtNwkDiscRspAddr;
|
|
zdappMgmtNwkDiscRspAddr:
|
|
DS 9
|
|
REQUIRE __INIT_XDATA_Z
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 155 uint8 zdappMgmtNwkDiscStartIndex;
|
|
zdappMgmtNwkDiscStartIndex:
|
|
DS 1
|
|
REQUIRE __INIT_XDATA_Z
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 156 uint8 zdappMgmtSavedNwkState;
|
|
zdappMgmtSavedNwkState:
|
|
DS 1
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 157
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA16
|
|
// 158 uint16 nwkFrameCounterChanges = 0;
|
|
nwkFrameCounterChanges:
|
|
DS 2
|
|
REQUIRE __INIT_XDATA_Z
|
|
|
|
RSEG XDATA_I:XDATA:NOROOT(0)
|
|
// 159 uint8 continueJoining = TRUE;
|
|
continueJoining:
|
|
DATA8
|
|
DS 1
|
|
REQUIRE `?<Initializer for continueJoining>`
|
|
REQUIRE __INIT_XDATA_I
|
|
// 160
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 161 uint8 _tmpRejoinState;
|
|
_tmpRejoinState:
|
|
DS 1
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 162
|
|
// 163 // The extended PanID used in ZDO layer for rejoin.
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 164 uint8 ZDO_UseExtendedPANID[Z_EXTADDR_LEN];
|
|
ZDO_UseExtendedPANID:
|
|
DS 8
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 165
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 166 pfnZdoCb zdoCBFunc[MAX_ZDO_CB_FUNC];
|
|
zdoCBFunc:
|
|
DS 12
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 167
|
|
// 168 /*********************************************************************
|
|
// 169 * EXTERNAL VARIABLES
|
|
// 170 */
|
|
// 171
|
|
// 172 /*********************************************************************
|
|
// 173 * EXTERNAL FUNCTIONS
|
|
// 174 */
|
|
// 175
|
|
// 176 /*********************************************************************
|
|
// 177 * LOCAL FUNCTIONS
|
|
// 178 */
|
|
// 179
|
|
// 180 void ZDApp_NetworkStartEvt( void );
|
|
// 181 void ZDApp_DeviceAuthEvt( void );
|
|
// 182 void ZDApp_SaveNetworkStateEvt( void );
|
|
// 183
|
|
// 184 uint8 ZDApp_ReadNetworkRestoreState( void );
|
|
// 185 uint8 ZDApp_RestoreNetworkState( void );
|
|
// 186 void ZDAppDetermineDeviceType( void );
|
|
// 187 void ZDApp_InitUserDesc( void );
|
|
// 188 void ZDAppCheckForHoldKey( void );
|
|
// 189 void ZDApp_ProcessOSALMsg( osal_event_hdr_t *msgPtr );
|
|
// 190 void ZDApp_ProcessNetworkJoin( void );
|
|
// 191 void ZDApp_SetCoordAddress( uint8 endPoint, uint8 dstEP );
|
|
// 192 uint8 ZDApp_RestoreNwkKey( void );
|
|
// 193 networkDesc_t* ZDApp_NwkDescListProcessing(void);
|
|
// 194
|
|
// 195 void ZDApp_SecInit( uint8 state );
|
|
// 196 UINT16 ZDApp_ProcessSecEvent( uint8 task_id, UINT16 events );
|
|
// 197 void ZDApp_ProcessSecMsg( osal_event_hdr_t *msgPtr );
|
|
// 198
|
|
// 199 void ZDApp_SendMsg( uint8 taskID, uint8 cmd, uint8 len, uint8 *buf );
|
|
// 200
|
|
// 201 void ZDApp_ResetTimerStart( uint16 delay );
|
|
// 202 void ZDApp_ResetTimerCancel( void );
|
|
// 203 void ZDApp_LeaveCtrlInit( void );
|
|
// 204 void ZDApp_LeaveCtrlSet( uint8 ra );
|
|
// 205 uint8 ZDApp_LeaveCtrlBypass( void );
|
|
// 206 void ZDApp_LeaveCtrlStartup( devStates_t* state, uint16* startDelay );
|
|
// 207 void ZDApp_LeaveUpdate( uint16 nwkAddr, uint8* extAddr,
|
|
// 208 uint8 removeChildren );
|
|
// 209 void ZDApp_NodeProfileSync( uint8 stackProfile );
|
|
// 210 void ZDApp_ProcessMsgCBs( zdoIncomingMsg_t *inMsg );
|
|
// 211 void ZDApp_RegisterCBs( void );
|
|
// 212 void ZDApp_InitZdoCBFunc(void);
|
|
// 213
|
|
// 214 /*********************************************************************
|
|
// 215 * LOCAL VARIABLES
|
|
// 216 */
|
|
// 217
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 218 uint8 ZDAppTaskID;
|
|
ZDAppTaskID:
|
|
DS 1
|
|
REQUIRE __INIT_XDATA_Z
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 219 uint8 nwkStatus;
|
|
nwkStatus:
|
|
DS 1
|
|
REQUIRE __INIT_XDATA_Z
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA16
|
|
// 220 endPointDesc_t *ZDApp_AutoFindMode_epDesc = (endPointDesc_t *)NULL;
|
|
ZDApp_AutoFindMode_epDesc:
|
|
DS 2
|
|
REQUIRE __INIT_XDATA_Z
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 221 uint8 ZDApp_LeaveCtrl;
|
|
ZDApp_LeaveCtrl:
|
|
DS 1
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 222
|
|
// 223 #if defined( HOLD_AUTO_START )
|
|
// 224 devStates_t devState = DEV_HOLD;
|
|
// 225 #else
|
|
|
|
RSEG XDATA_I:XDATA:NOROOT(0)
|
|
// 226 devStates_t devState = DEV_INIT;
|
|
devState:
|
|
DATA8
|
|
DS 1
|
|
REQUIRE `?<Initializer for devState>`
|
|
REQUIRE __INIT_XDATA_I
|
|
// 227 #endif
|
|
// 228
|
|
// 229 #if ( ZG_BUILD_RTRONLY_TYPE ) || ( ZG_BUILD_ENDDEVICE_TYPE )
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 230 devStartModes_t devStartMode = MODE_JOIN; // Assume joining
|
|
devStartMode:
|
|
DS 1
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 231 //devStartModes_t devStartMode = MODE_RESUME; // if already "directly joined"
|
|
// 232 // to parent. Set to make the device do an Orphan scan.
|
|
// 233 #else
|
|
// 234 // Set the default to coodinator
|
|
// 235 devStartModes_t devStartMode = MODE_HARD;
|
|
// 236 #endif
|
|
// 237
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA8
|
|
// 238 uint8 retryCnt;
|
|
retryCnt:
|
|
DS 1
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 239
|
|
|
|
RSEG XDATA_I:XDATA:NOROOT(0)
|
|
// 240 endPointDesc_t ZDApp_epDesc =
|
|
ZDApp_epDesc:
|
|
DATA8
|
|
DS 6
|
|
REQUIRE `?<Initializer for ZDApp_epDesc>`
|
|
REQUIRE __INIT_XDATA_I
|
|
// 241 {
|
|
// 242 ZDO_EP,
|
|
// 243 &ZDAppTaskID,
|
|
// 244 (SimpleDescriptionFormat_t *)NULL, // No Simple description for ZDO
|
|
// 245 (afNetworkLatencyReq_t)0 // No Network Latency req
|
|
// 246 };
|
|
// 247
|
|
|
|
RSEG XDATA_I:XDATA:NOROOT(0)
|
|
// 248 uint16 ZDApp_SavedPollRate = POLL_RATE;
|
|
ZDApp_SavedPollRate:
|
|
DATA16
|
|
DS 2
|
|
REQUIRE `?<Initializer for ZDApp_SavedPollRate>`
|
|
REQUIRE __INIT_XDATA_I
|
|
// 249
|
|
// 250 /*********************************************************************
|
|
// 251 * @fn ZDApp_Init
|
|
// 252 *
|
|
// 253 * @brief ZDApp Initialization function.
|
|
// 254 *
|
|
// 255 * @param task_id - ZDApp Task ID
|
|
// 256 *
|
|
// 257 * @return None
|
|
// 258 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 259 void ZDApp_Init( uint8 task_id )
|
|
ZDApp_Init:
|
|
CFI Block cfiBlock0 Using cfiCommon0
|
|
CFI Function ZDApp_Init
|
|
CODE
|
|
// 260 {
|
|
FUNCALL ZDApp_Init, NLME_GetExtAddr
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_Init, ZDO_Init
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_Init, afRegister
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_Init, ZDApp_InitUserDesc
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_Init, ZDOInitDevice
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_Init, ZDOInitDevice
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_Init, ZDApp_InitZdoCBFunc
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_Init, ZDApp_RegisterCBs
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
// 261 // Save the task ID
|
|
// 262 ZDAppTaskID = task_id;
|
|
MOV DPTR,#ZDAppTaskID
|
|
MOVX @DPTR,A
|
|
// 263
|
|
// 264 // Initialize the ZDO global device short address storage
|
|
// 265 ZDAppNwkAddr.addrMode = Addr16Bit;
|
|
MOV DPTR,#ZDAppNwkAddr + 8
|
|
MOV A,#0x2
|
|
MOVX @DPTR,A
|
|
// 266 ZDAppNwkAddr.addr.shortAddr = INVALID_NODE_ADDR;
|
|
MOV DPTR,#ZDAppNwkAddr
|
|
MOV A,#-0x2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
INC A
|
|
MOVX @DPTR,A
|
|
// 267 (void)NLME_GetExtAddr(); // Load the saveExtAddr pointer.
|
|
; Setup parameters for call to function NLME_GetExtAddr
|
|
LCALL `??NLME_GetExtAddr::?relay`; Banked call to: NLME_GetExtAddr
|
|
// 268
|
|
// 269 // Check for manual "Hold Auto Start"
|
|
// 270 ZDAppCheckForHoldKey();
|
|
// 271
|
|
// 272 // Initialize ZDO items and setup the device - type of device to create.
|
|
// 273 ZDO_Init();
|
|
; Setup parameters for call to function ZDO_Init
|
|
LCALL `??ZDO_Init::?relay`; Banked call to: ZDO_Init
|
|
// 274
|
|
// 275 // Register the endpoint description with the AF
|
|
// 276 // This task doesn't have a Simple description, but we still need
|
|
// 277 // to register the endpoint.
|
|
// 278 afRegister( (endPointDesc_t *)&ZDApp_epDesc );
|
|
; Setup parameters for call to function afRegister
|
|
MOV R2,#ZDApp_epDesc & 0xff
|
|
MOV R3,#(ZDApp_epDesc >> 8) & 0xff
|
|
LCALL `??afRegister::?relay`; Banked call to: afRegister
|
|
// 279
|
|
// 280 #if defined( ZDO_USERDESC_RESPONSE )
|
|
// 281 ZDApp_InitUserDesc();
|
|
; Setup parameters for call to function ZDApp_InitUserDesc
|
|
LCALL `??ZDApp_InitUserDesc::?relay`; Banked call to: ZDApp_InitUserDesc
|
|
// 282 #endif // ZDO_USERDESC_RESPONSE
|
|
// 283
|
|
// 284 // Start the device?
|
|
// 285 if ( devState != DEV_HOLD )
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
JZ ??ZDApp_Init_0
|
|
// 286 {
|
|
// 287 ZDOInitDevice( 0 );
|
|
; Setup parameters for call to function ZDOInitDevice
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
SJMP ??ZDApp_Init_1
|
|
// 288 }
|
|
// 289 else
|
|
// 290 {
|
|
// 291 ZDOInitDevice( ZDO_INIT_HOLD_NWK_START );
|
|
??ZDApp_Init_0:
|
|
; Setup parameters for call to function ZDOInitDevice
|
|
MOV R2,#-0x1
|
|
MOV R3,#-0x1
|
|
??ZDApp_Init_1:
|
|
LCALL `??ZDOInitDevice::?relay`; Banked call to: ZDOInitDevice
|
|
// 292 #if 0
|
|
// 293 // Blink LED to indicate HOLD_START
|
|
// 294 HalLedBlink ( HAL_LED_4, 0, 50, 500 );
|
|
// 295 #endif
|
|
// 296 }
|
|
// 297
|
|
// 298 // Initialize the ZDO callback function pointers zdoCBFunc[]
|
|
// 299 ZDApp_InitZdoCBFunc();
|
|
; Setup parameters for call to function ZDApp_InitZdoCBFunc
|
|
LCALL `??ZDApp_InitZdoCBFunc::?relay`; Banked call to: ZDApp_InitZdoCBFunc
|
|
// 300
|
|
// 301 ZDApp_RegisterCBs();
|
|
; Setup parameters for call to function ZDApp_RegisterCBs
|
|
LCALL `??ZDApp_RegisterCBs::?relay`; Banked call to: ZDApp_RegisterCBs
|
|
// 302 } /* ZDApp_Init() */
|
|
LJMP ??Subroutine52_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock0
|
|
// 303
|
|
// 304 /*********************************************************************
|
|
// 305 * @fn ZDApp_SecInit
|
|
// 306 *
|
|
// 307 * @brief ZDApp initialize security.
|
|
// 308 *
|
|
// 309 * @param state - device initialization state
|
|
// 310 *
|
|
// 311 * @return none
|
|
// 312 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 313 void ZDApp_SecInit( uint8 state )
|
|
ZDApp_SecInit:
|
|
CFI Block cfiBlock1 Using cfiCommon0
|
|
CFI Function ZDApp_SecInit
|
|
CODE
|
|
// 314 {
|
|
FUNCALL ZDApp_SecInit, ZDSecMgrInit
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 315 uint8 zgPreConfigKey[SEC_KEY_LEN];
|
|
// 316
|
|
// 317 if ( ZG_SECURE_ENABLED && ZG_BUILD_COORDINATOR_TYPE && ZG_DEVICE_COORDINATOR_TYPE )
|
|
// 318 {
|
|
// 319 // Set the Trust Center bit
|
|
// 320 ZDO_Config_Node_Descriptor.ServerMask |= PRIM_TRUST_CENTER;
|
|
// 321 }
|
|
// 322
|
|
// 323 if ( ZG_CHECK_SECURITY_MODE == ZG_SECURITY_PRO_HIGH )
|
|
// 324 {
|
|
// 325 ZDO_Config_Node_Descriptor.CapabilityFlags |= CAPINFO_SECURITY_CAPABLE;
|
|
// 326 }
|
|
// 327
|
|
// 328 // Initialize ZigBee Device Security Manager
|
|
// 329 ZDSecMgrInit(state);
|
|
; Setup parameters for call to function ZDSecMgrInit
|
|
LCALL `??ZDSecMgrInit::?relay`; Banked call to: ZDSecMgrInit
|
|
// 330
|
|
// 331 if ( ZG_SECURE_ENABLED )
|
|
// 332 {
|
|
// 333 if ( state != ZDO_INITDEV_RESTORED_NETWORK_STATE )
|
|
// 334 {
|
|
// 335 nwkFrameCounter = 0;
|
|
// 336
|
|
// 337 if( _NIB.nwkKeyLoaded == FALSE )
|
|
// 338 {
|
|
// 339 if ( ( ZG_BUILD_COORDINATOR_TYPE && ZG_DEVICE_COORDINATOR_TYPE ) ||
|
|
// 340 ( ( zgSecurityMode == ZG_SECURITY_RESIDENTIAL ) && zgPreConfigKeys ) )
|
|
// 341 {
|
|
// 342 ZDSecMgrReadKeyFromNv(ZCD_NV_PRECFGKEY, zgPreConfigKey);
|
|
// 343 SSP_UpdateNwkKey( zgPreConfigKey, 0);
|
|
// 344 SSP_SwitchNwkKey( 0 );
|
|
// 345
|
|
// 346 // clear local copy of key
|
|
// 347 osal_memset(zgPreConfigKey, 0x00, SEC_KEY_LEN);
|
|
// 348 }
|
|
// 349 }
|
|
// 350 }
|
|
// 351 }
|
|
// 352 }
|
|
LJMP ??Subroutine52_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock1
|
|
// 353
|
|
// 354 /*********************************************************************
|
|
// 355 * @fn ZDApp_event_loop()
|
|
// 356 *
|
|
// 357 * @brief Main event loop for Zigbee device objects task. This function
|
|
// 358 * should be called at periodic intervals.
|
|
// 359 *
|
|
// 360 * @param task_id - Task ID
|
|
// 361 * @param events - Bitmap of events
|
|
// 362 *
|
|
// 363 * @return none
|
|
// 364 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 365 UINT16 ZDApp_event_loop( uint8 task_id, UINT16 events )
|
|
ZDApp_event_loop:
|
|
CFI Block cfiBlock2 Using cfiCommon0
|
|
CFI Function ZDApp_event_loop
|
|
CODE
|
|
// 366 {
|
|
FUNCALL ZDApp_event_loop, osal_set_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_event_loop, ZDO_StartDevice
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_event_loop, ZDApp_ProcessOSALMsg
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_event_loop, osal_msg_deallocate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_event_loop, osal_msg_receive
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_event_loop, ZDApp_NetworkStartEvt
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_event_loop, osal_pwrmgr_device
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_event_loop, osal_set_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_event_loop, ZDO_UpdateNwkStatus
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_event_loop, osal_start_timerEx
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_event_loop, zgWriteStartupOptions
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_event_loop, Onboard_soft_reset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
MOV A,#-0xc
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
; Saved register size: 12
|
|
; Auto size: 0
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 367 uint8 *msg_ptr;
|
|
// 368
|
|
// 369 if ( events & SYS_EVENT_MSG )
|
|
ANL A,#0x80
|
|
JNZ ??ZDApp_event_loop_0
|
|
// 370 {
|
|
// 371 while ( (msg_ptr = osal_msg_receive( ZDAppTaskID )) )
|
|
// 372 {
|
|
// 373 ZDApp_ProcessOSALMsg( (osal_event_hdr_t *)msg_ptr );
|
|
// 374
|
|
// 375 // Release the memory
|
|
// 376 osal_msg_deallocate( msg_ptr );
|
|
// 377 }
|
|
// 378
|
|
// 379 // Return unprocessed events
|
|
// 380 return (events ^ SYS_EVENT_MSG);
|
|
// 381 }
|
|
// 382
|
|
// 383 if ( events & ZDO_NETWORK_INIT )
|
|
MOV A,R2
|
|
MOV C,0xE0 /* A */.0
|
|
JNC ??ZDApp_event_loop_1
|
|
// 384 {
|
|
// 385 // Initialize apps and start the network
|
|
// 386 devState = DEV_INIT;
|
|
MOV DPTR,#devState
|
|
MOV A,#0x1
|
|
LCALL ??Subroutine46_0 & 0xFFFF
|
|
// 387 osal_set_event( ZDAppTaskID, ZDO_STATE_CHANGE_EVT );
|
|
// 388
|
|
// 389 ZDO_StartDevice( (uint8)ZDO_Config_Node_Descriptor.LogicalType, devStartMode,
|
|
// 390 DEFAULT_BEACON_ORDER, DEFAULT_SUPERFRAME_ORDER );
|
|
??CrossCallReturnLabel_69:
|
|
; Setup parameters for call to function ZDO_StartDevice
|
|
MOV R4,#0xf
|
|
MOV R3,#0xf
|
|
MOV DPTR,#devStartMode
|
|
MOVX A,@DPTR
|
|
MOV R2,A
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor
|
|
MOVX A,@DPTR
|
|
ANL A,#0x7
|
|
MOV R1,A
|
|
LCALL `??ZDO_StartDevice::?relay`; Banked call to: ZDO_StartDevice
|
|
// 391
|
|
// 392 // Return unprocessed events
|
|
// 393 return (events ^ ZDO_NETWORK_INIT);
|
|
MOV A,R6
|
|
XRL A,#0x1
|
|
SJMP ??ZDApp_event_loop_2
|
|
// 394 }
|
|
??ZDApp_event_loop_3:
|
|
; Setup parameters for call to function ZDApp_ProcessOSALMsg
|
|
LCALL `??ZDApp_ProcessOSALMsg::?relay`; Banked call to: ZDApp_ProcessOSALMsg
|
|
; Setup parameters for call to function osal_msg_deallocate
|
|
MOV R2,?V0
|
|
MOV R3,?V1
|
|
LCALL `??osal_msg_deallocate::?relay`; Banked call to: osal_msg_deallocate
|
|
??ZDApp_event_loop_0:
|
|
; Setup parameters for call to function osal_msg_receive
|
|
MOV DPTR,#ZDAppTaskID
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??osal_msg_receive::?relay`; Banked call to: osal_msg_receive
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
MOV A,R2
|
|
ORL A,R3
|
|
JNZ ??ZDApp_event_loop_3
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
XRL A,#0x80
|
|
SJMP ??ZDApp_event_loop_4
|
|
// 395
|
|
// 396 if ( ZSTACK_ROUTER_BUILD )
|
|
// 397 {
|
|
// 398 if ( events & ZDO_NETWORK_START )
|
|
??ZDApp_event_loop_1:
|
|
ANL A,#0x2
|
|
JZ ??ZDApp_event_loop_5
|
|
// 399 {
|
|
// 400 ZDApp_NetworkStartEvt();
|
|
; Setup parameters for call to function ZDApp_NetworkStartEvt
|
|
LCALL `??ZDApp_NetworkStartEvt::?relay`; Banked call to: ZDApp_NetworkStartEvt
|
|
// 401
|
|
// 402 // Return unprocessed events
|
|
// 403 return (events ^ ZDO_NETWORK_START);
|
|
MOV A,R6
|
|
XRL A,#0x2
|
|
SJMP ??ZDApp_event_loop_2
|
|
// 404 }
|
|
// 405
|
|
// 406 if ( events & ZDO_ROUTER_START )
|
|
??ZDApp_event_loop_5:
|
|
MOV A,R2
|
|
ANL A,#0x20
|
|
JZ ??ZDApp_event_loop_6
|
|
// 407 {
|
|
// 408 if ( nwkStatus == ZSuccess )
|
|
MOV DPTR,#nwkStatus
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDApp_event_loop_7
|
|
// 409 {
|
|
// 410 if ( devState == DEV_END_DEVICE )
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
XRL A,#0x6
|
|
JNZ ??ZDApp_event_loop_8
|
|
// 411 devState = DEV_ROUTER;
|
|
MOV A,#0x7
|
|
MOVX @DPTR,A
|
|
// 412
|
|
// 413 osal_pwrmgr_device( PWRMGR_ALWAYS_ON );
|
|
??ZDApp_event_loop_8:
|
|
; Setup parameters for call to function osal_pwrmgr_device
|
|
MOV R1,#0x0
|
|
LCALL `??osal_pwrmgr_device::?relay`; Banked call to: osal_pwrmgr_device
|
|
// 414 }
|
|
// 415 else
|
|
// 416 {
|
|
// 417 // remain as end device!!
|
|
// 418 }
|
|
// 419 osal_set_event( ZDAppTaskID, ZDO_STATE_CHANGE_EVT );
|
|
??ZDApp_event_loop_7:
|
|
; Setup parameters for call to function osal_set_event
|
|
LCALL ?Subroutine17 & 0xFFFF
|
|
// 420
|
|
// 421 // Return unprocessed events
|
|
// 422 return (events ^ ZDO_ROUTER_START);
|
|
??CrossCallReturnLabel_59:
|
|
MOV A,R6
|
|
XRL A,#0x20
|
|
SJMP ??ZDApp_event_loop_2
|
|
// 423 }
|
|
// 424 }
|
|
// 425
|
|
// 426 if ( events & ZDO_STATE_CHANGE_EVT )
|
|
??ZDApp_event_loop_6:
|
|
MOV A,R2
|
|
ANL A,#0x10
|
|
JZ ??ZDApp_event_loop_9
|
|
// 427 {
|
|
// 428 ZDO_UpdateNwkStatus( devState );
|
|
; Setup parameters for call to function ZDO_UpdateNwkStatus
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??ZDO_UpdateNwkStatus::?relay`; Banked call to: ZDO_UpdateNwkStatus
|
|
// 429
|
|
// 430 // At start up, do one MTO route discovery if the device is a concentrator
|
|
// 431 if ( zgConcentratorEnable == TRUE )
|
|
MOV DPTR,#zgConcentratorEnable
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JNZ ??CrossCallReturnLabel_80
|
|
// 432 {
|
|
// 433 // Start next event
|
|
// 434 osal_start_timerEx( NWK_TaskID, NWK_MTO_RTG_REQ_EVT, 100 );
|
|
; Setup parameters for call to function osal_start_timerEx
|
|
MOV R4,#0x64
|
|
MOV R5,#0x0
|
|
MOV R2,#0x0
|
|
MOV R3,#0x8
|
|
MOV DPTR,#NWK_TaskID
|
|
LCALL ??Subroutine51_0 & 0xFFFF
|
|
// 435 }
|
|
// 436
|
|
// 437 // Return unprocessed events
|
|
// 438 return (events ^ ZDO_STATE_CHANGE_EVT);
|
|
??CrossCallReturnLabel_80:
|
|
MOV A,R6
|
|
XRL A,#0x10
|
|
??ZDApp_event_loop_2:
|
|
MOV R2,A
|
|
MOV A,R7
|
|
SJMP ??ZDApp_event_loop_4
|
|
// 439 }
|
|
// 440
|
|
// 441 if ( events & ZDO_COMMAND_CNF )
|
|
??ZDApp_event_loop_9:
|
|
MOV A,R2
|
|
ANL A,#0x8
|
|
JZ ??ZDApp_event_loop_10
|
|
// 442 {
|
|
// 443 // User defined logic
|
|
// 444
|
|
// 445 // Return unprocessed events
|
|
// 446 return (events ^ ZDO_COMMAND_CNF);
|
|
MOV A,R2
|
|
XRL A,#0x8
|
|
MOV R2,A
|
|
SJMP ??ZDApp_event_loop_11
|
|
// 447 }
|
|
// 448
|
|
// 449 if ( events & ZDO_NWK_UPDATE_NV )
|
|
??ZDApp_event_loop_10:
|
|
MOV A,R3
|
|
ANL A,#0x2
|
|
JZ ??ZDApp_event_loop_12
|
|
// 450 {
|
|
// 451 ZDApp_SaveNetworkStateEvt();
|
|
// 452
|
|
// 453 // Return unprocessed events
|
|
// 454 return (events ^ ZDO_NWK_UPDATE_NV);
|
|
MOV A,R3
|
|
XRL A,#0x2
|
|
??ZDApp_event_loop_4:
|
|
MOV R3,A
|
|
SJMP ??ZDApp_event_loop_11
|
|
// 455 }
|
|
// 456
|
|
// 457 if ( events & ZDO_DEVICE_RESET )
|
|
??ZDApp_event_loop_12:
|
|
MOV A,R2
|
|
ANL A,#0x4
|
|
JZ ??ZDApp_event_loop_13
|
|
// 458 {
|
|
// 459 #ifdef ZBA_FALLBACK_NWKKEY
|
|
// 460 if ( devState == DEV_END_DEVICE_UNAUTH )
|
|
// 461 {
|
|
// 462 ZDSecMgrFallbackNwkKey();
|
|
// 463 }
|
|
// 464 else
|
|
// 465 #endif
|
|
// 466 {
|
|
// 467 // Set the NV startup option to force a "new" join.
|
|
// 468 zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE );
|
|
; Setup parameters for call to function zgWriteStartupOptions
|
|
MOV R2,#0x2
|
|
MOV R1,#-0x1
|
|
LCALL `??zgWriteStartupOptions::?relay`; Banked call to: zgWriteStartupOptions
|
|
// 469
|
|
// 470 // The device has been in the UNAUTH state, so reset
|
|
// 471 // Note: there will be no return from this call
|
|
// 472 SystemResetSoft();
|
|
; Setup parameters for call to function Onboard_soft_reset
|
|
LCALL Onboard_soft_reset & 0xFFFF
|
|
// 473 }
|
|
// 474 }
|
|
// 475
|
|
// 476 if ( ZG_SECURE_ENABLED )
|
|
// 477 {
|
|
// 478 return ( ZDApp_ProcessSecEvent( task_id, events ) );
|
|
// 479 }
|
|
// 480 else
|
|
// 481 {
|
|
// 482 // Discard or make more handlers
|
|
// 483 return 0;
|
|
??ZDApp_event_loop_13:
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
// 484 }
|
|
??ZDApp_event_loop_11:
|
|
SJMP ??Subroutine45_0
|
|
// 485 }
|
|
CFI EndBlock cfiBlock2
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine17:
|
|
CFI Block cfiCond3 Using cfiCommon0
|
|
CFI Function ZDApp_event_loop
|
|
CFI Conditional ??CrossCallReturnLabel_59
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond4 Using cfiCommon0
|
|
CFI (cfiCond4) Function ZDOInitDevice
|
|
CFI (cfiCond4) Conditional ??CrossCallReturnLabel_60
|
|
CFI (cfiCond4) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond4) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond4) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond4) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond4) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond4) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond4) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond4) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond4) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond4) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond4) CFA_SP SP+-2
|
|
CFI (cfiCond4) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond5 Using cfiCommon0
|
|
CFI (cfiCond5) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond5) Conditional ??CrossCallReturnLabel_61
|
|
CFI (cfiCond5) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond5) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond5) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond5) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond5) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond5) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond5) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond5) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond5) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond5) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond5) CFA_SP SP+-2
|
|
CFI (cfiCond5) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond6 Using cfiCommon0
|
|
CFI (cfiCond6) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond6) Conditional ??CrossCallReturnLabel_62
|
|
CFI (cfiCond6) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond6) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond6) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond6) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond6) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond6) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond6) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond6) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond6) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond6) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond6) CFA_SP SP+-2
|
|
CFI (cfiCond6) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond7 Using cfiCommon0
|
|
CFI (cfiCond7) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond7) Conditional ??CrossCallReturnLabel_63
|
|
CFI (cfiCond7) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond7) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond7) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond7) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond7) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond7) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond7) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond7) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond7) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond7) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond7) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond7) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond7) CFA_SP SP+-2
|
|
CFI (cfiCond7) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker8 Using cfiCommon1
|
|
CFI (cfiPicker8) NoFunction
|
|
CFI (cfiPicker8) Picker
|
|
MOV R2,#0x10
|
|
CFI EndBlock cfiCond3
|
|
CFI EndBlock cfiCond4
|
|
CFI EndBlock cfiCond5
|
|
CFI EndBlock cfiCond6
|
|
CFI EndBlock cfiCond7
|
|
CFI EndBlock cfiPicker8
|
|
REQUIRE ??Subroutine43_0
|
|
; // Fall through to label ??Subroutine43_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine43_0:
|
|
CFI Block cfiCond9 Using cfiCommon0
|
|
CFI Function ZDApp_NetworkStartEvt
|
|
CFI Conditional ??CrossCallReturnLabel_64
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond10 Using cfiCommon0
|
|
CFI (cfiCond10) Function ZDO_NetworkFormationConfirmCB
|
|
CFI (cfiCond10) Conditional ??CrossCallReturnLabel_65
|
|
CFI (cfiCond10) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond10) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond10) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond10) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond10) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond10) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond10) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond10) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond10) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond10) CFA_SP SP+-2
|
|
CFI (cfiCond10) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond11 Using cfiCommon0
|
|
CFI (cfiCond11) Function ZDO_StartRouterConfirmCB
|
|
CFI (cfiCond11) Conditional ??CrossCallReturnLabel_65
|
|
CFI (cfiCond11) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond11) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond11) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond11) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond11) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond11) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond11) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond11) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond11) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond11) CFA_SP SP+-2
|
|
CFI (cfiCond11) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond12 Using cfiCommon0
|
|
CFI (cfiCond12) Function ZDApp_NetworkInit
|
|
CFI (cfiCond12) Conditional ??CrossCallReturnLabel_66
|
|
CFI (cfiCond12) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond12) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond12) CFA_SP SP+-7
|
|
CFI Block cfiCond13 Using cfiCommon0
|
|
CFI (cfiCond13) Function ZDApp_event_loop
|
|
CFI (cfiCond13) Conditional ??CrossCallReturnLabel_59
|
|
CFI (cfiCond13) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond13) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond13) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond13) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond13) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond13) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond13) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond13) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond13) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond13) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond13) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond13) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond13) CFA_SP SP+-2
|
|
CFI (cfiCond13) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond14 Using cfiCommon0
|
|
CFI (cfiCond14) Function ZDOInitDevice
|
|
CFI (cfiCond14) Conditional ??CrossCallReturnLabel_60
|
|
CFI (cfiCond14) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond14) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond14) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond14) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond14) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond14) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond14) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond14) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond14) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond14) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond14) CFA_SP SP+-2
|
|
CFI (cfiCond14) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond15 Using cfiCommon0
|
|
CFI (cfiCond15) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond15) Conditional ??CrossCallReturnLabel_61
|
|
CFI (cfiCond15) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond15) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond15) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond15) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond15) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond15) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond15) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond15) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond15) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond15) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond15) CFA_SP SP+-2
|
|
CFI (cfiCond15) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond16 Using cfiCommon0
|
|
CFI (cfiCond16) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond16) Conditional ??CrossCallReturnLabel_62
|
|
CFI (cfiCond16) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond16) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond16) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond16) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond16) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond16) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond16) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond16) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond16) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond16) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond16) CFA_SP SP+-2
|
|
CFI (cfiCond16) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond17 Using cfiCommon0
|
|
CFI (cfiCond17) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond17) Conditional ??CrossCallReturnLabel_63
|
|
CFI (cfiCond17) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond17) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond17) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond17) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond17) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond17) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond17) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond17) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond17) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond17) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond17) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond17) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond17) CFA_SP SP+-2
|
|
CFI (cfiCond17) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker18 Using cfiCommon1
|
|
CFI (cfiPicker18) NoFunction
|
|
CFI (cfiPicker18) Picker
|
|
MOV R3,#0x0
|
|
MOV DPTR,#ZDAppTaskID
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??osal_set_event::?relay`; Banked call to: osal_set_event
|
|
RET
|
|
CFI EndBlock cfiCond9
|
|
CFI EndBlock cfiCond10
|
|
CFI EndBlock cfiCond11
|
|
CFI EndBlock cfiCond12
|
|
CFI EndBlock cfiCond13
|
|
CFI EndBlock cfiCond14
|
|
CFI EndBlock cfiCond15
|
|
CFI EndBlock cfiCond16
|
|
CFI EndBlock cfiCond17
|
|
CFI EndBlock cfiPicker18
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine1:
|
|
CFI Block cfiBlock19 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 33)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV A,#0x15
|
|
CFI EndBlock cfiBlock19
|
|
REQUIRE ??Subroutine44_0
|
|
; // Fall through to label ??Subroutine44_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine44_0:
|
|
CFI Block cfiBlock20 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI Invalid
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI EndBlock cfiBlock20
|
|
REQUIRE ??Subroutine45_0
|
|
; // Fall through to label ??Subroutine45_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine45_0:
|
|
CFI Block cfiBlock21 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV R7,#0x4
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
CFI EndBlock cfiBlock21
|
|
// 486
|
|
// 487 /*********************************************************************
|
|
// 488 * @fn ZDApp_ProcessSecEvent()
|
|
// 489 *
|
|
// 490 * @brief Process incoming security events.
|
|
// 491 *
|
|
// 492 * @param task_id - Task ID
|
|
// 493 * @param events - Bitmap of events
|
|
// 494 *
|
|
// 495 * @return none
|
|
// 496 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 497 UINT16 ZDApp_ProcessSecEvent( uint8 task_id, UINT16 events )
|
|
ZDApp_ProcessSecEvent:
|
|
CFI Block cfiBlock22 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessSecEvent
|
|
CODE
|
|
// 498 {
|
|
FUNCALL ZDApp_ProcessSecEvent, ZDSecMgrNewDeviceEvent
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessSecEvent, osal_start_timerEx
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessSecEvent, ZDApp_DeviceAuthEvt
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessSecEvent, ZDApp_SaveNwkKey
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessSecEvent, ZDSecMgrSaveTCLinkKey
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 499 (void)task_id; // Intentionally unreferenced parameter
|
|
// 500
|
|
// 501 if ( ZSTACK_ROUTER_BUILD )
|
|
// 502 {
|
|
// 503 if ( events & ZDO_NEW_DEVICE )
|
|
MOV A,R2
|
|
ANL A,#0x40
|
|
JZ ??ZDApp_ProcessSecEvent_0
|
|
// 504 {
|
|
// 505 // process the new device event
|
|
// 506 if ( ZDSecMgrNewDeviceEvent() == TRUE )
|
|
; Setup parameters for call to function ZDSecMgrNewDeviceEvent
|
|
LCALL `??ZDSecMgrNewDeviceEvent::?relay`; Banked call to: ZDSecMgrNewDeviceEvent
|
|
MOV A,R1
|
|
XRL A,#0x1
|
|
JNZ ??CrossCallReturnLabel_77
|
|
// 507 {
|
|
// 508 osal_start_timerEx( ZDAppTaskID, ZDO_NEW_DEVICE, 1000 );
|
|
; Setup parameters for call to function osal_start_timerEx
|
|
MOV R4,#-0x18
|
|
MOV R5,#0x3
|
|
MOV R2,#0x40
|
|
LCALL ?Subroutine22 & 0xFFFF
|
|
// 509 }
|
|
// 510
|
|
// 511 // Return unprocessed events
|
|
// 512 return (events ^ ZDO_NEW_DEVICE);
|
|
??CrossCallReturnLabel_77:
|
|
MOV A,R6
|
|
XRL A,#0x40
|
|
SJMP ??ZDApp_ProcessSecEvent_1
|
|
// 513 }
|
|
// 514 }
|
|
// 515
|
|
// 516 if ( (ZG_CHECK_SECURITY_MODE == ZG_SECURITY_PRO_HIGH)
|
|
// 517 || (ZG_CHECK_SECURITY_MODE == ZG_SECURITY_SE_STANDARD) )
|
|
// 518 {
|
|
// 519 if ( ZG_BUILD_COORDINATOR_TYPE && ZG_DEVICE_COORDINATOR_TYPE )
|
|
// 520 {
|
|
// 521 if ( events & ZDO_SECMGR_EVENT )
|
|
// 522 {
|
|
// 523 ZDSecMgrEvent();
|
|
// 524
|
|
// 525 // Return unprocessed events
|
|
// 526 return (events ^ ZDO_SECMGR_EVENT);
|
|
// 527 }
|
|
// 528 }
|
|
// 529 }
|
|
// 530
|
|
// 531 if ( events & ZDO_DEVICE_AUTH )
|
|
??ZDApp_ProcessSecEvent_0:
|
|
MOV A,R2
|
|
ANL A,#0x80
|
|
JZ ??ZDApp_ProcessSecEvent_2
|
|
// 532 {
|
|
// 533 ZDApp_DeviceAuthEvt();
|
|
; Setup parameters for call to function ZDApp_DeviceAuthEvt
|
|
LCALL `??ZDApp_DeviceAuthEvt::?relay`; Banked call to: ZDApp_DeviceAuthEvt
|
|
// 534
|
|
// 535 // Return unprocessed events
|
|
// 536 return (events ^ ZDO_DEVICE_AUTH);
|
|
MOV A,R6
|
|
XRL A,#0x80
|
|
??ZDApp_ProcessSecEvent_1:
|
|
MOV R2,A
|
|
MOV A,R7
|
|
SJMP ??ZDApp_ProcessSecEvent_3
|
|
// 537 }
|
|
// 538
|
|
// 539 if ( events & ZDO_FRAMECOUNTER_CHANGE )
|
|
??ZDApp_ProcessSecEvent_2:
|
|
MOV A,R3
|
|
ANL A,#0x4
|
|
JZ ??ZDApp_ProcessSecEvent_4
|
|
// 540 {
|
|
// 541 if ( nwkFrameCounterChanges++ > MAX_NWK_FRAMECOUNTER_CHANGES )
|
|
MOV DPTR,#nwkFrameCounterChanges
|
|
LCALL ??Subroutine53_0 & 0xFFFF
|
|
??CrossCallReturnLabel_81:
|
|
MOV A,R0
|
|
ADD A,#0x1
|
|
MOV R2,A
|
|
CLR A
|
|
ADDC A,R1
|
|
MOV R3,A
|
|
MOV DPTR,#nwkFrameCounterChanges
|
|
LCALL ??Subroutine60_0 & 0xFFFF
|
|
??CrossCallReturnLabel_115:
|
|
CLR C
|
|
MOV A,R0
|
|
SUBB A,#-0x17
|
|
MOV A,R1
|
|
SUBB A,#0x3
|
|
JC ??ZDApp_ProcessSecEvent_5
|
|
// 542 {
|
|
// 543 ZDApp_SaveNwkKey();
|
|
; Setup parameters for call to function ZDApp_SaveNwkKey
|
|
LCALL `??ZDApp_SaveNwkKey::?relay`; Banked call to: ZDApp_SaveNwkKey
|
|
// 544 }
|
|
// 545
|
|
// 546 // Return unprocessed events
|
|
// 547 return (events ^ ZDO_FRAMECOUNTER_CHANGE);
|
|
??ZDApp_ProcessSecEvent_5:
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
XRL A,#0x4
|
|
SJMP ??ZDApp_ProcessSecEvent_3
|
|
// 548 }
|
|
// 549
|
|
// 550 if ( events & ZDO_APS_FRAMECOUNTER_CHANGE )
|
|
??ZDApp_ProcessSecEvent_4:
|
|
MOV A,R3
|
|
ANL A,#0x10
|
|
JZ ??ZDApp_ProcessSecEvent_6
|
|
// 551 {
|
|
// 552 #if defined (NV_RESTORE)
|
|
// 553 ZDSecMgrSaveApsLinkKey();
|
|
// 554 #endif // (NV_RESTORE)
|
|
// 555
|
|
// 556 // Return unprocessed events
|
|
// 557 return (events ^ ZDO_APS_FRAMECOUNTER_CHANGE);
|
|
MOV A,R3
|
|
XRL A,#0x10
|
|
SJMP ??ZDApp_ProcessSecEvent_3
|
|
// 558 }
|
|
// 559
|
|
// 560 if ( events & ZDO_TCLK_FRAMECOUNTER_CHANGE )
|
|
??ZDApp_ProcessSecEvent_6:
|
|
MOV A,R3
|
|
ANL A,#0x8
|
|
JZ ??ZDApp_ProcessSecEvent_7
|
|
// 561 {
|
|
// 562 ZDSecMgrSaveTCLinkKey();
|
|
; Setup parameters for call to function ZDSecMgrSaveTCLinkKey
|
|
LCALL `??ZDSecMgrSaveTCLinkKey::?relay`; Banked call to: ZDSecMgrSaveTCLinkKey
|
|
// 563
|
|
// 564 // Return unprocessed events
|
|
// 565 return (events ^ ZDO_TCLK_FRAMECOUNTER_CHANGE);
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
XRL A,#0x8
|
|
??ZDApp_ProcessSecEvent_3:
|
|
MOV R3,A
|
|
SJMP ??ZDApp_ProcessSecEvent_8
|
|
// 566 }
|
|
// 567
|
|
// 568 // Discard or make more handlers
|
|
// 569 return 0;
|
|
??ZDApp_ProcessSecEvent_7:
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
??ZDApp_ProcessSecEvent_8:
|
|
LJMP ??Subroutine52_0 & 0xFFFF
|
|
// 570 }
|
|
CFI EndBlock cfiBlock22
|
|
// 571
|
|
// 572 /*********************************************************************
|
|
// 573 * Application Functions
|
|
// 574 */
|
|
// 575
|
|
// 576 /*********************************************************************
|
|
// 577 * @fn ZDOInitDevice
|
|
// 578 *
|
|
// 579 * @brief Start the device in the network. This function will read
|
|
// 580 * ZCD_NV_STARTUP_OPTION (NV item) to determine whether or not to
|
|
// 581 * restore the network state of the device.
|
|
// 582 *
|
|
// 583 * @param startDelay - timeDelay to start device (in milliseconds).
|
|
// 584 * There is a jitter added to this delay:
|
|
// 585 * ((NWK_START_DELAY + startDelay)
|
|
// 586 * + (osal_rand() & EXTENDED_JOINING_RANDOM_MASK))
|
|
// 587 * When startDelay is set to ZDO_INIT_HOLD_NWK_START
|
|
// 588 * this function will hold the network init. Application
|
|
// 589 * can start the device.
|
|
// 590 *
|
|
// 591 * NOTE: If the application would like to force a "new" join, the
|
|
// 592 * application should set the ZCD_STARTOPT_DEFAULT_NETWORK_STATE
|
|
// 593 * bit in the ZCD_NV_STARTUP_OPTION NV item before calling
|
|
// 594 * this function. "new" join means to not restore the network
|
|
// 595 * state of the device. Use zgWriteStartupOptions() to set these
|
|
// 596 * options.
|
|
// 597 *
|
|
// 598 * @return
|
|
// 599 * ZDO_INITDEV_RESTORED_NETWORK_STATE - The device's network state was
|
|
// 600 * restored.
|
|
// 601 * ZDO_INITDEV_NEW_NETWORK_STATE - The network state was initialized.
|
|
// 602 * This could mean that ZCD_NV_STARTUP_OPTION said to not restore, or
|
|
// 603 * it could mean that there was no network state to restore.
|
|
// 604 * ZDO_INITDEV_LEAVE_NOT_STARTED - Before the reset, a network leave was issued
|
|
// 605 * with the rejoin option set to TRUE. So, the device was not
|
|
// 606 * started in the network (one time only). The next time this
|
|
// 607 * function is called it will start.
|
|
// 608 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 609 uint8 ZDOInitDevice( uint16 startDelay )
|
|
ZDOInitDevice:
|
|
CFI Block cfiBlock23 Using cfiCommon0
|
|
CFI Function ZDOInitDevice
|
|
CODE
|
|
// 610 {
|
|
FUNCALL ZDOInitDevice, zgInitItems
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDOInitDevice, ZDConfig_InitDescriptors
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDOInitDevice, ZDAppDetermineDeviceType
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDOInitDevice, osal_rand
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDOInitDevice, ZDSecMgrInit
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDOInitDevice, ZDApp_LeaveCtrlInit
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDOInitDevice, ZDApp_LeaveCtrlStartup
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDOInitDevice, zgWriteStartupOptions
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDOInitDevice, osal_set_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDOInitDevice, ZDApp_NetworkInit
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDOInitDevice, NLME_SetBroadcastFilter
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 2
|
|
MOV A,#-0x2
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
LCALL ?Subroutine12 & 0xFFFF
|
|
// 611 uint8 networkStateNV = ZDO_INITDEV_NEW_NETWORK_STATE;
|
|
// 612 uint16 extendedDelay = 0;
|
|
// 613
|
|
// 614 if ( devState == DEV_HOLD )
|
|
??CrossCallReturnLabel_120:
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDOInitDevice_0
|
|
// 615 {
|
|
// 616 // Initialize the RAM items table, in case an NV item has been updated.
|
|
// 617 zgInitItems( FALSE );
|
|
; Setup parameters for call to function zgInitItems
|
|
MOV R1,#0x0
|
|
LCALL `??zgInitItems::?relay`; Banked call to: zgInitItems
|
|
// 618 }
|
|
// 619
|
|
// 620 ZDConfig_InitDescriptors();
|
|
??ZDOInitDevice_0:
|
|
; Setup parameters for call to function ZDConfig_InitDescriptors
|
|
LCALL `??ZDConfig_InitDescriptors::?relay`; Banked call to: ZDConfig_InitDescriptors
|
|
// 621 //devtag.071807.todo - fix this temporary solution
|
|
// 622 _NIB.CapabilityFlags = ZDO_Config_Node_Descriptor.CapabilityFlags;
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor + 2
|
|
MOVX A,@DPTR
|
|
MOV DPTR,#_NIB + 14
|
|
MOVX @DPTR,A
|
|
// 623
|
|
// 624 #if defined ( NV_RESTORE )
|
|
// 625 // Get Keypad directly to see if a reset nv is needed.
|
|
// 626 // Hold down the SW_BYPASS_NV key (defined in OnBoard.h)
|
|
// 627 // while booting to skip past NV Restore.
|
|
// 628 if ( HalKeyRead() == SW_BYPASS_NV )
|
|
// 629 networkStateNV = ZDO_INITDEV_NEW_NETWORK_STATE;
|
|
// 630 else
|
|
// 631 {
|
|
// 632 // Determine if NV should be restored
|
|
// 633 networkStateNV = ZDApp_ReadNetworkRestoreState();
|
|
// 634 }
|
|
// 635
|
|
// 636 if ( networkStateNV == ZDO_INITDEV_RESTORED_NETWORK_STATE )
|
|
// 637 {
|
|
// 638 networkStateNV = ZDApp_RestoreNetworkState();
|
|
// 639 }
|
|
// 640 else
|
|
// 641 {
|
|
// 642 // Wipe out the network state in NV
|
|
// 643 NLME_InitNV();
|
|
// 644 NLME_SetDefaultNV();
|
|
// 645 // clear NWK key values
|
|
// 646 ZDSecMgrClearNVKeyValues();
|
|
// 647 }
|
|
// 648 #endif
|
|
// 649
|
|
// 650 if ( networkStateNV == ZDO_INITDEV_NEW_NETWORK_STATE )
|
|
// 651 {
|
|
// 652 ZDAppDetermineDeviceType();
|
|
; Setup parameters for call to function ZDAppDetermineDeviceType
|
|
LCALL `??ZDAppDetermineDeviceType::?relay`; Banked call to: ZDAppDetermineDeviceType
|
|
// 653
|
|
// 654 // Only delay if joining network - not restoring network state
|
|
// 655 extendedDelay = (uint16)((NWK_START_DELAY + startDelay)
|
|
// 656 + (osal_rand() & EXTENDED_JOINING_RANDOM_MASK));
|
|
; Setup parameters for call to function osal_rand
|
|
LCALL `??osal_rand::?relay`; Banked call to: osal_rand
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOV A,R2
|
|
ANL A,#0x7f
|
|
MOV R0,A
|
|
MOVX A,@DPTR
|
|
ADD A,R0
|
|
MOV R0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
ADDC A,#0x0
|
|
MOV R1,A
|
|
MOV A,R0
|
|
ADD A,#0x64
|
|
MOV R6,A
|
|
CLR A
|
|
ADDC A,R1
|
|
MOV R7,A
|
|
// 657 }
|
|
// 658
|
|
// 659 // Initialize the security for type of device
|
|
// 660 ZDApp_SecInit( networkStateNV );
|
|
; Setup parameters for call to function ZDSecMgrInit
|
|
MOV R1,#0x1
|
|
LCALL `??ZDSecMgrInit::?relay`; Banked call to: ZDSecMgrInit
|
|
// 661
|
|
// 662 if( ZDO_INIT_HOLD_NWK_START != startDelay )
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
JNZ ??ZDOInitDevice_1
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
??ZDOInitDevice_1:
|
|
JZ ??ZDOInitDevice_2
|
|
// 663 {
|
|
// 664 devState = DEV_INIT; // Remove the Hold state
|
|
MOV DPTR,#devState
|
|
MOV A,#0x1
|
|
MOVX @DPTR,A
|
|
// 665
|
|
// 666 // Initialize leave control logic
|
|
// 667 ZDApp_LeaveCtrlInit();
|
|
; Setup parameters for call to function ZDApp_LeaveCtrlInit
|
|
LCALL `??ZDApp_LeaveCtrlInit::?relay`; Banked call to: ZDApp_LeaveCtrlInit
|
|
// 668
|
|
// 669 // Check leave control reset settings
|
|
// 670 ZDApp_LeaveCtrlStartup( &devState, &startDelay );
|
|
; Setup parameters for call to function ZDApp_LeaveCtrlStartup
|
|
MOV R4,?XSP + 0
|
|
MOV R5,?XSP + 1
|
|
MOV R2,#devState & 0xff
|
|
MOV R3,#(devState >> 8) & 0xff
|
|
LCALL `??ZDApp_LeaveCtrlStartup::?relay`; Banked call to: ZDApp_LeaveCtrlStartup
|
|
// 671
|
|
// 672 // Leave may make the hold state come back
|
|
// 673 if ( devState == DEV_HOLD )
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDOInitDevice_3
|
|
// 674 {
|
|
// 675 // Set the NV startup option to force a "new" join.
|
|
// 676 zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE );
|
|
; Setup parameters for call to function zgWriteStartupOptions
|
|
MOV R2,#0x2
|
|
MOV R1,#-0x1
|
|
LCALL `??zgWriteStartupOptions::?relay`; Banked call to: zgWriteStartupOptions
|
|
// 677
|
|
// 678 // Notify the applications
|
|
// 679 osal_set_event( ZDAppTaskID, ZDO_STATE_CHANGE_EVT );
|
|
; Setup parameters for call to function osal_set_event
|
|
LCALL ?Subroutine17 & 0xFFFF
|
|
// 680
|
|
// 681 return ( ZDO_INITDEV_LEAVE_NOT_STARTED ); // Don't join - (one time).
|
|
??CrossCallReturnLabel_60:
|
|
MOV R1,#0x2
|
|
SJMP ??ZDOInitDevice_4
|
|
// 682 }
|
|
// 683
|
|
// 684 // Trigger the network start
|
|
// 685 ZDApp_NetworkInit( extendedDelay );
|
|
??ZDOInitDevice_3:
|
|
; Setup parameters for call to function ZDApp_NetworkInit
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
LCALL `??ZDApp_NetworkInit::?relay`; Banked call to: ZDApp_NetworkInit
|
|
// 686 }
|
|
// 687
|
|
// 688 // set broadcast address mask to support broadcast filtering
|
|
// 689 NLME_SetBroadcastFilter( ZDO_Config_Node_Descriptor.CapabilityFlags );
|
|
??ZDOInitDevice_2:
|
|
; Setup parameters for call to function NLME_SetBroadcastFilter
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor + 2
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??NLME_SetBroadcastFilter::?relay`; Banked call to: NLME_SetBroadcastFilter
|
|
// 690
|
|
// 691 return ( networkStateNV );
|
|
MOV R1,#0x1
|
|
??ZDOInitDevice_4:
|
|
LJMP ?Subroutine7 & 0xFFFF
|
|
// 692 }
|
|
CFI EndBlock cfiBlock23
|
|
// 693
|
|
// 694 /*********************************************************************
|
|
// 695 * @fn ZDApp_ReadNetworkRestoreState
|
|
// 696 *
|
|
// 697 * @brief Read the ZCD_NV_STARTUP_OPTION NV Item to state whether
|
|
// 698 * or not to restore the network state.
|
|
// 699 * If the read value has the ZCD_STARTOPT_DEFAULT_NETWORK_STATE
|
|
// 700 * bit set return the ZDO_INITDEV_NEW_NETWORK_STATE.
|
|
// 701 *
|
|
// 702 * @param none
|
|
// 703 *
|
|
// 704 * @return ZDO_INITDEV_NEW_NETWORK_STATE
|
|
// 705 * or ZDO_INITDEV_RESTORED_NETWORK_STATE based on whether or
|
|
// 706 * not ZCD_STARTOPT_DEFAULT_NETWORK_STATE bit is set in
|
|
// 707 * ZCD_NV_STARTUP_OPTION
|
|
// 708 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 709 uint8 ZDApp_ReadNetworkRestoreState( void )
|
|
ZDApp_ReadNetworkRestoreState:
|
|
CFI Block cfiBlock24 Using cfiCommon0
|
|
CFI Function ZDApp_ReadNetworkRestoreState
|
|
CODE
|
|
// 710 {
|
|
FUNCALL ZDApp_ReadNetworkRestoreState, zgReadStartupOptions
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 711 uint8 networkStateNV = ZDO_INITDEV_RESTORED_NETWORK_STATE;
|
|
MOV R6,#0x0
|
|
// 712
|
|
// 713 // Look for the New Network State option.
|
|
// 714 if ( zgReadStartupOptions() & ZCD_STARTOPT_DEFAULT_NETWORK_STATE )
|
|
; Setup parameters for call to function zgReadStartupOptions
|
|
LCALL `??zgReadStartupOptions::?relay`; Banked call to: zgReadStartupOptions
|
|
MOV A,R1
|
|
MOV R0,A
|
|
MOV C,0xE0 /* A */.1
|
|
JNC ??ZDApp_ReadNetworkRestoreState_0
|
|
// 715 {
|
|
// 716 networkStateNV = ZDO_INITDEV_NEW_NETWORK_STATE;
|
|
MOV R6,#0x1
|
|
// 717 }
|
|
// 718
|
|
// 719 return ( networkStateNV );
|
|
??ZDApp_ReadNetworkRestoreState_0:
|
|
MOV A,R6
|
|
MOV R1,A
|
|
LJMP ??Subroutine52_0 & 0xFFFF
|
|
// 720 }
|
|
CFI EndBlock cfiBlock24
|
|
// 721
|
|
// 722 /*********************************************************************
|
|
// 723 * @fn ZDAppDetermineDeviceType()
|
|
// 724 *
|
|
// 725 * @brief Determines the type of device to start.
|
|
// 726 *
|
|
// 727 * Looks at zgDeviceLogicalType and determines what type of
|
|
// 728 * device to start. The types are:
|
|
// 729 * ZG_DEVICETYPE_COORDINATOR
|
|
// 730 * ZG_DEVICETYPE_ROUTER
|
|
// 731 * ZG_DEVICETYPE_ENDDEVICE
|
|
// 732 *
|
|
// 733 * @param none
|
|
// 734 *
|
|
// 735 * @return none
|
|
// 736 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 737 void ZDAppDetermineDeviceType( void )
|
|
ZDAppDetermineDeviceType:
|
|
CFI Block cfiBlock25 Using cfiCommon0
|
|
CFI Function ZDAppDetermineDeviceType
|
|
CODE
|
|
// 738 {
|
|
FUNCALL ZDAppDetermineDeviceType, nwk_ExtPANIDValid
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 739 if ( zgDeviceLogicalType == ZG_DEVICETYPE_COORDINATOR )
|
|
MOV DPTR,#zgDeviceLogicalType
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDAppDetermineDeviceType_0
|
|
// 740 {
|
|
// 741 devStartMode = MODE_HARD; // Start as a coordinator
|
|
MOV DPTR,#devStartMode
|
|
MOV A,#0x2
|
|
MOVX @DPTR,A
|
|
// 742 ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_COORDINATOR;
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor
|
|
MOVX A,@DPTR
|
|
ANL A,#0xf8
|
|
SJMP ??ZDAppDetermineDeviceType_1
|
|
// 743 }
|
|
// 744 else
|
|
// 745 {
|
|
// 746 if ( zgDeviceLogicalType == ZG_DEVICETYPE_ROUTER )
|
|
??ZDAppDetermineDeviceType_0:
|
|
XRL A,#0x1
|
|
JNZ ??ZDAppDetermineDeviceType_2
|
|
// 747 ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_ROUTER;
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor
|
|
MOVX A,@DPTR
|
|
ANL A,#0xf8
|
|
ORL A,#0x1
|
|
SJMP ??ZDAppDetermineDeviceType_3
|
|
// 748 else if ( zgDeviceLogicalType == ZG_DEVICETYPE_ENDDEVICE )
|
|
??ZDAppDetermineDeviceType_2:
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JNZ ??ZDAppDetermineDeviceType_4
|
|
// 749 ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_DEVICE;
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor
|
|
MOVX A,@DPTR
|
|
ANL A,#0xf8
|
|
ORL A,#0x2
|
|
??ZDAppDetermineDeviceType_3:
|
|
MOVX @DPTR,A
|
|
// 750
|
|
// 751 // If AIB_apsUseExtendedPANID is set to a non-zero value by commissioning
|
|
// 752 // The device shall do rejoin the network. Otherwise, do normal join
|
|
// 753 if ( nwk_ExtPANIDValid( AIB_apsUseExtendedPANID ) == false )
|
|
??ZDAppDetermineDeviceType_4:
|
|
; Setup parameters for call to function nwk_ExtPANIDValid
|
|
MOV R2,#AIB_apsUseExtendedPANID & 0xff
|
|
MOV R3,#(AIB_apsUseExtendedPANID >> 8) & 0xff
|
|
LCALL `??nwk_ExtPANIDValid::?relay`; Banked call to: nwk_ExtPANIDValid
|
|
MOV A,R1
|
|
MOV DPTR,#devStartMode
|
|
JNZ ??ZDAppDetermineDeviceType_5
|
|
// 754 {
|
|
// 755 devStartMode = MODE_JOIN; // Assume joining
|
|
CLR A
|
|
SJMP ??ZDAppDetermineDeviceType_1
|
|
// 756 }
|
|
// 757 else
|
|
// 758 {
|
|
// 759 devStartMode = MODE_REJOIN;
|
|
??ZDAppDetermineDeviceType_5:
|
|
MOV A,#0x3
|
|
??ZDAppDetermineDeviceType_1:
|
|
MOVX @DPTR,A
|
|
// 760 }
|
|
// 761 }
|
|
// 762 }
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock25
|
|
// 763
|
|
// 764 /*********************************************************************
|
|
// 765 * @fn ZDApp_NetworkStartEvt()
|
|
// 766 *
|
|
// 767 * @brief Process the Network Start Event
|
|
// 768 *
|
|
// 769 * @param none
|
|
// 770 *
|
|
// 771 * @return none
|
|
// 772 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 773 void ZDApp_NetworkStartEvt( void )
|
|
ZDApp_NetworkStartEvt:
|
|
CFI Block cfiBlock26 Using cfiCommon0
|
|
CFI Function ZDApp_NetworkStartEvt
|
|
CODE
|
|
// 774 {
|
|
FUNCALL ZDApp_NetworkStartEvt, osal_pwrmgr_device
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_NetworkStartEvt, osal_set_event
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_NetworkStartEvt, NLME_GetEnergyThreshold
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_NetworkStartEvt, NLME_GetEnergyThreshold
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_NetworkStartEvt, NLME_SetEnergyThreshold
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_NetworkStartEvt, osal_set_event
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_NetworkStartEvt, osal_set_event
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 775 if ( nwkStatus == ZSuccess )
|
|
MOV DPTR,#nwkStatus
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDApp_NetworkStartEvt_0
|
|
// 776 {
|
|
// 777 // Successfully started a ZigBee network
|
|
// 778 if ( devState == DEV_COORD_STARTING )
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
XRL A,#0x8
|
|
JNZ ??ZDApp_NetworkStartEvt_1
|
|
// 779 {
|
|
// 780 devState = DEV_ZB_COORD;
|
|
MOV A,#0x9
|
|
MOVX @DPTR,A
|
|
// 781 }
|
|
// 782
|
|
// 783 osal_pwrmgr_device( PWRMGR_ALWAYS_ON );
|
|
??ZDApp_NetworkStartEvt_1:
|
|
; Setup parameters for call to function osal_pwrmgr_device
|
|
MOV R1,#0x0
|
|
LCALL `??osal_pwrmgr_device::?relay`; Banked call to: osal_pwrmgr_device
|
|
// 784 osal_set_event( ZDAppTaskID, ZDO_STATE_CHANGE_EVT );
|
|
; Setup parameters for call to function osal_set_event
|
|
SJMP ??ZDApp_NetworkStartEvt_2
|
|
// 785 }
|
|
// 786 else
|
|
// 787 {
|
|
// 788 // Try again with a higher energy threshold !!
|
|
// 789 if ( ( NLME_GetEnergyThreshold() + ENERGY_SCAN_INCREMENT ) < 0xff )
|
|
??ZDApp_NetworkStartEvt_0:
|
|
; Setup parameters for call to function NLME_GetEnergyThreshold
|
|
LCALL `??NLME_GetEnergyThreshold::?relay`; Banked call to: NLME_GetEnergyThreshold
|
|
MOV A,R1
|
|
MOV R1,#0x0
|
|
ADD A,#0x10
|
|
JNC ??ZDApp_NetworkStartEvt_3
|
|
INC R1
|
|
??ZDApp_NetworkStartEvt_3:
|
|
CLR C
|
|
SUBB A,#-0x1
|
|
MOV A,R1
|
|
SUBB A,#0x0
|
|
MOV C,0xD0 /* PSW */.2
|
|
XRL A,PSW
|
|
RLC A
|
|
JNC ??ZDApp_NetworkStartEvt_4
|
|
// 790 {
|
|
// 791 NLME_SetEnergyThreshold( (uint8)(NLME_GetEnergyThreshold() + ENERGY_SCAN_INCREMENT) );
|
|
; Setup parameters for call to function NLME_GetEnergyThreshold
|
|
LCALL `??NLME_GetEnergyThreshold::?relay`; Banked call to: NLME_GetEnergyThreshold
|
|
MOV A,R1
|
|
MOV R0,A
|
|
; Setup parameters for call to function NLME_SetEnergyThreshold
|
|
MOV A,#0x10
|
|
ADD A,R1
|
|
MOV R1,A
|
|
LCALL `??NLME_SetEnergyThreshold::?relay`; Banked call to: NLME_SetEnergyThreshold
|
|
// 792 osal_set_event( ZDAppTaskID, ZDO_NETWORK_INIT );
|
|
; Setup parameters for call to function osal_set_event
|
|
MOV R2,#0x1
|
|
SJMP ??ZDApp_NetworkStartEvt_5
|
|
// 793 }
|
|
// 794 else
|
|
// 795 {
|
|
// 796 // Failed to start network. Enter a dormant state (until user intervenes)
|
|
// 797 devState = DEV_INIT;
|
|
??ZDApp_NetworkStartEvt_4:
|
|
MOV DPTR,#devState
|
|
MOV A,#0x1
|
|
MOVX @DPTR,A
|
|
// 798 osal_set_event( ZDAppTaskID, ZDO_STATE_CHANGE_EVT );
|
|
; Setup parameters for call to function osal_set_event
|
|
??ZDApp_NetworkStartEvt_2:
|
|
MOV R2,#0x10
|
|
// 799 }
|
|
// 800 }
|
|
??ZDApp_NetworkStartEvt_5:
|
|
LCALL ??Subroutine43_0 & 0xFFFF
|
|
// 801 }
|
|
??CrossCallReturnLabel_64:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock26
|
|
// 802
|
|
// 803 /*********************************************************************
|
|
// 804 * @fn ZDApp_DeviceAuthEvt()
|
|
// 805 *
|
|
// 806 * @brief Process the Device Authentic Event
|
|
// 807 *
|
|
// 808 * @param none
|
|
// 809 *
|
|
// 810 * @return none
|
|
// 811 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 812 void ZDApp_DeviceAuthEvt( void )
|
|
ZDApp_DeviceAuthEvt:
|
|
CFI Block cfiBlock27 Using cfiCommon0
|
|
CFI Function ZDApp_DeviceAuthEvt
|
|
CODE
|
|
// 813 {
|
|
FUNCALL ZDApp_DeviceAuthEvt, ZDApp_ResetTimerCancel
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_DeviceAuthEvt, osal_set_event
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_DeviceAuthEvt, NLME_StartRouterRequest
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_DeviceAuthEvt, ZDApp_SaveNwkKey
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_DeviceAuthEvt, ZDApp_AnnounceNewAddress
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_DeviceAuthEvt, NLME_SetPollRate
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 814 // received authentication from trust center
|
|
// 815 if ( devState == DEV_END_DEVICE_UNAUTH )
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
XRL A,#0x5
|
|
JNZ ??ZDApp_DeviceAuthEvt_0
|
|
// 816 {
|
|
// 817 // Stop the reset timer so it doesn't reset
|
|
// 818 ZDApp_ResetTimerCancel();
|
|
; Setup parameters for call to function ZDApp_ResetTimerCancel
|
|
LCALL `??ZDApp_ResetTimerCancel::?relay`; Banked call to: ZDApp_ResetTimerCancel
|
|
// 819
|
|
// 820 devState = DEV_END_DEVICE;
|
|
LCALL ?Subroutine9 & 0xFFFF
|
|
// 821 osal_set_event( ZDAppTaskID, ZDO_STATE_CHANGE_EVT );
|
|
// 822
|
|
// 823 // Set the Power Manager Device
|
|
// 824 #if defined ( POWER_SAVING )
|
|
// 825 osal_pwrmgr_device( PWRMGR_BATTERY );
|
|
// 826 #endif
|
|
// 827
|
|
// 828 if ( ZSTACK_ROUTER_BUILD )
|
|
// 829 {
|
|
// 830 if ( ZDO_Config_Node_Descriptor.LogicalType != NODETYPE_DEVICE )
|
|
??CrossCallReturnLabel_67:
|
|
LCALL ?Subroutine21 & 0xFFFF
|
|
??CrossCallReturnLabel_20:
|
|
JZ ??ZDApp_DeviceAuthEvt_1
|
|
// 831 {
|
|
// 832 // NOTE: first two parameters are not used, see NLMEDE.h for details
|
|
// 833 NLME_StartRouterRequest( 0, 0, false );
|
|
; Setup parameters for call to function NLME_StartRouterRequest
|
|
MOV R3,#0x0
|
|
MOV R2,#0x0
|
|
MOV R1,#0x0
|
|
LCALL `??NLME_StartRouterRequest::?relay`; Banked call to: NLME_StartRouterRequest
|
|
// 834 }
|
|
// 835 }
|
|
// 836
|
|
// 837 // Notify to save info into NV
|
|
// 838 ZDApp_NVUpdate();
|
|
// 839
|
|
// 840 // Save off the security
|
|
// 841 ZDApp_SaveNwkKey();
|
|
??ZDApp_DeviceAuthEvt_1:
|
|
; Setup parameters for call to function ZDApp_SaveNwkKey
|
|
LCALL `??ZDApp_SaveNwkKey::?relay`; Banked call to: ZDApp_SaveNwkKey
|
|
// 842
|
|
// 843 ZDApp_AnnounceNewAddress();
|
|
; Setup parameters for call to function ZDApp_AnnounceNewAddress
|
|
LCALL `??ZDApp_AnnounceNewAddress::?relay`; Banked call to: ZDApp_AnnounceNewAddress
|
|
// 844
|
|
// 845 if ( (ZDO_Config_Node_Descriptor.CapabilityFlags & CAPINFO_RCVR_ON_IDLE) == 0 )
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor + 2
|
|
MOVX A,@DPTR
|
|
MOV C,0xE0 /* A */.3
|
|
JC ??ZDApp_DeviceAuthEvt_0
|
|
// 846 {
|
|
// 847 NLME_SetPollRate( ZDApp_SavedPollRate );
|
|
; Setup parameters for call to function NLME_SetPollRate
|
|
MOV DPTR,#ZDApp_SavedPollRate
|
|
LCALL ?Subroutine38 & 0xFFFF
|
|
// 848 }
|
|
// 849 }
|
|
??CrossCallReturnLabel_51:
|
|
LCALL `??NLME_SetPollRate::?relay`; Banked call to: NLME_SetPollRate
|
|
// 850 else
|
|
// 851 {
|
|
// 852 ZDApp_NVUpdate();
|
|
// 853 }
|
|
// 854 }
|
|
??ZDApp_DeviceAuthEvt_0:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock27
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine9:
|
|
CFI Block cfiCond28 Using cfiCommon0
|
|
CFI Function ZDApp_DeviceAuthEvt
|
|
CFI Conditional ??CrossCallReturnLabel_67
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond29 Using cfiCommon0
|
|
CFI (cfiCond29) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond29) Conditional ??CrossCallReturnLabel_68
|
|
CFI (cfiCond29) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond29) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond29) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond29) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond29) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond29) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond29) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond29) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond29) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond29) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond29) CFA_SP SP+-2
|
|
CFI (cfiCond29) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker30 Using cfiCommon1
|
|
CFI (cfiPicker30) NoFunction
|
|
CFI (cfiPicker30) Picker
|
|
MOV DPTR,#devState
|
|
MOV A,#0x6
|
|
CFI EndBlock cfiCond28
|
|
CFI EndBlock cfiCond29
|
|
CFI EndBlock cfiPicker30
|
|
REQUIRE ??Subroutine46_0
|
|
; // Fall through to label ??Subroutine46_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine46_0:
|
|
CFI Block cfiCond31 Using cfiCommon0
|
|
CFI Function ZDApp_event_loop
|
|
CFI Conditional ??CrossCallReturnLabel_69
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond32 Using cfiCommon0
|
|
CFI (cfiCond32) Function ZDApp_DeviceAuthEvt
|
|
CFI (cfiCond32) Conditional ??CrossCallReturnLabel_67
|
|
CFI (cfiCond32) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond32) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond32) CFA_SP SP+-7
|
|
CFI Block cfiCond33 Using cfiCommon0
|
|
CFI (cfiCond33) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond33) Conditional ??CrossCallReturnLabel_68
|
|
CFI (cfiCond33) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond33) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond33) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond33) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond33) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond33) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond33) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond33) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond33) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond33) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond33) CFA_SP SP+-2
|
|
CFI (cfiCond33) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker34 Using cfiCommon1
|
|
CFI (cfiPicker34) NoFunction
|
|
CFI (cfiPicker34) Picker
|
|
MOVX @DPTR,A
|
|
; Setup parameters for call to function osal_set_event
|
|
; Setup parameters for call to function osal_set_event
|
|
; Setup parameters for call to function osal_set_event
|
|
MOV R2,#0x10
|
|
MOV R3,#0x0
|
|
MOV DPTR,#ZDAppTaskID
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??osal_set_event::?relay`; Banked call to: osal_set_event
|
|
RET
|
|
CFI EndBlock cfiCond31
|
|
CFI EndBlock cfiCond32
|
|
CFI EndBlock cfiCond33
|
|
CFI EndBlock cfiPicker34
|
|
// 855
|
|
// 856 /*********************************************************************
|
|
// 857 * @fn ZDApp_SaveNetworkStateEvt()
|
|
// 858 *
|
|
// 859 * @brief Process the Save the Network State Event
|
|
// 860 *
|
|
// 861 * @param none
|
|
// 862 *
|
|
// 863 * @return none
|
|
// 864 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 865 void ZDApp_SaveNetworkStateEvt( void )
|
|
ZDApp_SaveNetworkStateEvt:
|
|
CFI Block cfiBlock35 Using cfiCommon0
|
|
CFI Function ZDApp_SaveNetworkStateEvt
|
|
CODE
|
|
// 866 {
|
|
; Saved register size: 0
|
|
; Auto size: 0
|
|
// 867 #if defined ( NV_RESTORE )
|
|
// 868 #if defined ( NV_TURN_OFF_RADIO )
|
|
// 869 // Turn off the radio's receiver during an NV update
|
|
// 870 uint8 RxOnIdle;
|
|
// 871 uint8 x = false;
|
|
// 872 ZMacGetReq( ZMacRxOnIdle, &RxOnIdle );
|
|
// 873 ZMacSetReq( ZMacRxOnIdle, &x );
|
|
// 874 #endif
|
|
// 875
|
|
// 876 // Update the Network State in NV
|
|
// 877 NLME_UpdateNV( NWK_NV_NIB_ENABLE |
|
|
// 878 NWK_NV_DEVICELIST_ENABLE |
|
|
// 879 NWK_NV_BINDING_ENABLE |
|
|
// 880 NWK_NV_ADDRMGR_ENABLE );
|
|
// 881
|
|
// 882 // Reset the NV startup option to resume from NV by
|
|
// 883 // clearing the "New" join option.
|
|
// 884 zgWriteStartupOptions( FALSE, ZCD_STARTOPT_DEFAULT_NETWORK_STATE );
|
|
// 885
|
|
// 886 #if defined ( NV_TURN_OFF_RADIO )
|
|
// 887 ZMacSetReq( ZMacRxOnIdle, &RxOnIdle );
|
|
// 888 #endif
|
|
// 889 #endif // NV_RESTORE
|
|
// 890 }
|
|
LJMP ?BRET
|
|
CFI EndBlock cfiBlock35
|
|
// 891
|
|
// 892 /*********************************************************************
|
|
// 893 * @fn ZDApp_RestoreNetworkState()
|
|
// 894 *
|
|
// 895 * @brief This function will restore the network state of the
|
|
// 896 * device if the network state is stored in NV.
|
|
// 897 *
|
|
// 898 * @param none
|
|
// 899 *
|
|
// 900 * @return
|
|
// 901 * ZDO_INITDEV_RESTORED_NETWORK_STATE - The device's network state was
|
|
// 902 * restored.
|
|
// 903 * ZDO_INITDEV_NEW_NETWORK_STATE - The network state was not used.
|
|
// 904 * This could mean that zgStartupOption said to not restore, or
|
|
// 905 * it could mean that there was no network state to restore.
|
|
// 906 *
|
|
// 907 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 908 uint8 ZDApp_RestoreNetworkState( void )
|
|
ZDApp_RestoreNetworkState:
|
|
CFI Block cfiBlock36 Using cfiCommon0
|
|
CFI Function ZDApp_RestoreNetworkState
|
|
CODE
|
|
// 909 {
|
|
FUNCALL ZDApp_RestoreNetworkState, NLME_InitNV
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_RestoreNetworkState, NLME_RestoreFromNV
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_RestoreNetworkState, NLME_GetShortAddr
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_RestoreNetworkState, sAddrExtCpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 910 uint8 nvStat;
|
|
// 911
|
|
// 912 // Initialize NWK NV items
|
|
// 913 nvStat = NLME_InitNV();
|
|
; Setup parameters for call to function NLME_InitNV
|
|
LCALL `??NLME_InitNV::?relay`; Banked call to: NLME_InitNV
|
|
MOV A,R1
|
|
MOV R6,A
|
|
// 914
|
|
// 915 if ( nvStat != NV_OPER_FAILED )
|
|
MOV A,#0xa
|
|
XRL A,R6
|
|
JZ ??ZDApp_RestoreNetworkState_0
|
|
// 916 {
|
|
// 917 if ( NLME_RestoreFromNV() )
|
|
; Setup parameters for call to function NLME_RestoreFromNV
|
|
LCALL `??NLME_RestoreFromNV::?relay`; Banked call to: NLME_RestoreFromNV
|
|
MOV A,R1
|
|
JZ ??ZDApp_RestoreNetworkState_0
|
|
// 918 {
|
|
// 919 // Are we a coordinator
|
|
// 920 ZDAppNwkAddr.addr.shortAddr = NLME_GetShortAddr();
|
|
; Setup parameters for call to function NLME_GetShortAddr
|
|
LCALL `??NLME_GetShortAddr::?relay`; Banked call to: NLME_GetShortAddr
|
|
MOV DPTR,#ZDAppNwkAddr
|
|
LCALL ??Subroutine60_0 & 0xFFFF
|
|
// 921 if ( ZDAppNwkAddr.addr.shortAddr == 0 )
|
|
??CrossCallReturnLabel_116:
|
|
MOV R1,A
|
|
MOV A,R2
|
|
ORL A,R1
|
|
JNZ ??ZDApp_RestoreNetworkState_1
|
|
// 922 ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_COORDINATOR;
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor
|
|
MOVX A,@DPTR
|
|
ANL A,#0xf8
|
|
MOVX @DPTR,A
|
|
// 923 devStartMode = MODE_RESUME;
|
|
??ZDApp_RestoreNetworkState_1:
|
|
MOV DPTR,#devStartMode
|
|
MOV A,#0x1
|
|
LCALL ?Subroutine10 & 0xFFFF
|
|
// 924 osal_cpyExtAddr( ZDO_UseExtendedPANID, _NIB.extendedPANID );
|
|
// 925 }
|
|
// 926 else
|
|
// 927 nvStat = NV_ITEM_UNINIT;
|
|
// 928
|
|
// 929 if ( ZG_SECURE_ENABLED )
|
|
// 930 {
|
|
// 931 nwkFrameCounterChanges = 0;
|
|
// 932
|
|
// 933 if ( ZG_BUILD_COORDINATOR_TYPE && ZG_DEVICE_COORDINATOR_TYPE )
|
|
// 934 {
|
|
// 935 ZDApp_RestoreNwkKey();
|
|
// 936 }
|
|
// 937 }
|
|
// 938
|
|
// 939 // The default for RxOnWhenIdle is true for Routers and false for end devices
|
|
// 940 // [setup in the NLME_RestoreFromNV()]. Change it here if you want something
|
|
// 941 // other than default.
|
|
// 942 }
|
|
// 943
|
|
// 944 if ( nvStat == ZSUCCESS )
|
|
??CrossCallReturnLabel_0:
|
|
MOV A,R6
|
|
JNZ ??ZDApp_RestoreNetworkState_0
|
|
// 945 return ( ZDO_INITDEV_RESTORED_NETWORK_STATE );
|
|
MOV R1,#0x0
|
|
SJMP ??ZDApp_RestoreNetworkState_2
|
|
// 946 else
|
|
// 947 return ( ZDO_INITDEV_NEW_NETWORK_STATE );
|
|
??ZDApp_RestoreNetworkState_0:
|
|
MOV R1,#0x1
|
|
??ZDApp_RestoreNetworkState_2:
|
|
LJMP ??Subroutine52_0 & 0xFFFF
|
|
// 948 }
|
|
CFI EndBlock cfiBlock36
|
|
// 949
|
|
// 950 /*********************************************************************
|
|
// 951 * @fn ZDApp_InitUserDesc()
|
|
// 952 *
|
|
// 953 * @brief Initialize the User Descriptor, the descriptor is read from NV
|
|
// 954 * when needed. If you want to initialize the User descriptor to
|
|
// 955 * something other than all zero, do it here.
|
|
// 956 *
|
|
// 957 * @param none
|
|
// 958 *
|
|
// 959 * @return none
|
|
// 960 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 961 void ZDApp_InitUserDesc( void )
|
|
ZDApp_InitUserDesc:
|
|
CFI Block cfiBlock37 Using cfiCommon0
|
|
CFI Function ZDApp_InitUserDesc
|
|
CODE
|
|
// 962 {
|
|
FUNCALL ZDApp_InitUserDesc, osal_memset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 27, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 27, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_InitUserDesc, osal_nv_item_init
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 29, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 29, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_InitUserDesc, osal_nv_read
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 31, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 17
|
|
MOV A,#-0x11
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 27)
|
|
// 963 UserDescriptorFormat_t ZDO_DefaultUserDescriptor;
|
|
// 964
|
|
// 965 // Initialize the User Descriptor, the descriptor is read from NV
|
|
// 966 // when needed. If you want to initialize the User descriptor to something
|
|
// 967 // other than all zero, do it here.
|
|
// 968 osal_memset( &ZDO_DefaultUserDescriptor, 0, sizeof( UserDescriptorFormat_t ) );
|
|
; Setup parameters for call to function osal_memset
|
|
MOV R4,#0x11
|
|
LCALL ?Subroutine29 & 0xFFFF
|
|
// 969 if ( ZSUCCESS == osal_nv_item_init( ZCD_NV_USERDESC,
|
|
// 970 sizeof(UserDescriptorFormat_t), (void*)&ZDO_DefaultUserDescriptor ) )
|
|
??CrossCallReturnLabel_37:
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 29)
|
|
MOV R4,#0x11
|
|
MOV R5,#0x0
|
|
MOV R2,#-0x7f
|
|
MOV R3,#0x0
|
|
LCALL `??osal_nv_item_init::?relay`; Banked call to: osal_nv_item_init
|
|
MOV A,#0x2
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 27)
|
|
MOV A,R1
|
|
JNZ ??ZDApp_InitUserDesc_0
|
|
// 971 {
|
|
// 972 if ( ZSUCCESS == osal_nv_read( ZCD_NV_USERDESC, 0,
|
|
// 973 sizeof(UserDescriptorFormat_t), (void*)&ZDO_DefaultUserDescriptor ) )
|
|
; Setup parameters for call to function osal_nv_read
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 29)
|
|
MOV ?V0,#0x11
|
|
MOV ?V1,#0x0
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 31)
|
|
MOV R4,#0x0
|
|
MOV R5,#0x0
|
|
MOV R2,#-0x7f
|
|
LCALL ?Subroutine30 & 0xFFFF
|
|
??CrossCallReturnLabel_39:
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 27)
|
|
MOV A,R1
|
|
JNZ ??ZDApp_InitUserDesc_0
|
|
// 974 {
|
|
// 975 if ( ZDO_DefaultUserDescriptor.len != 0 )
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOVX A,@DPTR
|
|
JZ ??ZDApp_InitUserDesc_0
|
|
// 976 {
|
|
// 977 ZDO_Config_Node_Descriptor.UserDescAvail = TRUE;
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor
|
|
MOVX A,@DPTR
|
|
SETB 0xE0 /* A */.4
|
|
MOVX @DPTR,A
|
|
// 978 }
|
|
// 979 }
|
|
// 980 }
|
|
// 981 }
|
|
??ZDApp_InitUserDesc_0:
|
|
MOV A,#0x11
|
|
LJMP ??Subroutine49_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock37
|
|
// 982
|
|
// 983 /*********************************************************************
|
|
// 984 * @fn ZDAppCheckForHoldKey()
|
|
// 985 *
|
|
// 986 * @brief Check for key to set the device into Hold Auto Start
|
|
// 987 *
|
|
// 988 * @param none
|
|
// 989 *
|
|
// 990 * @return none
|
|
// 991 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 992 void ZDAppCheckForHoldKey( void )
|
|
ZDAppCheckForHoldKey:
|
|
CFI Block cfiBlock38 Using cfiCommon0
|
|
CFI Function ZDAppCheckForHoldKey
|
|
CODE
|
|
// 993 {
|
|
; Saved register size: 0
|
|
; Auto size: 0
|
|
// 994 #if (defined HAL_KEY) && (HAL_KEY == TRUE)
|
|
// 995 // Get Keypad directly to see if a HOLD_START is needed.
|
|
// 996 // Hold down the SW_BYPASS_START key (see OnBoard.h)
|
|
// 997 // while booting to avoid starting up the device.
|
|
// 998 if ( HalKeyRead () == SW_BYPASS_START)
|
|
// 999 {
|
|
// 1000 // Change the device state to HOLD on start up
|
|
// 1001 devState = DEV_HOLD;
|
|
// 1002 }
|
|
// 1003 #endif // HAL_KEY
|
|
// 1004 }
|
|
LJMP ?BRET
|
|
CFI EndBlock cfiBlock38
|
|
// 1005
|
|
// 1006 /*********************************************************************
|
|
// 1007 * @fn ZDApp_ProcessOSALMsg()
|
|
// 1008 *
|
|
// 1009 * @brief Process the incoming task message.
|
|
// 1010 *
|
|
// 1011 * @param msgPtr - message to process
|
|
// 1012 *
|
|
// 1013 * @return none
|
|
// 1014 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1015 void ZDApp_ProcessOSALMsg( osal_event_hdr_t *msgPtr )
|
|
ZDApp_ProcessOSALMsg:
|
|
CFI Block cfiBlock39 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessOSALMsg
|
|
CODE
|
|
// 1016 {
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZDP_IncomingData
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZDApp_ProcessMsgCBs
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZDApp_NwkDescListProcessing
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZDApp_NodeProfileSync
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, NLME_JoinRequest
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 15, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 15, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, osal_rand
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZDApp_NetworkInit
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, osal_rand
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZMacSetReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZMacSetReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZMacSetReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, NLME_ReJoinRequest
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, osal_rand
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZDApp_NetworkInit
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, NLME_SetPollRate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, NLME_SetQueuedPollRate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, NLME_SetResponseRate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, osal_rand
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZDApp_NetworkInit
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZDApp_ProcessNetworkJoin
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, sAddrExtCpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessOSALMsg, ZDApp_NetworkInit
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 1
|
|
MOV A,#-0x1
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 11)
|
|
// 1017 // Data Confirmation message fields
|
|
// 1018 uint8 sentEP; // This should always be 0
|
|
// 1019 uint8 sentStatus;
|
|
// 1020 afDataConfirm_t *afDataConfirm;
|
|
// 1021 uint8 tmp;
|
|
// 1022
|
|
// 1023 switch ( msgPtr->event )
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
MOVX A,@DPTR
|
|
DEC A
|
|
JZ ??ZDApp_ProcessOSALMsg_0
|
|
DEC A
|
|
JNZ $+5
|
|
LJMP ??ZDApp_ProcessOSALMsg_1 & 0xFFFF
|
|
DEC A
|
|
JNZ $+5
|
|
LJMP ??ZDApp_ProcessOSALMsg_2 & 0xFFFF
|
|
ADD A,#-0x17
|
|
JZ ??ZDApp_ProcessOSALMsg_3
|
|
ADD A,#0x47
|
|
JZ ??ZDApp_ProcessOSALMsg_4
|
|
ADD A,#-0x2a
|
|
JZ ??ZDApp_ProcessOSALMsg_5
|
|
LJMP ??ZDApp_ProcessOSALMsg_6 & 0xFFFF
|
|
// 1024 {
|
|
// 1025 // Incoming ZDO Message
|
|
// 1026 case AF_INCOMING_MSG_CMD:
|
|
// 1027 ZDP_IncomingData( (afIncomingMSGPacket_t *)msgPtr );
|
|
??ZDApp_ProcessOSALMsg_3:
|
|
; Setup parameters for call to function ZDP_IncomingData
|
|
LCALL `??ZDP_IncomingData::?relay`; Banked call to: ZDP_IncomingData
|
|
// 1028 break;
|
|
LJMP ??ZDApp_ProcessOSALMsg_6 & 0xFFFF
|
|
// 1029
|
|
// 1030 case ZDO_CB_MSG:
|
|
// 1031 ZDApp_ProcessMsgCBs( (zdoIncomingMsg_t *)msgPtr );
|
|
??ZDApp_ProcessOSALMsg_4:
|
|
; Setup parameters for call to function ZDApp_ProcessMsgCBs
|
|
LCALL `??ZDApp_ProcessMsgCBs::?relay`; Banked call to: ZDApp_ProcessMsgCBs
|
|
// 1032 break;
|
|
LJMP ??ZDApp_ProcessOSALMsg_6 & 0xFFFF
|
|
// 1033
|
|
// 1034 case AF_DATA_CONFIRM_CMD:
|
|
// 1035 // This message is received as a confirmation of a data packet sent.
|
|
// 1036 // The status is of ZStatus_t type [defined in NLMEDE.h]
|
|
// 1037 // The message fields are defined in AF.h
|
|
// 1038 afDataConfirm = (afDataConfirm_t *)msgPtr;
|
|
// 1039 sentEP = afDataConfirm->endpoint;
|
|
// 1040 sentStatus = afDataConfirm->hdr.status;
|
|
// 1041
|
|
// 1042 // Action taken when confirmation is received.
|
|
// 1043 #if defined ( ZIGBEE_FREQ_AGILITY )
|
|
// 1044 if ( pZDNwkMgr_ProcessDataConfirm )
|
|
??ZDApp_ProcessOSALMsg_5:
|
|
MOV DPTR,#pZDNwkMgr_ProcessDataConfirm
|
|
LCALL ?Subroutine14 & 0xFFFF
|
|
??CrossCallReturnLabel_8:
|
|
JNZ $+5
|
|
LJMP ??ZDApp_ProcessOSALMsg_6 & 0xFFFF
|
|
// 1045 pZDNwkMgr_ProcessDataConfirm( afDataConfirm );
|
|
; Setup parameters for indirect call
|
|
LCALL ??Subroutine57_0 & 0xFFFF
|
|
??CrossCallReturnLabel_94:
|
|
LCALL ?CALL_IND
|
|
LJMP ??ZDApp_ProcessOSALMsg_6 & 0xFFFF
|
|
// 1046 #endif
|
|
// 1047 (void)sentEP;
|
|
// 1048 (void)sentStatus;
|
|
// 1049 break;
|
|
// 1050
|
|
// 1051 case ZDO_NWK_DISC_CNF:
|
|
// 1052 if (devState != DEV_NWK_DISC)
|
|
??ZDApp_ProcessOSALMsg_0:
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JZ $+5
|
|
LJMP ??ZDApp_ProcessOSALMsg_6 & 0xFFFF
|
|
// 1053 break;
|
|
// 1054
|
|
// 1055 if ( ZG_BUILD_JOINING_TYPE && ZG_DEVICE_JOINING_TYPE )
|
|
MOV DPTR,#zgDeviceLogicalType
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JZ ??ZDApp_ProcessOSALMsg_7
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JZ $+5
|
|
LJMP ??ZDApp_ProcessOSALMsg_6 & 0xFFFF
|
|
// 1056 {
|
|
// 1057 // Process the network discovery scan results and choose a parent
|
|
// 1058 // device to join/rejoin itself
|
|
// 1059 networkDesc_t *pChosenNwk;
|
|
// 1060 if ( ( (pChosenNwk = ZDApp_NwkDescListProcessing()) != NULL ) && (zdoDiscCounter > NUM_DISC_ATTEMPTS) )
|
|
??ZDApp_ProcessOSALMsg_7:
|
|
; Setup parameters for call to function ZDApp_NwkDescListProcessing
|
|
LCALL `??ZDApp_NwkDescListProcessing::?relay`; Banked call to: ZDApp_NwkDescListProcessing
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
MOV R6,?V0
|
|
MOV R7,?V1
|
|
MOV A,R2
|
|
ORL A,R7
|
|
JNZ $+5
|
|
LJMP ??ZDApp_ProcessOSALMsg_8 & 0xFFFF
|
|
MOV DPTR,#zdoDiscCounter
|
|
MOVX A,@DPTR
|
|
CLR C
|
|
SUBB A,#0x3
|
|
JNC $+5
|
|
LJMP ??ZDApp_ProcessOSALMsg_8 & 0xFFFF
|
|
// 1061 {
|
|
// 1062 if ( devStartMode == MODE_JOIN )
|
|
MOV DPTR,#devStartMode
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDApp_ProcessOSALMsg_9
|
|
// 1063 {
|
|
// 1064 devState = DEV_NWK_JOINING;
|
|
MOV DPTR,#devState
|
|
MOV A,#0x3
|
|
MOVX @DPTR,A
|
|
// 1065
|
|
// 1066 ZDApp_NodeProfileSync( pChosenNwk->stackProfile);
|
|
; Setup parameters for call to function ZDApp_NodeProfileSync
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??ZDApp_NodeProfileSync::?relay`; Banked call to: ZDApp_NodeProfileSync
|
|
// 1067
|
|
// 1068 if ( NLME_JoinRequest( pChosenNwk->extendedPANID, pChosenNwk->panId,
|
|
// 1069 pChosenNwk->logicalChannel,
|
|
// 1070 ZDO_Config_Node_Descriptor.CapabilityFlags,
|
|
// 1071 pChosenNwk->chosenRouter, pChosenNwk->chosenRouterDepth ) != ZSuccess )
|
|
; Setup parameters for call to function NLME_JoinRequest
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV ?V0,A
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_ONE
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
LCALL ?PUSH_XSTACK8_X_TWO
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor + 2
|
|
MOVX A,@DPTR
|
|
MOV ?V0,A
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_ONE
|
|
CFI CFA_XSP16 add(XSP16, 15)
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
MOVX A,@DPTR
|
|
MOV R4,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
LCALL ?Subroutine35 & 0xFFFF
|
|
// 1072 {
|
|
// 1073 ZDApp_NetworkInit( (uint16)(NWK_START_DELAY
|
|
// 1074 + ((uint16)(osal_rand()& EXTENDED_JOINING_RANDOM_MASK))) );
|
|
// 1075 }
|
|
// 1076 } // if ( devStartMode == MODE_JOIN )
|
|
??CrossCallReturnLabel_71:
|
|
LCALL `??NLME_JoinRequest::?relay`; Banked call to: NLME_JoinRequest
|
|
MOV A,#0x4
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 11)
|
|
SJMP ??ZDApp_ProcessOSALMsg_10
|
|
// 1077 else if ( devStartMode == MODE_REJOIN )
|
|
??ZDApp_ProcessOSALMsg_9:
|
|
XRL A,#0x3
|
|
JNZ ??CrossCallReturnLabel_33
|
|
// 1078 {
|
|
// 1079 devState = DEV_NWK_REJOIN;
|
|
MOV DPTR,#devState
|
|
MOV A,#0x4
|
|
MOVX @DPTR,A
|
|
// 1080
|
|
// 1081 // Before trying to do rejoin, check if the device has a valid short address
|
|
// 1082 // If not, generate a random short address for itself
|
|
// 1083 if ( _NIB.nwkDevAddress == INVALID_NODE_ADDR )
|
|
MOV DPTR,#_NIB + 20
|
|
MOVX A,@DPTR
|
|
XRL A,#0xfe
|
|
JNZ ??ZDApp_ProcessOSALMsg_11
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
??ZDApp_ProcessOSALMsg_11:
|
|
JNZ ??ZDApp_ProcessOSALMsg_12
|
|
// 1084 {
|
|
// 1085 _NIB.nwkDevAddress = osal_rand();
|
|
; Setup parameters for call to function osal_rand
|
|
LCALL `??osal_rand::?relay`; Banked call to: osal_rand
|
|
MOV DPTR,#_NIB + 20
|
|
LCALL ??Subroutine60_0 & 0xFFFF
|
|
// 1086 ZMacSetReq( ZMacShortAddress, (byte*)&_NIB.nwkDevAddress );
|
|
??CrossCallReturnLabel_117:
|
|
; Setup parameters for call to function ZMacSetReq
|
|
MOV R2,#(_NIB + 20) & 0xff
|
|
MOV R3,#((_NIB + 20) >> 8) & 0xff
|
|
MOV R1,#0x53
|
|
LCALL `??ZMacSetReq::?relay`; Banked call to: ZMacSetReq
|
|
// 1087 }
|
|
// 1088
|
|
// 1089 if ( ZG_SECURE_ENABLED )
|
|
// 1090 {
|
|
// 1091 ZDApp_RestoreNwkKey();
|
|
// 1092 }
|
|
// 1093
|
|
// 1094 // Check if the device has a valid PanID, if not, set it to the discovered Pan
|
|
// 1095 if ( _NIB.nwkPanId == INVALID_PAN_ID )
|
|
??ZDApp_ProcessOSALMsg_12:
|
|
MOV DPTR,#_NIB + 33
|
|
MOVX A,@DPTR
|
|
XRL A,#0xfe
|
|
JNZ ??ZDApp_ProcessOSALMsg_13
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
??ZDApp_ProcessOSALMsg_13:
|
|
JNZ ??ZDApp_ProcessOSALMsg_14
|
|
// 1096 {
|
|
// 1097 _NIB.nwkPanId = pChosenNwk->panId;
|
|
LCALL ?Subroutine18 & 0xFFFF
|
|
??CrossCallReturnLabel_85:
|
|
MOV DPTR,#_NIB + 33
|
|
MOV A,R0
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R1
|
|
MOVX @DPTR,A
|
|
// 1098 ZMacSetReq( ZMacPanId, (byte*)&(_NIB.nwkPanId) );
|
|
; Setup parameters for call to function ZMacSetReq
|
|
MOV R2,#(_NIB + 33) & 0xff
|
|
MOV R3,#((_NIB + 33) >> 8) & 0xff
|
|
MOV R1,#0x50
|
|
LCALL `??ZMacSetReq::?relay`; Banked call to: ZMacSetReq
|
|
// 1099 }
|
|
// 1100
|
|
// 1101 tmp = true;
|
|
??ZDApp_ProcessOSALMsg_14:
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOV A,#0x1
|
|
LCALL ?Subroutine13 & 0xFFFF
|
|
// 1102 ZMacSetReq( ZMacRxOnIdle, &tmp ); // Set receiver always on during rejoin
|
|
??CrossCallReturnLabel_4:
|
|
MOV R1,#0x52
|
|
LCALL `??ZMacSetReq::?relay`; Banked call to: ZMacSetReq
|
|
// 1103 if ( NLME_ReJoinRequest( ZDO_UseExtendedPANID, pChosenNwk->logicalChannel) != ZSuccess )
|
|
; Setup parameters for call to function NLME_ReJoinRequest
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
MOV R2,#ZDO_UseExtendedPANID & 0xff
|
|
MOV R3,#(ZDO_UseExtendedPANID >> 8) & 0xff
|
|
LCALL `??NLME_ReJoinRequest::?relay`; Banked call to: NLME_ReJoinRequest
|
|
??ZDApp_ProcessOSALMsg_10:
|
|
MOV A,R1
|
|
JZ ??CrossCallReturnLabel_33
|
|
// 1104 {
|
|
// 1105 ZDApp_NetworkInit( (uint16)(NWK_START_DELAY
|
|
// 1106 + ((uint16)(osal_rand()& EXTENDED_JOINING_RANDOM_MASK))) );
|
|
; Setup parameters for call to function osal_rand
|
|
LCALL ?Subroutine27 & 0xFFFF
|
|
// 1107 }
|
|
// 1108 } // else if ( devStartMode == MODE_REJOIN )
|
|
// 1109
|
|
// 1110 if ( ZDO_Config_Node_Descriptor.CapabilityFlags & CAPINFO_RCVR_ON_IDLE )
|
|
??CrossCallReturnLabel_33:
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor + 2
|
|
MOVX A,@DPTR
|
|
MOV C,0xE0 /* A */.3
|
|
JNC ??ZDApp_ProcessOSALMsg_6
|
|
// 1111 {
|
|
// 1112 // The receiver is on, turn network layer polling off.
|
|
// 1113 NLME_SetPollRate( 0 );
|
|
; Setup parameters for call to function NLME_SetPollRate
|
|
LCALL ?Subroutine26 & 0xFFFF
|
|
// 1114 NLME_SetQueuedPollRate( 0 );
|
|
// 1115 NLME_SetResponseRate( 0 );
|
|
// 1116 }
|
|
// 1117 else
|
|
// 1118 {
|
|
// 1119 if ( (ZG_SECURE_ENABLED) && (devStartMode == MODE_JOIN) )
|
|
// 1120 {
|
|
// 1121 ZDApp_SavedPollRate = zgPollRate;
|
|
// 1122 NLME_SetPollRate( zgRejoinPollRate );
|
|
// 1123 }
|
|
// 1124 }
|
|
// 1125 }
|
|
??CrossCallReturnLabel_31:
|
|
SJMP ??ZDApp_ProcessOSALMsg_6
|
|
// 1126 else
|
|
// 1127 {
|
|
// 1128 if ( continueJoining )
|
|
??ZDApp_ProcessOSALMsg_8:
|
|
MOV DPTR,#continueJoining
|
|
MOVX A,@DPTR
|
|
JZ ??ZDApp_ProcessOSALMsg_6
|
|
// 1129 {
|
|
// 1130 #if defined ( MANAGED_SCAN )
|
|
// 1131 ZDApp_NetworkInit( MANAGEDSCAN_DELAY_BETWEEN_SCANS );
|
|
// 1132 #else
|
|
// 1133 zdoDiscCounter++;
|
|
MOV DPTR,#zdoDiscCounter
|
|
MOVX A,@DPTR
|
|
INC A
|
|
MOVX @DPTR,A
|
|
// 1134 ZDApp_NetworkInit( (uint16)(BEACON_REQUEST_DELAY
|
|
// 1135 + ((uint16)(osal_rand()& BEACON_REQ_DELAY_MASK))) );
|
|
; Setup parameters for call to function osal_rand
|
|
LCALL `??osal_rand::?relay`; Banked call to: osal_rand
|
|
; Setup parameters for call to function ZDApp_NetworkInit
|
|
MOV A,R2
|
|
ADD A,#0x64
|
|
MOV R2,A
|
|
CLR A
|
|
ADDC A,#0x0
|
|
MOV R3,A
|
|
SJMP ??ZDApp_ProcessOSALMsg_15
|
|
// 1136 #endif
|
|
// 1137 }
|
|
// 1138 }
|
|
// 1139 }
|
|
// 1140 break;
|
|
// 1141
|
|
// 1142 case ZDO_NWK_JOIN_IND:
|
|
// 1143 if ( ZG_BUILD_JOINING_TYPE && ZG_DEVICE_JOINING_TYPE )
|
|
??ZDApp_ProcessOSALMsg_1:
|
|
MOV DPTR,#zgDeviceLogicalType
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JZ ??ZDApp_ProcessOSALMsg_16
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JNZ ??ZDApp_ProcessOSALMsg_6
|
|
// 1144 {
|
|
// 1145 ZDApp_ProcessNetworkJoin();
|
|
??ZDApp_ProcessOSALMsg_16:
|
|
; Setup parameters for call to function ZDApp_ProcessNetworkJoin
|
|
LCALL `??ZDApp_ProcessNetworkJoin::?relay`; Banked call to: ZDApp_ProcessNetworkJoin
|
|
SJMP ??ZDApp_ProcessOSALMsg_6
|
|
// 1146 }
|
|
// 1147 break;
|
|
// 1148
|
|
// 1149 case ZDO_NWK_JOIN_REQ:
|
|
// 1150 if ( ZG_BUILD_JOINING_TYPE && ZG_DEVICE_JOINING_TYPE )
|
|
??ZDApp_ProcessOSALMsg_2:
|
|
MOV DPTR,#zgDeviceLogicalType
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JZ ??ZDApp_ProcessOSALMsg_17
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JNZ ??ZDApp_ProcessOSALMsg_6
|
|
// 1151 {
|
|
// 1152 retryCnt = 0;
|
|
??ZDApp_ProcessOSALMsg_17:
|
|
MOV DPTR,#retryCnt
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
// 1153 devStartMode = MODE_RESUME;
|
|
MOV DPTR,#devStartMode
|
|
INC A
|
|
MOVX @DPTR,A
|
|
// 1154 _tmpRejoinState = true;
|
|
MOV DPTR,#_tmpRejoinState
|
|
LCALL ?Subroutine10 & 0xFFFF
|
|
// 1155 osal_cpyExtAddr( ZDO_UseExtendedPANID, _NIB.extendedPANID );
|
|
// 1156 zgDefaultStartingScanDuration = BEACON_ORDER_60_MSEC;
|
|
??CrossCallReturnLabel_1:
|
|
MOV DPTR,#zgDefaultStartingScanDuration
|
|
MOV A,#0x2
|
|
MOVX @DPTR,A
|
|
// 1157 ZDApp_NetworkInit( 0 );
|
|
; Setup parameters for call to function ZDApp_NetworkInit
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
??ZDApp_ProcessOSALMsg_15:
|
|
LCALL `??ZDApp_NetworkInit::?relay`; Banked call to: ZDApp_NetworkInit
|
|
// 1158 }
|
|
// 1159 break;
|
|
// 1160
|
|
// 1161 default:
|
|
// 1162 if ( ZG_SECURE_ENABLED )
|
|
// 1163 ZDApp_ProcessSecMsg( msgPtr );
|
|
// 1164 break;
|
|
// 1165 }
|
|
// 1166
|
|
// 1167 }
|
|
??ZDApp_ProcessOSALMsg_6:
|
|
MOV A,#0x1
|
|
LJMP ??Subroutine49_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock39
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine35:
|
|
CFI Block cfiCond40 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessOSALMsg
|
|
CFI Conditional ??CrossCallReturnLabel_71
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 15)
|
|
CFI Block cfiCond41 Using cfiCommon0
|
|
CFI (cfiCond41) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond41) Conditional ??CrossCallReturnLabel_72
|
|
CFI (cfiCond41) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond41) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond41) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond41) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond41) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond41) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond41) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond41) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond41) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond41) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond41) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond41) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond41) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond41) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond41) CFA_SP SP+-2
|
|
CFI (cfiCond41) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker42 Using cfiCommon1
|
|
CFI (cfiPicker42) NoFunction
|
|
CFI (cfiPicker42) Picker
|
|
MOV R5,A
|
|
CFI EndBlock cfiCond40
|
|
CFI EndBlock cfiCond41
|
|
CFI EndBlock cfiPicker42
|
|
REQUIRE ??Subroutine47_0
|
|
; // Fall through to label ??Subroutine47_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine47_0:
|
|
CFI Block cfiCond43 Using cfiCommon0
|
|
CFI Function ZDO_beaconNotifyIndCB
|
|
CFI Conditional ??CrossCallReturnLabel_70
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond44 Using cfiCommon0
|
|
CFI (cfiCond44) Function ZDApp_ProcessOSALMsg
|
|
CFI (cfiCond44) Conditional ??CrossCallReturnLabel_71
|
|
CFI (cfiCond44) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond44) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond44) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond44) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond44) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond44) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond44) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond44) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond44) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond44) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond44) CFA_SP SP+-2
|
|
CFI (cfiCond44) CFA_XSP16 add(XSP16, 15)
|
|
CFI Block cfiCond45 Using cfiCommon0
|
|
CFI (cfiCond45) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond45) Conditional ??CrossCallReturnLabel_72
|
|
CFI (cfiCond45) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond45) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond45) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond45) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond45) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond45) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond45) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond45) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond45) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond45) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond45) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond45) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond45) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond45) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond45) CFA_SP SP+-2
|
|
CFI (cfiCond45) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker46 Using cfiCommon1
|
|
CFI (cfiPicker46) NoFunction
|
|
CFI (cfiPicker46) Picker
|
|
MOV A,R6
|
|
ADD A,#0xb
|
|
MOV R2,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV R3,A
|
|
RET
|
|
CFI EndBlock cfiCond43
|
|
CFI EndBlock cfiCond44
|
|
CFI EndBlock cfiCond45
|
|
CFI EndBlock cfiPicker46
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine10:
|
|
CFI Block cfiCond47 Using cfiCommon0
|
|
CFI Function ZDApp_RestoreNetworkState
|
|
CFI Conditional ??CrossCallReturnLabel_0
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond48 Using cfiCommon0
|
|
CFI (cfiCond48) Function ZDApp_ProcessOSALMsg
|
|
CFI (cfiCond48) Conditional ??CrossCallReturnLabel_1
|
|
CFI (cfiCond48) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond48) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond48) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond48) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond48) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond48) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond48) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond48) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond48) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond48) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond48) CFA_SP SP+-2
|
|
CFI (cfiCond48) CFA_XSP16 add(XSP16, 11)
|
|
CFI Block cfiPicker49 Using cfiCommon1
|
|
CFI (cfiPicker49) NoFunction
|
|
CFI (cfiPicker49) Picker
|
|
MOVX @DPTR,A
|
|
; Setup parameters for call to function sAddrExtCpy
|
|
; Setup parameters for call to function sAddrExtCpy
|
|
MOV R4,#(_NIB + 53) & 0xff
|
|
MOV R5,#((_NIB + 53) >> 8) & 0xff
|
|
MOV R2,#ZDO_UseExtendedPANID & 0xff
|
|
MOV R3,#(ZDO_UseExtendedPANID >> 8) & 0xff
|
|
LCALL `??sAddrExtCpy::?relay`; Banked call to: sAddrExtCpy
|
|
RET
|
|
CFI EndBlock cfiCond47
|
|
CFI EndBlock cfiCond48
|
|
CFI EndBlock cfiPicker49
|
|
// 1168
|
|
// 1169 /*********************************************************************
|
|
// 1170 * @fn ZDApp_ProcessMsgCBs()
|
|
// 1171 *
|
|
// 1172 * @brief Process response messages
|
|
// 1173 *
|
|
// 1174 * @param none
|
|
// 1175 *
|
|
// 1176 * @return none
|
|
// 1177 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1178 void ZDApp_ProcessMsgCBs( zdoIncomingMsg_t *inMsg )
|
|
ZDApp_ProcessMsgCBs:
|
|
CFI Block cfiBlock50 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessMsgCBs
|
|
CODE
|
|
// 1179 {
|
|
FUNCALL ZDApp_ProcessMsgCBs, ZDO_ParseAddrRsp
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 31, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessMsgCBs, ZDO_UpdateAddrManager
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 31, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessMsgCBs, osal_mem_free
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 31, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessMsgCBs, ZDO_ParseBindUnbindReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 31, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessMsgCBs, ZDO_ProcessBindUnbindReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 31, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 21
|
|
MOV A,#-0x15
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 31)
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 1180 switch ( inMsg->clusterID )
|
|
LCALL ?Subroutine32 & 0xFFFF
|
|
??CrossCallReturnLabel_43:
|
|
MOV ?V1,A
|
|
MOV R0,#?V0
|
|
LCALL ?US_SWITCH_SPARSE
|
|
`?<Jumptable for ZDApp_ProcessMsgCBs>_0`:
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DW 2
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DW 33
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DW 34
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DW ??ZDApp_ProcessMsgCBs_0
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DW 32768
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DW 32769
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DW ??ZDApp_ProcessMsgCBs_1
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DW 0
|
|
DATA
|
|
DATA16
|
|
DATA
|
|
DATA16
|
|
DW ??ZDApp_ProcessMsgCBs_2
|
|
CODE
|
|
// 1181 {
|
|
// 1182 #if defined ( ZDO_NWKADDR_REQUEST ) || defined ( ZDO_IEEEADDR_REQUEST ) || defined ( REFLECTOR )
|
|
// 1183 case NWK_addr_rsp:
|
|
// 1184 case IEEE_addr_rsp:
|
|
// 1185 {
|
|
// 1186 ZDO_NwkIEEEAddrResp_t *pAddrRsp;
|
|
// 1187 pAddrRsp = ZDO_ParseAddrRsp( inMsg );
|
|
??ZDApp_ProcessMsgCBs_1:
|
|
; Setup parameters for call to function ZDO_ParseAddrRsp
|
|
LCALL `??ZDO_ParseAddrRsp::?relay`; Banked call to: ZDO_ParseAddrRsp
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
MOV R7,?V1
|
|
// 1188 if ( pAddrRsp )
|
|
MOV A,R2
|
|
ORL A,R7
|
|
JZ ??ZDApp_ProcessMsgCBs_2
|
|
// 1189 {
|
|
// 1190 if ( pAddrRsp->status == ZSuccess )
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDApp_ProcessMsgCBs_3
|
|
// 1191 {
|
|
// 1192 ZDO_UpdateAddrManager( pAddrRsp->nwkAddr, pAddrRsp->extAddr );
|
|
; Setup parameters for call to function ZDO_UpdateAddrManager
|
|
MOV A,R2
|
|
ADD A,#0x3
|
|
MOV R4,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV R5,A
|
|
INC DPTR
|
|
LCALL ?Subroutine38 & 0xFFFF
|
|
// 1193 }
|
|
??CrossCallReturnLabel_52:
|
|
LCALL `??ZDO_UpdateAddrManager::?relay`; Banked call to: ZDO_UpdateAddrManager
|
|
// 1194 osal_mem_free( pAddrRsp );
|
|
??ZDApp_ProcessMsgCBs_3:
|
|
; Setup parameters for call to function osal_mem_free
|
|
MOV R2,?V0
|
|
MOV A,R7
|
|
MOV R3,A
|
|
LCALL `??osal_mem_free::?relay`; Banked call to: osal_mem_free
|
|
SJMP ??ZDApp_ProcessMsgCBs_2
|
|
// 1195 }
|
|
// 1196 }
|
|
// 1197 break;
|
|
// 1198 #endif
|
|
// 1199
|
|
// 1200 #if defined ( REFLECTOR )
|
|
// 1201 case Bind_req:
|
|
// 1202 case Unbind_req:
|
|
// 1203 {
|
|
// 1204 ZDO_BindUnbindReq_t bindReq;
|
|
// 1205 ZDO_ParseBindUnbindReq( inMsg, &bindReq );
|
|
??ZDApp_ProcessMsgCBs_0:
|
|
; Setup parameters for call to function ZDO_ParseBindUnbindReq
|
|
MOV R4,?XSP + 0
|
|
MOV R5,?XSP + 1
|
|
LCALL `??ZDO_ParseBindUnbindReq::?relay`; Banked call to: ZDO_ParseBindUnbindReq
|
|
// 1206 ZDO_ProcessBindUnbindReq( inMsg, &bindReq );
|
|
; Setup parameters for call to function ZDO_ProcessBindUnbindReq
|
|
MOV R4,?XSP + 0
|
|
MOV R5,?XSP + 1
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
LCALL `??ZDO_ProcessBindUnbindReq::?relay`; Banked call to: ZDO_ProcessBindUnbindReq
|
|
// 1207 }
|
|
// 1208 break;
|
|
// 1209 #endif
|
|
// 1210
|
|
// 1211 #if ( ZG_BUILD_COORDINATOR_TYPE )
|
|
// 1212 case Bind_rsp:
|
|
// 1213 case Unbind_rsp:
|
|
// 1214 if (ZG_DEVICE_COORDINATOR_TYPE && matchED)
|
|
// 1215 {
|
|
// 1216 ZDMatchSendState(
|
|
// 1217 (uint8)((inMsg->clusterID == Bind_rsp) ? ZDMATCH_REASON_BIND_RSP : ZDMATCH_REASON_UNBIND_RSP),
|
|
// 1218 ZDO_ParseBindRsp(inMsg), inMsg->TransSeq );
|
|
// 1219 }
|
|
// 1220 break;
|
|
// 1221
|
|
// 1222 case End_Device_Bind_req:
|
|
// 1223 if (ZG_DEVICE_COORDINATOR_TYPE)
|
|
// 1224 {
|
|
// 1225 ZDEndDeviceBind_t bindReq;
|
|
// 1226 ZDO_ParseEndDeviceBindReq( inMsg, &bindReq );
|
|
// 1227 ZDO_MatchEndDeviceBind( &bindReq );
|
|
// 1228
|
|
// 1229 // Freeing the cluster lists - if allocated.
|
|
// 1230 if ( bindReq.numInClusters )
|
|
// 1231 osal_mem_free( bindReq.inClusters );
|
|
// 1232 if ( bindReq.numOutClusters )
|
|
// 1233 osal_mem_free( bindReq.outClusters );
|
|
// 1234 }
|
|
// 1235 break;
|
|
// 1236 #endif
|
|
// 1237 }
|
|
// 1238 }
|
|
??ZDApp_ProcessMsgCBs_2:
|
|
CFI EndBlock cfiBlock50
|
|
REQUIRE ?Subroutine8
|
|
; // Fall through to label ?Subroutine8
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine8:
|
|
CFI Block cfiBlock51 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 31)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV A,#0x15
|
|
LJMP ??Subroutine49_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock51
|
|
// 1239
|
|
// 1240 /*********************************************************************
|
|
// 1241 * @fn ZDApp_RegisterCBs()
|
|
// 1242 *
|
|
// 1243 * @brief Process response messages
|
|
// 1244 *
|
|
// 1245 * @param none
|
|
// 1246 *
|
|
// 1247 * @return none
|
|
// 1248 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1249 void ZDApp_RegisterCBs( void )
|
|
ZDApp_RegisterCBs:
|
|
CFI Block cfiBlock52 Using cfiCommon0
|
|
CFI Function ZDApp_RegisterCBs
|
|
CODE
|
|
// 1250 {
|
|
FUNCALL ZDApp_RegisterCBs, ZDO_RegisterForZDOMsg
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_RegisterCBs, ZDO_RegisterForZDOMsg
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_RegisterCBs, ZDO_RegisterForZDOMsg
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_RegisterCBs, ZDO_RegisterForZDOMsg
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 1251 #if defined ( ZDO_IEEEADDR_REQUEST ) || defined ( REFLECTOR )
|
|
// 1252 ZDO_RegisterForZDOMsg( ZDAppTaskID, IEEE_addr_rsp );
|
|
; Setup parameters for call to function ZDO_RegisterForZDOMsg
|
|
MOV R2,#0x1
|
|
LCALL ?Subroutine23 & 0xFFFF
|
|
// 1253 #endif
|
|
// 1254 #if defined ( ZDO_NWKADDR_REQUEST ) || defined ( REFLECTOR )
|
|
// 1255 ZDO_RegisterForZDOMsg( ZDAppTaskID, NWK_addr_rsp );
|
|
??CrossCallReturnLabel_73:
|
|
; Setup parameters for call to function ZDO_RegisterForZDOMsg
|
|
MOV R2,#0x0
|
|
LCALL ?Subroutine23 & 0xFFFF
|
|
// 1256 #endif
|
|
// 1257 #if ZG_BUILD_COORDINATOR_TYPE
|
|
// 1258 ZDO_RegisterForZDOMsg( ZDAppTaskID, Bind_rsp );
|
|
// 1259 ZDO_RegisterForZDOMsg( ZDAppTaskID, Unbind_rsp );
|
|
// 1260 ZDO_RegisterForZDOMsg( ZDAppTaskID, End_Device_Bind_req );
|
|
// 1261 #endif
|
|
// 1262 #if defined ( REFLECTOR )
|
|
// 1263 ZDO_RegisterForZDOMsg( ZDAppTaskID, Bind_req );
|
|
??CrossCallReturnLabel_74:
|
|
; Setup parameters for call to function ZDO_RegisterForZDOMsg
|
|
MOV R2,#0x21
|
|
MOV R3,#0x0
|
|
LCALL ??Subroutine48_0 & 0xFFFF
|
|
// 1264 ZDO_RegisterForZDOMsg( ZDAppTaskID, Unbind_req );
|
|
??CrossCallReturnLabel_75:
|
|
; Setup parameters for call to function ZDO_RegisterForZDOMsg
|
|
MOV R2,#0x22
|
|
MOV R3,#0x0
|
|
LCALL ??Subroutine48_0 & 0xFFFF
|
|
// 1265 #endif
|
|
// 1266 }
|
|
??CrossCallReturnLabel_76:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock52
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine23:
|
|
CFI Block cfiCond53 Using cfiCommon0
|
|
CFI Function ZDApp_RegisterCBs
|
|
CFI Conditional ??CrossCallReturnLabel_73
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond54 Using cfiCommon0
|
|
CFI (cfiCond54) Function ZDApp_RegisterCBs
|
|
CFI (cfiCond54) Conditional ??CrossCallReturnLabel_74
|
|
CFI (cfiCond54) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond54) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond54) CFA_SP SP+-7
|
|
CFI Block cfiPicker55 Using cfiCommon1
|
|
CFI (cfiPicker55) NoFunction
|
|
CFI (cfiPicker55) Picker
|
|
MOV R3,#-0x80
|
|
CFI EndBlock cfiCond53
|
|
CFI EndBlock cfiCond54
|
|
CFI EndBlock cfiPicker55
|
|
REQUIRE ??Subroutine48_0
|
|
; // Fall through to label ??Subroutine48_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine48_0:
|
|
CFI Block cfiCond56 Using cfiCommon0
|
|
CFI Function ZDApp_RegisterCBs
|
|
CFI Conditional ??CrossCallReturnLabel_75
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond57 Using cfiCommon0
|
|
CFI (cfiCond57) Function ZDApp_RegisterCBs
|
|
CFI (cfiCond57) Conditional ??CrossCallReturnLabel_76
|
|
CFI (cfiCond57) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond57) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond57) CFA_SP SP+-7
|
|
CFI Block cfiCond58 Using cfiCommon0
|
|
CFI (cfiCond58) Function ZDApp_RegisterCBs
|
|
CFI (cfiCond58) Conditional ??CrossCallReturnLabel_73
|
|
CFI (cfiCond58) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond58) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond58) CFA_SP SP+-7
|
|
CFI Block cfiCond59 Using cfiCommon0
|
|
CFI (cfiCond59) Function ZDApp_RegisterCBs
|
|
CFI (cfiCond59) Conditional ??CrossCallReturnLabel_74
|
|
CFI (cfiCond59) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond59) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond59) CFA_SP SP+-7
|
|
CFI Block cfiPicker60 Using cfiCommon1
|
|
CFI (cfiPicker60) NoFunction
|
|
CFI (cfiPicker60) Picker
|
|
MOV DPTR,#ZDAppTaskID
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??ZDO_RegisterForZDOMsg::?relay`; Banked call to: ZDO_RegisterForZDOMsg
|
|
RET
|
|
CFI EndBlock cfiCond56
|
|
CFI EndBlock cfiCond57
|
|
CFI EndBlock cfiCond58
|
|
CFI EndBlock cfiCond59
|
|
CFI EndBlock cfiPicker60
|
|
// 1267
|
|
// 1268 /*********************************************************************
|
|
// 1269 * @fn ZDApp_ProcessSecMsg()
|
|
// 1270 *
|
|
// 1271 * @brief Process the incoming security message.
|
|
// 1272 *
|
|
// 1273 * @param msgPtr - message to process
|
|
// 1274 *
|
|
// 1275 * @return none
|
|
// 1276 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1277 void ZDApp_ProcessSecMsg( osal_event_hdr_t *msgPtr )
|
|
ZDApp_ProcessSecMsg:
|
|
CFI Block cfiBlock61 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessSecMsg
|
|
CODE
|
|
// 1278 {
|
|
FUNCALL ZDApp_ProcessSecMsg, ZDSecMgrTransportKeyInd
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessSecMsg, ZDSecMgrRemoveDeviceInd
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessSecMsg, ZDSecMgrSwitchKeyInd
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 1279 switch ( msgPtr->event )
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
MOVX A,@DPTR
|
|
ADD A,#-0x6
|
|
JZ ??ZDApp_ProcessSecMsg_0
|
|
ADD A,#-0x2
|
|
JZ ??ZDApp_ProcessSecMsg_1
|
|
ADD A,#-0x2
|
|
JZ ??ZDApp_ProcessSecMsg_2
|
|
SJMP ??ZDApp_ProcessSecMsg_3
|
|
// 1280 {
|
|
// 1281 case ZDO_ESTABLISH_KEY_CFM:
|
|
// 1282 if ( ZG_CHECK_SECURITY_MODE == ZG_SECURITY_PRO_HIGH )
|
|
// 1283 {
|
|
// 1284 ZDSecMgrEstablishKeyCfm( (ZDO_EstablishKeyCfm_t*)msgPtr );
|
|
// 1285 }
|
|
// 1286 break;
|
|
// 1287
|
|
// 1288 case ZDO_ESTABLISH_KEY_IND:
|
|
// 1289 if ( ZG_CHECK_SECURITY_MODE == ZG_SECURITY_PRO_HIGH )
|
|
// 1290 {
|
|
// 1291 if ( ZG_BUILD_JOINING_TYPE && ZG_DEVICE_JOINING_TYPE )
|
|
// 1292 {
|
|
// 1293 ZDSecMgrEstablishKeyInd( (ZDO_EstablishKeyInd_t*)msgPtr );
|
|
// 1294 }
|
|
// 1295 }
|
|
// 1296 break;
|
|
// 1297
|
|
// 1298 case ZDO_TRANSPORT_KEY_IND:
|
|
// 1299 if ( ZG_BUILD_JOINING_TYPE && ZG_DEVICE_JOINING_TYPE )
|
|
??ZDApp_ProcessSecMsg_0:
|
|
MOV DPTR,#zgDeviceLogicalType
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JZ ??ZDApp_ProcessSecMsg_4
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JNZ ??ZDApp_ProcessSecMsg_3
|
|
// 1300 {
|
|
// 1301 ZDSecMgrTransportKeyInd( (ZDO_TransportKeyInd_t*)msgPtr );
|
|
??ZDApp_ProcessSecMsg_4:
|
|
; Setup parameters for call to function ZDSecMgrTransportKeyInd
|
|
LCALL `??ZDSecMgrTransportKeyInd::?relay`; Banked call to: ZDSecMgrTransportKeyInd
|
|
SJMP ??ZDApp_ProcessSecMsg_3
|
|
// 1302 }
|
|
// 1303 break;
|
|
// 1304
|
|
// 1305 case ZDO_UPDATE_DEVICE_IND:
|
|
// 1306 if ( ZG_BUILD_COORDINATOR_TYPE && ZG_DEVICE_COORDINATOR_TYPE )
|
|
// 1307 {
|
|
// 1308 ZDSecMgrUpdateDeviceInd( (ZDO_UpdateDeviceInd_t*)msgPtr );
|
|
// 1309 }
|
|
// 1310 break;
|
|
// 1311
|
|
// 1312 case ZDO_REMOVE_DEVICE_IND:
|
|
// 1313 if ( ZG_BUILD_RTRONLY_TYPE && ( zgDeviceLogicalType == ZG_DEVICETYPE_ROUTER ) )
|
|
??ZDApp_ProcessSecMsg_1:
|
|
MOV DPTR,#zgDeviceLogicalType
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JNZ ??ZDApp_ProcessSecMsg_3
|
|
// 1314 {
|
|
// 1315 ZDSecMgrRemoveDeviceInd( (ZDO_RemoveDeviceInd_t*)msgPtr );
|
|
; Setup parameters for call to function ZDSecMgrRemoveDeviceInd
|
|
LCALL `??ZDSecMgrRemoveDeviceInd::?relay`; Banked call to: ZDSecMgrRemoveDeviceInd
|
|
SJMP ??ZDApp_ProcessSecMsg_3
|
|
// 1316 }
|
|
// 1317 break;
|
|
// 1318
|
|
// 1319 case ZDO_REQUEST_KEY_IND:
|
|
// 1320 if (( ZG_CHECK_SECURITY_MODE == ZG_SECURITY_PRO_HIGH ) ||
|
|
// 1321 ( ZG_CHECK_SECURITY_MODE == ZG_SECURITY_SE_STANDARD ))
|
|
// 1322 {
|
|
// 1323 if ( ZG_BUILD_COORDINATOR_TYPE && ZG_DEVICE_COORDINATOR_TYPE )
|
|
// 1324 {
|
|
// 1325 ZDSecMgrRequestKeyInd( (ZDO_RequestKeyInd_t*)msgPtr );
|
|
// 1326 }
|
|
// 1327 }
|
|
// 1328 break;
|
|
// 1329
|
|
// 1330 case ZDO_SWITCH_KEY_IND:
|
|
// 1331 if ( ZG_BUILD_JOINING_TYPE && ZG_DEVICE_JOINING_TYPE )
|
|
??ZDApp_ProcessSecMsg_2:
|
|
MOV DPTR,#zgDeviceLogicalType
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JZ ??ZDApp_ProcessSecMsg_5
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JNZ ??ZDApp_ProcessSecMsg_3
|
|
// 1332 {
|
|
// 1333 ZDSecMgrSwitchKeyInd( (ZDO_SwitchKeyInd_t*)msgPtr );
|
|
??ZDApp_ProcessSecMsg_5:
|
|
; Setup parameters for call to function ZDSecMgrSwitchKeyInd
|
|
LCALL `??ZDSecMgrSwitchKeyInd::?relay`; Banked call to: ZDSecMgrSwitchKeyInd
|
|
// 1334 }
|
|
// 1335 break;
|
|
// 1336
|
|
// 1337 case ZDO_AUTHENTICATE_IND:
|
|
// 1338 if ( ZG_CHECK_SECURITY_MODE == ZG_SECURITY_PRO_HIGH )
|
|
// 1339 {
|
|
// 1340 ZDSecMgrAuthenticateInd( (ZDO_AuthenticateInd_t*)msgPtr );
|
|
// 1341 }
|
|
// 1342 break;
|
|
// 1343
|
|
// 1344 case ZDO_AUTHENTICATE_CFM:
|
|
// 1345 if ( ZG_CHECK_SECURITY_MODE == ZG_SECURITY_PRO_HIGH )
|
|
// 1346 {
|
|
// 1347 ZDSecMgrAuthenticateCfm( (ZDO_AuthenticateCfm_t*)msgPtr );
|
|
// 1348 }
|
|
// 1349 break;
|
|
// 1350
|
|
// 1351 default:
|
|
// 1352 // Unsupported messages
|
|
// 1353 break;
|
|
// 1354 }
|
|
// 1355 }
|
|
??ZDApp_ProcessSecMsg_3:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock61
|
|
// 1356
|
|
// 1357 /*********************************************************************
|
|
// 1358 * @fn ZDApp_ProcessNetworkJoin()
|
|
// 1359 *
|
|
// 1360 * @brief
|
|
// 1361 *
|
|
// 1362 * Save off the Network key information.
|
|
// 1363 *
|
|
// 1364 * @param none
|
|
// 1365 *
|
|
// 1366 * @return none
|
|
// 1367 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1368 void ZDApp_ProcessNetworkJoin( void )
|
|
ZDApp_ProcessNetworkJoin:
|
|
CFI Block cfiBlock62 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessNetworkJoin
|
|
CODE
|
|
// 1369 {
|
|
FUNCALL ZDApp_ProcessNetworkJoin, osal_set_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, ZDApp_AnnounceNewAddress
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, NLME_StartRouterRequest
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, NLME_GetShortAddr
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, ZMacSetReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, nwkNeighborInitTable
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, NLME_NwkDiscTerm
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, osal_rand
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, ZDApp_NetworkInit
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, osal_set_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, NLME_SetPollRate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, NLME_SetQueuedPollRate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, NLME_SetResponseRate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, NLME_StartRouterRequest
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, ZDApp_AnnounceNewAddress
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, nwkNeighborInitTable
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, NLME_NwkDiscTerm
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, osal_rand
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, ZDApp_NetworkInit
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, ZDApp_AnnounceNewAddress
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ProcessNetworkJoin, osal_set_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 2
|
|
MOV A,#-0x2
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
// 1370 if ( (devState == DEV_NWK_JOINING) ||
|
|
// 1371 ((devState == DEV_NWK_ORPHAN) &&
|
|
// 1372 (ZDO_Config_Node_Descriptor.LogicalType == NODETYPE_ROUTER)) )
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
XRL A,#0x3
|
|
JZ ??ZDApp_ProcessNetworkJoin_0
|
|
MOVX A,@DPTR
|
|
XRL A,#0xa
|
|
JZ $+5
|
|
LJMP ??ZDApp_ProcessNetworkJoin_1 & 0xFFFF
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor
|
|
MOVX A,@DPTR
|
|
ANL A,#0x7
|
|
XRL A,#0x1
|
|
JZ $+5
|
|
LJMP ??ZDApp_ProcessNetworkJoin_2 & 0xFFFF
|
|
// 1373 {
|
|
// 1374 // Result of a Join attempt by this device.
|
|
// 1375 if ( nwkStatus == ZSuccess )
|
|
??ZDApp_ProcessNetworkJoin_0:
|
|
MOV DPTR,#nwkStatus
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDApp_ProcessNetworkJoin_3
|
|
// 1376 {
|
|
// 1377 osal_set_event( ZDAppTaskID, ZDO_STATE_CHANGE_EVT );
|
|
; Setup parameters for call to function osal_set_event
|
|
LCALL ?Subroutine17 & 0xFFFF
|
|
// 1378
|
|
// 1379 #if defined ( POWER_SAVING )
|
|
// 1380 osal_pwrmgr_device( PWRMGR_BATTERY );
|
|
// 1381 #endif
|
|
// 1382
|
|
// 1383 if ( ZG_SECURE_ENABLED && ( ZDApp_RestoreNwkKey() == false ) )
|
|
// 1384 {
|
|
// 1385 // wait for auth from trust center!!
|
|
// 1386 devState = DEV_END_DEVICE_UNAUTH;
|
|
// 1387
|
|
// 1388 // Start the reset timer for MAX UNAUTH time
|
|
// 1389 ZDApp_ResetTimerStart( 10000 );//MAX_DEVICE_UNAUTH_TIMEOUT );
|
|
// 1390 }
|
|
// 1391 else
|
|
// 1392 {
|
|
// 1393 if ( ZSTACK_ROUTER_BUILD )
|
|
// 1394 {
|
|
// 1395 if ( devState == DEV_NWK_ORPHAN
|
|
// 1396 && ZDO_Config_Node_Descriptor.LogicalType != NODETYPE_DEVICE )
|
|
??CrossCallReturnLabel_61:
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
XRL A,#0xa
|
|
JNZ ??ZDApp_ProcessNetworkJoin_4
|
|
LCALL ?Subroutine21 & 0xFFFF
|
|
??CrossCallReturnLabel_21:
|
|
JZ ??ZDApp_ProcessNetworkJoin_5
|
|
// 1397 {
|
|
// 1398 // Change NIB state to router for restore
|
|
// 1399 _NIB.nwkState = NWK_ROUTER;
|
|
MOV DPTR,#_NIB + 35
|
|
MOV A,#0x8
|
|
MOVX @DPTR,A
|
|
SJMP ??ZDApp_ProcessNetworkJoin_5
|
|
// 1400 }
|
|
// 1401 }
|
|
// 1402
|
|
// 1403 if ( devState == DEV_NWK_JOINING )
|
|
??ZDApp_ProcessNetworkJoin_4:
|
|
MOVX A,@DPTR
|
|
XRL A,#0x3
|
|
JNZ ??ZDApp_ProcessNetworkJoin_5
|
|
// 1404 {
|
|
// 1405 ZDApp_AnnounceNewAddress();
|
|
; Setup parameters for call to function ZDApp_AnnounceNewAddress
|
|
LCALL `??ZDApp_AnnounceNewAddress::?relay`; Banked call to: ZDApp_AnnounceNewAddress
|
|
// 1406 }
|
|
// 1407
|
|
// 1408 devState = DEV_END_DEVICE;
|
|
??ZDApp_ProcessNetworkJoin_5:
|
|
MOV DPTR,#devState
|
|
MOV A,#0x6
|
|
MOVX @DPTR,A
|
|
// 1409 if ( ZSTACK_ROUTER_BUILD )
|
|
// 1410 {
|
|
// 1411 // NOTE: first two parameters are not used, see NLMEDE.h for details
|
|
// 1412 if ( ZDO_Config_Node_Descriptor.LogicalType != NODETYPE_DEVICE )
|
|
LCALL ?Subroutine21 & 0xFFFF
|
|
??CrossCallReturnLabel_22:
|
|
JNZ $+5
|
|
LJMP ??CrossCallReturnLabel_62 & 0xFFFF
|
|
// 1413 {
|
|
// 1414 NLME_StartRouterRequest( 0, 0, false );
|
|
; Setup parameters for call to function NLME_StartRouterRequest
|
|
MOV R3,#0x0
|
|
MOV R2,#0x0
|
|
MOV R1,#0x0
|
|
LCALL `??NLME_StartRouterRequest::?relay`; Banked call to: NLME_StartRouterRequest
|
|
LJMP ??CrossCallReturnLabel_62 & 0xFFFF
|
|
// 1415 }
|
|
// 1416 }
|
|
// 1417 }
|
|
// 1418 }
|
|
// 1419 else
|
|
// 1420 {
|
|
// 1421 if ( (devStartMode == MODE_RESUME) && (++retryCnt >= MAX_RESUME_RETRY) )
|
|
??ZDApp_ProcessNetworkJoin_3:
|
|
MOV DPTR,#devStartMode
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JNZ ??ZDApp_ProcessNetworkJoin_6
|
|
MOV DPTR,#retryCnt
|
|
MOVX A,@DPTR
|
|
INC A
|
|
MOVX @DPTR,A
|
|
CLR C
|
|
SUBB A,#0x3
|
|
JC ??ZDApp_ProcessNetworkJoin_6
|
|
// 1422 {
|
|
// 1423 if ( _NIB.nwkPanId == 0xFFFF || _NIB.nwkPanId == INVALID_PAN_ID )
|
|
MOV DPTR,#_NIB + 33
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
JNZ ??ZDApp_ProcessNetworkJoin_7
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
??ZDApp_ProcessNetworkJoin_7:
|
|
JZ ??ZDApp_ProcessNetworkJoin_8
|
|
MOV DPTR,#_NIB + 33
|
|
MOVX A,@DPTR
|
|
XRL A,#0xfe
|
|
JNZ ??ZDApp_ProcessNetworkJoin_9
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
??ZDApp_ProcessNetworkJoin_9:
|
|
JNZ ??ZDApp_ProcessNetworkJoin_10
|
|
// 1424 devStartMode = MODE_JOIN;
|
|
??ZDApp_ProcessNetworkJoin_8:
|
|
MOV DPTR,#devStartMode
|
|
CLR A
|
|
SJMP ??ZDApp_ProcessNetworkJoin_11
|
|
// 1425 else
|
|
// 1426 {
|
|
// 1427 devStartMode = MODE_REJOIN;
|
|
??ZDApp_ProcessNetworkJoin_10:
|
|
MOV DPTR,#devStartMode
|
|
MOV A,#0x3
|
|
MOVX @DPTR,A
|
|
// 1428 _tmpRejoinState = true;
|
|
MOV DPTR,#_tmpRejoinState
|
|
MOV A,#0x1
|
|
??ZDApp_ProcessNetworkJoin_11:
|
|
MOVX @DPTR,A
|
|
// 1429 }
|
|
// 1430 }
|
|
// 1431
|
|
// 1432 if ( (NLME_GetShortAddr() != INVALID_NODE_ADDR) ||
|
|
// 1433 (_NIB.nwkDevAddress != INVALID_NODE_ADDR) )
|
|
??ZDApp_ProcessNetworkJoin_6:
|
|
; Setup parameters for call to function NLME_GetShortAddr
|
|
LCALL `??NLME_GetShortAddr::?relay`; Banked call to: NLME_GetShortAddr
|
|
MOV A,#-0x2
|
|
XRL A,R2
|
|
JNZ ??ZDApp_ProcessNetworkJoin_12
|
|
MOV A,#-0x1
|
|
XRL A,R3
|
|
??ZDApp_ProcessNetworkJoin_12:
|
|
JNZ ??ZDApp_ProcessNetworkJoin_13
|
|
MOV DPTR,#_NIB + 20
|
|
MOVX A,@DPTR
|
|
XRL A,#0xfe
|
|
JNZ ??ZDApp_ProcessNetworkJoin_14
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
??ZDApp_ProcessNetworkJoin_14:
|
|
JZ ??ZDApp_ProcessNetworkJoin_15
|
|
// 1434 {
|
|
// 1435 uint16 addr = INVALID_NODE_ADDR;
|
|
??ZDApp_ProcessNetworkJoin_13:
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOV A,#-0x2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
INC A
|
|
MOVX @DPTR,A
|
|
// 1436 // Invalidate nwk addr so end device does not use in its data reqs.
|
|
// 1437 _NIB.nwkDevAddress = INVALID_NODE_ADDR;
|
|
MOV DPTR,#_NIB + 20
|
|
DEC A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
INC A
|
|
LCALL ?Subroutine13 & 0xFFFF
|
|
// 1438 ZMacSetReq( ZMacShortAddress, (uint8 *)&addr );
|
|
// 1439 }
|
|
??CrossCallReturnLabel_5:
|
|
MOV R1,#0x53
|
|
LCALL `??ZMacSetReq::?relay`; Banked call to: ZMacSetReq
|
|
// 1440
|
|
// 1441 // Clear the neighbor Table and network discovery tables.
|
|
// 1442 nwkNeighborInitTable();
|
|
??ZDApp_ProcessNetworkJoin_15:
|
|
; Setup parameters for call to function nwkNeighborInitTable
|
|
LCALL `??nwkNeighborInitTable::?relay`; Banked call to: nwkNeighborInitTable
|
|
// 1443 NLME_NwkDiscTerm();
|
|
; Setup parameters for call to function NLME_NwkDiscTerm
|
|
LCALL `??NLME_NwkDiscTerm::?relay`; Banked call to: NLME_NwkDiscTerm
|
|
// 1444
|
|
// 1445 zdoDiscCounter = 1;
|
|
MOV DPTR,#zdoDiscCounter
|
|
MOV A,#0x1
|
|
MOVX @DPTR,A
|
|
// 1446
|
|
// 1447 // ZDApp_NetworkInit( (uint16)
|
|
// 1448 // ((NWK_START_DELAY * (osal_rand() & 0x0F)) +
|
|
// 1449 // (NWK_START_DELAY * 5)) );
|
|
// 1450 ZDApp_NetworkInit( (uint16)(NWK_START_DELAY
|
|
// 1451 + ((uint16)(osal_rand()& EXTENDED_JOINING_RANDOM_MASK))) );
|
|
; Setup parameters for call to function osal_rand
|
|
SJMP ??ZDApp_ProcessNetworkJoin_16
|
|
// 1452 }
|
|
// 1453 }
|
|
// 1454 else if ( devState == DEV_NWK_ORPHAN || devState == DEV_NWK_REJOIN )
|
|
??ZDApp_ProcessNetworkJoin_1:
|
|
MOVX A,@DPTR
|
|
XRL A,#0x4
|
|
JNZ ??ZDApp_ProcessNetworkJoin_17
|
|
// 1455 {
|
|
// 1456 // results of an orphaning attempt by this device
|
|
// 1457 if (nwkStatus == ZSuccess)
|
|
??ZDApp_ProcessNetworkJoin_2:
|
|
MOV DPTR,#nwkStatus
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDApp_ProcessNetworkJoin_18
|
|
// 1458 {
|
|
// 1459 if ( ZG_SECURE_ENABLED )
|
|
// 1460 {
|
|
// 1461 ZDApp_RestoreNwkKey();
|
|
// 1462 }
|
|
// 1463
|
|
// 1464 devState = DEV_END_DEVICE;
|
|
LCALL ?Subroutine9 & 0xFFFF
|
|
// 1465 osal_set_event( ZDAppTaskID, ZDO_STATE_CHANGE_EVT );
|
|
// 1466 // setup Power Manager Device
|
|
// 1467 #if defined ( POWER_SAVING )
|
|
// 1468 osal_pwrmgr_device( PWRMGR_BATTERY );
|
|
// 1469 #endif
|
|
// 1470
|
|
// 1471 if ( ZDO_Config_Node_Descriptor.CapabilityFlags & CAPINFO_RCVR_ON_IDLE )
|
|
??CrossCallReturnLabel_68:
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor + 2
|
|
MOVX A,@DPTR
|
|
MOV C,0xE0 /* A */.3
|
|
JNC ??CrossCallReturnLabel_32
|
|
// 1472 {
|
|
// 1473 // The receiver is on, turn network layer polling off.
|
|
// 1474 NLME_SetPollRate( 0 );
|
|
; Setup parameters for call to function NLME_SetPollRate
|
|
LCALL ?Subroutine26 & 0xFFFF
|
|
// 1475 NLME_SetQueuedPollRate( 0 );
|
|
// 1476 NLME_SetResponseRate( 0 );
|
|
// 1477 }
|
|
// 1478
|
|
// 1479 if ( ZSTACK_ROUTER_BUILD )
|
|
// 1480 {
|
|
// 1481 // NOTE: first two parameters are not used, see NLMEDE.h for details
|
|
// 1482 if ( ZDO_Config_Node_Descriptor.LogicalType != NODETYPE_DEVICE )
|
|
??CrossCallReturnLabel_32:
|
|
LCALL ?Subroutine21 & 0xFFFF
|
|
??CrossCallReturnLabel_23:
|
|
JZ ??ZDApp_ProcessNetworkJoin_19
|
|
// 1483 {
|
|
// 1484 NLME_StartRouterRequest( 0, 0, false );
|
|
; Setup parameters for call to function NLME_StartRouterRequest
|
|
MOV R3,#0x0
|
|
MOV R2,#0x0
|
|
MOV R1,#0x0
|
|
LCALL `??NLME_StartRouterRequest::?relay`; Banked call to: NLME_StartRouterRequest
|
|
// 1485 }
|
|
// 1486 }
|
|
// 1487
|
|
// 1488 ZDApp_AnnounceNewAddress();
|
|
??ZDApp_ProcessNetworkJoin_19:
|
|
; Setup parameters for call to function ZDApp_AnnounceNewAddress
|
|
LCALL `??ZDApp_AnnounceNewAddress::?relay`; Banked call to: ZDApp_AnnounceNewAddress
|
|
SJMP ??CrossCallReturnLabel_62
|
|
// 1489 }
|
|
// 1490 else
|
|
// 1491 {
|
|
// 1492 if ( devStartMode == MODE_RESUME )
|
|
??ZDApp_ProcessNetworkJoin_18:
|
|
MOV DPTR,#devStartMode
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JNZ ??ZDApp_ProcessNetworkJoin_20
|
|
// 1493 {
|
|
// 1494 if ( ++retryCnt <= MAX_RESUME_RETRY )
|
|
MOV DPTR,#retryCnt
|
|
MOVX A,@DPTR
|
|
INC A
|
|
MOVX @DPTR,A
|
|
CLR C
|
|
SUBB A,#0x4
|
|
JNC ??ZDApp_ProcessNetworkJoin_21
|
|
// 1495 {
|
|
// 1496 if ( _NIB.nwkPanId == 0xFFFF || _NIB.nwkPanId == INVALID_PAN_ID )
|
|
MOV DPTR,#_NIB + 33
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
JNZ ??ZDApp_ProcessNetworkJoin_22
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
??ZDApp_ProcessNetworkJoin_22:
|
|
JZ ??ZDApp_ProcessNetworkJoin_23
|
|
MOV DPTR,#_NIB + 33
|
|
MOVX A,@DPTR
|
|
XRL A,#0xfe
|
|
JNZ ??ZDApp_ProcessNetworkJoin_24
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
??ZDApp_ProcessNetworkJoin_24:
|
|
JZ ??ZDApp_ProcessNetworkJoin_23
|
|
// 1497 devStartMode = MODE_JOIN;
|
|
// 1498 else
|
|
// 1499 {
|
|
// 1500 devStartMode = MODE_REJOIN;
|
|
MOV DPTR,#devStartMode
|
|
MOV A,#0x3
|
|
MOVX @DPTR,A
|
|
// 1501 _tmpRejoinState = true;
|
|
MOV DPTR,#_tmpRejoinState
|
|
MOV A,#0x1
|
|
SJMP ??ZDApp_ProcessNetworkJoin_25
|
|
// 1502 }
|
|
// 1503 }
|
|
// 1504 // Do a normal join to the network after certain times of rejoin retries
|
|
// 1505 else if( AIB_apsUseInsecureJoin == true )
|
|
??ZDApp_ProcessNetworkJoin_21:
|
|
MOV DPTR,#AIB_apsUseInsecureJoin
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JNZ ??ZDApp_ProcessNetworkJoin_20
|
|
// 1506 {
|
|
// 1507 devStartMode = MODE_JOIN;
|
|
??ZDApp_ProcessNetworkJoin_23:
|
|
MOV DPTR,#devStartMode
|
|
CLR A
|
|
??ZDApp_ProcessNetworkJoin_25:
|
|
MOVX @DPTR,A
|
|
// 1508 }
|
|
// 1509 }
|
|
// 1510
|
|
// 1511 // Clear the neighbor Table and network discovery tables.
|
|
// 1512 nwkNeighborInitTable();
|
|
??ZDApp_ProcessNetworkJoin_20:
|
|
; Setup parameters for call to function nwkNeighborInitTable
|
|
LCALL `??nwkNeighborInitTable::?relay`; Banked call to: nwkNeighborInitTable
|
|
// 1513 NLME_NwkDiscTerm();
|
|
; Setup parameters for call to function NLME_NwkDiscTerm
|
|
LCALL `??NLME_NwkDiscTerm::?relay`; Banked call to: NLME_NwkDiscTerm
|
|
// 1514
|
|
// 1515 // setup a retry for later...
|
|
// 1516 ZDApp_NetworkInit( (uint16)(NWK_START_DELAY
|
|
// 1517 + (osal_rand()& EXTENDED_JOINING_RANDOM_MASK)) );
|
|
; Setup parameters for call to function osal_rand
|
|
// 1518 }
|
|
// 1519 }
|
|
??ZDApp_ProcessNetworkJoin_16:
|
|
LCALL ?Subroutine27 & 0xFFFF
|
|
??CrossCallReturnLabel_34:
|
|
SJMP ??CrossCallReturnLabel_62
|
|
// 1520 #if defined ( ZIGBEE_STOCHASTIC_ADDRESSING )
|
|
// 1521 else
|
|
// 1522 {
|
|
// 1523 // Assume from address conflict
|
|
// 1524 if ( _NIB.nwkAddrAlloc == NWK_ADDRESSING_STOCHASTIC )
|
|
??ZDApp_ProcessNetworkJoin_17:
|
|
MOV DPTR,#_NIB + 96
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JNZ ??CrossCallReturnLabel_62
|
|
// 1525 {
|
|
// 1526 // Notify the network
|
|
// 1527 ZDApp_AnnounceNewAddress();
|
|
; Setup parameters for call to function ZDApp_AnnounceNewAddress
|
|
LCALL `??ZDApp_AnnounceNewAddress::?relay`; Banked call to: ZDApp_AnnounceNewAddress
|
|
// 1528
|
|
// 1529 // Notify apps
|
|
// 1530 osal_set_event( ZDAppTaskID, ZDO_STATE_CHANGE_EVT );
|
|
; Setup parameters for call to function osal_set_event
|
|
LCALL ?Subroutine17 & 0xFFFF
|
|
// 1531 }
|
|
// 1532 }
|
|
// 1533 #endif
|
|
// 1534 }
|
|
??CrossCallReturnLabel_62:
|
|
LJMP ?Subroutine7 & 0xFFFF
|
|
CFI EndBlock cfiBlock62
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine27:
|
|
CFI Block cfiCond63 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessOSALMsg
|
|
CFI Conditional ??CrossCallReturnLabel_33
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 11)
|
|
CFI Block cfiCond64 Using cfiCommon0
|
|
CFI (cfiCond64) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond64) Conditional ??CrossCallReturnLabel_34
|
|
CFI (cfiCond64) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond64) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond64) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond64) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond64) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond64) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond64) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond64) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond64) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond64) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond64) CFA_SP SP+-2
|
|
CFI (cfiCond64) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker65 Using cfiCommon1
|
|
CFI (cfiPicker65) NoFunction
|
|
CFI (cfiPicker65) Picker
|
|
LCALL `??osal_rand::?relay`; Banked call to: osal_rand
|
|
; Setup parameters for call to function ZDApp_NetworkInit
|
|
; Setup parameters for call to function ZDApp_NetworkInit
|
|
MOV A,R2
|
|
ANL A,#0x7f
|
|
ADD A,#0x64
|
|
MOV R2,A
|
|
MOV R3,#0x0
|
|
LCALL `??ZDApp_NetworkInit::?relay`; Banked call to: ZDApp_NetworkInit
|
|
RET
|
|
CFI EndBlock cfiCond63
|
|
CFI EndBlock cfiCond64
|
|
CFI EndBlock cfiPicker65
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine26:
|
|
CFI Block cfiCond66 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessOSALMsg
|
|
CFI Conditional ??CrossCallReturnLabel_31
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 11)
|
|
CFI Block cfiCond67 Using cfiCommon0
|
|
CFI (cfiCond67) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond67) Conditional ??CrossCallReturnLabel_32
|
|
CFI (cfiCond67) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond67) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond67) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond67) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond67) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond67) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond67) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond67) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond67) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond67) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond67) CFA_SP SP+-2
|
|
CFI (cfiCond67) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker68 Using cfiCommon1
|
|
CFI (cfiPicker68) NoFunction
|
|
CFI (cfiPicker68) Picker
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
LCALL `??NLME_SetPollRate::?relay`; Banked call to: NLME_SetPollRate
|
|
; Setup parameters for call to function NLME_SetQueuedPollRate
|
|
; Setup parameters for call to function NLME_SetQueuedPollRate
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
LCALL `??NLME_SetQueuedPollRate::?relay`; Banked call to: NLME_SetQueuedPollRate
|
|
; Setup parameters for call to function NLME_SetResponseRate
|
|
; Setup parameters for call to function NLME_SetResponseRate
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
LCALL `??NLME_SetResponseRate::?relay`; Banked call to: NLME_SetResponseRate
|
|
RET
|
|
CFI EndBlock cfiCond66
|
|
CFI EndBlock cfiCond67
|
|
CFI EndBlock cfiPicker68
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine21:
|
|
CFI Block cfiCond69 Using cfiCommon0
|
|
CFI Function ZDApp_DeviceAuthEvt
|
|
CFI Conditional ??CrossCallReturnLabel_20
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond70 Using cfiCommon0
|
|
CFI (cfiCond70) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond70) Conditional ??CrossCallReturnLabel_21
|
|
CFI (cfiCond70) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond70) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond70) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond70) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond70) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond70) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond70) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond70) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond70) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond70) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond70) CFA_SP SP+-2
|
|
CFI (cfiCond70) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond71 Using cfiCommon0
|
|
CFI (cfiCond71) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond71) Conditional ??CrossCallReturnLabel_22
|
|
CFI (cfiCond71) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond71) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond71) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond71) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond71) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond71) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond71) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond71) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond71) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond71) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond71) CFA_SP SP+-2
|
|
CFI (cfiCond71) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond72 Using cfiCommon0
|
|
CFI (cfiCond72) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond72) Conditional ??CrossCallReturnLabel_23
|
|
CFI (cfiCond72) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond72) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond72) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond72) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond72) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond72) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond72) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond72) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond72) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond72) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond72) CFA_SP SP+-2
|
|
CFI (cfiCond72) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond73 Using cfiCommon0
|
|
CFI (cfiCond73) Function ZDO_LeaveInd
|
|
CFI (cfiCond73) Conditional ??CrossCallReturnLabel_24
|
|
CFI (cfiCond73) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond73) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond73) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond73) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond73) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond73) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond73) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond73) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond73) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond73) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond73) CFA_SP SP+-2
|
|
CFI (cfiCond73) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker74 Using cfiCommon1
|
|
CFI (cfiPicker74) NoFunction
|
|
CFI (cfiPicker74) Picker
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor
|
|
MOVX A,@DPTR
|
|
ANL A,#0x7
|
|
XRL A,#0x2
|
|
RET
|
|
CFI EndBlock cfiCond69
|
|
CFI EndBlock cfiCond70
|
|
CFI EndBlock cfiCond71
|
|
CFI EndBlock cfiCond72
|
|
CFI EndBlock cfiCond73
|
|
CFI EndBlock cfiPicker74
|
|
// 1535
|
|
// 1536 /*********************************************************************
|
|
// 1537 * @fn ZDApp_SaveNwkKey()
|
|
// 1538 *
|
|
// 1539 * @brief Save off the Network key information.
|
|
// 1540 *
|
|
// 1541 * @param none
|
|
// 1542 *
|
|
// 1543 * @return none
|
|
// 1544 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1545 void ZDApp_SaveNwkKey( void )
|
|
ZDApp_SaveNwkKey:
|
|
CFI Block cfiBlock75 Using cfiCommon0
|
|
CFI Function ZDApp_SaveNwkKey
|
|
CODE
|
|
// 1546 {
|
|
FUNCALL ZDApp_SaveNwkKey, SSP_ReadNwkActiveKey
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 33, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 33, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_SaveNwkKey, osal_nv_write
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 37, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 37, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_SaveNwkKey, osal_memset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 33, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 33, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
MOV A,#-0xc
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
; Saved register size: 12
|
|
; Auto size: 21
|
|
MOV A,#-0x15
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 33)
|
|
// 1547 nwkActiveKeyItems keyItems;
|
|
// 1548
|
|
// 1549 SSP_ReadNwkActiveKey( &keyItems );
|
|
; Setup parameters for call to function SSP_ReadNwkActiveKey
|
|
MOV R2,?XSP + 0
|
|
MOV R3,?XSP + 1
|
|
LCALL `??SSP_ReadNwkActiveKey::?relay`; Banked call to: SSP_ReadNwkActiveKey
|
|
// 1550 keyItems.frameCounter++;
|
|
MOV DPTR,#__Constant_1
|
|
MOV R0,#?V0
|
|
LCALL ?L_MOV_X
|
|
MOV A,#0x11
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV R0,#?V0
|
|
LCALL ?L_ADD_TO_X
|
|
// 1551
|
|
// 1552 osal_nv_write( ZCD_NV_NWKKEY, 0, sizeof( nwkActiveKeyItems ),
|
|
// 1553 (void *)&keyItems );
|
|
; Setup parameters for call to function osal_nv_write
|
|
MOV R0,?XSP + 0
|
|
MOV R1,?XSP + 1
|
|
MOV ?V0,R0
|
|
MOV ?V1,R1
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 35)
|
|
MOV ?V0,#0x15
|
|
MOV ?V1,#0x0
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 37)
|
|
MOV R4,#0x0
|
|
MOV R5,#0x0
|
|
MOV R2,#-0x7e
|
|
MOV R3,#0x0
|
|
LCALL `??osal_nv_write::?relay`; Banked call to: osal_nv_write
|
|
MOV A,#0x4
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 33)
|
|
// 1554
|
|
// 1555 nwkFrameCounterChanges = 0;
|
|
MOV DPTR,#nwkFrameCounterChanges
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
// 1556
|
|
// 1557 // Clear copy in RAM before return.
|
|
// 1558 osal_memset( &keyItems, 0x00, sizeof(keyItems) );
|
|
; Setup parameters for call to function osal_memset
|
|
MOV R4,#0x15
|
|
MOV R5,A
|
|
MOV R1,A
|
|
MOV R2,?XSP + 0
|
|
MOV R3,?XSP + 1
|
|
LCALL `??osal_memset::?relay`; Banked call to: osal_memset
|
|
// 1559
|
|
// 1560 }
|
|
LJMP ?Subroutine1 & 0xFFFF
|
|
CFI EndBlock cfiBlock75
|
|
// 1561
|
|
// 1562 /*********************************************************************
|
|
// 1563 * @fn ZDApp_ResetNwkKey()
|
|
// 1564 *
|
|
// 1565 * @brief Reset the Network key information in NV.
|
|
// 1566 *
|
|
// 1567 * @param none
|
|
// 1568 *
|
|
// 1569 * @return none
|
|
// 1570 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1571 void ZDApp_ResetNwkKey( void )
|
|
ZDApp_ResetNwkKey:
|
|
CFI Block cfiBlock76 Using cfiCommon0
|
|
CFI Function ZDApp_ResetNwkKey
|
|
CODE
|
|
// 1572 {
|
|
FUNCALL ZDApp_ResetNwkKey, osal_memset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 31, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 31, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_ResetNwkKey, osal_nv_write
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 35, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 35, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 21
|
|
MOV A,#-0x15
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 31)
|
|
// 1573 nwkActiveKeyItems keyItems;
|
|
// 1574
|
|
// 1575 osal_memset( &keyItems, 0, sizeof( nwkActiveKeyItems ) );
|
|
; Setup parameters for call to function osal_memset
|
|
MOV R4,#0x15
|
|
LCALL ?Subroutine29 & 0xFFFF
|
|
// 1576 osal_nv_write( ZCD_NV_NWKKEY, 0, sizeof( nwkActiveKeyItems ),
|
|
// 1577 (void *)&keyItems );
|
|
??CrossCallReturnLabel_38:
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 33)
|
|
MOV ?V0,#0x15
|
|
MOV ?V1,#0x0
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 35)
|
|
MOV R4,#0x0
|
|
MOV R5,#0x0
|
|
MOV R2,#-0x7e
|
|
MOV R3,#0x0
|
|
LCALL `??osal_nv_write::?relay`; Banked call to: osal_nv_write
|
|
MOV A,#0x4
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 31)
|
|
// 1578 }
|
|
LJMP ?Subroutine8 & 0xFFFF
|
|
CFI EndBlock cfiBlock76
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine29:
|
|
CFI Block cfiCond77 Using cfiCommon0
|
|
CFI Function ZDApp_InitUserDesc
|
|
CFI Conditional ??CrossCallReturnLabel_37
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 27)
|
|
CFI Block cfiCond78 Using cfiCommon0
|
|
CFI (cfiCond78) Function ZDApp_ResetNwkKey
|
|
CFI (cfiCond78) Conditional ??CrossCallReturnLabel_38
|
|
CFI (cfiCond78) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond78) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond78) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond78) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond78) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond78) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond78) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond78) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond78) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond78) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond78) CFA_SP SP+-2
|
|
CFI (cfiCond78) CFA_XSP16 add(XSP16, 31)
|
|
CFI Block cfiPicker79 Using cfiCommon1
|
|
CFI (cfiPicker79) NoFunction
|
|
CFI (cfiPicker79) Picker
|
|
MOV R5,#0x0
|
|
MOV R1,#0x0
|
|
MOV R2,?XSP + 0
|
|
MOV R3,?XSP + 1
|
|
LCALL `??osal_memset::?relay`; Banked call to: osal_memset
|
|
; Setup parameters for call to function osal_nv_item_init
|
|
; Setup parameters for call to function osal_nv_write
|
|
MOV R0,?XSP + 0
|
|
MOV R1,?XSP + 1
|
|
MOV ?V0,R0
|
|
MOV ?V1,R1
|
|
MOV R0,#?V0
|
|
RET
|
|
CFI EndBlock cfiCond77
|
|
CFI EndBlock cfiCond78
|
|
CFI EndBlock cfiPicker79
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine2:
|
|
CFI Block cfiBlock80 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV ?V0,#ZDApp_LeaveCtrl & 0xff
|
|
MOV ?V1,#(ZDApp_LeaveCtrl >> 8) & 0xff
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
MOV ?V0,#0x1
|
|
MOV ?V1,#0x0
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
MOV R4,#0x0
|
|
MOV R5,#0x0
|
|
MOV R2,#-0x7b
|
|
MOV R3,#0x0
|
|
LCALL `??osal_nv_write::?relay`; Banked call to: osal_nv_write
|
|
MOV A,#0x4
|
|
CFI EndBlock cfiBlock80
|
|
REQUIRE ??Subroutine49_0
|
|
; // Fall through to label ??Subroutine49_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine49_0:
|
|
CFI Block cfiBlock81 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI Invalid
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI EndBlock cfiBlock81
|
|
REQUIRE ??Subroutine50_0
|
|
; // Fall through to label ??Subroutine50_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine50_0:
|
|
CFI Block cfiBlock82 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV R7,#0x2
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
CFI EndBlock cfiBlock82
|
|
// 1579
|
|
// 1580 /*********************************************************************
|
|
// 1581 * @fn ZDApp_RestoreNwkKey()
|
|
// 1582 *
|
|
// 1583 * @brief
|
|
// 1584 *
|
|
// 1585 * Save off the Network key information.
|
|
// 1586 *
|
|
// 1587 * @param none
|
|
// 1588 *
|
|
// 1589 * @return true if restored from NV, false if not
|
|
// 1590 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1591 uint8 ZDApp_RestoreNwkKey( void )
|
|
ZDApp_RestoreNwkKey:
|
|
CFI Block cfiBlock83 Using cfiCommon0
|
|
CFI Function ZDApp_RestoreNwkKey
|
|
CODE
|
|
// 1592 {
|
|
FUNCALL ZDApp_RestoreNwkKey, osal_nv_read
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 37, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 37, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_RestoreNwkKey, osal_memset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 33, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 33, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
MOV A,#-0xc
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
; Saved register size: 12
|
|
; Auto size: 21
|
|
MOV A,#-0x15
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 33)
|
|
// 1593 nwkActiveKeyItems keyItems;
|
|
// 1594 uint8 ret = false;
|
|
MOV R6,#0x0
|
|
// 1595
|
|
// 1596 if ( osal_nv_read( ZCD_NV_NWKKEY, 0, sizeof(nwkActiveKeyItems), (void*)&keyItems )
|
|
// 1597 == ZSUCCESS )
|
|
; Setup parameters for call to function osal_nv_read
|
|
MOV R0,?XSP + 0
|
|
MOV R1,?XSP + 1
|
|
MOV ?V0,R0
|
|
MOV ?V1,R1
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 35)
|
|
MOV ?V0,#0x15
|
|
MOV ?V1,R6
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 37)
|
|
MOV R4,#0x0
|
|
MOV R5,#0x0
|
|
MOV R2,#-0x7e
|
|
LCALL ?Subroutine30 & 0xFFFF
|
|
??CrossCallReturnLabel_40:
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 33)
|
|
MOV A,R1
|
|
JNZ ??ZDApp_RestoreNwkKey_0
|
|
// 1598 {
|
|
// 1599 if ( keyItems.frameCounter > 0 )
|
|
MOV A,#0x11
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?XLOAD_R0123
|
|
MOV A,R0
|
|
ORL A,R1
|
|
ORL A,R2
|
|
ORL A,R3
|
|
JZ ??ZDApp_RestoreNwkKey_1
|
|
// 1600 {
|
|
// 1601 // Restore the key information
|
|
// 1602 keyItems.frameCounter += MAX_NWK_FRAMECOUNTER_CHANGES;
|
|
MOV DPTR,#__Constant_3e8
|
|
MOV R0,#?V0
|
|
LCALL ?L_MOV_X
|
|
MOV A,#0x11
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV R0,#?V0
|
|
LCALL ?L_ADD_TO_X
|
|
// 1603 nwkFrameCounter = keyItems.frameCounter;
|
|
MOV A,#0x11
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?XLOAD_R0123
|
|
MOV DPTR,#nwkFrameCounter
|
|
LCALL ?XSTORE_R0123
|
|
// 1604 ret = true;
|
|
MOV R6,#0x1
|
|
// 1605 }
|
|
// 1606
|
|
// 1607 // Force a save for the first frame counter increment
|
|
// 1608 nwkFrameCounterChanges = MAX_NWK_FRAMECOUNTER_CHANGES + 1;
|
|
??ZDApp_RestoreNwkKey_1:
|
|
MOV DPTR,#nwkFrameCounterChanges
|
|
MOV A,#-0x17
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,#0x3
|
|
MOVX @DPTR,A
|
|
// 1609 }
|
|
// 1610 // Clear copy in RAM before return.
|
|
// 1611 osal_memset( &keyItems, 0x00, sizeof(keyItems) );
|
|
??ZDApp_RestoreNwkKey_0:
|
|
; Setup parameters for call to function osal_memset
|
|
MOV R4,#0x15
|
|
MOV R5,#0x0
|
|
MOV R1,#0x0
|
|
MOV R2,?XSP + 0
|
|
MOV R3,?XSP + 1
|
|
LCALL `??osal_memset::?relay`; Banked call to: osal_memset
|
|
// 1612
|
|
// 1613 return ( ret );
|
|
MOV A,R6
|
|
MOV R1,A
|
|
LJMP ?Subroutine1 & 0xFFFF
|
|
// 1614 }
|
|
CFI EndBlock cfiBlock83
|
|
// 1615
|
|
// 1616 /*********************************************************************
|
|
// 1617 * @fn ZDApp_ResetTimerStart
|
|
// 1618 *
|
|
// 1619 * @brief Start the reset timer.
|
|
// 1620 *
|
|
// 1621 * @param delay - delay time(ms) before reset
|
|
// 1622 *
|
|
// 1623 * @return none
|
|
// 1624 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1625 void ZDApp_ResetTimerStart( uint16 delay )
|
|
ZDApp_ResetTimerStart:
|
|
CFI Block cfiBlock84 Using cfiCommon0
|
|
CFI Function ZDApp_ResetTimerStart
|
|
CODE
|
|
// 1626 {
|
|
FUNCALL ZDApp_ResetTimerStart, osal_start_timerEx
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 1627 // Start the rest timer
|
|
// 1628 osal_start_timerEx( ZDAppTaskID, ZDO_DEVICE_RESET, delay );
|
|
; Setup parameters for call to function osal_start_timerEx
|
|
MOV A,R2
|
|
MOV R4,A
|
|
MOV A,R3
|
|
MOV R5,A
|
|
MOV R2,#0x4
|
|
LCALL ?Subroutine22 & 0xFFFF
|
|
// 1629 }
|
|
??CrossCallReturnLabel_78:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock84
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine22:
|
|
CFI Block cfiCond85 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessSecEvent
|
|
CFI Conditional ??CrossCallReturnLabel_77
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond86 Using cfiCommon0
|
|
CFI (cfiCond86) Function ZDApp_ResetTimerStart
|
|
CFI (cfiCond86) Conditional ??CrossCallReturnLabel_78
|
|
CFI (cfiCond86) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond86) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond86) CFA_SP SP+-7
|
|
CFI Block cfiCond87 Using cfiCommon0
|
|
CFI (cfiCond87) Function ZDApp_NetworkInit
|
|
CFI (cfiCond87) Conditional ??CrossCallReturnLabel_79
|
|
CFI (cfiCond87) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond87) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond87) CFA_SP SP+-7
|
|
CFI Block cfiPicker88 Using cfiCommon1
|
|
CFI (cfiPicker88) NoFunction
|
|
CFI (cfiPicker88) Picker
|
|
MOV R3,#0x0
|
|
MOV DPTR,#ZDAppTaskID
|
|
CFI EndBlock cfiCond85
|
|
CFI EndBlock cfiCond86
|
|
CFI EndBlock cfiCond87
|
|
CFI EndBlock cfiPicker88
|
|
REQUIRE ??Subroutine51_0
|
|
; // Fall through to label ??Subroutine51_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine51_0:
|
|
CFI Block cfiCond89 Using cfiCommon0
|
|
CFI Function ZDApp_event_loop
|
|
CFI Conditional ??CrossCallReturnLabel_80
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond90 Using cfiCommon0
|
|
CFI (cfiCond90) Function ZDApp_ProcessSecEvent
|
|
CFI (cfiCond90) Conditional ??CrossCallReturnLabel_77
|
|
CFI (cfiCond90) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond90) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond90) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond90) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond90) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond90) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond90) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond90) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond90) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond90) CFA_SP SP+-2
|
|
CFI (cfiCond90) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond91 Using cfiCommon0
|
|
CFI (cfiCond91) Function ZDApp_ResetTimerStart
|
|
CFI (cfiCond91) Conditional ??CrossCallReturnLabel_78
|
|
CFI (cfiCond91) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond91) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond91) CFA_SP SP+-7
|
|
CFI Block cfiCond92 Using cfiCommon0
|
|
CFI (cfiCond92) Function ZDApp_NetworkInit
|
|
CFI (cfiCond92) Conditional ??CrossCallReturnLabel_79
|
|
CFI (cfiCond92) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond92) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond92) CFA_SP SP+-7
|
|
CFI Block cfiPicker93 Using cfiCommon1
|
|
CFI (cfiPicker93) NoFunction
|
|
CFI (cfiPicker93) Picker
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??osal_start_timerEx::?relay`; Banked call to: osal_start_timerEx
|
|
RET
|
|
CFI EndBlock cfiCond89
|
|
CFI EndBlock cfiCond90
|
|
CFI EndBlock cfiCond91
|
|
CFI EndBlock cfiCond92
|
|
CFI EndBlock cfiPicker93
|
|
// 1630
|
|
// 1631 /*********************************************************************
|
|
// 1632 * @fn ZDApp_ResetTimerCancel
|
|
// 1633 *
|
|
// 1634 * @brief Cancel the reset timer.
|
|
// 1635 *
|
|
// 1636 * @param none
|
|
// 1637 *
|
|
// 1638 * @return none
|
|
// 1639 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1640 void ZDApp_ResetTimerCancel( void )
|
|
ZDApp_ResetTimerCancel:
|
|
CFI Block cfiBlock94 Using cfiCommon0
|
|
CFI Function ZDApp_ResetTimerCancel
|
|
CODE
|
|
// 1641 {
|
|
FUNCALL ZDApp_ResetTimerCancel, osal_stop_timerEx
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 1642 // Cancel the reset timer
|
|
// 1643 osal_stop_timerEx( ZDAppTaskID, ZDO_DEVICE_RESET );
|
|
; Setup parameters for call to function osal_stop_timerEx
|
|
MOV R2,#0x4
|
|
MOV R3,#0x0
|
|
MOV DPTR,#ZDAppTaskID
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??osal_stop_timerEx::?relay`; Banked call to: osal_stop_timerEx
|
|
// 1644 }
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock94
|
|
// 1645
|
|
// 1646 /*********************************************************************
|
|
// 1647 * @fn ZDApp_LeaveCtrlInit
|
|
// 1648 *
|
|
// 1649 * @brief Initialize the leave control logic.
|
|
// 1650 *
|
|
// 1651 * @param none
|
|
// 1652 *
|
|
// 1653 * @return none
|
|
// 1654 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1655 void ZDApp_LeaveCtrlInit( void )
|
|
ZDApp_LeaveCtrlInit:
|
|
CFI Block cfiBlock95 Using cfiCommon0
|
|
CFI Function ZDApp_LeaveCtrlInit
|
|
CODE
|
|
// 1656 {
|
|
FUNCALL ZDApp_LeaveCtrlInit, osal_nv_item_init
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_LeaveCtrlInit, osal_nv_read
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
// 1657 uint8 status;
|
|
// 1658
|
|
// 1659
|
|
// 1660 // Initialize control state
|
|
// 1661 ZDApp_LeaveCtrl = ZDAPP_LEAVE_CTRL_INIT;
|
|
MOV DPTR,#ZDApp_LeaveCtrl
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
// 1662
|
|
// 1663 status = osal_nv_item_init( ZCD_NV_LEAVE_CTRL,
|
|
// 1664 sizeof(ZDApp_LeaveCtrl),
|
|
// 1665 &ZDApp_LeaveCtrl );
|
|
// 1666
|
|
// 1667 if ( status == ZSUCCESS )
|
|
; Setup parameters for call to function osal_nv_item_init
|
|
MOV ?V0,#ZDApp_LeaveCtrl & 0xff
|
|
MOV ?V1,#(ZDApp_LeaveCtrl >> 8) & 0xff
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
MOV R4,#0x1
|
|
MOV R5,#0x0
|
|
MOV R2,#-0x7b
|
|
MOV R3,#0x0
|
|
LCALL `??osal_nv_item_init::?relay`; Banked call to: osal_nv_item_init
|
|
MOV A,#0x2
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
MOV A,R1
|
|
JNZ ??ZDApp_LeaveCtrlInit_0
|
|
// 1668 {
|
|
// 1669 // Read saved control
|
|
// 1670 osal_nv_read( ZCD_NV_LEAVE_CTRL,
|
|
// 1671 0,
|
|
// 1672 sizeof( uint8 ),
|
|
// 1673 &ZDApp_LeaveCtrl);
|
|
; Setup parameters for call to function osal_nv_read
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
MOV ?V0,#0x1
|
|
MOV ?V1,#0x0
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
MOV R4,#0x0
|
|
MOV R5,#0x0
|
|
MOV R2,#-0x7b
|
|
LCALL ?Subroutine30 & 0xFFFF
|
|
// 1674 }
|
|
??CrossCallReturnLabel_41:
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
// 1675 }
|
|
??ZDApp_LeaveCtrlInit_0:
|
|
LJMP ??Subroutine50_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock95
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine30:
|
|
CFI Block cfiCond96 Using cfiCommon0
|
|
CFI Function ZDApp_InitUserDesc
|
|
CFI Conditional ??CrossCallReturnLabel_39
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 31)
|
|
CFI Block cfiCond97 Using cfiCommon0
|
|
CFI (cfiCond97) Function ZDApp_RestoreNwkKey
|
|
CFI (cfiCond97) Conditional ??CrossCallReturnLabel_40
|
|
CFI (cfiCond97) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond97) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond97) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond97) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond97) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond97) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond97) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond97) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond97) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond97) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond97) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond97) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond97) CFA_SP SP+-2
|
|
CFI (cfiCond97) CFA_XSP16 add(XSP16, 37)
|
|
CFI Block cfiCond98 Using cfiCommon0
|
|
CFI (cfiCond98) Function ZDApp_LeaveCtrlInit
|
|
CFI (cfiCond98) Conditional ??CrossCallReturnLabel_41
|
|
CFI (cfiCond98) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond98) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond98) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond98) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond98) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond98) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond98) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond98) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond98) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond98) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond98) CFA_SP SP+-2
|
|
CFI (cfiCond98) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond99 Using cfiCommon0
|
|
CFI (cfiCond99) Function ZDApp_DeviceConfigured
|
|
CFI (cfiCond99) Conditional ??CrossCallReturnLabel_42
|
|
CFI (cfiCond99) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond99) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond99) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond99) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond99) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond99) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond99) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond99) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond99) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond99) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond99) CFA_SP SP+-2
|
|
CFI (cfiCond99) CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiPicker100 Using cfiCommon1
|
|
CFI (cfiPicker100) NoFunction
|
|
CFI (cfiPicker100) Picker
|
|
MOV R3,#0x0
|
|
LCALL `??osal_nv_read::?relay`; Banked call to: osal_nv_read
|
|
MOV A,#0x4
|
|
RET
|
|
CFI EndBlock cfiCond96
|
|
CFI EndBlock cfiCond97
|
|
CFI EndBlock cfiCond98
|
|
CFI EndBlock cfiCond99
|
|
CFI EndBlock cfiPicker100
|
|
// 1676
|
|
// 1677 /*********************************************************************
|
|
// 1678 * @fn ZDApp_LeaveCtrlSet
|
|
// 1679 *
|
|
// 1680 * @brief Set the leave control logic.
|
|
// 1681 *
|
|
// 1682 * @param ra - reassociate flag
|
|
// 1683 *
|
|
// 1684 * @return none
|
|
// 1685 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1686 void ZDApp_LeaveCtrlSet( uint8 ra )
|
|
ZDApp_LeaveCtrlSet:
|
|
CFI Block cfiBlock101 Using cfiCommon0
|
|
CFI Function ZDApp_LeaveCtrlSet
|
|
CODE
|
|
// 1687 {
|
|
FUNCALL ZDApp_LeaveCtrlSet, osal_nv_write
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
MOV R6,A
|
|
// 1688 ZDApp_LeaveCtrl = ZDAPP_LEAVE_CTRL_SET;
|
|
MOV DPTR,#ZDApp_LeaveCtrl
|
|
MOV A,#0x1
|
|
MOVX @DPTR,A
|
|
// 1689
|
|
// 1690 if ( ra == TRUE )
|
|
XRL A,R6
|
|
JNZ ??ZDApp_LeaveCtrlSet_0
|
|
// 1691 {
|
|
// 1692 ZDApp_LeaveCtrl |= ZDAPP_LEAVE_CTRL_RA;
|
|
MOV A,#0x3
|
|
MOVX @DPTR,A
|
|
// 1693 }
|
|
// 1694
|
|
// 1695 // Write the leave control
|
|
// 1696 osal_nv_write( ZCD_NV_LEAVE_CTRL,
|
|
// 1697 0,
|
|
// 1698 sizeof( uint8 ),
|
|
// 1699 &ZDApp_LeaveCtrl);
|
|
??ZDApp_LeaveCtrlSet_0:
|
|
; Setup parameters for call to function osal_nv_write
|
|
LJMP ?Subroutine2 & 0xFFFF
|
|
// 1700 }
|
|
CFI EndBlock cfiBlock101
|
|
// 1701
|
|
// 1702 /*********************************************************************
|
|
// 1703 * @fn ZDApp_LeaveCtrlReset
|
|
// 1704 *
|
|
// 1705 * @brief Re-initialize the leave control logic.
|
|
// 1706 *
|
|
// 1707 * @param none
|
|
// 1708 *
|
|
// 1709 * @return none
|
|
// 1710 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1711 void ZDApp_LeaveCtrlReset( void )
|
|
ZDApp_LeaveCtrlReset:
|
|
CFI Block cfiBlock102 Using cfiCommon0
|
|
CFI Function ZDApp_LeaveCtrlReset
|
|
CODE
|
|
// 1712 {
|
|
FUNCALL ZDApp_LeaveCtrlReset, osal_nv_write
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
// 1713 // Set leave control to initialized state
|
|
// 1714 ZDApp_LeaveCtrl = ZDAPP_LEAVE_CTRL_INIT;
|
|
MOV DPTR,#ZDApp_LeaveCtrl
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
// 1715
|
|
// 1716 // Write initialized control
|
|
// 1717 osal_nv_write( ZCD_NV_LEAVE_CTRL,
|
|
// 1718 0,
|
|
// 1719 sizeof( uint8 ),
|
|
// 1720 &ZDApp_LeaveCtrl);
|
|
; Setup parameters for call to function osal_nv_write
|
|
LJMP ?Subroutine2 & 0xFFFF
|
|
// 1721 }
|
|
CFI EndBlock cfiBlock102
|
|
// 1722
|
|
// 1723 /*********************************************************************
|
|
// 1724 * @fn ZDApp_LeaveCtrlBypass
|
|
// 1725 *
|
|
// 1726 * @brief Check if NV restore should be skipped during a leave reset.
|
|
// 1727 *
|
|
// 1728 * @param none
|
|
// 1729 *
|
|
// 1730 * @return uint8 - (TRUE bypass:FALSE do not bypass)
|
|
// 1731 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1732 uint8 ZDApp_LeaveCtrlBypass( void )
|
|
ZDApp_LeaveCtrlBypass:
|
|
CFI Block cfiBlock103 Using cfiCommon0
|
|
CFI Function ZDApp_LeaveCtrlBypass
|
|
CODE
|
|
// 1733 {
|
|
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
|
|
// 1734 uint8 bypass;
|
|
// 1735
|
|
// 1736 if ( ZDApp_LeaveCtrl & ZDAPP_LEAVE_CTRL_SET )
|
|
// 1737 {
|
|
// 1738 bypass = TRUE;
|
|
// 1739 }
|
|
// 1740 else
|
|
// 1741 {
|
|
// 1742 bypass = FALSE;
|
|
// 1743 }
|
|
// 1744
|
|
// 1745 return bypass;
|
|
MOV DPTR,#ZDApp_LeaveCtrl
|
|
MOVX A,@DPTR
|
|
MOV C,0xE0 /* A */.0
|
|
CLR A
|
|
RLC A
|
|
MOV R1,A
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
// 1746 }
|
|
CFI EndBlock cfiBlock103
|
|
// 1747
|
|
// 1748 /*********************************************************************
|
|
// 1749 * @fn ZDApp_LeaveCtrlStartup
|
|
// 1750 *
|
|
// 1751 * @brief Check for startup conditions during a leave reset.
|
|
// 1752 *
|
|
// 1753 * @param state - devState_t determined by leave control logic
|
|
// 1754 * @param startDelay - startup delay
|
|
// 1755 *
|
|
// 1756 * @return none
|
|
// 1757 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1758 void ZDApp_LeaveCtrlStartup( devStates_t* state, uint16* startDelay )
|
|
ZDApp_LeaveCtrlStartup:
|
|
CFI Block cfiBlock104 Using cfiCommon0
|
|
CFI Function ZDApp_LeaveCtrlStartup
|
|
CODE
|
|
// 1759 {
|
|
FUNCALL ZDApp_LeaveCtrlStartup, ZDApp_LeaveCtrlReset
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 1760 *startDelay = 0;
|
|
MOV DPL,R4
|
|
MOV DPH,R5
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
// 1761
|
|
// 1762 if ( ZDApp_LeaveCtrl & ZDAPP_LEAVE_CTRL_SET )
|
|
MOV DPTR,#ZDApp_LeaveCtrl
|
|
MOVX A,@DPTR
|
|
MOV C,0xE0 /* A */.0
|
|
JNC ??ZDApp_LeaveCtrlStartup_0
|
|
// 1763 {
|
|
// 1764 if ( ZDApp_LeaveCtrl & ZDAPP_LEAVE_CTRL_RA )
|
|
MOV C,0xE0 /* A */.1
|
|
JNC ??ZDApp_LeaveCtrlStartup_1
|
|
// 1765 {
|
|
// 1766 *startDelay = LEAVE_RESET_DELAY;
|
|
MOV DPL,R4
|
|
MOV DPH,R5
|
|
MOV A,#-0x78
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,#0x13
|
|
SJMP ??ZDApp_LeaveCtrlStartup_2
|
|
// 1767 }
|
|
// 1768 else
|
|
// 1769 {
|
|
// 1770 *state = DEV_HOLD;
|
|
??ZDApp_LeaveCtrlStartup_1:
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
CLR A
|
|
??ZDApp_LeaveCtrlStartup_2:
|
|
MOVX @DPTR,A
|
|
// 1771 }
|
|
// 1772
|
|
// 1773 // Reset leave control logic
|
|
// 1774 ZDApp_LeaveCtrlReset();
|
|
; Setup parameters for call to function ZDApp_LeaveCtrlReset
|
|
LCALL `??ZDApp_LeaveCtrlReset::?relay`; Banked call to: ZDApp_LeaveCtrlReset
|
|
// 1775 }
|
|
// 1776 }
|
|
??ZDApp_LeaveCtrlStartup_0:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock104
|
|
// 1777
|
|
// 1778 /*********************************************************************
|
|
// 1779 * @fn ZDApp_LeaveReset
|
|
// 1780 *
|
|
// 1781 * @brief Setup a device reset due to a leave indication/confirm.
|
|
// 1782 *
|
|
// 1783 * @param ra - reassociate flag
|
|
// 1784 *
|
|
// 1785 * @return none
|
|
// 1786 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1787 void ZDApp_LeaveReset( uint8 ra )
|
|
ZDApp_LeaveReset:
|
|
CFI Block cfiBlock105 Using cfiCommon0
|
|
CFI Function ZDApp_LeaveReset
|
|
CODE
|
|
// 1788 {
|
|
FUNCALL ZDApp_LeaveReset, ZDApp_LeaveCtrlSet
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_LeaveReset, ZDApp_ResetTimerStart
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 1789 ZDApp_LeaveCtrlSet( ra );
|
|
; Setup parameters for call to function ZDApp_LeaveCtrlSet
|
|
LCALL `??ZDApp_LeaveCtrlSet::?relay`; Banked call to: ZDApp_LeaveCtrlSet
|
|
// 1790
|
|
// 1791 ZDApp_ResetTimerStart( LEAVE_RESET_DELAY );
|
|
; Setup parameters for call to function ZDApp_ResetTimerStart
|
|
MOV R2,#-0x78
|
|
MOV R3,#0x13
|
|
LCALL `??ZDApp_ResetTimerStart::?relay`; Banked call to: ZDApp_ResetTimerStart
|
|
// 1792 }
|
|
SJMP ??Subroutine52_0
|
|
CFI EndBlock cfiBlock105
|
|
// 1793
|
|
// 1794 /*********************************************************************
|
|
// 1795 * @fn ZDApp_LeaveUpdate
|
|
// 1796 *
|
|
// 1797 * @brief Update local device data related to leaving device.
|
|
// 1798 *
|
|
// 1799 * @param nwkAddr - NWK address of leaving device
|
|
// 1800 * @param extAddr - EXT address of leaving device
|
|
// 1801 * @param removeChildren - remove children of leaving device
|
|
// 1802 *
|
|
// 1803 * @return none
|
|
// 1804 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1805 void ZDApp_LeaveUpdate( uint16 nwkAddr, uint8* extAddr,
|
|
ZDApp_LeaveUpdate:
|
|
CFI Block cfiBlock106 Using cfiCommon0
|
|
CFI Function ZDApp_LeaveUpdate
|
|
CODE
|
|
// 1806 uint8 removeChildren )
|
|
// 1807 {
|
|
FUNCALL ZDApp_LeaveUpdate, NLME_RemoveChild
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R4
|
|
MOV R2,A
|
|
MOV A,R5
|
|
MOV R3,A
|
|
// 1808 /*
|
|
// 1809 AddrMgrEntry_t entry;
|
|
// 1810 */
|
|
// 1811 (void)nwkAddr; // Intentionally unreferenced parameter
|
|
// 1812
|
|
// 1813 // Remove if child
|
|
// 1814 if ( ZSTACK_ROUTER_BUILD )
|
|
// 1815 {
|
|
// 1816 NLME_RemoveChild( extAddr, removeChildren );
|
|
; Setup parameters for call to function NLME_RemoveChild
|
|
LCALL `??NLME_RemoveChild::?relay`; Banked call to: NLME_RemoveChild
|
|
// 1817 }
|
|
// 1818
|
|
// 1819 /*
|
|
// 1820 // Set NWK address to invalid
|
|
// 1821 entry.user = ADDRMGR_USER_DEFAULT;
|
|
// 1822 entry.nwkAddr = INVALID_NODE_ADDR;
|
|
// 1823 AddrMgrExtAddrSet( entry.extAddr, extAddr );
|
|
// 1824 AddrMgrEntryUpdate( &entry );
|
|
// 1825
|
|
// 1826 // Check
|
|
// 1827 if ( removeChildren == TRUE )
|
|
// 1828 {
|
|
// 1829 // Set index to INVALID_NODE_ADDR to start search
|
|
// 1830 entry.index = INVALID_NODE_ADDR;
|
|
// 1831
|
|
// 1832 // Get first entry
|
|
// 1833 AddrMgrEntryGetNext( &entry );
|
|
// 1834
|
|
// 1835 // Remove all descendents
|
|
// 1836 while ( entry.index != INVALID_NODE_ADDR )
|
|
// 1837 {
|
|
// 1838 // Check NWK address allocation algorithm
|
|
// 1839 if ( RTG_ANCESTOR( entry.nwkAddr, thisAddr ) != 0 )
|
|
// 1840 {
|
|
// 1841 // Set NWK address to invalid
|
|
// 1842 entry.nwkAddr = INVALID_NODE_ADDR;
|
|
// 1843 AddrMgrEntryUpdate( &entry );
|
|
// 1844 }
|
|
// 1845
|
|
// 1846 // Get next entry
|
|
// 1847 AddrMgrEntryGetNext( &entry );
|
|
// 1848 }
|
|
// 1849 }
|
|
// 1850 */
|
|
// 1851 }
|
|
SJMP ??Subroutine52_0
|
|
CFI EndBlock cfiBlock106
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine0:
|
|
CFI Block cfiBlock107 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
LCALL ??Subroutine43_0 & 0xFFFF
|
|
??CrossCallReturnLabel_65:
|
|
CFI EndBlock cfiBlock107
|
|
REQUIRE ??Subroutine52_0
|
|
; // Fall through to label ??Subroutine52_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine52_0:
|
|
CFI Block cfiBlock108 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV R7,#0x1
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
CFI EndBlock cfiBlock108
|
|
// 1852
|
|
// 1853 /*********************************************************************
|
|
// 1854 * @fn ZDApp_NetworkDiscoveryReq
|
|
// 1855 *
|
|
// 1856 * @brief Request a network discovery.
|
|
// 1857 *
|
|
// 1858 * @param scanChannels -
|
|
// 1859 * @param scanDuration -
|
|
// 1860 *
|
|
// 1861 * @return ZStatus_t
|
|
// 1862 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1863 ZStatus_t ZDApp_NetworkDiscoveryReq( uint32 scanChannels, uint8 scanDuration)
|
|
ZDApp_NetworkDiscoveryReq:
|
|
CFI Block cfiBlock109 Using cfiCommon0
|
|
CFI Function ZDApp_NetworkDiscoveryReq
|
|
CODE
|
|
// 1864 {
|
|
FUNCALL ZDApp_NetworkDiscoveryReq, NLME_NetworkDiscoveryRequest
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
MOV A,#-0xc
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
; Saved register size: 12
|
|
; Auto size: 0
|
|
// 1865 // Setup optional filters - tbd
|
|
// 1866
|
|
// 1867 // Request NLME network discovery
|
|
// 1868 return NLME_NetworkDiscoveryRequest(scanChannels, scanDuration);
|
|
; Setup parameters for call to function NLME_NetworkDiscoveryRequest
|
|
LCALL `??NLME_NetworkDiscoveryRequest::?relay`; Banked call to: NLME_NetworkDiscoveryRequest
|
|
LJMP ??Subroutine45_0 & 0xFFFF
|
|
// 1869 }
|
|
CFI EndBlock cfiBlock109
|
|
// 1870
|
|
// 1871 /*********************************************************************
|
|
// 1872 * @fn ZDApp_JoinReq
|
|
// 1873 *
|
|
// 1874 * @brief Request the device to join a parent in a network.
|
|
// 1875 *
|
|
// 1876 * @param channel -
|
|
// 1877 * @param panID -
|
|
// 1878 *
|
|
// 1879 * @return ZStatus_t
|
|
// 1880 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1881 ZStatus_t ZDApp_JoinReq( uint8 channel, uint16 panID, uint8 *extendedPanID,
|
|
ZDApp_JoinReq:
|
|
CFI Block cfiBlock110 Using cfiCommon0
|
|
CFI Function ZDApp_JoinReq
|
|
CODE
|
|
// 1882 uint16 chosenParent, uint8 parentDepth, uint8 stackProfile )
|
|
// 1883 {
|
|
FUNCALL ZDApp_JoinReq, ZDApp_NodeProfileSync
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_JoinReq, NLME_JoinRequest
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
MOV A,#-0xc
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
; Saved register size: 12
|
|
; Auto size: 0
|
|
MOV ?V2,R1
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
MOV ?V0,R4
|
|
MOV ?V1,R5
|
|
// 1884 // Sync up the node with the stack profile (In the case where a pro device
|
|
// 1885 // joins a non-pro network, or verse versa)
|
|
// 1886 ZDApp_NodeProfileSync( stackProfile);
|
|
; Setup parameters for call to function ZDApp_NodeProfileSync
|
|
MOV A,#0xf
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??ZDApp_NodeProfileSync::?relay`; Banked call to: ZDApp_NodeProfileSync
|
|
// 1887
|
|
// 1888 // Request NLME Join Request
|
|
// 1889 return NLME_JoinRequest(extendedPanID, panID,channel,
|
|
// 1890 ZDO_Config_Node_Descriptor.CapabilityFlags,
|
|
// 1891 chosenParent, parentDepth);
|
|
; Setup parameters for call to function NLME_JoinRequest
|
|
MOV A,#0xe
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOVX A,@DPTR
|
|
MOV ?V3,A
|
|
MOV R0,#?V3
|
|
LCALL ?PUSH_XSTACK_I_ONE
|
|
CFI CFA_XSP16 add(XSP16, 13)
|
|
MOV A,#0xd
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?PUSH_XSTACK8_X_TWO
|
|
CFI CFA_XSP16 add(XSP16, 15)
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor + 2
|
|
MOVX A,@DPTR
|
|
MOV ?V3,A
|
|
MOV R0,#?V3
|
|
LCALL ?PUSH_XSTACK_I_ONE
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
MOV R1,?V2
|
|
MOV A,R6
|
|
MOV R4,A
|
|
MOV A,R7
|
|
MOV R5,A
|
|
MOV R2,?V0
|
|
MOV R3,?V1
|
|
LCALL `??NLME_JoinRequest::?relay`; Banked call to: NLME_JoinRequest
|
|
MOV A,#0x4
|
|
LJMP ??Subroutine44_0 & 0xFFFF
|
|
// 1892
|
|
// 1893 }
|
|
CFI EndBlock cfiBlock110
|
|
// 1894
|
|
// 1895 /*********************************************************************
|
|
// 1896 * @fn ZDApp_DeviceConfigured
|
|
// 1897 *
|
|
// 1898 * @brief Check to see if the local device is configured (i.e., part
|
|
// 1899 * of a network).
|
|
// 1900 *
|
|
// 1901 * @param none
|
|
// 1902 *
|
|
// 1903 * @return TRUE if configured. FALSE, otherwise.
|
|
// 1904 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1905 uint8 ZDApp_DeviceConfigured( void )
|
|
ZDApp_DeviceConfigured:
|
|
CFI Block cfiBlock111 Using cfiCommon0
|
|
CFI Function ZDApp_DeviceConfigured
|
|
CODE
|
|
// 1906 {
|
|
FUNCALL ZDApp_DeviceConfigured, osal_nv_read
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 2
|
|
MOV A,#-0x2
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
// 1907 uint16 nwkAddr = INVALID_NODE_ADDR;
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOV A,#-0x2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
INC A
|
|
MOVX @DPTR,A
|
|
// 1908
|
|
// 1909 osal_nv_read( ZCD_NV_NIB, osal_offsetof( nwkIB_t, nwkDevAddress ),
|
|
// 1910 sizeof( uint16), &nwkAddr );
|
|
; Setup parameters for call to function osal_nv_read
|
|
MOV R0,?XSP + 0
|
|
MOV R1,?XSP + 1
|
|
MOV ?V0,R0
|
|
MOV ?V1,R1
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
MOV ?V0,#0x2
|
|
MOV ?V1,#0x0
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
MOV R4,#0x14
|
|
MOV R5,#0x0
|
|
MOV R2,#0x21
|
|
LCALL ?Subroutine30 & 0xFFFF
|
|
??CrossCallReturnLabel_42:
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
// 1911
|
|
// 1912 // Does the NIB have anything more than default?
|
|
// 1913 return ( nwkAddr == INVALID_NODE_ADDR ? FALSE : TRUE );
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOVX A,@DPTR
|
|
XRL A,#0xfe
|
|
JNZ ??ZDApp_DeviceConfigured_0
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
??ZDApp_DeviceConfigured_0:
|
|
JNZ ??ZDApp_DeviceConfigured_1
|
|
MOV R1,#0x0
|
|
SJMP ??ZDApp_DeviceConfigured_2
|
|
??ZDApp_DeviceConfigured_1:
|
|
MOV R1,#0x1
|
|
??ZDApp_DeviceConfigured_2:
|
|
CFI EndBlock cfiBlock111
|
|
REQUIRE ?Subroutine7
|
|
; // Fall through to label ?Subroutine7
|
|
// 1914 }
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine7:
|
|
CFI Block cfiBlock112 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV A,#0x2
|
|
LJMP ??Subroutine49_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock112
|
|
// 1915
|
|
// 1916 /*********************************************************************
|
|
// 1917 * CALLBACK FUNCTIONS
|
|
// 1918 */
|
|
// 1919
|
|
// 1920
|
|
// 1921 /*********************************************************************
|
|
// 1922 * @fn ZDApp_SendEventMsg()
|
|
// 1923 *
|
|
// 1924 * @brief
|
|
// 1925 *
|
|
// 1926 * Sends a Network Join message
|
|
// 1927 *
|
|
// 1928 * @param cmd - command ID
|
|
// 1929 * @param len - length (in bytes) of the buf field
|
|
// 1930 * @param buf - buffer for the rest of the message.
|
|
// 1931 *
|
|
// 1932 * @return none
|
|
// 1933 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1934 void ZDApp_SendEventMsg( uint8 cmd, uint8 len, uint8 *buf )
|
|
ZDApp_SendEventMsg:
|
|
CFI Block cfiBlock113 Using cfiCommon0
|
|
CFI Function ZDApp_SendEventMsg
|
|
CODE
|
|
// 1935 {
|
|
FUNCALL ZDApp_SendEventMsg, ZDApp_SendMsg
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R2
|
|
// 1936 ZDApp_SendMsg( ZDAppTaskID, cmd, len, buf );
|
|
; Setup parameters for call to function ZDApp_SendMsg
|
|
MOV R3,A
|
|
MOV A,R1
|
|
MOV R2,A
|
|
LCALL ?Subroutine24 & 0xFFFF
|
|
// 1937 }
|
|
??CrossCallReturnLabel_25:
|
|
LJMP ??Subroutine52_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock113
|
|
// 1938
|
|
// 1939 /*********************************************************************
|
|
// 1940 * @fn ZDApp_SendMsg()
|
|
// 1941 *
|
|
// 1942 * @brief Sends a OSAL message
|
|
// 1943 *
|
|
// 1944 * @param taskID - Where to send the message
|
|
// 1945 * @param cmd - command ID
|
|
// 1946 * @param len - length (in bytes) of the buf field
|
|
// 1947 * @param buf - buffer for the rest of the message.
|
|
// 1948 *
|
|
// 1949 * @return none
|
|
// 1950 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1951 void ZDApp_SendMsg( uint8 taskID, uint8 cmd, uint8 len, uint8 *buf )
|
|
ZDApp_SendMsg:
|
|
CFI Block cfiBlock114 Using cfiCommon0
|
|
CFI Function ZDApp_SendMsg
|
|
CODE
|
|
// 1952 {
|
|
FUNCALL ZDApp_SendMsg, osal_msg_allocate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_SendMsg, osal_memcpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 19, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 19, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_SendMsg, osal_msg_send
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
REQUIRE ?V4
|
|
REQUIRE ?V5
|
|
REQUIRE ?V6
|
|
REQUIRE ?V7
|
|
MOV A,#-0x10
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
; Saved register size: 16
|
|
; Auto size: 0
|
|
MOV ?V7,R1
|
|
MOV ?V6,R2
|
|
MOV ?V3,R3
|
|
MOV ?V0,R4
|
|
MOV ?V1,R5
|
|
// 1953 osal_event_hdr_t *msgPtr;
|
|
// 1954
|
|
// 1955 // Send the address to the task
|
|
// 1956 msgPtr = (osal_event_hdr_t *)osal_msg_allocate( len );
|
|
; Setup parameters for call to function osal_msg_allocate
|
|
MOV R2,?V3
|
|
MOV R3,#0x0
|
|
LCALL `??osal_msg_allocate::?relay`; Banked call to: osal_msg_allocate
|
|
MOV ?V4,R2
|
|
MOV ?V5,R3
|
|
MOV R6,?V4
|
|
MOV R7,?V5
|
|
// 1957 if ( msgPtr )
|
|
MOV A,R2
|
|
ORL A,R7
|
|
JZ ??ZDApp_SendMsg_0
|
|
// 1958 {
|
|
// 1959 if ( (len > 0) && (buf != NULL) )
|
|
MOV A,?V3
|
|
JZ ??ZDApp_SendMsg_1
|
|
MOV A,?V0
|
|
ORL A,?V1
|
|
JZ ??ZDApp_SendMsg_1
|
|
// 1960 osal_memcpy( msgPtr, buf, len );
|
|
; Setup parameters for call to function osal_memcpy
|
|
MOV ?V2,#0x0
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_THREE
|
|
CFI CFA_XSP16 add(XSP16, 19)
|
|
MOV R4,?V3
|
|
MOV R5,#0x0
|
|
LCALL `??osal_memcpy::?relay`; Banked call to: osal_memcpy
|
|
MOV A,#0x3
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
// 1961
|
|
// 1962 msgPtr->event = cmd;
|
|
??ZDApp_SendMsg_1:
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
MOV A,?V6
|
|
MOVX @DPTR,A
|
|
// 1963 osal_msg_send( taskID, (uint8 *)msgPtr );
|
|
; Setup parameters for call to function osal_msg_send
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
MOV R1,?V7
|
|
LCALL `??osal_msg_send::?relay`; Banked call to: osal_msg_send
|
|
// 1964 }
|
|
// 1965 }
|
|
??ZDApp_SendMsg_0:
|
|
MOV R7,#0x8
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
CFI EndBlock cfiBlock114
|
|
// 1966
|
|
// 1967 /*********************************************************************
|
|
// 1968 * Call Back Functions from NWK - API
|
|
// 1969 */
|
|
// 1970
|
|
// 1971 /*********************************************************************
|
|
// 1972 * @fn ZDO_NetworkDiscoveryConfirmCB
|
|
// 1973 *
|
|
// 1974 * @brief This function returns a choice of PAN to join.
|
|
// 1975 *
|
|
// 1976 * @param status - return status of the nwk discovery confirm
|
|
// 1977 *
|
|
// 1978 * @return ZStatus_t
|
|
// 1979 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1980 ZStatus_t ZDO_NetworkDiscoveryConfirmCB(uint8 status)
|
|
ZDO_NetworkDiscoveryConfirmCB:
|
|
CFI Block cfiBlock115 Using cfiCommon0
|
|
CFI Function ZDO_NetworkDiscoveryConfirmCB
|
|
CODE
|
|
// 1981 {
|
|
FUNCALL ZDO_NetworkDiscoveryConfirmCB, ZDApp_SendMsg
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 3, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 3, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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: 3
|
|
MOV A,#-0x3
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 3)
|
|
MOV A,R1
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOVX @DPTR,A
|
|
// 1982 osal_event_hdr_t msg;
|
|
// 1983
|
|
// 1984 // If Scan is initiated by ZDO_MGMT_NWK_DISC_REQ
|
|
// 1985 // Send ZDO_MGMT_NWK_DISC_RSP back
|
|
// 1986 #if defined ( ZDO_MGMT_NWKDISC_RESPONSE )
|
|
// 1987 if ( zdappMgmtNwkDiscReqInProgress )
|
|
// 1988 {
|
|
// 1989 zdappMgmtNwkDiscReqInProgress = false;
|
|
// 1990 ZDO_FinishProcessingMgmtNwkDiscReq();
|
|
// 1991 }
|
|
// 1992 else
|
|
// 1993 #endif
|
|
// 1994 {
|
|
// 1995 // Pass the confirm to another task if it registers the callback
|
|
// 1996 // Otherwise, pass the confirm to ZDApp.
|
|
// 1997 if (zdoCBFunc[ZDO_NWK_DISCOVERY_CNF_CBID] != NULL )
|
|
MOV DPTR,#zdoCBFunc + 4
|
|
LCALL ?Subroutine14 & 0xFFFF
|
|
??CrossCallReturnLabel_9:
|
|
JZ ??ZDO_NetworkDiscoveryConfirmCB_0
|
|
// 1998 {
|
|
// 1999 zdoCBFunc[ZDO_NWK_DISCOVERY_CNF_CBID]( (void*)&status );
|
|
; Setup parameters for indirect call
|
|
MOV R2,?XSP + 0
|
|
MOV R3,?XSP + 1
|
|
LCALL ??Subroutine57_0 & 0xFFFF
|
|
// 2000 }
|
|
??CrossCallReturnLabel_95:
|
|
LCALL ?CALL_IND
|
|
SJMP ??CrossCallReturnLabel_26
|
|
// 2001 else
|
|
// 2002 {
|
|
// 2003 // Otherwise, send scan confirm to ZDApp task to proceed
|
|
// 2004 msg.status = ZDO_SUCCESS;
|
|
??ZDO_NetworkDiscoveryConfirmCB_0:
|
|
MOV A,#0x2
|
|
LCALL ?XSTACK_DISP0_8
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
// 2005 ZDApp_SendMsg( ZDAppTaskID, ZDO_NWK_DISC_CNF, sizeof(osal_event_hdr_t), (uint8 *)&msg );
|
|
; Setup parameters for call to function ZDApp_SendMsg
|
|
INC A
|
|
LCALL ?XSTACK_DISP102_8
|
|
MOV R3,#0x2
|
|
MOV R2,#0x1
|
|
LCALL ?Subroutine24 & 0xFFFF
|
|
// 2006 }
|
|
// 2007 }
|
|
// 2008 return (ZSuccess);
|
|
??CrossCallReturnLabel_26:
|
|
MOV R1,#0x0
|
|
MOV A,#0x3
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI EndBlock cfiBlock115
|
|
REQUIRE ?Subroutine3
|
|
; // Fall through to label ?Subroutine3
|
|
// 2009 } // ZDO_NetworkDiscoveryConfirmCB
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine3:
|
|
CFI Block cfiBlock116 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+-5
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
POP DPH
|
|
CFI CFA_SP SP+-4
|
|
CFI DPH0 SameValue
|
|
POP DPL
|
|
CFI CFA_SP SP+-3
|
|
CFI DPL0 SameValue
|
|
LJMP ?BRET
|
|
CFI EndBlock cfiBlock116
|
|
// 2010
|
|
// 2011 /*********************************************************************
|
|
// 2012 * @fn ZDApp_NwkDescListProcessing
|
|
// 2013 *
|
|
// 2014 * @brief This function process the network discovery result and select
|
|
// 2015 * a parent device to join itself.
|
|
// 2016 *
|
|
// 2017 * @param none
|
|
// 2018 *
|
|
// 2019 * @return ZStatus_t
|
|
// 2020 */
|
|
// 2021 #define STACK_PROFILE_MAX 2
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2022 networkDesc_t* ZDApp_NwkDescListProcessing(void)
|
|
ZDApp_NwkDescListProcessing:
|
|
CFI Block cfiBlock117 Using cfiCommon0
|
|
CFI Function ZDApp_NwkDescListProcessing
|
|
CODE
|
|
// 2023 {
|
|
FUNCALL ZDApp_NwkDescListProcessing, nwk_getNwkDescList
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_NwkDescListProcessing, nwk_getNwkDescList
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_NwkDescListProcessing, nwk_ExtPANIDValid
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_NwkDescListProcessing, sAddrExtCmp
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
REQUIRE ?V4
|
|
REQUIRE ?V5
|
|
MOV A,#-0xe
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
; Saved register size: 14
|
|
; Auto size: 0
|
|
// 2024 networkDesc_t *pNwkDesc;
|
|
// 2025 uint8 i, ResultCount = 0;
|
|
MOV ?V3,#0x0
|
|
// 2026 uint8 stackProfile;
|
|
// 2027 uint8 stackProfilePro;
|
|
// 2028 uint8 selected;
|
|
// 2029
|
|
// 2030 // Count the number of nwk descriptors in the list
|
|
// 2031 pNwkDesc = nwk_getNwkDescList();
|
|
; Setup parameters for call to function nwk_getNwkDescList
|
|
LCALL `??nwk_getNwkDescList::?relay`; Banked call to: nwk_getNwkDescList
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
MOV R6,?V0
|
|
MOV R7,?V1
|
|
SJMP ??CrossCallReturnLabel_91
|
|
// 2032 while (pNwkDesc)
|
|
// 2033 {
|
|
// 2034 ResultCount++;
|
|
??ZDApp_NwkDescListProcessing_0:
|
|
INC ?V3
|
|
// 2035 pNwkDesc = pNwkDesc->nextDesc;
|
|
LCALL ?Subroutine20 & 0xFFFF
|
|
// 2036 }
|
|
??CrossCallReturnLabel_91:
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JNZ ??ZDApp_NwkDescListProcessing_0
|
|
// 2037
|
|
// 2038 // process discovery results
|
|
// 2039 stackProfilePro = FALSE;
|
|
MOV ?V0,#0x0
|
|
// 2040 selected = FALSE;
|
|
// 2041
|
|
// 2042
|
|
// 2043 for ( stackProfile = 0; stackProfile < STACK_PROFILE_MAX; stackProfile++ )
|
|
MOV ?V2,#0x0
|
|
// 2044 {
|
|
// 2045 pNwkDesc = nwk_getNwkDescList();
|
|
??ZDApp_NwkDescListProcessing_1:
|
|
; Setup parameters for call to function nwk_getNwkDescList
|
|
LCALL `??nwk_getNwkDescList::?relay`; Banked call to: nwk_getNwkDescList
|
|
MOV ?V4,R2
|
|
MOV ?V5,R3
|
|
MOV R6,?V4
|
|
MOV R7,?V5
|
|
// 2046 for ( i = 0; i < ResultCount; i++, pNwkDesc = pNwkDesc->nextDesc )
|
|
MOV ?V1,#0x0
|
|
SJMP ??CrossCallReturnLabel_92
|
|
// 2047 {
|
|
// 2048 if ( zgConfigPANID != 0xFFFF )
|
|
// 2049 {
|
|
// 2050 // PAN Id is preconfigured. check if it matches
|
|
// 2051 if ( pNwkDesc->panId != zgConfigPANID )
|
|
// 2052 continue;
|
|
// 2053 }
|
|
// 2054
|
|
// 2055 if ( nwk_ExtPANIDValid( ZDO_UseExtendedPANID) == true )
|
|
// 2056 {
|
|
// 2057 // If the extended Pan ID is commissioned to a non zero value
|
|
// 2058 // Only join the Pan that has match EPID
|
|
// 2059 if ( osal_ExtAddrEqual( ZDO_UseExtendedPANID, pNwkDesc->extendedPANID) == false )
|
|
// 2060 continue;
|
|
// 2061
|
|
// 2062 }
|
|
// 2063
|
|
// 2064 // check that network is allowing joining
|
|
// 2065 if ( ZSTACK_ROUTER_BUILD )
|
|
// 2066 {
|
|
// 2067 if ( stackProfilePro == FALSE )
|
|
// 2068 {
|
|
// 2069 if ( !pNwkDesc->routerCapacity )
|
|
// 2070 {
|
|
// 2071 continue;
|
|
// 2072 }
|
|
// 2073 }
|
|
// 2074 else
|
|
// 2075 {
|
|
// 2076 if ( !pNwkDesc->deviceCapacity )
|
|
// 2077 {
|
|
// 2078 continue;
|
|
// 2079 }
|
|
// 2080 }
|
|
// 2081 }
|
|
// 2082 else if ( ZSTACK_END_DEVICE_BUILD )
|
|
// 2083 {
|
|
// 2084 if ( !pNwkDesc->deviceCapacity )
|
|
// 2085 {
|
|
// 2086 continue;
|
|
// 2087 }
|
|
// 2088 }
|
|
// 2089
|
|
// 2090 // check version of zigbee protocol
|
|
// 2091 if ( pNwkDesc->version != _NIB.nwkProtocolVersion )
|
|
// 2092 continue;
|
|
// 2093
|
|
// 2094 // check version of stack profile
|
|
// 2095 if ( pNwkDesc->stackProfile != zgStackProfile )
|
|
// 2096 {
|
|
// 2097 if ( ((zgStackProfile == HOME_CONTROLS) && (pNwkDesc->stackProfile == ZIGBEEPRO_PROFILE))
|
|
// 2098 || ((zgStackProfile == ZIGBEEPRO_PROFILE) && (pNwkDesc->stackProfile == HOME_CONTROLS)) )
|
|
??ZDApp_NwkDescListProcessing_2:
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JNZ ??ZDApp_NwkDescListProcessing_3
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JNZ ??ZDApp_NwkDescListProcessing_3
|
|
// 2099 {
|
|
// 2100 stackProfilePro = TRUE;
|
|
??ZDApp_NwkDescListProcessing_4:
|
|
MOV ?V0,#0x1
|
|
// 2101 }
|
|
// 2102
|
|
// 2103 if ( stackProfile == 0 )
|
|
??ZDApp_NwkDescListProcessing_3:
|
|
MOV A,?V2
|
|
JZ $+5
|
|
LJMP ??ZDApp_NwkDescListProcessing_5 & 0xFFFF
|
|
??ZDApp_NwkDescListProcessing_6:
|
|
INC ?V1
|
|
LCALL ?Subroutine20 & 0xFFFF
|
|
??CrossCallReturnLabel_92:
|
|
MOV A,?V1
|
|
CLR C
|
|
SUBB A,?V3
|
|
JC $+5
|
|
LJMP ??ZDApp_NwkDescListProcessing_7 & 0xFFFF
|
|
MOV DPTR,#zgConfigPANID
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
JNZ ??ZDApp_NwkDescListProcessing_8
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
??ZDApp_NwkDescListProcessing_8:
|
|
JZ ??ZDApp_NwkDescListProcessing_9
|
|
LCALL ?Subroutine18 & 0xFFFF
|
|
??CrossCallReturnLabel_86:
|
|
MOV DPTR,#zgConfigPANID
|
|
MOVX A,@DPTR
|
|
XRL A,R0
|
|
JNZ ??ZDApp_NwkDescListProcessing_10
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XRL A,R1
|
|
??ZDApp_NwkDescListProcessing_10:
|
|
JNZ ??ZDApp_NwkDescListProcessing_6
|
|
??ZDApp_NwkDescListProcessing_9:
|
|
; Setup parameters for call to function nwk_ExtPANIDValid
|
|
MOV R2,#ZDO_UseExtendedPANID & 0xff
|
|
MOV R3,#(ZDO_UseExtendedPANID >> 8) & 0xff
|
|
LCALL `??nwk_ExtPANIDValid::?relay`; Banked call to: nwk_ExtPANIDValid
|
|
MOV A,R1
|
|
XRL A,#0x1
|
|
JNZ ??ZDApp_NwkDescListProcessing_11
|
|
; Setup parameters for call to function sAddrExtCmp
|
|
MOV A,R6
|
|
ADD A,#0xb
|
|
MOV R4,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV R5,A
|
|
MOV R2,#ZDO_UseExtendedPANID & 0xff
|
|
MOV R3,#(ZDO_UseExtendedPANID >> 8) & 0xff
|
|
LCALL `??sAddrExtCmp::?relay`; Banked call to: sAddrExtCmp
|
|
MOV A,R1
|
|
JZ ??ZDApp_NwkDescListProcessing_6
|
|
??ZDApp_NwkDescListProcessing_11:
|
|
MOV A,?V0
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
JNZ ??ZDApp_NwkDescListProcessing_12
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDApp_NwkDescListProcessing_13
|
|
SJMP ??ZDApp_NwkDescListProcessing_6
|
|
??ZDApp_NwkDescListProcessing_12:
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
JZ ??ZDApp_NwkDescListProcessing_6
|
|
??ZDApp_NwkDescListProcessing_13:
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
MOV DPTR,#_NIB + 17
|
|
MOVX A,@DPTR
|
|
XRL A,R0
|
|
JNZ ??ZDApp_NwkDescListProcessing_6
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
MOV DPTR,#zgStackProfile
|
|
MOVX A,@DPTR
|
|
XRL A,R0
|
|
JZ ??ZDApp_NwkDescListProcessing_5
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JZ $+5
|
|
LJMP ??ZDApp_NwkDescListProcessing_2 & 0xFFFF
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JZ $+5
|
|
LJMP ??ZDApp_NwkDescListProcessing_3 & 0xFFFF
|
|
LJMP ??ZDApp_NwkDescListProcessing_4 & 0xFFFF
|
|
// 2104 {
|
|
// 2105 continue;
|
|
// 2106 }
|
|
// 2107 }
|
|
// 2108
|
|
// 2109 break;
|
|
// 2110 }
|
|
// 2111
|
|
// 2112 if (i < ResultCount)
|
|
// 2113 {
|
|
// 2114 selected = TRUE;
|
|
// 2115 break;
|
|
// 2116 }
|
|
// 2117
|
|
// 2118 // break if selected or stack profile pro wasn't found
|
|
// 2119 if ( (selected == TRUE) || (stackProfilePro == FALSE) )
|
|
??ZDApp_NwkDescListProcessing_7:
|
|
MOV A,?V0
|
|
JZ ??ZDApp_NwkDescListProcessing_14
|
|
// 2120 {
|
|
// 2121 break;
|
|
// 2122 }
|
|
// 2123 }
|
|
INC ?V2
|
|
MOV A,?V2
|
|
CLR C
|
|
SUBB A,#0x2
|
|
JNC $+5
|
|
LJMP ??ZDApp_NwkDescListProcessing_1 & 0xFFFF
|
|
// 2124
|
|
// 2125 if ( i == ResultCount )
|
|
??ZDApp_NwkDescListProcessing_14:
|
|
MOV A,?V3
|
|
XRL A,?V1
|
|
JNZ ??ZDApp_NwkDescListProcessing_5
|
|
// 2126 {
|
|
// 2127 return (NULL); // couldn't find appropriate PAN to join !
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
SJMP ??ZDApp_NwkDescListProcessing_15
|
|
// 2128 }
|
|
// 2129 else
|
|
// 2130 {
|
|
// 2131 return (pNwkDesc);
|
|
??ZDApp_NwkDescListProcessing_5:
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
// 2132 }
|
|
??ZDApp_NwkDescListProcessing_15:
|
|
CFI EndBlock cfiBlock117
|
|
REQUIRE ?Subroutine5
|
|
; // Fall through to label ?Subroutine5
|
|
// 2133 }// ZDApp_NwkDescListProcessing()
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine5:
|
|
CFI Block cfiBlock118 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV R7,#0x6
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
CFI EndBlock cfiBlock118
|
|
// 2134
|
|
// 2135 /*********************************************************************
|
|
// 2136 * @fn ZDO_NetworkFormationConfirmCB
|
|
// 2137 *
|
|
// 2138 * @brief This function reports the results of the request to
|
|
// 2139 * initialize a coordinator in a network.
|
|
// 2140 *
|
|
// 2141 * @param Status - Result of NLME_NetworkFormationRequest()
|
|
// 2142 *
|
|
// 2143 * @return none
|
|
// 2144 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2145 void ZDO_NetworkFormationConfirmCB( ZStatus_t Status )
|
|
ZDO_NetworkFormationConfirmCB:
|
|
CFI Block cfiBlock119 Using cfiCommon0
|
|
CFI Function ZDO_NetworkFormationConfirmCB
|
|
CODE
|
|
// 2146 {
|
|
FUNCALL ZDO_NetworkFormationConfirmCB, osal_set_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
// 2147 nwkStatus = (byte)Status;
|
|
MOV DPTR,#nwkStatus
|
|
MOVX @DPTR,A
|
|
// 2148
|
|
// 2149 if ( Status == ZSUCCESS )
|
|
JNZ ??ZDO_NetworkFormationConfirmCB_0
|
|
// 2150 {
|
|
// 2151 #if 0
|
|
// 2152 // LED on shows Coordinator started
|
|
// 2153 HalLedSet ( HAL_LED_3, HAL_LED_MODE_ON );
|
|
// 2154
|
|
// 2155 // LED off forgets HOLD_AUTO_START
|
|
// 2156 HalLedSet (HAL_LED_4, HAL_LED_MODE_OFF);
|
|
// 2157 #endif
|
|
// 2158 #if defined ( ZBIT )
|
|
// 2159 SIM_SetColor(0xd0ffd0);
|
|
// 2160 #endif
|
|
// 2161
|
|
// 2162 if ( devState == DEV_HOLD )
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDO_NetworkFormationConfirmCB_0
|
|
// 2163 {
|
|
// 2164 // Began with HOLD_AUTO_START
|
|
// 2165 devState = DEV_COORD_STARTING;
|
|
MOV A,#0x8
|
|
MOVX @DPTR,A
|
|
// 2166 }
|
|
// 2167 }
|
|
// 2168 #if defined(BLINK_LEDS)
|
|
// 2169 else
|
|
// 2170 {
|
|
// 2171 #if 0
|
|
// 2172 HalLedSet ( HAL_LED_3, HAL_LED_MODE_FLASH ); // Flash LED to show failure
|
|
// 2173 #endif
|
|
// 2174 }
|
|
// 2175 #endif
|
|
// 2176
|
|
// 2177 osal_set_event( ZDAppTaskID, ZDO_NETWORK_START );
|
|
??ZDO_NetworkFormationConfirmCB_0:
|
|
; Setup parameters for call to function osal_set_event
|
|
MOV R2,#0x2
|
|
LJMP ?Subroutine0 & 0xFFFF
|
|
// 2178 }
|
|
CFI EndBlock cfiBlock119
|
|
// 2179
|
|
// 2180 /****************************************************************************
|
|
// 2181 * @fn ZDApp_beaconIndProcessing
|
|
// 2182 *
|
|
// 2183 * @brief This function processes the incoming beacon indication.
|
|
// 2184 *
|
|
// 2185 * When another task (MT or App) is registered to process
|
|
// 2186 * beacon indication themselves, this function will parse the
|
|
// 2187 * beacon payload and pass the beacon descriptor to that task
|
|
// 2188 * If no other tasks registered, this function will process
|
|
// 2189 * the beacon payload and generate the network descriptor link
|
|
// 2190 * list.
|
|
// 2191 *
|
|
// 2192 * @param
|
|
// 2193 *
|
|
// 2194 * @return none
|
|
// 2195 *
|
|
// 2196 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2197 void ZDO_beaconNotifyIndCB( NLME_beaconInd_t *pBeacon )
|
|
ZDO_beaconNotifyIndCB:
|
|
CFI Block cfiBlock120 Using cfiCommon0
|
|
CFI Function ZDO_beaconNotifyIndCB
|
|
CODE
|
|
// 2198 {
|
|
FUNCALL ZDO_beaconNotifyIndCB, osal_mem_alloc
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_beaconNotifyIndCB, osal_memset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_beaconNotifyIndCB, sAddrExtCpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_beaconNotifyIndCB, osal_memset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
REQUIRE ?V4
|
|
REQUIRE ?V5
|
|
MOV A,#-0xe
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
; Saved register size: 14
|
|
; Auto size: 0
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
// 2199 // Pass the beacon Indication to another task if it registers the callback
|
|
// 2200 // Otherwise, process the beacon notification here.
|
|
// 2201 if (zdoCBFunc[ZDO_BEACON_NOTIFY_IND_CBID] != NULL )
|
|
MOV DPTR,#zdoCBFunc + 6
|
|
LCALL ?Subroutine14 & 0xFFFF
|
|
??CrossCallReturnLabel_10:
|
|
JZ ??ZDO_beaconNotifyIndCB_0
|
|
// 2202 {
|
|
// 2203 zdoCBFunc[ZDO_BEACON_NOTIFY_IND_CBID]( (void*)pBeacon );
|
|
; Setup parameters for indirect call
|
|
LCALL ??Subroutine57_0 & 0xFFFF
|
|
// 2204 }
|
|
??CrossCallReturnLabel_96:
|
|
LCALL ?CALL_IND
|
|
LJMP ??ZDO_beaconNotifyIndCB_1 & 0xFFFF
|
|
// 2205 else
|
|
// 2206 {
|
|
// 2207 networkDesc_t *pNwkDesc;
|
|
// 2208 networkDesc_t *pLastNwkDesc;
|
|
// 2209 uint8 found = false;
|
|
// 2210
|
|
// 2211 // Add the network to the Network Descriptor List
|
|
// 2212 pNwkDesc = NwkDescList;
|
|
??ZDO_beaconNotifyIndCB_0:
|
|
MOV DPTR,#NwkDescList
|
|
LCALL ??Subroutine54_0 & 0xFFFF
|
|
// 2213 pLastNwkDesc = NwkDescList;
|
|
??CrossCallReturnLabel_88:
|
|
MOV DPTR,#NwkDescList
|
|
MOVX A,@DPTR
|
|
MOV ?V2,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV ?V3,A
|
|
SJMP ??CrossCallReturnLabel_93
|
|
// 2214 while (pNwkDesc)
|
|
// 2215 {
|
|
// 2216 if ((pNwkDesc->panId == pBeacon->panID) &&
|
|
// 2217 (pNwkDesc->logicalChannel == pBeacon->logicalChannel))
|
|
??ZDO_beaconNotifyIndCB_2:
|
|
LCALL ?Subroutine18 & 0xFFFF
|
|
??CrossCallReturnLabel_87:
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XRL A,R0
|
|
JNZ ??ZDO_beaconNotifyIndCB_3
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XRL A,R1
|
|
??ZDO_beaconNotifyIndCB_3:
|
|
JNZ ??ZDO_beaconNotifyIndCB_4
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XRL A,R0
|
|
JZ ??ZDO_beaconNotifyIndCB_5
|
|
// 2218 {
|
|
// 2219 found = true;
|
|
// 2220 break;
|
|
// 2221 }
|
|
// 2222 pLastNwkDesc = pNwkDesc;
|
|
??ZDO_beaconNotifyIndCB_4:
|
|
MOV ?V2,R6
|
|
MOV ?V3,R7
|
|
// 2223 pNwkDesc = pNwkDesc->nextDesc;
|
|
LCALL ?Subroutine20 & 0xFFFF
|
|
// 2224 }
|
|
??CrossCallReturnLabel_93:
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JNZ ??ZDO_beaconNotifyIndCB_2
|
|
// 2225
|
|
// 2226 // If no existing descriptor found, make a new one and add to the list
|
|
// 2227 if (found == false)
|
|
// 2228 {
|
|
// 2229 pNwkDesc = osal_mem_alloc( sizeof(networkDesc_t) );
|
|
; Setup parameters for call to function osal_mem_alloc
|
|
MOV R2,#0x16
|
|
MOV R3,#0x0
|
|
LCALL `??osal_mem_alloc::?relay`; Banked call to: osal_mem_alloc
|
|
MOV ?V4,R2
|
|
MOV ?V5,R3
|
|
MOV R6,?V4
|
|
MOV R7,?V5
|
|
// 2230 if ( !pNwkDesc )
|
|
MOV A,R2
|
|
ORL A,R7
|
|
JNZ $+5
|
|
LJMP ??ZDO_beaconNotifyIndCB_1 & 0xFFFF
|
|
// 2231 {
|
|
// 2232 // Memory alloc failed, discard this beacon
|
|
// 2233 return;
|
|
// 2234 }
|
|
// 2235
|
|
// 2236 // Clear the network descriptor
|
|
// 2237 osal_memset( pNwkDesc, 0, sizeof(networkDesc_t) );
|
|
; Setup parameters for call to function osal_memset
|
|
MOV R4,#0x16
|
|
MOV R5,#0x0
|
|
MOV R1,#0x0
|
|
LCALL `??osal_memset::?relay`; Banked call to: osal_memset
|
|
// 2238
|
|
// 2239 // Initialize the descriptor
|
|
// 2240 pNwkDesc->chosenRouter = INVALID_NODE_ADDR;
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOV A,#-0x2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
INC A
|
|
MOVX @DPTR,A
|
|
// 2241 pNwkDesc->chosenRouterDepth = 0xFF;
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
// 2242
|
|
// 2243 // Save new entry into the descriptor list
|
|
// 2244 if ( !NwkDescList )
|
|
MOV DPTR,#NwkDescList
|
|
LCALL ?Subroutine14 & 0xFFFF
|
|
??CrossCallReturnLabel_11:
|
|
JNZ ??ZDO_beaconNotifyIndCB_6
|
|
// 2245 {
|
|
// 2246 NwkDescList = pNwkDesc;
|
|
MOV DPTR,#NwkDescList
|
|
SJMP ??ZDO_beaconNotifyIndCB_7
|
|
// 2247 }
|
|
// 2248 else
|
|
// 2249 {
|
|
// 2250 pLastNwkDesc->nextDesc = pNwkDesc;
|
|
??ZDO_beaconNotifyIndCB_6:
|
|
MOV A,?V2
|
|
ADD A,#0x14
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,?V3
|
|
MOV DPH,A
|
|
??ZDO_beaconNotifyIndCB_7:
|
|
MOV A,R6
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R7
|
|
MOVX @DPTR,A
|
|
// 2251 }
|
|
// 2252 }
|
|
// 2253
|
|
// 2254 // Update the descriptor with the incoming beacon
|
|
// 2255 pNwkDesc->stackProfile = pBeacon->stackProfile;
|
|
??ZDO_beaconNotifyIndCB_5:
|
|
MOV DPL,?V0
|
|
MOV DPH,?V1
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
LCALL ?Subroutine25 & 0xFFFF
|
|
??CrossCallReturnLabel_29:
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
// 2256 pNwkDesc->version = pBeacon->protocolVersion;
|
|
MOV A,?V0
|
|
ADD A,#0x8
|
|
MOV R0,A
|
|
CLR A
|
|
ADDC A,?V1
|
|
MOV R1,A
|
|
MOV DPL,R0
|
|
MOV DPH,A
|
|
LCALL ?Subroutine25 & 0xFFFF
|
|
??CrossCallReturnLabel_30:
|
|
LCALL ?Subroutine11 & 0xFFFF
|
|
// 2257 pNwkDesc->logicalChannel = pBeacon->logicalChannel;
|
|
??CrossCallReturnLabel_2:
|
|
MOVX A,@DPTR
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
LCALL ?Subroutine36 & 0xFFFF
|
|
// 2258 pNwkDesc->panId = pBeacon->panID;
|
|
??CrossCallReturnLabel_47:
|
|
LCALL ?Subroutine38 & 0xFFFF
|
|
??CrossCallReturnLabel_53:
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
LCALL ??Subroutine60_0 & 0xFFFF
|
|
// 2259 pNwkDesc->updateId = pBeacon->updateID;
|
|
??CrossCallReturnLabel_118:
|
|
MOV A,?V0
|
|
ADD A,#0xc
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,?V1
|
|
MOV DPH,A
|
|
MOVX A,@DPTR
|
|
PUSH A
|
|
CFI CFA_SP SP+-1
|
|
MOV A,R6
|
|
ADD A,#0x13
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV DPH,A
|
|
POP A
|
|
CFI CFA_SP SP+0
|
|
MOVX @DPTR,A
|
|
// 2260
|
|
// 2261 // Save the extended PAN ID from the beacon payload only if 1.1 version network
|
|
// 2262 if ( pBeacon->protocolVersion != ZB_PROT_V1_0 )
|
|
MOV DPL,R0
|
|
MOV DPH,R1
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JZ ??ZDO_beaconNotifyIndCB_8
|
|
// 2263 {
|
|
// 2264 osal_cpyExtAddr( pNwkDesc->extendedPANID, pBeacon->extendedPanID );
|
|
; Setup parameters for call to function sAddrExtCpy
|
|
MOV A,?V0
|
|
ADD A,#0xd
|
|
MOV R4,A
|
|
CLR A
|
|
ADDC A,?V1
|
|
LCALL ?Subroutine35 & 0xFFFF
|
|
// 2265 }
|
|
??CrossCallReturnLabel_72:
|
|
LCALL `??sAddrExtCpy::?relay`; Banked call to: sAddrExtCpy
|
|
SJMP ??ZDO_beaconNotifyIndCB_9
|
|
// 2266 else
|
|
// 2267 {
|
|
// 2268 osal_memset( pNwkDesc->extendedPANID, 0xFF, Z_EXTADDR_LEN );
|
|
??ZDO_beaconNotifyIndCB_8:
|
|
; Setup parameters for call to function osal_memset
|
|
MOV R4,#0x8
|
|
MOV R5,#0x0
|
|
MOV R1,#-0x1
|
|
LCALL ??Subroutine47_0 & 0xFFFF
|
|
// 2269 }
|
|
??CrossCallReturnLabel_70:
|
|
LCALL `??osal_memset::?relay`; Banked call to: osal_memset
|
|
// 2270
|
|
// 2271 // check if this device is a better choice to join...
|
|
// 2272 // ...dont bother checking assocPermit flag is doing a rejoin
|
|
// 2273 if ( ( pBeacon->LQI > gMIN_TREE_LINK_COST ) &&
|
|
// 2274 ( ( pBeacon->permitJoining == TRUE ) || ( _tmpRejoinState ) ) )
|
|
??ZDO_beaconNotifyIndCB_9:
|
|
MOV DPL,?V0
|
|
MOV DPH,?V1
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
MOV DPTR,#gMIN_TREE_LINK_COST
|
|
MOVX A,@DPTR
|
|
CLR C
|
|
SUBB A,R0
|
|
JC $+5
|
|
LJMP ??ZDO_beaconNotifyIndCB_1 & 0xFFFF
|
|
MOV DPL,?V0
|
|
MOV DPH,?V1
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JZ ??ZDO_beaconNotifyIndCB_10
|
|
MOV DPTR,#_tmpRejoinState
|
|
MOVX A,@DPTR
|
|
JNZ $+5
|
|
LJMP ??ZDO_beaconNotifyIndCB_1 & 0xFFFF
|
|
// 2275 {
|
|
// 2276 uint8 selected = FALSE;
|
|
// 2277 uint8 capacity = FALSE;
|
|
// 2278
|
|
// 2279 if ( _NIB.nwkAddrAlloc == NWK_ADDRESSING_STOCHASTIC )
|
|
??ZDO_beaconNotifyIndCB_10:
|
|
MOV DPTR,#_NIB + 96
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JNZ ??ZDO_beaconNotifyIndCB_11
|
|
// 2280 {
|
|
// 2281 if ( ((pBeacon->LQI > pNwkDesc->chosenRouterLinkQuality) &&
|
|
// 2282 (pBeacon->depth < MAX_NODE_DEPTH)) ||
|
|
// 2283 ((pBeacon->LQI == pNwkDesc->chosenRouterLinkQuality) &&
|
|
// 2284 (pBeacon->depth < pNwkDesc->chosenRouterDepth)) )
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
CLR C
|
|
SUBB A,R0
|
|
JNC ??ZDO_beaconNotifyIndCB_12
|
|
LCALL ?Subroutine34 & 0xFFFF
|
|
// 2285 {
|
|
// 2286 selected = TRUE;
|
|
// 2287 }
|
|
// 2288 }
|
|
??CrossCallReturnLabel_45:
|
|
SUBB A,#0x14
|
|
JC ??ZDO_beaconNotifyIndCB_13
|
|
SJMP ??ZDO_beaconNotifyIndCB_14
|
|
??ZDO_beaconNotifyIndCB_12:
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XRL A,R0
|
|
JNZ ??ZDO_beaconNotifyIndCB_14
|
|
// 2289 else
|
|
// 2290 {
|
|
// 2291 if ( pBeacon->depth < pNwkDesc->chosenRouterDepth )
|
|
??ZDO_beaconNotifyIndCB_11:
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
LCALL ?Subroutine34 & 0xFFFF
|
|
??CrossCallReturnLabel_46:
|
|
SUBB A,R0
|
|
JNC ??ZDO_beaconNotifyIndCB_14
|
|
// 2292 {
|
|
// 2293 selected = TRUE;
|
|
// 2294 }
|
|
// 2295 }
|
|
// 2296
|
|
// 2297 if ( ZSTACK_ROUTER_BUILD )
|
|
// 2298 {
|
|
// 2299 capacity = pBeacon->routerCapacity;
|
|
// 2300 }
|
|
// 2301 else if ( ZSTACK_END_DEVICE_BUILD )
|
|
// 2302 {
|
|
// 2303 capacity = pBeacon->deviceCapacity;
|
|
// 2304 }
|
|
// 2305
|
|
// 2306 if ( (capacity) && (selected) )
|
|
??ZDO_beaconNotifyIndCB_13:
|
|
MOV DPL,?V0
|
|
MOV DPH,?V1
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
JZ ??ZDO_beaconNotifyIndCB_14
|
|
// 2307 {
|
|
// 2308 // this is the new chosen router for joining...
|
|
// 2309 pNwkDesc->chosenRouter = pBeacon->sourceAddr;
|
|
MOV DPL,?V0
|
|
MOV DPH,?V1
|
|
LCALL ??Subroutine53_0 & 0xFFFF
|
|
??CrossCallReturnLabel_82:
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOV A,R0
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R1
|
|
LCALL ?Subroutine11 & 0xFFFF
|
|
// 2310 pNwkDesc->chosenRouterLinkQuality = pBeacon->LQI;
|
|
??CrossCallReturnLabel_3:
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
LCALL ?Subroutine19 & 0xFFFF
|
|
??CrossCallReturnLabel_18:
|
|
MOVX @DPTR,A
|
|
// 2311 pNwkDesc->chosenRouterDepth = pBeacon->depth;
|
|
LCALL ?Subroutine40 & 0xFFFF
|
|
// 2312 }
|
|
??CrossCallReturnLabel_57:
|
|
LCALL ?Subroutine19 & 0xFFFF
|
|
??CrossCallReturnLabel_19:
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
// 2313
|
|
// 2314 if ( pBeacon->deviceCapacity )
|
|
??ZDO_beaconNotifyIndCB_14:
|
|
MOV DPL,?V0
|
|
MOV DPH,?V1
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
JZ ??ZDO_beaconNotifyIndCB_15
|
|
// 2315 pNwkDesc->deviceCapacity = 1;
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOV A,#0x1
|
|
MOVX @DPTR,A
|
|
// 2316
|
|
// 2317 if ( pBeacon->routerCapacity )
|
|
??ZDO_beaconNotifyIndCB_15:
|
|
MOV DPL,?V0
|
|
MOV DPH,?V1
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
JZ ??ZDO_beaconNotifyIndCB_1
|
|
// 2318 pNwkDesc->routerCapacity = 1;
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOV A,#0x1
|
|
MOVX @DPTR,A
|
|
// 2319 }
|
|
// 2320 }
|
|
// 2321 }
|
|
??ZDO_beaconNotifyIndCB_1:
|
|
LJMP ?Subroutine5 & 0xFFFF
|
|
CFI EndBlock cfiBlock120
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine38:
|
|
CFI Block cfiCond121 Using cfiCommon0
|
|
CFI Function ZDApp_DeviceAuthEvt
|
|
CFI Conditional ??CrossCallReturnLabel_51
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond122 Using cfiCommon0
|
|
CFI (cfiCond122) Function ZDApp_ProcessMsgCBs
|
|
CFI (cfiCond122) Conditional ??CrossCallReturnLabel_52
|
|
CFI (cfiCond122) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond122) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond122) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond122) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond122) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond122) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond122) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond122) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond122) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond122) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond122) CFA_SP SP+-2
|
|
CFI (cfiCond122) CFA_XSP16 add(XSP16, 31)
|
|
CFI Block cfiCond123 Using cfiCommon0
|
|
CFI (cfiCond123) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond123) Conditional ??CrossCallReturnLabel_53
|
|
CFI (cfiCond123) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond123) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond123) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond123) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond123) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond123) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond123) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond123) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond123) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond123) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond123) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond123) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond123) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond123) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond123) CFA_SP SP+-2
|
|
CFI (cfiCond123) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond124 Using cfiCommon0
|
|
CFI (cfiCond124) Function ZDO_LeaveCnf
|
|
CFI (cfiCond124) Conditional ??CrossCallReturnLabel_54, ??CrossCallReturnLabel_16
|
|
CFI (cfiCond124) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond124) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond124) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond124) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond124) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond124) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond124) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond124) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond124) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond124) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond124) CFA_SP SP+-4
|
|
CFI (cfiCond124) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond125 Using cfiCommon0
|
|
CFI (cfiCond125) Function ZDO_LeaveInd
|
|
CFI (cfiCond125) Conditional ??CrossCallReturnLabel_54, ??CrossCallReturnLabel_17
|
|
CFI (cfiCond125) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond125) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond125) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond125) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond125) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond125) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond125) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond125) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond125) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond125) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond125) CFA_SP SP+-4
|
|
CFI (cfiCond125) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker126 Using cfiCommon1
|
|
CFI (cfiPicker126) NoFunction
|
|
CFI (cfiPicker126) Picker
|
|
MOVX A,@DPTR
|
|
MOV R2,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R3,A
|
|
RET
|
|
CFI EndBlock cfiCond121
|
|
CFI EndBlock cfiCond122
|
|
CFI EndBlock cfiCond123
|
|
CFI EndBlock cfiCond124
|
|
CFI EndBlock cfiCond125
|
|
CFI EndBlock cfiPicker126
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine34:
|
|
CFI Block cfiCond127 Using cfiCommon0
|
|
CFI Function ZDO_beaconNotifyIndCB
|
|
CFI Conditional ??CrossCallReturnLabel_45
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond128 Using cfiCommon0
|
|
CFI (cfiCond128) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond128) Conditional ??CrossCallReturnLabel_46
|
|
CFI (cfiCond128) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond128) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond128) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond128) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond128) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond128) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond128) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond128) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond128) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond128) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond128) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond128) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond128) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond128) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond128) CFA_SP SP+-2
|
|
CFI (cfiCond128) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker129 Using cfiCommon1
|
|
CFI (cfiPicker129) NoFunction
|
|
CFI (cfiPicker129) Picker
|
|
LCALL ?Subroutine40 & 0xFFFF
|
|
??CrossCallReturnLabel_58:
|
|
MOVX A,@DPTR
|
|
CLR C
|
|
RET
|
|
CFI EndBlock cfiCond127
|
|
CFI EndBlock cfiCond128
|
|
CFI EndBlock cfiPicker129
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine40:
|
|
CFI Block cfiCond130 Using cfiCommon0
|
|
CFI Function ZDO_beaconNotifyIndCB
|
|
CFI Conditional ??CrossCallReturnLabel_57
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond131 Using cfiCommon0
|
|
CFI (cfiCond131) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond131) Conditional ??CrossCallReturnLabel_58, ??CrossCallReturnLabel_45
|
|
CFI (cfiCond131) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond131) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond131) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond131) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond131) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond131) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond131) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond131) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond131) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond131) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond131) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond131) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond131) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond131) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond131) CFA_SP SP+-4
|
|
CFI (cfiCond131) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond132 Using cfiCommon0
|
|
CFI (cfiCond132) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond132) Conditional ??CrossCallReturnLabel_58, ??CrossCallReturnLabel_46
|
|
CFI (cfiCond132) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond132) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond132) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond132) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond132) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond132) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond132) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond132) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond132) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond132) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond132) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond132) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond132) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond132) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond132) CFA_SP SP+-4
|
|
CFI (cfiCond132) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker133 Using cfiCommon1
|
|
CFI (cfiPicker133) NoFunction
|
|
CFI (cfiPicker133) Picker
|
|
MOV A,?V0
|
|
ADD A,#0xb
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,?V1
|
|
MOV DPH,A
|
|
RET
|
|
CFI EndBlock cfiCond130
|
|
CFI EndBlock cfiCond131
|
|
CFI EndBlock cfiCond132
|
|
CFI EndBlock cfiPicker133
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine25:
|
|
CFI Block cfiCond134 Using cfiCommon0
|
|
CFI Function ZDO_beaconNotifyIndCB
|
|
CFI Conditional ??CrossCallReturnLabel_29
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond135 Using cfiCommon0
|
|
CFI (cfiCond135) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond135) Conditional ??CrossCallReturnLabel_30
|
|
CFI (cfiCond135) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond135) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond135) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond135) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond135) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond135) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond135) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond135) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond135) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond135) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond135) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond135) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond135) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond135) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond135) CFA_SP SP+-2
|
|
CFI (cfiCond135) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker136 Using cfiCommon1
|
|
CFI (cfiPicker136) NoFunction
|
|
CFI (cfiPicker136) Picker
|
|
LCALL ?Subroutine37 & 0xFFFF
|
|
??CrossCallReturnLabel_50:
|
|
RET
|
|
CFI EndBlock cfiCond134
|
|
CFI EndBlock cfiCond135
|
|
CFI EndBlock cfiPicker136
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine37:
|
|
CFI Block cfiCond137 Using cfiCommon0
|
|
CFI Function ZDO_beaconNotifyIndCB
|
|
CFI Conditional ??CrossCallReturnLabel_50, ??CrossCallReturnLabel_29
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-4
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond138 Using cfiCommon0
|
|
CFI (cfiCond138) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond138) Conditional ??CrossCallReturnLabel_50, ??CrossCallReturnLabel_30
|
|
CFI (cfiCond138) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond138) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond138) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond138) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond138) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond138) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond138) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond138) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond138) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond138) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond138) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond138) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond138) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond138) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond138) CFA_SP SP+-4
|
|
CFI (cfiCond138) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond139 Using cfiCommon0
|
|
CFI (cfiCond139) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond139) Conditional ??CrossCallReturnLabel_49, ??CrossCallReturnLabel_18
|
|
CFI (cfiCond139) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond139) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond139) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond139) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond139) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond139) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond139) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond139) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond139) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond139) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond139) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond139) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond139) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond139) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond139) CFA_SP SP+-4
|
|
CFI (cfiCond139) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond140 Using cfiCommon0
|
|
CFI (cfiCond140) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond140) Conditional ??CrossCallReturnLabel_49, ??CrossCallReturnLabel_19
|
|
CFI (cfiCond140) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond140) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond140) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond140) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond140) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond140) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond140) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond140) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond140) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond140) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond140) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond140) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond140) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond140) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond140) CFA_SP SP+-4
|
|
CFI (cfiCond140) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker141 Using cfiCommon1
|
|
CFI (cfiPicker141) NoFunction
|
|
CFI (cfiPicker141) Picker
|
|
MOVX A,@DPTR
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
RET
|
|
CFI EndBlock cfiCond137
|
|
CFI EndBlock cfiCond138
|
|
CFI EndBlock cfiCond139
|
|
CFI EndBlock cfiCond140
|
|
CFI EndBlock cfiPicker141
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine19:
|
|
CFI Block cfiCond142 Using cfiCommon0
|
|
CFI Function ZDO_beaconNotifyIndCB
|
|
CFI Conditional ??CrossCallReturnLabel_18
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond143 Using cfiCommon0
|
|
CFI (cfiCond143) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond143) Conditional ??CrossCallReturnLabel_19
|
|
CFI (cfiCond143) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond143) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond143) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond143) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond143) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond143) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond143) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond143) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond143) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond143) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond143) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond143) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond143) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond143) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond143) CFA_SP SP+-2
|
|
CFI (cfiCond143) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker144 Using cfiCommon1
|
|
CFI (cfiPicker144) NoFunction
|
|
CFI (cfiPicker144) Picker
|
|
LCALL ?Subroutine37 & 0xFFFF
|
|
??CrossCallReturnLabel_49:
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
RET
|
|
CFI EndBlock cfiCond142
|
|
CFI EndBlock cfiCond143
|
|
CFI EndBlock cfiPicker144
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine11:
|
|
CFI Block cfiCond145 Using cfiCommon0
|
|
CFI Function ZDO_beaconNotifyIndCB
|
|
CFI Conditional ??CrossCallReturnLabel_2
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond146 Using cfiCommon0
|
|
CFI (cfiCond146) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond146) Conditional ??CrossCallReturnLabel_3
|
|
CFI (cfiCond146) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond146) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond146) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond146) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond146) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond146) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond146) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond146) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond146) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond146) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond146) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond146) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond146) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond146) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond146) CFA_SP SP+-2
|
|
CFI (cfiCond146) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker147 Using cfiCommon1
|
|
CFI (cfiPicker147) NoFunction
|
|
CFI (cfiPicker147) Picker
|
|
LCALL ?Subroutine36 & 0xFFFF
|
|
??CrossCallReturnLabel_48:
|
|
INC DPTR
|
|
INC DPTR
|
|
RET
|
|
CFI EndBlock cfiCond145
|
|
CFI EndBlock cfiCond146
|
|
CFI EndBlock cfiPicker147
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine36:
|
|
CFI Block cfiCond148 Using cfiCommon0
|
|
CFI Function ZDO_beaconNotifyIndCB
|
|
CFI Conditional ??CrossCallReturnLabel_47
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond149 Using cfiCommon0
|
|
CFI (cfiCond149) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond149) Conditional ??CrossCallReturnLabel_48, ??CrossCallReturnLabel_2
|
|
CFI (cfiCond149) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond149) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond149) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond149) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond149) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond149) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond149) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond149) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond149) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond149) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond149) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond149) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond149) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond149) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond149) CFA_SP SP+-4
|
|
CFI (cfiCond149) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond150 Using cfiCommon0
|
|
CFI (cfiCond150) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond150) Conditional ??CrossCallReturnLabel_48, ??CrossCallReturnLabel_3
|
|
CFI (cfiCond150) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond150) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond150) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond150) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond150) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond150) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond150) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond150) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond150) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond150) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond150) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond150) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond150) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond150) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond150) CFA_SP SP+-4
|
|
CFI (cfiCond150) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker151 Using cfiCommon1
|
|
CFI (cfiPicker151) NoFunction
|
|
CFI (cfiPicker151) Picker
|
|
MOVX @DPTR,A
|
|
MOV DPL,?V0
|
|
MOV DPH,?V1
|
|
INC DPTR
|
|
INC DPTR
|
|
RET
|
|
CFI EndBlock cfiCond148
|
|
CFI EndBlock cfiCond149
|
|
CFI EndBlock cfiCond150
|
|
CFI EndBlock cfiPicker151
|
|
// 2322
|
|
// 2323 /*********************************************************************
|
|
// 2324 * @fn ZDO_StartRouterConfirmCB
|
|
// 2325 *
|
|
// 2326 * @brief This function reports the results of the request to
|
|
// 2327 * start functioning as a router in a network.
|
|
// 2328 *
|
|
// 2329 * @param Status - Result of NLME_StartRouterRequest()
|
|
// 2330 *
|
|
// 2331 * @return none
|
|
// 2332 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2333 void ZDO_StartRouterConfirmCB( ZStatus_t Status )
|
|
ZDO_StartRouterConfirmCB:
|
|
CFI Block cfiBlock152 Using cfiCommon0
|
|
CFI Function ZDO_StartRouterConfirmCB
|
|
CODE
|
|
// 2334 {
|
|
FUNCALL ZDO_StartRouterConfirmCB, osal_set_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
// 2335 nwkStatus = (byte)Status;
|
|
MOV DPTR,#nwkStatus
|
|
MOVX @DPTR,A
|
|
// 2336
|
|
// 2337 if ( Status == ZSUCCESS )
|
|
JNZ ??ZDO_StartRouterConfirmCB_0
|
|
// 2338 {
|
|
// 2339 #if 0
|
|
// 2340 // LED on shows Router started
|
|
// 2341 HalLedSet ( HAL_LED_3, HAL_LED_MODE_ON );
|
|
// 2342 // LED off forgets HOLD_AUTO_START
|
|
// 2343 HalLedSet ( HAL_LED_4, HAL_LED_MODE_OFF);
|
|
// 2344 #endif
|
|
// 2345 if ( devState == DEV_HOLD )
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDO_StartRouterConfirmCB_0
|
|
// 2346 {
|
|
// 2347 // Began with HOLD_AUTO_START
|
|
// 2348 devState = DEV_END_DEVICE;
|
|
MOV A,#0x6
|
|
MOVX @DPTR,A
|
|
// 2349 }
|
|
// 2350 }
|
|
// 2351 #if defined(BLINK_LEDS)
|
|
// 2352 else
|
|
// 2353 {
|
|
// 2354 #if 0
|
|
// 2355 HalLedSet( HAL_LED_3, HAL_LED_MODE_FLASH ); // Flash LED to show failure
|
|
// 2356 #endif
|
|
// 2357 }
|
|
// 2358 #endif
|
|
// 2359
|
|
// 2360 osal_set_event( ZDAppTaskID, ZDO_ROUTER_START );
|
|
??ZDO_StartRouterConfirmCB_0:
|
|
; Setup parameters for call to function osal_set_event
|
|
MOV R2,#0x20
|
|
LJMP ?Subroutine0 & 0xFFFF
|
|
// 2361 }
|
|
CFI EndBlock cfiBlock152
|
|
// 2362
|
|
// 2363 /*********************************************************************
|
|
// 2364 * @fn ZDO_JoinConfirmCB
|
|
// 2365 *
|
|
// 2366 * @brief This function allows the next hight layer to be notified
|
|
// 2367 * of the results of its request to join itself or another
|
|
// 2368 * device to a network.
|
|
// 2369 *
|
|
// 2370 * @param Status - Result of NLME_JoinRequest()
|
|
// 2371 *
|
|
// 2372 * @return none
|
|
// 2373 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2374 void ZDO_JoinConfirmCB( uint16 PanId, ZStatus_t Status )
|
|
ZDO_JoinConfirmCB:
|
|
CFI Block cfiBlock153 Using cfiCommon0
|
|
CFI Function ZDO_JoinConfirmCB
|
|
CODE
|
|
// 2375 {
|
|
FUNCALL ZDO_JoinConfirmCB, ZDApp_SendMsg
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 5
|
|
MOV A,#-0x5
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
MOV A,R1
|
|
MOV R6,A
|
|
// 2376 (void)PanId; // remove if this parameter is used.
|
|
// 2377
|
|
// 2378 nwkStatus = (byte)Status;
|
|
MOV DPTR,#nwkStatus
|
|
MOVX @DPTR,A
|
|
// 2379
|
|
// 2380 if ( Status == ZSUCCESS )
|
|
JNZ ??ZDO_JoinConfirmCB_0
|
|
// 2381 {
|
|
// 2382 #if 0
|
|
// 2383 // LED on shows device joined
|
|
// 2384 HalLedSet ( HAL_LED_3, HAL_LED_MODE_ON );
|
|
// 2385 // LED off forgets HOLD_AUTO_START
|
|
// 2386 HalLedSet ( HAL_LED_4, HAL_LED_MODE_OFF);
|
|
// 2387 #endif
|
|
// 2388 if ( (devState == DEV_HOLD) )
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
JNZ ??ZDO_JoinConfirmCB_0
|
|
// 2389 {
|
|
// 2390 // Began with HOLD_AUTO_START
|
|
// 2391 devState = DEV_NWK_JOINING;
|
|
MOV A,#0x3
|
|
MOVX @DPTR,A
|
|
// 2392 }
|
|
// 2393
|
|
// 2394 if ( !ZG_SECURE_ENABLED )
|
|
// 2395 {
|
|
// 2396 // Notify to save info into NV
|
|
// 2397 ZDApp_NVUpdate();
|
|
// 2398 }
|
|
// 2399 }
|
|
// 2400 else
|
|
// 2401 {
|
|
// 2402 #if defined(BLINK_LEDS)
|
|
// 2403 #if 0
|
|
// 2404 HalLedSet ( HAL_LED_3, HAL_LED_MODE_FLASH ); // Flash LED to show failure
|
|
// 2405 #endif
|
|
// 2406 #endif
|
|
// 2407 }
|
|
// 2408
|
|
// 2409 // Pass the join confirm to higher layer if callback registered
|
|
// 2410 if (zdoCBFunc[ZDO_JOIN_CNF_CBID] != NULL )
|
|
??ZDO_JoinConfirmCB_0:
|
|
MOV DPTR,#zdoCBFunc + 8
|
|
LCALL ?Subroutine14 & 0xFFFF
|
|
??CrossCallReturnLabel_12:
|
|
JZ ??ZDO_JoinConfirmCB_1
|
|
// 2411 {
|
|
// 2412 zdoJoinCnf_t joinCnf;
|
|
// 2413
|
|
// 2414 joinCnf.status = Status;
|
|
MOV A,R6
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOVX @DPTR,A
|
|
// 2415 joinCnf.deviceAddr = _NIB.nwkDevAddress;
|
|
MOV DPTR,#_NIB + 20
|
|
LCALL ??Subroutine53_0 & 0xFFFF
|
|
??CrossCallReturnLabel_83:
|
|
MOV A,#0x1
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV A,R0
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R1
|
|
MOVX @DPTR,A
|
|
// 2416 joinCnf.parentAddr = _NIB.nwkCoordAddress;
|
|
MOV DPTR,#_NIB + 23
|
|
LCALL ??Subroutine53_0 & 0xFFFF
|
|
// 2417
|
|
// 2418 zdoCBFunc[ZDO_JOIN_CNF_CBID]( (void*)&joinCnf );
|
|
// 2419 }
|
|
??CrossCallReturnLabel_84:
|
|
MOV A,#0x3
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV A,R0
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R1
|
|
LCALL ?Subroutine13 & 0xFFFF
|
|
??CrossCallReturnLabel_6:
|
|
MOV DPTR,#zdoCBFunc + 8
|
|
LCALL ??Subroutine56_0 & 0xFFFF
|
|
??CrossCallReturnLabel_100:
|
|
LCALL ?CALL_IND
|
|
// 2420
|
|
// 2421 // Notify ZDApp
|
|
// 2422 ZDApp_SendMsg( ZDAppTaskID, ZDO_NWK_JOIN_IND, sizeof(osal_event_hdr_t), (byte*)NULL );
|
|
??ZDO_JoinConfirmCB_1:
|
|
; Setup parameters for call to function ZDApp_SendMsg
|
|
MOV R4,#0x0
|
|
MOV R5,#0x0
|
|
MOV R3,#0x2
|
|
MOV R2,#0x2
|
|
LCALL ?Subroutine24 & 0xFFFF
|
|
// 2423
|
|
// 2424 }
|
|
??CrossCallReturnLabel_27:
|
|
CFI EndBlock cfiBlock153
|
|
REQUIRE ?Subroutine6
|
|
; // Fall through to label ?Subroutine6
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine6:
|
|
CFI Block cfiBlock154 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV A,#0x5
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
LJMP ??Subroutine52_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock154
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine24:
|
|
CFI Block cfiCond155 Using cfiCommon0
|
|
CFI Function ZDApp_SendEventMsg
|
|
CFI Conditional ??CrossCallReturnLabel_25
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond156 Using cfiCommon0
|
|
CFI (cfiCond156) Function ZDO_NetworkDiscoveryConfirmCB
|
|
CFI (cfiCond156) Conditional ??CrossCallReturnLabel_26
|
|
CFI (cfiCond156) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond156) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond156) CFA_SP SP+-7
|
|
CFI (cfiCond156) CFA_XSP16 add(XSP16, 3)
|
|
CFI Block cfiCond157 Using cfiCommon0
|
|
CFI (cfiCond157) Function ZDO_JoinConfirmCB
|
|
CFI (cfiCond157) Conditional ??CrossCallReturnLabel_27
|
|
CFI (cfiCond157) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond157) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond157) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond157) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond157) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond157) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond157) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond157) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond157) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond157) CFA_SP SP+-2
|
|
CFI (cfiCond157) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond158 Using cfiCommon0
|
|
CFI (cfiCond158) Function ZDO_SyncIndicationCB
|
|
CFI (cfiCond158) Conditional ??CrossCallReturnLabel_28
|
|
CFI (cfiCond158) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond158) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond158) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond158) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond158) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond158) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond158) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond158) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond158) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond158) CFA_SP SP+-2
|
|
CFI (cfiCond158) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiPicker159 Using cfiCommon1
|
|
CFI (cfiPicker159) NoFunction
|
|
CFI (cfiPicker159) Picker
|
|
MOV DPTR,#ZDAppTaskID
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??ZDApp_SendMsg::?relay`; Banked call to: ZDApp_SendMsg
|
|
RET
|
|
CFI EndBlock cfiCond155
|
|
CFI EndBlock cfiCond156
|
|
CFI EndBlock cfiCond157
|
|
CFI EndBlock cfiCond158
|
|
CFI EndBlock cfiPicker159
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine18:
|
|
CFI Block cfiCond160 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessOSALMsg
|
|
CFI Conditional ??CrossCallReturnLabel_85
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 11)
|
|
CFI Block cfiCond161 Using cfiCommon0
|
|
CFI (cfiCond161) Function ZDApp_NwkDescListProcessing
|
|
CFI (cfiCond161) Conditional ??CrossCallReturnLabel_86
|
|
CFI (cfiCond161) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond161) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond161) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond161) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond161) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond161) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond161) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond161) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond161) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond161) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond161) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond161) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond161) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond161) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond161) CFA_SP SP+-2
|
|
CFI (cfiCond161) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond162 Using cfiCommon0
|
|
CFI (cfiCond162) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond162) Conditional ??CrossCallReturnLabel_87
|
|
CFI (cfiCond162) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond162) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond162) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond162) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond162) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond162) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond162) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond162) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond162) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond162) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond162) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond162) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond162) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond162) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond162) CFA_SP SP+-2
|
|
CFI (cfiCond162) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker163 Using cfiCommon1
|
|
CFI (cfiPicker163) NoFunction
|
|
CFI (cfiPicker163) Picker
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
CFI EndBlock cfiCond160
|
|
CFI EndBlock cfiCond161
|
|
CFI EndBlock cfiCond162
|
|
CFI EndBlock cfiPicker163
|
|
REQUIRE ??Subroutine53_0
|
|
; // Fall through to label ??Subroutine53_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine53_0:
|
|
CFI Block cfiCond164 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessSecEvent
|
|
CFI Conditional ??CrossCallReturnLabel_81
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond165 Using cfiCommon0
|
|
CFI (cfiCond165) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond165) Conditional ??CrossCallReturnLabel_82
|
|
CFI (cfiCond165) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond165) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond165) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond165) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond165) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond165) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond165) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond165) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond165) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond165) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond165) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond165) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond165) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond165) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond165) CFA_SP SP+-2
|
|
CFI (cfiCond165) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond166 Using cfiCommon0
|
|
CFI (cfiCond166) Function ZDO_JoinConfirmCB
|
|
CFI (cfiCond166) Conditional ??CrossCallReturnLabel_83
|
|
CFI (cfiCond166) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond166) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond166) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond166) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond166) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond166) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond166) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond166) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond166) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond166) CFA_SP SP+-2
|
|
CFI (cfiCond166) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond167 Using cfiCommon0
|
|
CFI (cfiCond167) Function ZDO_JoinConfirmCB
|
|
CFI (cfiCond167) Conditional ??CrossCallReturnLabel_84
|
|
CFI (cfiCond167) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond167) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond167) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond167) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond167) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond167) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond167) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond167) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond167) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond167) CFA_SP SP+-2
|
|
CFI (cfiCond167) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond168 Using cfiCommon0
|
|
CFI (cfiCond168) Function ZDApp_ProcessOSALMsg
|
|
CFI (cfiCond168) Conditional ??CrossCallReturnLabel_85
|
|
CFI (cfiCond168) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond168) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond168) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond168) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond168) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond168) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond168) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond168) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond168) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond168) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond168) CFA_SP SP+-2
|
|
CFI (cfiCond168) CFA_XSP16 add(XSP16, 11)
|
|
CFI Block cfiCond169 Using cfiCommon0
|
|
CFI (cfiCond169) Function ZDApp_NwkDescListProcessing
|
|
CFI (cfiCond169) Conditional ??CrossCallReturnLabel_86
|
|
CFI (cfiCond169) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond169) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond169) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond169) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond169) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond169) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond169) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond169) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond169) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond169) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond169) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond169) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond169) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond169) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond169) CFA_SP SP+-2
|
|
CFI (cfiCond169) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond170 Using cfiCommon0
|
|
CFI (cfiCond170) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond170) Conditional ??CrossCallReturnLabel_87
|
|
CFI (cfiCond170) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond170) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond170) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond170) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond170) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond170) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond170) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond170) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond170) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond170) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond170) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond170) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond170) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond170) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond170) CFA_SP SP+-2
|
|
CFI (cfiCond170) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker171 Using cfiCommon1
|
|
CFI (cfiPicker171) NoFunction
|
|
CFI (cfiPicker171) Picker
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
RET
|
|
CFI EndBlock cfiCond164
|
|
CFI EndBlock cfiCond165
|
|
CFI EndBlock cfiCond166
|
|
CFI EndBlock cfiCond167
|
|
CFI EndBlock cfiCond168
|
|
CFI EndBlock cfiCond169
|
|
CFI EndBlock cfiCond170
|
|
CFI EndBlock cfiPicker171
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine14:
|
|
CFI Block cfiCond172 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessOSALMsg
|
|
CFI Conditional ??CrossCallReturnLabel_8
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 11)
|
|
CFI Block cfiCond173 Using cfiCommon0
|
|
CFI (cfiCond173) Function ZDO_NetworkDiscoveryConfirmCB
|
|
CFI (cfiCond173) Conditional ??CrossCallReturnLabel_9
|
|
CFI (cfiCond173) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond173) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond173) CFA_SP SP+-7
|
|
CFI (cfiCond173) CFA_XSP16 add(XSP16, 3)
|
|
CFI Block cfiCond174 Using cfiCommon0
|
|
CFI (cfiCond174) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond174) Conditional ??CrossCallReturnLabel_10
|
|
CFI (cfiCond174) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond174) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond174) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond174) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond174) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond174) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond174) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond174) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond174) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond174) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond174) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond174) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond174) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond174) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond174) CFA_SP SP+-2
|
|
CFI (cfiCond174) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond175 Using cfiCommon0
|
|
CFI (cfiCond175) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond175) Conditional ??CrossCallReturnLabel_11
|
|
CFI (cfiCond175) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond175) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond175) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond175) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond175) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond175) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond175) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond175) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond175) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond175) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond175) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond175) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond175) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond175) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond175) CFA_SP SP+-2
|
|
CFI (cfiCond175) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond176 Using cfiCommon0
|
|
CFI (cfiCond176) Function ZDO_JoinConfirmCB
|
|
CFI (cfiCond176) Conditional ??CrossCallReturnLabel_12
|
|
CFI (cfiCond176) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond176) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond176) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond176) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond176) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond176) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond176) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond176) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond176) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond176) CFA_SP SP+-2
|
|
CFI (cfiCond176) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond177 Using cfiCommon0
|
|
CFI (cfiCond177) Function ZDO_ConcentratorIndicationCB
|
|
CFI (cfiCond177) Conditional ??CrossCallReturnLabel_13
|
|
CFI (cfiCond177) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond177) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond177) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond177) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond177) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond177) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond177) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond177) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond177) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond177) CFA_SP SP+-2
|
|
CFI (cfiCond177) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond178 Using cfiCommon0
|
|
CFI (cfiCond178) Function ZDO_LeaveCnf
|
|
CFI (cfiCond178) Conditional ??CrossCallReturnLabel_14
|
|
CFI (cfiCond178) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond178) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond178) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond178) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond178) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond178) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond178) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond178) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond178) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond178) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond178) CFA_SP SP+-2
|
|
CFI (cfiCond178) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond179 Using cfiCommon0
|
|
CFI (cfiCond179) Function ZDO_SrcRtgIndCB
|
|
CFI (cfiCond179) Conditional ??CrossCallReturnLabel_15
|
|
CFI (cfiCond179) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond179) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond179) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond179) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond179) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond179) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond179) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond179) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond179) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond179) CFA_SP SP+-2
|
|
CFI (cfiCond179) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker180 Using cfiCommon1
|
|
CFI (cfiPicker180) NoFunction
|
|
CFI (cfiPicker180) Picker
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
MOV A,R0
|
|
ORL A,R1
|
|
RET
|
|
CFI EndBlock cfiCond172
|
|
CFI EndBlock cfiCond173
|
|
CFI EndBlock cfiCond174
|
|
CFI EndBlock cfiCond175
|
|
CFI EndBlock cfiCond176
|
|
CFI EndBlock cfiCond177
|
|
CFI EndBlock cfiCond178
|
|
CFI EndBlock cfiCond179
|
|
CFI EndBlock cfiPicker180
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine13:
|
|
CFI Block cfiCond181 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessOSALMsg
|
|
CFI Conditional ??CrossCallReturnLabel_4
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 11)
|
|
CFI Block cfiCond182 Using cfiCommon0
|
|
CFI (cfiCond182) Function ZDApp_ProcessNetworkJoin
|
|
CFI (cfiCond182) Conditional ??CrossCallReturnLabel_5
|
|
CFI (cfiCond182) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond182) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond182) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond182) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond182) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond182) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond182) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond182) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond182) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond182) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond182) CFA_SP SP+-2
|
|
CFI (cfiCond182) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond183 Using cfiCommon0
|
|
CFI (cfiCond183) Function ZDO_JoinConfirmCB
|
|
CFI (cfiCond183) Conditional ??CrossCallReturnLabel_6
|
|
CFI (cfiCond183) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond183) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond183) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond183) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond183) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond183) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond183) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond183) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond183) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond183) CFA_SP SP+-2
|
|
CFI (cfiCond183) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond184 Using cfiCommon0
|
|
CFI (cfiCond184) Function ZDO_LeaveInd
|
|
CFI (cfiCond184) Conditional ??CrossCallReturnLabel_7
|
|
CFI (cfiCond184) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond184) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond184) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond184) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond184) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond184) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond184) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond184) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond184) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond184) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond184) CFA_SP SP+-2
|
|
CFI (cfiCond184) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker185 Using cfiCommon1
|
|
CFI (cfiPicker185) NoFunction
|
|
CFI (cfiPicker185) Picker
|
|
MOVX @DPTR,A
|
|
; Setup parameters for call to function ZMacSetReq
|
|
; Setup parameters for call to function ZMacSetReq
|
|
; Setup parameters for indirect call
|
|
; Setup parameters for call to function NLME_LeaveRsp
|
|
MOV R2,?XSP + 0
|
|
MOV R3,?XSP + 1
|
|
RET
|
|
CFI EndBlock cfiCond181
|
|
CFI EndBlock cfiCond182
|
|
CFI EndBlock cfiCond183
|
|
CFI EndBlock cfiCond184
|
|
CFI EndBlock cfiPicker185
|
|
// 2425
|
|
// 2426 /*********************************************************************
|
|
// 2427 * @fn ZDO_AddrChangeIndicationCB
|
|
// 2428 *
|
|
// 2429 * @brief This function notifies the application that this
|
|
// 2430 * device's address has changed. Could happen in
|
|
// 2431 * a network with stochastic addressing (PRO).
|
|
// 2432 *
|
|
// 2433 * @param newAddr - the new address
|
|
// 2434 *
|
|
// 2435 * @return none
|
|
// 2436 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2437 void ZDO_AddrChangeIndicationCB( uint16 newAddr )
|
|
ZDO_AddrChangeIndicationCB:
|
|
CFI Block cfiBlock186 Using cfiCommon0
|
|
CFI Function ZDO_AddrChangeIndicationCB
|
|
CODE
|
|
// 2438 {
|
|
FUNCALL ZDO_AddrChangeIndicationCB, osal_set_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_AddrChangeIndicationCB, osal_msg_allocate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_AddrChangeIndicationCB, osal_msg_send
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_AddrChangeIndicationCB, ZDApp_AnnounceNewAddress
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
MOV A,#-0xc
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
; Saved register size: 12
|
|
; Auto size: 0
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
// 2439 ZDO_AddrChangeInd_t *pZDOAddrChangeMsg;
|
|
// 2440 epList_t *pItem = epList;
|
|
MOV DPTR,#epList
|
|
LCALL ??Subroutine54_0 & 0xFFFF
|
|
// 2441
|
|
// 2442 // Notify to save info into NV
|
|
// 2443 ZDApp_NVUpdate();
|
|
// 2444
|
|
// 2445 // Notify the applications
|
|
// 2446 osal_set_event( ZDAppTaskID, ZDO_STATE_CHANGE_EVT );
|
|
??CrossCallReturnLabel_89:
|
|
; Setup parameters for call to function osal_set_event
|
|
LCALL ?Subroutine17 & 0xFFFF
|
|
??CrossCallReturnLabel_63:
|
|
SJMP ??CrossCallReturnLabel_90
|
|
// 2447
|
|
// 2448 while (pItem != NULL)
|
|
// 2449 {
|
|
// 2450 if (pItem->epDesc->endPoint != ZDO_EP)
|
|
??ZDO_AddrChangeIndicationCB_0:
|
|
LCALL ?Subroutine16 & 0xFFFF
|
|
??CrossCallReturnLabel_102:
|
|
MOVX A,@DPTR
|
|
JZ ??ZDO_AddrChangeIndicationCB_1
|
|
// 2451 {
|
|
// 2452 pZDOAddrChangeMsg = (ZDO_AddrChangeInd_t *)osal_msg_allocate( sizeof( ZDO_AddrChangeInd_t ) );
|
|
; Setup parameters for call to function osal_msg_allocate
|
|
MOV R2,#0x4
|
|
MOV R3,#0x0
|
|
LCALL `??osal_msg_allocate::?relay`; Banked call to: osal_msg_allocate
|
|
// 2453 if (pZDOAddrChangeMsg != NULL)
|
|
MOV A,R2
|
|
ORL A,R3
|
|
JZ ??ZDO_AddrChangeIndicationCB_1
|
|
// 2454 {
|
|
// 2455 pZDOAddrChangeMsg->hdr.event = ZDO_ADDR_CHANGE_IND;
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
MOV A,#-0x2a
|
|
MOVX @DPTR,A
|
|
// 2456 pZDOAddrChangeMsg->shortAddr = newAddr;
|
|
INC DPTR
|
|
INC DPTR
|
|
MOV A,?V0
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,?V1
|
|
MOVX @DPTR,A
|
|
// 2457 osal_msg_send( *(pItem->epDesc->task_id), (uint8 *)pZDOAddrChangeMsg );
|
|
; Setup parameters for call to function osal_msg_send
|
|
LCALL ?Subroutine16 & 0xFFFF
|
|
// 2458 }
|
|
// 2459 }
|
|
??CrossCallReturnLabel_103:
|
|
LCALL ??Subroutine55_0 & 0xFFFF
|
|
??CrossCallReturnLabel_101:
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??osal_msg_send::?relay`; Banked call to: osal_msg_send
|
|
// 2460 pItem = pItem->nextDesc;
|
|
??ZDO_AddrChangeIndicationCB_1:
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
LCALL ??Subroutine54_0 & 0xFFFF
|
|
// 2461 }
|
|
??CrossCallReturnLabel_90:
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JNZ ??ZDO_AddrChangeIndicationCB_0
|
|
// 2462
|
|
// 2463 // Send out a device announce
|
|
// 2464 ZDApp_AnnounceNewAddress();
|
|
; Setup parameters for call to function ZDApp_AnnounceNewAddress
|
|
LCALL `??ZDApp_AnnounceNewAddress::?relay`; Banked call to: ZDApp_AnnounceNewAddress
|
|
// 2465 }
|
|
LJMP ??Subroutine45_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock186
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine20:
|
|
CFI Block cfiCond187 Using cfiCommon0
|
|
CFI Function ZDApp_NwkDescListProcessing
|
|
CFI Conditional ??CrossCallReturnLabel_91
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond188 Using cfiCommon0
|
|
CFI (cfiCond188) Function ZDApp_NwkDescListProcessing
|
|
CFI (cfiCond188) Conditional ??CrossCallReturnLabel_92
|
|
CFI (cfiCond188) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond188) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond188) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond188) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond188) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond188) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond188) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond188) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond188) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond188) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond188) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond188) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond188) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond188) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond188) CFA_SP SP+-2
|
|
CFI (cfiCond188) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond189 Using cfiCommon0
|
|
CFI (cfiCond189) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond189) Conditional ??CrossCallReturnLabel_93
|
|
CFI (cfiCond189) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond189) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond189) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond189) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond189) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond189) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond189) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond189) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond189) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond189) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond189) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond189) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond189) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond189) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond189) CFA_SP SP+-2
|
|
CFI (cfiCond189) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker190 Using cfiCommon1
|
|
CFI (cfiPicker190) NoFunction
|
|
CFI (cfiPicker190) Picker
|
|
MOV A,R6
|
|
ADD A,#0x14
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV DPH,A
|
|
CFI EndBlock cfiCond187
|
|
CFI EndBlock cfiCond188
|
|
CFI EndBlock cfiCond189
|
|
CFI EndBlock cfiPicker190
|
|
REQUIRE ??Subroutine54_0
|
|
; // Fall through to label ??Subroutine54_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine54_0:
|
|
CFI Block cfiCond191 Using cfiCommon0
|
|
CFI Function ZDO_beaconNotifyIndCB
|
|
CFI Conditional ??CrossCallReturnLabel_88
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond192 Using cfiCommon0
|
|
CFI (cfiCond192) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond192) Conditional ??CrossCallReturnLabel_89
|
|
CFI (cfiCond192) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond192) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond192) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond192) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond192) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond192) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond192) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond192) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond192) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond192) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond192) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond192) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond192) CFA_SP SP+-2
|
|
CFI (cfiCond192) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond193 Using cfiCommon0
|
|
CFI (cfiCond193) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond193) Conditional ??CrossCallReturnLabel_90
|
|
CFI (cfiCond193) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond193) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond193) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond193) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond193) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond193) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond193) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond193) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond193) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond193) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond193) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond193) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond193) CFA_SP SP+-2
|
|
CFI (cfiCond193) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond194 Using cfiCommon0
|
|
CFI (cfiCond194) Function ZDApp_NwkDescListProcessing
|
|
CFI (cfiCond194) Conditional ??CrossCallReturnLabel_91
|
|
CFI (cfiCond194) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond194) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond194) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond194) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond194) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond194) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond194) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond194) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond194) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond194) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond194) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond194) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond194) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond194) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond194) CFA_SP SP+-2
|
|
CFI (cfiCond194) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond195 Using cfiCommon0
|
|
CFI (cfiCond195) Function ZDApp_NwkDescListProcessing
|
|
CFI (cfiCond195) Conditional ??CrossCallReturnLabel_92
|
|
CFI (cfiCond195) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond195) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond195) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond195) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond195) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond195) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond195) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond195) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond195) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond195) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond195) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond195) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond195) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond195) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond195) CFA_SP SP+-2
|
|
CFI (cfiCond195) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond196 Using cfiCommon0
|
|
CFI (cfiCond196) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond196) Conditional ??CrossCallReturnLabel_93
|
|
CFI (cfiCond196) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond196) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond196) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond196) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond196) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond196) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond196) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond196) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond196) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond196) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond196) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond196) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond196) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond196) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond196) CFA_SP SP+-2
|
|
CFI (cfiCond196) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker197 Using cfiCommon1
|
|
CFI (cfiPicker197) NoFunction
|
|
CFI (cfiPicker197) Picker
|
|
MOVX A,@DPTR
|
|
MOV R6,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R7,A
|
|
RET
|
|
CFI EndBlock cfiCond191
|
|
CFI EndBlock cfiCond192
|
|
CFI EndBlock cfiCond193
|
|
CFI EndBlock cfiCond194
|
|
CFI EndBlock cfiCond195
|
|
CFI EndBlock cfiCond196
|
|
CFI EndBlock cfiPicker197
|
|
// 2466
|
|
// 2467 /*********************************************************************
|
|
// 2468 * @fn ZDO_JoinIndicationCB
|
|
// 2469 *
|
|
// 2470 * @brief This function allows the next higher layer of a
|
|
// 2471 * coordinator to be notified of a remote join request.
|
|
// 2472 *
|
|
// 2473 * @param ShortAddress - 16-bit address
|
|
// 2474 * @param ExtendedAddress - IEEE (64-bit) address
|
|
// 2475 * @param CapabilityFlags - Association Capability Flags
|
|
// 2476 * @param type - of joining -
|
|
// 2477 * NWK_ASSOC_JOIN
|
|
// 2478 * NWK_ASSOC_REJOIN_UNSECURE
|
|
// 2479 * NWK_ASSOC_REJOIN_SECURE
|
|
// 2480 *
|
|
// 2481 * @return ZStatus_t
|
|
// 2482 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2483 ZStatus_t ZDO_JoinIndicationCB(uint16 ShortAddress, uint8 *ExtendedAddress,
|
|
ZDO_JoinIndicationCB:
|
|
CODE
|
|
// 2484 uint8 CapabilityFlags, uint8 type)
|
|
// 2485 {
|
|
; Saved register size: 0
|
|
; Auto size: 0
|
|
// 2486 (void)ShortAddress;
|
|
// 2487 (void)ExtendedAddress;
|
|
// 2488 #if ZDO_NV_SAVE_RFDs
|
|
// 2489 (void)CapabilityFlags;
|
|
// 2490
|
|
// 2491 #else // if !ZDO_NV_SAVE_RFDs
|
|
// 2492 if (CapabilityFlags & CAPINFO_DEVICETYPE_FFD)
|
|
// 2493 #endif
|
|
// 2494 {
|
|
// 2495 ZDApp_NVUpdate(); // Notify to save info into NV.
|
|
// 2496 }
|
|
// 2497
|
|
// 2498 if (ZG_SECURE_ENABLED) // Send notification to TC of new device.
|
|
// 2499 {
|
|
// 2500 if (type == NWK_ASSOC_JOIN || type == NWK_ASSOC_REJOIN_UNSECURE)
|
|
// 2501 {
|
|
// 2502 osal_start_timerEx( ZDAppTaskID, ZDO_NEW_DEVICE, 600 );
|
|
// 2503 }
|
|
// 2504 }
|
|
// 2505
|
|
// 2506 return ZSuccess;
|
|
REQUIRE ?Subroutine4
|
|
; // Fall through to label ?Subroutine4
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine4:
|
|
CFI Block cfiBlock198 Using cfiCommon0
|
|
CFI NoFunction
|
|
MOV R1,#0x0
|
|
LJMP ?BRET
|
|
CFI EndBlock cfiBlock198
|
|
// 2507 }
|
|
// 2508
|
|
// 2509 /*********************************************************************
|
|
// 2510 * @fn ZDO_ConcentratorIndicationCB
|
|
// 2511 *
|
|
// 2512 * @brief This function allows the next higher layer of a
|
|
// 2513 * device to be notified of existence of the concentrator.
|
|
// 2514 *
|
|
// 2515 * @param nwkAddr - 16-bit NWK address of the concentrator
|
|
// 2516 * @param extAddr - pointer to extended Address
|
|
// 2517 * NULL if not available
|
|
// 2518 * @param pktCost - PktCost from RREQ
|
|
// 2519 *
|
|
// 2520 * @return void
|
|
// 2521 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2522 void ZDO_ConcentratorIndicationCB( uint16 nwkAddr, uint8 *extAddr, uint8 pktCost )
|
|
ZDO_ConcentratorIndicationCB:
|
|
CFI Block cfiBlock199 Using cfiCommon0
|
|
CFI Function ZDO_ConcentratorIndicationCB
|
|
CODE
|
|
// 2523 {
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 5
|
|
MOV A,#-0x5
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
// 2524 zdoConcentratorInd_t conInd;
|
|
// 2525
|
|
// 2526 conInd.nwkAddr = nwkAddr;
|
|
LCALL ?Subroutine12 & 0xFFFF
|
|
// 2527 conInd.extAddr = extAddr;
|
|
??CrossCallReturnLabel_121:
|
|
MOV A,#0x2
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV A,R4
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R5
|
|
MOVX @DPTR,A
|
|
// 2528 conInd.pktCost = pktCost;
|
|
MOV A,#0x4
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV A,R1
|
|
MOVX @DPTR,A
|
|
// 2529
|
|
// 2530 if( zdoCBFunc[ZDO_CONCENTRATOR_IND_CBID] != NULL )
|
|
MOV DPTR,#zdoCBFunc + 2
|
|
LCALL ?Subroutine14 & 0xFFFF
|
|
??CrossCallReturnLabel_13:
|
|
JZ ??ZDO_ConcentratorIndicationCB_0
|
|
// 2531 {
|
|
// 2532 zdoCBFunc[ZDO_CONCENTRATOR_IND_CBID]( (void*)&conInd );
|
|
; Setup parameters for indirect call
|
|
MOV R2,?XSP + 0
|
|
MOV R3,?XSP + 1
|
|
LCALL ??Subroutine57_0 & 0xFFFF
|
|
// 2533 }
|
|
??CrossCallReturnLabel_97:
|
|
LCALL ?CALL_IND
|
|
// 2534 }
|
|
??ZDO_ConcentratorIndicationCB_0:
|
|
LJMP ?Subroutine6 & 0xFFFF
|
|
CFI EndBlock cfiBlock199
|
|
// 2535
|
|
// 2536 /*********************************************************************
|
|
// 2537 * @fn ZDO_LeaveCnf
|
|
// 2538 *
|
|
// 2539 * @brief This function allows the next higher layer to be
|
|
// 2540 * notified of the results of its request for this or
|
|
// 2541 * a child device to leave the network.
|
|
// 2542 *
|
|
// 2543 * @param cnf - NLME_LeaveCnf_t
|
|
// 2544 *
|
|
// 2545 * @return none
|
|
// 2546 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2547 void ZDO_LeaveCnf( NLME_LeaveCnf_t* cnf )
|
|
ZDO_LeaveCnf:
|
|
CFI Block cfiBlock200 Using cfiCommon0
|
|
CFI Function ZDO_LeaveCnf
|
|
CODE
|
|
// 2548 {
|
|
FUNCALL ZDO_LeaveCnf, NLME_GetExtAddr
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_LeaveCnf, sAddrExtCmp
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_LeaveCnf, ZDApp_LeaveReset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_LeaveCnf, ZDApp_LeaveUpdate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 2549 // Check for this device
|
|
// 2550 if ( osal_ExtAddrEqual( cnf->extAddr,
|
|
// 2551 NLME_GetExtAddr() ) == TRUE )
|
|
; Setup parameters for call to function NLME_GetExtAddr
|
|
LCALL `??NLME_GetExtAddr::?relay`; Banked call to: NLME_GetExtAddr
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
MOV R4,?V0
|
|
MOV R5,?V1
|
|
; Setup parameters for call to function sAddrExtCmp
|
|
MOV A,R6
|
|
ADD A,#0x2
|
|
MOV R2,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV R3,A
|
|
LCALL `??sAddrExtCmp::?relay`; Banked call to: sAddrExtCmp
|
|
MOV A,R1
|
|
XRL A,#0x1
|
|
JNZ ??ZDO_LeaveCnf_0
|
|
// 2552 {
|
|
// 2553 // Pass the leave confirm to higher layer if callback registered
|
|
// 2554 if ( ( zdoCBFunc[ZDO_LEAVE_CNF_CBID] == NULL ) ||
|
|
// 2555 ( (*zdoCBFunc[ZDO_LEAVE_CNF_CBID])( cnf ) == NULL ) )
|
|
MOV DPTR,#zdoCBFunc + 10
|
|
LCALL ?Subroutine14 & 0xFFFF
|
|
??CrossCallReturnLabel_14:
|
|
JZ ??ZDO_LeaveCnf_1
|
|
; Setup parameters for indirect call
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
LCALL ??Subroutine57_0 & 0xFFFF
|
|
??CrossCallReturnLabel_98:
|
|
LCALL ?CALL_IND
|
|
MOV A,R2
|
|
ORL A,R3
|
|
JNZ ??CrossCallReturnLabel_16
|
|
// 2556 {
|
|
// 2557 // Prepare to leave with reset
|
|
// 2558 ZDApp_LeaveReset( cnf->rejoin );
|
|
??ZDO_LeaveCnf_1:
|
|
; Setup parameters for call to function ZDApp_LeaveReset
|
|
LCALL ?Subroutine31 & 0xFFFF
|
|
// 2559 }
|
|
// 2560 }
|
|
??CrossCallReturnLabel_111:
|
|
MOV R1,A
|
|
LCALL `??ZDApp_LeaveReset::?relay`; Banked call to: ZDApp_LeaveReset
|
|
SJMP ??CrossCallReturnLabel_16
|
|
// 2561 else if ( ZSTACK_ROUTER_BUILD )
|
|
// 2562 {
|
|
// 2563 // Remove device address(optionally descendents) from data
|
|
// 2564 ZDApp_LeaveUpdate( cnf->dstAddr,
|
|
// 2565 cnf->extAddr,
|
|
// 2566 cnf->removeChildren );
|
|
??ZDO_LeaveCnf_0:
|
|
; Setup parameters for call to function ZDApp_LeaveUpdate
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
LCALL ?Subroutine15 & 0xFFFF
|
|
// 2567 }
|
|
// 2568 }
|
|
??CrossCallReturnLabel_16:
|
|
LJMP ??Subroutine50_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock200
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine16:
|
|
CFI Block cfiCond201 Using cfiCommon0
|
|
CFI Function ZDO_AddrChangeIndicationCB
|
|
CFI Conditional ??CrossCallReturnLabel_102
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond202 Using cfiCommon0
|
|
CFI (cfiCond202) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond202) Conditional ??CrossCallReturnLabel_103
|
|
CFI (cfiCond202) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond202) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond202) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond202) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond202) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond202) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond202) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond202) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond202) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond202) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond202) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond202) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond202) CFA_SP SP+-2
|
|
CFI (cfiCond202) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker203 Using cfiCommon1
|
|
CFI (cfiPicker203) NoFunction
|
|
CFI (cfiPicker203) Picker
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
CFI EndBlock cfiCond201
|
|
CFI EndBlock cfiCond202
|
|
CFI EndBlock cfiPicker203
|
|
REQUIRE ??Subroutine55_0
|
|
; // Fall through to label ??Subroutine55_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine55_0:
|
|
CFI Block cfiCond204 Using cfiCommon0
|
|
CFI Function ZDO_AddrChangeIndicationCB
|
|
CFI Conditional ??CrossCallReturnLabel_101
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond205 Using cfiCommon0
|
|
CFI (cfiCond205) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond205) Conditional ??CrossCallReturnLabel_102
|
|
CFI (cfiCond205) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond205) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond205) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond205) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond205) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond205) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond205) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond205) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond205) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond205) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond205) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond205) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond205) CFA_SP SP+-2
|
|
CFI (cfiCond205) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond206 Using cfiCommon0
|
|
CFI (cfiCond206) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond206) Conditional ??CrossCallReturnLabel_103
|
|
CFI (cfiCond206) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond206) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond206) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond206) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond206) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond206) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond206) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond206) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond206) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond206) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond206) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond206) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond206) CFA_SP SP+-2
|
|
CFI (cfiCond206) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker207 Using cfiCommon1
|
|
CFI (cfiPicker207) NoFunction
|
|
CFI (cfiPicker207) Picker
|
|
INC DPTR
|
|
CFI EndBlock cfiCond204
|
|
CFI EndBlock cfiCond205
|
|
CFI EndBlock cfiCond206
|
|
CFI EndBlock cfiPicker207
|
|
REQUIRE ??Subroutine56_0
|
|
; // Fall through to label ??Subroutine56_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine56_0:
|
|
CFI Block cfiCond208 Using cfiCommon0
|
|
CFI Function ZDO_JoinConfirmCB
|
|
CFI Conditional ??CrossCallReturnLabel_100
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond209 Using cfiCommon0
|
|
CFI (cfiCond209) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond209) Conditional ??CrossCallReturnLabel_101
|
|
CFI (cfiCond209) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond209) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond209) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond209) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond209) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond209) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond209) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond209) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond209) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond209) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond209) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond209) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond209) CFA_SP SP+-2
|
|
CFI (cfiCond209) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond210 Using cfiCommon0
|
|
CFI (cfiCond210) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond210) Conditional ??CrossCallReturnLabel_102
|
|
CFI (cfiCond210) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond210) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond210) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond210) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond210) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond210) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond210) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond210) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond210) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond210) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond210) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond210) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond210) CFA_SP SP+-2
|
|
CFI (cfiCond210) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond211 Using cfiCommon0
|
|
CFI (cfiCond211) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond211) Conditional ??CrossCallReturnLabel_103
|
|
CFI (cfiCond211) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond211) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond211) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond211) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond211) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond211) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond211) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond211) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond211) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond211) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond211) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond211) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond211) CFA_SP SP+-2
|
|
CFI (cfiCond211) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker212 Using cfiCommon1
|
|
CFI (cfiPicker212) NoFunction
|
|
CFI (cfiPicker212) Picker
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
INC DPTR
|
|
CFI EndBlock cfiCond208
|
|
CFI EndBlock cfiCond209
|
|
CFI EndBlock cfiCond210
|
|
CFI EndBlock cfiCond211
|
|
CFI EndBlock cfiPicker212
|
|
REQUIRE ??Subroutine57_0
|
|
; // Fall through to label ??Subroutine57_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine57_0:
|
|
CFI Block cfiCond213 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessOSALMsg
|
|
CFI Conditional ??CrossCallReturnLabel_94
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 11)
|
|
CFI Block cfiCond214 Using cfiCommon0
|
|
CFI (cfiCond214) Function ZDO_NetworkDiscoveryConfirmCB
|
|
CFI (cfiCond214) Conditional ??CrossCallReturnLabel_95
|
|
CFI (cfiCond214) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond214) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond214) CFA_SP SP+-7
|
|
CFI (cfiCond214) CFA_XSP16 add(XSP16, 3)
|
|
CFI Block cfiCond215 Using cfiCommon0
|
|
CFI (cfiCond215) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond215) Conditional ??CrossCallReturnLabel_96
|
|
CFI (cfiCond215) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond215) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond215) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond215) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond215) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond215) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond215) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond215) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond215) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond215) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond215) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond215) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond215) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond215) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond215) CFA_SP SP+-2
|
|
CFI (cfiCond215) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond216 Using cfiCommon0
|
|
CFI (cfiCond216) Function ZDO_ConcentratorIndicationCB
|
|
CFI (cfiCond216) Conditional ??CrossCallReturnLabel_97
|
|
CFI (cfiCond216) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond216) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond216) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond216) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond216) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond216) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond216) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond216) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond216) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond216) CFA_SP SP+-2
|
|
CFI (cfiCond216) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond217 Using cfiCommon0
|
|
CFI (cfiCond217) Function ZDO_LeaveCnf
|
|
CFI (cfiCond217) Conditional ??CrossCallReturnLabel_98
|
|
CFI (cfiCond217) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond217) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond217) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond217) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond217) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond217) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond217) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond217) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond217) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond217) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond217) CFA_SP SP+-2
|
|
CFI (cfiCond217) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond218 Using cfiCommon0
|
|
CFI (cfiCond218) Function ZDO_SrcRtgIndCB
|
|
CFI (cfiCond218) Conditional ??CrossCallReturnLabel_99
|
|
CFI (cfiCond218) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond218) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond218) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond218) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond218) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond218) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond218) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond218) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond218) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond218) CFA_SP SP+-2
|
|
CFI (cfiCond218) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond219 Using cfiCommon0
|
|
CFI (cfiCond219) Function ZDO_JoinConfirmCB
|
|
CFI (cfiCond219) Conditional ??CrossCallReturnLabel_100
|
|
CFI (cfiCond219) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond219) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond219) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond219) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond219) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond219) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond219) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond219) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond219) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond219) CFA_SP SP+-2
|
|
CFI (cfiCond219) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond220 Using cfiCommon0
|
|
CFI (cfiCond220) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond220) Conditional ??CrossCallReturnLabel_101
|
|
CFI (cfiCond220) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond220) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond220) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond220) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond220) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond220) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond220) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond220) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond220) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond220) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond220) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond220) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond220) CFA_SP SP+-2
|
|
CFI (cfiCond220) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond221 Using cfiCommon0
|
|
CFI (cfiCond221) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond221) Conditional ??CrossCallReturnLabel_102
|
|
CFI (cfiCond221) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond221) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond221) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond221) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond221) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond221) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond221) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond221) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond221) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond221) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond221) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond221) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond221) CFA_SP SP+-2
|
|
CFI (cfiCond221) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond222 Using cfiCommon0
|
|
CFI (cfiCond222) Function ZDO_AddrChangeIndicationCB
|
|
CFI (cfiCond222) Conditional ??CrossCallReturnLabel_103
|
|
CFI (cfiCond222) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond222) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond222) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond222) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond222) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond222) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond222) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond222) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond222) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond222) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond222) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond222) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond222) CFA_SP SP+-2
|
|
CFI (cfiCond222) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker223 Using cfiCommon1
|
|
CFI (cfiPicker223) NoFunction
|
|
CFI (cfiPicker223) Picker
|
|
MOVX A,@DPTR
|
|
MOV DPH,A
|
|
MOV DPL,R0
|
|
RET
|
|
CFI EndBlock cfiCond213
|
|
CFI EndBlock cfiCond214
|
|
CFI EndBlock cfiCond215
|
|
CFI EndBlock cfiCond216
|
|
CFI EndBlock cfiCond217
|
|
CFI EndBlock cfiCond218
|
|
CFI EndBlock cfiCond219
|
|
CFI EndBlock cfiCond220
|
|
CFI EndBlock cfiCond221
|
|
CFI EndBlock cfiCond222
|
|
CFI EndBlock cfiPicker223
|
|
// 2569
|
|
// 2570 /*********************************************************************
|
|
// 2571 * @fn ZDO_LeaveInd
|
|
// 2572 *
|
|
// 2573 * @brief This function allows the next higher layer of a
|
|
// 2574 * device to be notified of a remote leave request or
|
|
// 2575 * indication.
|
|
// 2576 *
|
|
// 2577 * @param ind - NLME_LeaveInd_t
|
|
// 2578 *
|
|
// 2579 * @return none
|
|
// 2580 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2581 void ZDO_LeaveInd( NLME_LeaveInd_t* ind )
|
|
ZDO_LeaveInd:
|
|
CFI Block cfiBlock224 Using cfiCommon0
|
|
CFI Function ZDO_LeaveInd
|
|
CODE
|
|
// 2582 {
|
|
FUNCALL ZDO_LeaveInd, NLME_LeaveRsp
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_LeaveInd, ZDApp_LeaveReset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_LeaveInd, NLME_GetCoordShortAddr
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_LeaveInd, ZDApp_LeaveReset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_LeaveInd, ZDApp_LeaveUpdate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 2
|
|
MOV A,#-0x2
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 2583 uint8 leave;
|
|
// 2584
|
|
// 2585
|
|
// 2586 // Parent is requesting the leave - NWK layer filters out illegal
|
|
// 2587 // requests
|
|
// 2588 if ( ind->request == TRUE )
|
|
MOV DPL,R2
|
|
MOV DPH,A
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JNZ ??ZDO_LeaveInd_0
|
|
// 2589 {
|
|
// 2590 // Notify network of leave
|
|
// 2591 if ( ZSTACK_ROUTER_BUILD )
|
|
// 2592 {
|
|
// 2593 NLME_LeaveRsp_t rsp;
|
|
// 2594 rsp.rejoin = ind->rejoin;
|
|
MOV A,R2
|
|
ADD A,#0xc
|
|
MOV ?V0,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV ?V1,A
|
|
MOV DPL,?V0
|
|
MOV DPH,A
|
|
MOVX A,@DPTR
|
|
PUSH A
|
|
CFI CFA_SP SP+-1
|
|
MOV A,#0x1
|
|
LCALL ?XSTACK_DISP0_8
|
|
POP A
|
|
CFI CFA_SP SP+0
|
|
MOVX @DPTR,A
|
|
// 2595 rsp.removeChildren = ind->removeChildren;
|
|
MOV A,R2
|
|
LCALL ??Subroutine59_0 & 0xFFFF
|
|
// 2596 NLME_LeaveRsp( &rsp );
|
|
// 2597 }
|
|
??CrossCallReturnLabel_109:
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
LCALL ?Subroutine13 & 0xFFFF
|
|
??CrossCallReturnLabel_7:
|
|
LCALL `??NLME_LeaveRsp::?relay`; Banked call to: NLME_LeaveRsp
|
|
// 2598
|
|
// 2599 // Prepare to leave with reset
|
|
// 2600 ZDApp_LeaveReset( ind->rejoin );
|
|
; Setup parameters for call to function ZDApp_LeaveReset
|
|
MOV DPL,?V0
|
|
MOV DPH,?V1
|
|
SJMP ??CrossCallReturnLabel_104
|
|
// 2601 }
|
|
// 2602 else
|
|
// 2603 {
|
|
// 2604 leave = FALSE;
|
|
// 2605
|
|
// 2606 // Check if this device needs to leave as a child or descendent
|
|
// 2607 if ( ind->srcAddr == NLME_GetCoordShortAddr() )
|
|
??ZDO_LeaveInd_0:
|
|
; Setup parameters for call to function NLME_GetCoordShortAddr
|
|
LCALL `??NLME_GetCoordShortAddr::?relay`; Banked call to: NLME_GetCoordShortAddr
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
MOV R0,?V0
|
|
MOV R1,?V1
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
MOVX A,@DPTR
|
|
XRL A,R0
|
|
JNZ ??ZDO_LeaveInd_1
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XRL A,R1
|
|
??ZDO_LeaveInd_1:
|
|
JNZ ??ZDO_LeaveInd_2
|
|
// 2608 {
|
|
// 2609 if ( ( ind->removeChildren == TRUE ) ||
|
|
// 2610 ( ZDO_Config_Node_Descriptor.LogicalType ==
|
|
// 2611 NODETYPE_DEVICE ) )
|
|
LCALL ?Subroutine31 & 0xFFFF
|
|
??CrossCallReturnLabel_112:
|
|
XRL A,#0x1
|
|
JZ ??ZDO_LeaveInd_3
|
|
LCALL ?Subroutine21 & 0xFFFF
|
|
??CrossCallReturnLabel_24:
|
|
JNZ ??ZDO_LeaveInd_2
|
|
// 2612 {
|
|
// 2613 leave = TRUE;
|
|
// 2614 }
|
|
// 2615 }
|
|
// 2616 else if ( ind->removeChildren == TRUE )
|
|
// 2617 {
|
|
// 2618 // Check NWK address allocation algorithm
|
|
// 2619 //leave = RTG_ANCESTOR(nwkAddr,thisAddr);
|
|
// 2620 }
|
|
// 2621
|
|
// 2622 if ( leave == TRUE )
|
|
// 2623 {
|
|
// 2624 // Prepare to leave with reset
|
|
// 2625 ZDApp_LeaveReset( ind->rejoin );
|
|
??ZDO_LeaveInd_3:
|
|
; Setup parameters for call to function ZDApp_LeaveReset
|
|
MOV A,R6
|
|
LCALL ??Subroutine58_0 & 0xFFFF
|
|
// 2626 }
|
|
??CrossCallReturnLabel_104:
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??ZDApp_LeaveReset::?relay`; Banked call to: ZDApp_LeaveReset
|
|
SJMP ??CrossCallReturnLabel_17
|
|
// 2627 else
|
|
// 2628 {
|
|
// 2629 // Remove device address(optionally descendents) from data
|
|
// 2630 ZDApp_LeaveUpdate( ind->srcAddr,
|
|
// 2631 ind->extAddr,
|
|
// 2632 ind->removeChildren );
|
|
??ZDO_LeaveInd_2:
|
|
; Setup parameters for call to function ZDApp_LeaveUpdate
|
|
MOV A,R6
|
|
LCALL ?Subroutine41 & 0xFFFF
|
|
// 2633 }
|
|
// 2634 }
|
|
??CrossCallReturnLabel_113:
|
|
LCALL ?Subroutine15 & 0xFFFF
|
|
// 2635 }
|
|
??CrossCallReturnLabel_17:
|
|
LJMP ?Subroutine7 & 0xFFFF
|
|
CFI EndBlock cfiBlock224
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine15:
|
|
CFI Block cfiCond225 Using cfiCommon0
|
|
CFI Function ZDO_LeaveCnf
|
|
CFI Conditional ??CrossCallReturnLabel_16
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond226 Using cfiCommon0
|
|
CFI (cfiCond226) Function ZDO_LeaveInd
|
|
CFI (cfiCond226) Conditional ??CrossCallReturnLabel_17
|
|
CFI (cfiCond226) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond226) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond226) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond226) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond226) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond226) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond226) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond226) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond226) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond226) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond226) CFA_SP SP+-2
|
|
CFI (cfiCond226) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker227 Using cfiCommon1
|
|
CFI (cfiPicker227) NoFunction
|
|
CFI (cfiPicker227) Picker
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
MOV A,R6
|
|
ADD A,#0x2
|
|
MOV R4,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV R5,A
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
LCALL ?Subroutine38 & 0xFFFF
|
|
??CrossCallReturnLabel_54:
|
|
LCALL `??ZDApp_LeaveUpdate::?relay`; Banked call to: ZDApp_LeaveUpdate
|
|
RET
|
|
CFI EndBlock cfiCond225
|
|
CFI EndBlock cfiCond226
|
|
CFI EndBlock cfiPicker227
|
|
// 2636
|
|
// 2637 /*********************************************************************
|
|
// 2638 * @fn ZDO_SyncIndicationCB
|
|
// 2639 *
|
|
// 2640 * @brief This function allows the next higher layer of a
|
|
// 2641 * coordinator to be notified of a loss of synchronization
|
|
// 2642 * with the parent/child device.
|
|
// 2643 *
|
|
// 2644 * @param type: 0 - child; 1 - parent
|
|
// 2645 *
|
|
// 2646 *
|
|
// 2647 * @return none
|
|
// 2648 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2649 void ZDO_SyncIndicationCB( uint8 type, uint16 shortAddr )
|
|
ZDO_SyncIndicationCB:
|
|
CFI Block cfiBlock228 Using cfiCommon0
|
|
CFI Function ZDO_SyncIndicationCB
|
|
CODE
|
|
// 2650 {
|
|
FUNCALL ZDO_SyncIndicationCB, nwkNeighborInitTable
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDO_SyncIndicationCB, ZDApp_SendMsg
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
MOV R6,A
|
|
// 2651 (void)shortAddr; // Remove this line if this parameter is used.
|
|
// 2652
|
|
// 2653 if ( ZSTACK_END_DEVICE_BUILD
|
|
// 2654 || (ZSTACK_ROUTER_BUILD && ((_NIB.CapabilityFlags & ZMAC_ASSOC_CAPINFO_FFD_TYPE) == 0)))
|
|
MOV DPTR,#_NIB + 14
|
|
MOVX A,@DPTR
|
|
MOV C,0xE0 /* A */.1
|
|
JC ??CrossCallReturnLabel_28
|
|
// 2655 {
|
|
// 2656 if ( type == 1 )
|
|
MOV A,#0x1
|
|
XRL A,R6
|
|
JNZ ??CrossCallReturnLabel_28
|
|
// 2657 {
|
|
// 2658 // We lost contact with our parent. Clear the neighbor Table.
|
|
// 2659 nwkNeighborInitTable();
|
|
; Setup parameters for call to function nwkNeighborInitTable
|
|
LCALL `??nwkNeighborInitTable::?relay`; Banked call to: nwkNeighborInitTable
|
|
// 2660
|
|
// 2661 // Start the rejoin process.
|
|
// 2662 ZDApp_SendMsg( ZDAppTaskID, ZDO_NWK_JOIN_REQ, sizeof(osal_event_hdr_t), NULL );
|
|
; Setup parameters for call to function ZDApp_SendMsg
|
|
MOV R4,#0x0
|
|
MOV R5,#0x0
|
|
MOV R3,#0x2
|
|
MOV R2,#0x3
|
|
LCALL ?Subroutine24 & 0xFFFF
|
|
// 2663 }
|
|
// 2664 }
|
|
// 2665 }
|
|
??CrossCallReturnLabel_28:
|
|
LJMP ??Subroutine52_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock228
|
|
// 2666
|
|
// 2667 /*********************************************************************
|
|
// 2668 * @fn ZDO_ManytoOneFailureIndicationCB
|
|
// 2669 *
|
|
// 2670 * @brief This function allows the next higher layer of a
|
|
// 2671 * concentrator to be notified of a many-to-one route
|
|
// 2672 * failure.
|
|
// 2673 *
|
|
// 2674 * @param none
|
|
// 2675 *
|
|
// 2676 *
|
|
// 2677 * @return none
|
|
// 2678 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2679 void ZDO_ManytoOneFailureIndicationCB()
|
|
ZDO_ManytoOneFailureIndicationCB:
|
|
CFI Block cfiBlock229 Using cfiCommon0
|
|
CFI Function ZDO_ManytoOneFailureIndicationCB
|
|
CODE
|
|
// 2680 {
|
|
FUNCALL ZDO_ManytoOneFailureIndicationCB, RTG_MTORouteReq
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 2681 // By default, the concentrator automatically redo many-to-one route
|
|
// 2682 // discovery to update all many-to-one routes in the network
|
|
// 2683 // If you want anything processing other than the default,
|
|
// 2684 // please replace the following code.
|
|
// 2685
|
|
// 2686 RTG_MTORouteReq();
|
|
; Setup parameters for call to function RTG_MTORouteReq
|
|
LCALL `??RTG_MTORouteReq::?relay`; Banked call to: RTG_MTORouteReq
|
|
// 2687 }
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock229
|
|
// 2688
|
|
// 2689 /*********************************************************************
|
|
// 2690 * @fn ZDO_PollConfirmCB
|
|
// 2691 *
|
|
// 2692 * @brief This function allows the next higher layer to be
|
|
// 2693 * notified of a Poll Confirm.
|
|
// 2694 *
|
|
// 2695 * @param none
|
|
// 2696 *
|
|
// 2697 * @return none
|
|
// 2698 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2699 void ZDO_PollConfirmCB( uint8 status )
|
|
ZDO_PollConfirmCB:
|
|
CFI Block cfiBlock230 Using cfiCommon0
|
|
CFI Function ZDO_PollConfirmCB
|
|
CODE
|
|
// 2700 {
|
|
; Saved register size: 0
|
|
; Auto size: 0
|
|
// 2701 (void)status; // Remove this line if this parameter is used.
|
|
// 2702 return;
|
|
LJMP ?BRET
|
|
// 2703 }
|
|
CFI EndBlock cfiBlock230
|
|
// 2704
|
|
// 2705 /******************************************************************************
|
|
// 2706 * @fn ZDApp_NwkWriteNVRequest (stubs AddrMgrWriteNVRequest)
|
|
// 2707 *
|
|
// 2708 * @brief Stub routine implemented by NHLE. NHLE should call
|
|
// 2709 * <AddrMgrWriteNV> when appropriate.
|
|
// 2710 *
|
|
// 2711 * @param none
|
|
// 2712 *
|
|
// 2713 * @return none
|
|
// 2714 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2715 void ZDApp_NwkWriteNVRequest( void )
|
|
AddrMgrWriteNVRequest:
|
|
CFI Block cfiBlock231 Using cfiCommon0
|
|
CFI Function AddrMgrWriteNVRequest
|
|
CODE
|
|
// 2716 {
|
|
; Saved register size: 0
|
|
; Auto size: 0
|
|
// 2717 #if defined ( NV_RESTORE )
|
|
// 2718 if ( !osal_get_timeoutEx( ZDAppTaskID, ZDO_NWK_UPDATE_NV ) )
|
|
// 2719 {
|
|
// 2720 // Trigger to save info into NV
|
|
// 2721 ZDApp_NVUpdate();
|
|
// 2722 }
|
|
// 2723 #endif
|
|
// 2724 }
|
|
LJMP ?BRET
|
|
CFI EndBlock cfiBlock231
|
|
// 2725
|
|
// 2726 /*********************************************************************
|
|
// 2727 * Call Back Functions from Security - API
|
|
// 2728 */
|
|
// 2729
|
|
// 2730 /*********************************************************************
|
|
// 2731 * @fn ZDO_UpdateDeviceIndication
|
|
// 2732 *
|
|
// 2733 * @brief This function notifies the "Trust Center" of a
|
|
// 2734 * network when a device joins or leaves the network.
|
|
// 2735 *
|
|
// 2736 * @param extAddr - pointer to 64 bit address of new device
|
|
// 2737 * @param status - 0 if a new device joined securely
|
|
// 2738 * - 1 if a new device joined un-securely
|
|
// 2739 * - 2 if a device left the network
|
|
// 2740 *
|
|
// 2741 * @return true if newly joined device should be allowed to
|
|
// 2742 * remain on network
|
|
// 2743 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2744 ZStatus_t ZDO_UpdateDeviceIndication( uint8 *extAddr, uint8 status )
|
|
ZDO_UpdateDeviceIndication:
|
|
CFI Block cfiBlock232 Using cfiCommon0
|
|
CFI Function ZDO_UpdateDeviceIndication
|
|
CODE
|
|
// 2745 {
|
|
; Saved register size: 0
|
|
; Auto size: 0
|
|
// 2746 // can implement a network access policy based on the
|
|
// 2747 // IEEE address of newly joining devices...
|
|
// 2748 (void)extAddr;
|
|
// 2749 (void)status;
|
|
// 2750
|
|
// 2751 return ZSuccess;
|
|
LJMP ?Subroutine4 & 0xFFFF
|
|
// 2752 }
|
|
CFI EndBlock cfiBlock232
|
|
// 2753
|
|
// 2754 /*********************************************************************
|
|
// 2755 * @fn ZDApp_InMsgCB
|
|
// 2756 *
|
|
// 2757 * @brief This function is called to pass up any message that is
|
|
// 2758 * not yet supported. This allows for the developer to
|
|
// 2759 * support features themselves..
|
|
// 2760 *
|
|
// 2761 * @return none
|
|
// 2762 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2763 void ZDApp_InMsgCB( zdoIncomingMsg_t *inMsg )
|
|
ZDApp_InMsgCB:
|
|
CFI Block cfiBlock233 Using cfiCommon0
|
|
CFI Function ZDApp_InMsgCB
|
|
CODE
|
|
// 2764 {
|
|
FUNCALL ZDApp_InMsgCB, ZDP_GenericRsp
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 2765 if ( inMsg->clusterID & ZDO_RESPONSE_BIT )
|
|
LCALL ?Subroutine33 & 0xFFFF
|
|
??CrossCallReturnLabel_105:
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
ANL A,#0x80
|
|
JNZ ??ZDApp_InMsgCB_0
|
|
// 2766 {
|
|
// 2767 // Handle the response message
|
|
// 2768 }
|
|
// 2769 else
|
|
// 2770 {
|
|
// 2771 // Handle the request message by sending a generic "not supported".
|
|
// 2772 // Device Announce doesn't have a response.
|
|
// 2773 if ( !(inMsg->wasBroadcast) && inMsg->clusterID != Device_annce )
|
|
MOV A,R2
|
|
LCALL ??Subroutine59_0 & 0xFFFF
|
|
??CrossCallReturnLabel_110:
|
|
JNZ ??ZDApp_InMsgCB_0
|
|
LCALL ?Subroutine33 & 0xFFFF
|
|
??CrossCallReturnLabel_106:
|
|
MOVX A,@DPTR
|
|
XRL A,#0x13
|
|
JNZ ??ZDApp_InMsgCB_1
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
??ZDApp_InMsgCB_1:
|
|
JZ ??ZDApp_InMsgCB_0
|
|
// 2774 {
|
|
// 2775 ZDP_GenericRsp( inMsg->TransSeq, &(inMsg->srcAddr), ZDP_NOT_SUPPORTED, 0,
|
|
// 2776 (uint16)(inMsg->clusterID | ZDO_RESPONSE_BIT), inMsg->SecurityUse );
|
|
; Setup parameters for call to function ZDP_GenericRsp
|
|
LCALL ?Subroutine32 & 0xFFFF
|
|
// 2777 }
|
|
// 2778 }
|
|
??CrossCallReturnLabel_44:
|
|
ORL A,#0x80
|
|
MOV ?V1,A
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CLR A
|
|
MOV ?V0,A
|
|
MOV ?V1,A
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
MOV A,R2
|
|
ADD A,#0xe
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV DPH,A
|
|
MOVX A,@DPTR
|
|
MOV R5,A
|
|
MOV R4,#-0x7c
|
|
MOV A,R2
|
|
ADD A,#0x2
|
|
MOV R2,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV R3,A
|
|
MOV A,R6
|
|
ADD A,#0xf
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV DPH,A
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??ZDP_GenericRsp::?relay`; Banked call to: ZDP_GenericRsp
|
|
MOV A,#0x4
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
// 2779 }
|
|
??ZDApp_InMsgCB_0:
|
|
LJMP ??Subroutine50_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock233
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine33:
|
|
CFI Block cfiCond234 Using cfiCommon0
|
|
CFI Function ZDApp_InMsgCB
|
|
CFI Conditional ??CrossCallReturnLabel_105
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond235 Using cfiCommon0
|
|
CFI (cfiCond235) Function ZDApp_InMsgCB
|
|
CFI (cfiCond235) Conditional ??CrossCallReturnLabel_106
|
|
CFI (cfiCond235) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond235) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond235) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond235) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond235) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond235) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond235) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond235) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond235) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond235) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond235) CFA_SP SP+-2
|
|
CFI (cfiCond235) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker236 Using cfiCommon1
|
|
CFI (cfiPicker236) NoFunction
|
|
CFI (cfiPicker236) Picker
|
|
MOV A,R2
|
|
CFI EndBlock cfiCond234
|
|
CFI EndBlock cfiCond235
|
|
CFI EndBlock cfiPicker236
|
|
REQUIRE ??Subroutine58_0
|
|
; // Fall through to label ??Subroutine58_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine58_0:
|
|
CFI Block cfiCond237 Using cfiCommon0
|
|
CFI Function ZDO_LeaveInd
|
|
CFI Conditional ??CrossCallReturnLabel_104
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond238 Using cfiCommon0
|
|
CFI (cfiCond238) Function ZDApp_InMsgCB
|
|
CFI (cfiCond238) Conditional ??CrossCallReturnLabel_105
|
|
CFI (cfiCond238) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond238) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond238) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond238) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond238) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond238) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond238) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond238) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond238) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond238) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond238) CFA_SP SP+-2
|
|
CFI (cfiCond238) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond239 Using cfiCommon0
|
|
CFI (cfiCond239) Function ZDApp_InMsgCB
|
|
CFI (cfiCond239) Conditional ??CrossCallReturnLabel_106
|
|
CFI (cfiCond239) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond239) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond239) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond239) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond239) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond239) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond239) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond239) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond239) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond239) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond239) CFA_SP SP+-2
|
|
CFI (cfiCond239) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker240 Using cfiCommon1
|
|
CFI (cfiPicker240) NoFunction
|
|
CFI (cfiPicker240) Picker
|
|
LCALL ?Subroutine42 & 0xFFFF
|
|
??CrossCallReturnLabel_108:
|
|
RET
|
|
CFI EndBlock cfiCond237
|
|
CFI EndBlock cfiCond238
|
|
CFI EndBlock cfiCond239
|
|
CFI EndBlock cfiPicker240
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine42:
|
|
CFI Block cfiCond241 Using cfiCommon0
|
|
CFI Function ZDApp_InMsgCB
|
|
CFI Conditional ??CrossCallReturnLabel_108, ??CrossCallReturnLabel_105
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-4
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond242 Using cfiCommon0
|
|
CFI (cfiCond242) Function ZDApp_InMsgCB
|
|
CFI (cfiCond242) Conditional ??CrossCallReturnLabel_108, ??CrossCallReturnLabel_106
|
|
CFI (cfiCond242) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond242) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond242) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond242) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond242) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond242) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond242) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond242) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond242) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond242) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond242) CFA_SP SP+-4
|
|
CFI (cfiCond242) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond243 Using cfiCommon0
|
|
CFI (cfiCond243) Function ZDO_LeaveInd
|
|
CFI (cfiCond243) Conditional ??CrossCallReturnLabel_108, ??CrossCallReturnLabel_104
|
|
CFI (cfiCond243) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond243) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond243) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond243) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond243) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond243) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond243) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond243) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond243) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond243) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond243) CFA_SP SP+-4
|
|
CFI (cfiCond243) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond244 Using cfiCommon0
|
|
CFI (cfiCond244) Function ZDApp_ProcessMsgCBs
|
|
CFI (cfiCond244) Conditional ??CrossCallReturnLabel_107, ??CrossCallReturnLabel_43
|
|
CFI (cfiCond244) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond244) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond244) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond244) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond244) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond244) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond244) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond244) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond244) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond244) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond244) CFA_SP SP+-4
|
|
CFI (cfiCond244) CFA_XSP16 add(XSP16, 31)
|
|
CFI Block cfiCond245 Using cfiCommon0
|
|
CFI (cfiCond245) Function ZDApp_InMsgCB
|
|
CFI (cfiCond245) Conditional ??CrossCallReturnLabel_107, ??CrossCallReturnLabel_44
|
|
CFI (cfiCond245) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond245) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond245) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond245) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond245) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond245) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond245) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond245) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond245) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond245) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond245) CFA_SP SP+-4
|
|
CFI (cfiCond245) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker246 Using cfiCommon1
|
|
CFI (cfiPicker246) NoFunction
|
|
CFI (cfiPicker246) Picker
|
|
ADD A,#0xc
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV DPH,A
|
|
RET
|
|
CFI EndBlock cfiCond241
|
|
CFI EndBlock cfiCond242
|
|
CFI EndBlock cfiCond243
|
|
CFI EndBlock cfiCond244
|
|
CFI EndBlock cfiCond245
|
|
CFI EndBlock cfiPicker246
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine32:
|
|
CFI Block cfiCond247 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessMsgCBs
|
|
CFI Conditional ??CrossCallReturnLabel_43
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 31)
|
|
CFI Block cfiCond248 Using cfiCommon0
|
|
CFI (cfiCond248) Function ZDApp_InMsgCB
|
|
CFI (cfiCond248) Conditional ??CrossCallReturnLabel_44
|
|
CFI (cfiCond248) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond248) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond248) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond248) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond248) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond248) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond248) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond248) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond248) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond248) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond248) CFA_SP SP+-2
|
|
CFI (cfiCond248) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker249 Using cfiCommon1
|
|
CFI (cfiPicker249) NoFunction
|
|
CFI (cfiPicker249) Picker
|
|
MOV A,R2
|
|
LCALL ?Subroutine42 & 0xFFFF
|
|
??CrossCallReturnLabel_107:
|
|
MOVX A,@DPTR
|
|
MOV ?V0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
RET
|
|
CFI EndBlock cfiCond247
|
|
CFI EndBlock cfiCond248
|
|
CFI EndBlock cfiPicker249
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine31:
|
|
CFI Block cfiCond250 Using cfiCommon0
|
|
CFI Function ZDO_LeaveCnf
|
|
CFI Conditional ??CrossCallReturnLabel_111
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond251 Using cfiCommon0
|
|
CFI (cfiCond251) Function ZDO_LeaveInd
|
|
CFI (cfiCond251) Conditional ??CrossCallReturnLabel_112
|
|
CFI (cfiCond251) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond251) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond251) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond251) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond251) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond251) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond251) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond251) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond251) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond251) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond251) CFA_SP SP+-2
|
|
CFI (cfiCond251) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker252 Using cfiCommon1
|
|
CFI (cfiPicker252) NoFunction
|
|
CFI (cfiPicker252) Picker
|
|
MOV A,R6
|
|
CFI EndBlock cfiCond250
|
|
CFI EndBlock cfiCond251
|
|
CFI EndBlock cfiPicker252
|
|
REQUIRE ??Subroutine59_0
|
|
; // Fall through to label ??Subroutine59_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine59_0:
|
|
CFI Block cfiCond253 Using cfiCommon0
|
|
CFI Function ZDO_LeaveInd
|
|
CFI Conditional ??CrossCallReturnLabel_109
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond254 Using cfiCommon0
|
|
CFI (cfiCond254) Function ZDApp_InMsgCB
|
|
CFI (cfiCond254) Conditional ??CrossCallReturnLabel_110
|
|
CFI (cfiCond254) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond254) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond254) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond254) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond254) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond254) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond254) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond254) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond254) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond254) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond254) CFA_SP SP+-2
|
|
CFI (cfiCond254) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond255 Using cfiCommon0
|
|
CFI (cfiCond255) Function ZDO_LeaveCnf
|
|
CFI (cfiCond255) Conditional ??CrossCallReturnLabel_111
|
|
CFI (cfiCond255) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond255) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond255) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond255) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond255) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond255) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond255) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond255) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond255) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond255) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond255) CFA_SP SP+-2
|
|
CFI (cfiCond255) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond256 Using cfiCommon0
|
|
CFI (cfiCond256) Function ZDO_LeaveInd
|
|
CFI (cfiCond256) Conditional ??CrossCallReturnLabel_112
|
|
CFI (cfiCond256) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond256) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond256) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond256) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond256) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond256) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond256) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond256) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond256) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond256) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond256) CFA_SP SP+-2
|
|
CFI (cfiCond256) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker257 Using cfiCommon1
|
|
CFI (cfiPicker257) NoFunction
|
|
CFI (cfiPicker257) Picker
|
|
LCALL ?Subroutine41 & 0xFFFF
|
|
??CrossCallReturnLabel_114:
|
|
MOVX A,@DPTR
|
|
RET
|
|
CFI EndBlock cfiCond253
|
|
CFI EndBlock cfiCond254
|
|
CFI EndBlock cfiCond255
|
|
CFI EndBlock cfiCond256
|
|
CFI EndBlock cfiPicker257
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine41:
|
|
CFI Block cfiCond258 Using cfiCommon0
|
|
CFI Function ZDO_LeaveInd
|
|
CFI Conditional ??CrossCallReturnLabel_113
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond259 Using cfiCommon0
|
|
CFI (cfiCond259) Function ZDO_LeaveCnf
|
|
CFI (cfiCond259) Conditional ??CrossCallReturnLabel_114, ??CrossCallReturnLabel_111
|
|
CFI (cfiCond259) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond259) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond259) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond259) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond259) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond259) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond259) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond259) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond259) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond259) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond259) CFA_SP SP+-4
|
|
CFI (cfiCond259) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond260 Using cfiCommon0
|
|
CFI (cfiCond260) Function ZDO_LeaveInd
|
|
CFI (cfiCond260) Conditional ??CrossCallReturnLabel_114, ??CrossCallReturnLabel_112
|
|
CFI (cfiCond260) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond260) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond260) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond260) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond260) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond260) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond260) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond260) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond260) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond260) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond260) CFA_SP SP+-4
|
|
CFI (cfiCond260) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond261 Using cfiCommon0
|
|
CFI (cfiCond261) Function ZDO_LeaveInd
|
|
CFI (cfiCond261) Conditional ??CrossCallReturnLabel_114, ??CrossCallReturnLabel_109
|
|
CFI (cfiCond261) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond261) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond261) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond261) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond261) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond261) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond261) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond261) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond261) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond261) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond261) CFA_SP SP+-4
|
|
CFI (cfiCond261) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond262 Using cfiCommon0
|
|
CFI (cfiCond262) Function ZDApp_InMsgCB
|
|
CFI (cfiCond262) Conditional ??CrossCallReturnLabel_114, ??CrossCallReturnLabel_110
|
|
CFI (cfiCond262) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond262) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond262) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond262) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond262) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond262) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond262) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond262) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond262) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond262) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond262) CFA_SP SP+-4
|
|
CFI (cfiCond262) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker263 Using cfiCommon1
|
|
CFI (cfiPicker263) NoFunction
|
|
CFI (cfiPicker263) Picker
|
|
ADD A,#0xb
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV DPH,A
|
|
RET
|
|
CFI EndBlock cfiCond258
|
|
CFI EndBlock cfiCond259
|
|
CFI EndBlock cfiCond260
|
|
CFI EndBlock cfiCond261
|
|
CFI EndBlock cfiCond262
|
|
CFI EndBlock cfiPicker263
|
|
// 2780
|
|
// 2781
|
|
// 2782 /*********************************************************************
|
|
// 2783 * @fn ZDApp_ChangeMatchDescRespPermission()
|
|
// 2784 *
|
|
// 2785 * @brief Changes the Match Descriptor Response permission.
|
|
// 2786 *
|
|
// 2787 * @param endpoint - endpoint to allow responses
|
|
// 2788 * @param action - true to allow responses, false to not
|
|
// 2789 *
|
|
// 2790 * @return none
|
|
// 2791 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2792 void ZDApp_ChangeMatchDescRespPermission( uint8 endpoint, uint8 action )
|
|
ZDApp_ChangeMatchDescRespPermission:
|
|
CFI Block cfiBlock264 Using cfiCommon0
|
|
CFI Function ZDApp_ChangeMatchDescRespPermission
|
|
CODE
|
|
// 2793 {
|
|
FUNCALL ZDApp_ChangeMatchDescRespPermission, afSetMatch
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 2794 // Store the action
|
|
// 2795 afSetMatch( endpoint, action );
|
|
; Setup parameters for call to function afSetMatch
|
|
LCALL `??afSetMatch::?relay`; Banked call to: afSetMatch
|
|
// 2796 }
|
|
LJMP ??Subroutine52_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock264
|
|
// 2797
|
|
// 2798 /*********************************************************************
|
|
// 2799 * @fn ZDApp_NetworkInit()
|
|
// 2800 *
|
|
// 2801 * @brief Used to start the network joining process
|
|
// 2802 *
|
|
// 2803 * @param delay - mSec delay to wait before starting
|
|
// 2804 *
|
|
// 2805 * @return none
|
|
// 2806 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2807 void ZDApp_NetworkInit( uint16 delay )
|
|
ZDApp_NetworkInit:
|
|
CFI Block cfiBlock265 Using cfiCommon0
|
|
CFI Function ZDApp_NetworkInit
|
|
CODE
|
|
// 2808 {
|
|
FUNCALL ZDApp_NetworkInit, osal_start_timerEx
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_NetworkInit, osal_set_event
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 2809 if ( delay )
|
|
MOV A,R2
|
|
ORL A,R3
|
|
JZ ??ZDApp_NetworkInit_0
|
|
// 2810 {
|
|
// 2811 // Wait awhile before starting the device
|
|
// 2812 osal_start_timerEx( ZDAppTaskID, ZDO_NETWORK_INIT, delay );
|
|
; Setup parameters for call to function osal_start_timerEx
|
|
MOV A,R2
|
|
MOV R4,A
|
|
MOV A,R3
|
|
MOV R5,A
|
|
MOV R2,#0x1
|
|
LCALL ?Subroutine22 & 0xFFFF
|
|
// 2813 }
|
|
??CrossCallReturnLabel_79:
|
|
SJMP ??CrossCallReturnLabel_66
|
|
// 2814 else
|
|
// 2815 {
|
|
// 2816 osal_set_event( ZDAppTaskID, ZDO_NETWORK_INIT );
|
|
??ZDApp_NetworkInit_0:
|
|
; Setup parameters for call to function osal_set_event
|
|
MOV R2,#0x1
|
|
LCALL ??Subroutine43_0 & 0xFFFF
|
|
// 2817 }
|
|
// 2818 }
|
|
??CrossCallReturnLabel_66:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock265
|
|
// 2819
|
|
// 2820 /*********************************************************************
|
|
// 2821 * @fn ZDApp_NwkStateUpdateCB()
|
|
// 2822 *
|
|
// 2823 * @brief This function notifies that this device's network
|
|
// 2824 * state info has been changed.
|
|
// 2825 *
|
|
// 2826 * @param none
|
|
// 2827 *
|
|
// 2828 * @return none
|
|
// 2829 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2830 void ZDApp_NwkStateUpdateCB( void )
|
|
ZDApp_NwkStateUpdateCB:
|
|
CFI Block cfiBlock266 Using cfiCommon0
|
|
CFI Function ZDApp_NwkStateUpdateCB
|
|
CODE
|
|
// 2831 {
|
|
FUNCALL ZDApp_NwkStateUpdateCB, osal_get_timeoutEx
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 2832 // Notify to save info into NV
|
|
// 2833 if ( !osal_get_timeoutEx( ZDAppTaskID, ZDO_NWK_UPDATE_NV ) )
|
|
; Setup parameters for call to function osal_get_timeoutEx
|
|
MOV R2,#0x0
|
|
MOV R3,#0x2
|
|
MOV DPTR,#ZDAppTaskID
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LCALL `??osal_get_timeoutEx::?relay`; Banked call to: osal_get_timeoutEx
|
|
// 2834 {
|
|
// 2835 // Trigger to save info into NV
|
|
// 2836 ZDApp_NVUpdate();
|
|
// 2837 }
|
|
// 2838 }
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock266
|
|
// 2839
|
|
// 2840 /*********************************************************************
|
|
// 2841 * @fn ZDApp_NodeProfileSync()
|
|
// 2842 *
|
|
// 2843 * @brief Sync node with stack profile.
|
|
// 2844 *
|
|
// 2845 * @param stackProfile - stack profile of the network to join
|
|
// 2846 *
|
|
// 2847 * @return none
|
|
// 2848 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2849 void ZDApp_NodeProfileSync( uint8 stackProfile )
|
|
ZDApp_NodeProfileSync:
|
|
CFI Block cfiBlock267 Using cfiCommon0
|
|
CFI Function ZDApp_NodeProfileSync
|
|
CODE
|
|
// 2850 {
|
|
FUNCALL ZDApp_NodeProfileSync, NLME_SetBroadcastFilter
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
MOV R6,A
|
|
// 2851 if ( ZDO_Config_Node_Descriptor.CapabilityFlags & CAPINFO_DEVICETYPE_FFD )
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor + 2
|
|
MOVX A,@DPTR
|
|
MOV C,0xE0 /* A */.1
|
|
JNC ??ZDApp_NodeProfileSync_0
|
|
// 2852 {
|
|
// 2853 if ( stackProfile != zgStackProfile )
|
|
MOV DPTR,#zgStackProfile
|
|
MOVX A,@DPTR
|
|
XRL A,R6
|
|
JZ ??ZDApp_NodeProfileSync_0
|
|
// 2854 {
|
|
// 2855 ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_DEVICE;
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor
|
|
MOVX A,@DPTR
|
|
ANL A,#0xf8
|
|
ORL A,#0x2
|
|
MOVX @DPTR,A
|
|
// 2856 ZDO_Config_Node_Descriptor.CapabilityFlags = CAPINFO_DEVICETYPE_RFD | CAPINFO_POWER_AC | CAPINFO_RCVR_ON_IDLE;
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor + 2
|
|
MOV A,#0xc
|
|
MOVX @DPTR,A
|
|
// 2857 NLME_SetBroadcastFilter( ZDO_Config_Node_Descriptor.CapabilityFlags );
|
|
; Setup parameters for call to function NLME_SetBroadcastFilter
|
|
MOV R1,A
|
|
LCALL `??NLME_SetBroadcastFilter::?relay`; Banked call to: NLME_SetBroadcastFilter
|
|
// 2858 }
|
|
// 2859 }
|
|
// 2860 }
|
|
??ZDApp_NodeProfileSync_0:
|
|
LJMP ??Subroutine52_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock267
|
|
// 2861
|
|
// 2862 /*********************************************************************
|
|
// 2863 * @fn ZDApp_StartJoiningCycle()
|
|
// 2864 *
|
|
// 2865 * @brief Starts the joining cycle of a device. This will only
|
|
// 2866 * continue an already started (or stopped) joining cycle.
|
|
// 2867 *
|
|
// 2868 * @param none
|
|
// 2869 *
|
|
// 2870 * @return TRUE if joining stopped, FALSE if joining or rejoining
|
|
// 2871 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2872 uint8 ZDApp_StartJoiningCycle( void )
|
|
ZDApp_StartJoiningCycle:
|
|
CFI Block cfiBlock268 Using cfiCommon0
|
|
CFI Function ZDApp_StartJoiningCycle
|
|
CODE
|
|
// 2873 {
|
|
FUNCALL ZDApp_StartJoiningCycle, ZDApp_NetworkInit
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
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
|
|
// 2874 if ( devState == DEV_INIT || devState == DEV_NWK_DISC )
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JZ ??ZDApp_StartJoiningCycle_0
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JNZ ??ZDApp_StartJoiningCycle_1
|
|
// 2875 {
|
|
// 2876 continueJoining = TRUE;
|
|
??ZDApp_StartJoiningCycle_0:
|
|
MOV DPTR,#continueJoining
|
|
MOV A,#0x1
|
|
MOVX @DPTR,A
|
|
// 2877 ZDApp_NetworkInit( 0 );
|
|
; Setup parameters for call to function ZDApp_NetworkInit
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
LCALL `??ZDApp_NetworkInit::?relay`; Banked call to: ZDApp_NetworkInit
|
|
// 2878
|
|
// 2879 return ( TRUE );
|
|
MOV R1,#0x1
|
|
SJMP ??ZDApp_StartJoiningCycle_2
|
|
// 2880 }
|
|
// 2881 else
|
|
// 2882 return ( FALSE );
|
|
??ZDApp_StartJoiningCycle_1:
|
|
MOV R1,#0x0
|
|
??ZDApp_StartJoiningCycle_2:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
// 2883 }
|
|
CFI EndBlock cfiBlock268
|
|
// 2884
|
|
// 2885 /*********************************************************************
|
|
// 2886 * @fn ZDApp_StopJoiningCycle()
|
|
// 2887 *
|
|
// 2888 * @brief Stops the joining or rejoining process of a device.
|
|
// 2889 *
|
|
// 2890 * @param none
|
|
// 2891 *
|
|
// 2892 * @return TRUE if joining stopped, FALSE if joining or rejoining
|
|
// 2893 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2894 uint8 ZDApp_StopJoiningCycle( void )
|
|
ZDApp_StopJoiningCycle:
|
|
CFI Block cfiBlock269 Using cfiCommon0
|
|
CFI Function ZDApp_StopJoiningCycle
|
|
CODE
|
|
// 2895 {
|
|
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
|
|
// 2896 if ( devState == DEV_INIT || devState == DEV_NWK_DISC )
|
|
MOV DPTR,#devState
|
|
MOVX A,@DPTR
|
|
XRL A,#0x1
|
|
JZ ??ZDApp_StopJoiningCycle_0
|
|
MOVX A,@DPTR
|
|
XRL A,#0x2
|
|
JNZ ??ZDApp_StopJoiningCycle_1
|
|
// 2897 {
|
|
// 2898 continueJoining = FALSE;
|
|
??ZDApp_StopJoiningCycle_0:
|
|
MOV DPTR,#continueJoining
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
// 2899 return ( TRUE );
|
|
MOV R1,#0x1
|
|
SJMP ??ZDApp_StopJoiningCycle_2
|
|
// 2900 }
|
|
// 2901 else
|
|
// 2902 return ( FALSE );
|
|
??ZDApp_StopJoiningCycle_1:
|
|
MOV R1,#0x0
|
|
??ZDApp_StopJoiningCycle_2:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
// 2903 }
|
|
CFI EndBlock cfiBlock269
|
|
// 2904
|
|
// 2905 /*********************************************************************
|
|
// 2906 * @fn ZDApp_AnnounceNewAddress()
|
|
// 2907 *
|
|
// 2908 * @brief Send Device Announce and hold all transmissions for
|
|
// 2909 * new address timeout.
|
|
// 2910 *
|
|
// 2911 * @param none
|
|
// 2912 *
|
|
// 2913 * @return none
|
|
// 2914 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2915 void ZDApp_AnnounceNewAddress( void )
|
|
ZDApp_AnnounceNewAddress:
|
|
CFI Block cfiBlock270 Using cfiCommon0
|
|
CFI Function ZDApp_AnnounceNewAddress
|
|
CODE
|
|
// 2916 {
|
|
FUNCALL ZDApp_AnnounceNewAddress, APSME_HoldDataRequests
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_AnnounceNewAddress, NLME_GetExtAddr
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_AnnounceNewAddress, NLME_GetShortAddr
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_AnnounceNewAddress, ZDP_DeviceAnnce
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 11, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 11, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZDApp_AnnounceNewAddress, APSME_HoldDataRequests
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
// 2917 #if defined ( ZIGBEE_NWK_UNIQUE_ADDR_CHECK )
|
|
// 2918 // Turn off data request hold
|
|
// 2919 APSME_HoldDataRequests( 0 );
|
|
; Setup parameters for call to function APSME_HoldDataRequests
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
LCALL `??APSME_HoldDataRequests::?relay`; Banked call to: APSME_HoldDataRequests
|
|
// 2920 #endif
|
|
// 2921
|
|
// 2922 ZDP_DeviceAnnce( NLME_GetShortAddr(), NLME_GetExtAddr(),
|
|
// 2923 ZDO_Config_Node_Descriptor.CapabilityFlags, 0 );
|
|
; Setup parameters for call to function NLME_GetExtAddr
|
|
LCALL `??NLME_GetExtAddr::?relay`; Banked call to: NLME_GetExtAddr
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
MOV R6,?V0
|
|
; Setup parameters for call to function NLME_GetShortAddr
|
|
LCALL `??NLME_GetShortAddr::?relay`; Banked call to: NLME_GetShortAddr
|
|
; Setup parameters for call to function ZDP_DeviceAnnce
|
|
MOV ?V0,#0x0
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_ONE
|
|
CFI CFA_XSP16 add(XSP16, 11)
|
|
MOV DPTR,#ZDO_Config_Node_Descriptor + 2
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
MOV A,R6
|
|
MOV R4,A
|
|
MOV R5,?V1
|
|
LCALL `??ZDP_DeviceAnnce::?relay`; Banked call to: ZDP_DeviceAnnce
|
|
MOV A,#0x1
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
// 2924
|
|
// 2925 #if defined ( ZIGBEE_NWK_UNIQUE_ADDR_CHECK )
|
|
// 2926 // Setup the timeout
|
|
// 2927 APSME_HoldDataRequests( ZDAPP_HOLD_DATA_REQUESTS_TIMEOUT );
|
|
; Setup parameters for call to function APSME_HoldDataRequests
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
LCALL `??APSME_HoldDataRequests::?relay`; Banked call to: APSME_HoldDataRequests
|
|
// 2928 #endif
|
|
// 2929 }
|
|
LJMP ??Subroutine50_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock270
|
|
// 2930
|
|
// 2931 /*********************************************************************
|
|
// 2932 * @fn ZDApp_NVUpdate
|
|
// 2933 *
|
|
// 2934 * @brief Set the NV Update Timer.
|
|
// 2935 *
|
|
// 2936 * @param none
|
|
// 2937 *
|
|
// 2938 * @return none
|
|
// 2939 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2940 void ZDApp_NVUpdate( void )
|
|
ZDApp_NVUpdate:
|
|
CFI Block cfiBlock271 Using cfiCommon0
|
|
CFI Function ZDApp_NVUpdate
|
|
CODE
|
|
// 2941 {
|
|
; Saved register size: 0
|
|
; Auto size: 0
|
|
// 2942 #if defined ( NV_RESTORE )
|
|
// 2943 osal_start_timerEx( ZDAppTaskID, ZDO_NWK_UPDATE_NV, ZDAPP_UPDATE_NWK_NV_TIME );
|
|
// 2944 #endif
|
|
// 2945 }
|
|
LJMP ?BRET
|
|
CFI EndBlock cfiBlock271
|
|
// 2946
|
|
// 2947 /*********************************************************************
|
|
// 2948 * @fn ZDApp_CoordStartPANIDConflictCB()
|
|
// 2949 *
|
|
// 2950 * @brief Returns a PAN ID for the network layer to use during
|
|
// 2951 * a coordinator start and there is another network with
|
|
// 2952 * the intended PANID.
|
|
// 2953 *
|
|
// 2954 * @param panid - the intended PAN ID
|
|
// 2955 *
|
|
// 2956 * @return PANID to try
|
|
// 2957 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2958 uint16 ZDApp_CoordStartPANIDConflictCB( uint16 panid )
|
|
ZDApp_CoordStartPANIDConflictCB:
|
|
CFI Block cfiBlock272 Using cfiCommon0
|
|
CFI Function ZDApp_CoordStartPANIDConflictCB
|
|
CODE
|
|
// 2959 {
|
|
; Saved register size: 0
|
|
; Auto size: 0
|
|
// 2960 return ( panid + 1 );
|
|
MOV A,R2
|
|
ADD A,#0x1
|
|
INC R2
|
|
JNC ??ZDApp_CoordStartPANIDConflictCB_0
|
|
INC R3
|
|
??ZDApp_CoordStartPANIDConflictCB_0:
|
|
LJMP ?BRET
|
|
// 2961 }
|
|
CFI EndBlock cfiBlock272
|
|
// 2962
|
|
// 2963 /*********************************************************************
|
|
// 2964 * @fn ZDO_SrcRtgIndCB
|
|
// 2965 *
|
|
// 2966 * @brief This function notifies the ZDO available src route record received.
|
|
// 2967 *
|
|
// 2968 * @param srcAddr - source address of the source route
|
|
// 2969 * @param relayCnt - number of devices in the relay list
|
|
// 2970 * @param relayList - relay list of the source route
|
|
// 2971 *
|
|
// 2972 * @return none
|
|
// 2973 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2974 void ZDO_SrcRtgIndCB (uint16 srcAddr, uint8 relayCnt, uint16* pRelayList )
|
|
ZDO_SrcRtgIndCB:
|
|
CFI Block cfiBlock273 Using cfiCommon0
|
|
CFI Function ZDO_SrcRtgIndCB
|
|
CODE
|
|
// 2975 {
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 5
|
|
MOV A,#-0x5
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
// 2976 zdoSrcRtg_t srcRtg;
|
|
// 2977
|
|
// 2978 srcRtg.srcAddr = srcAddr;
|
|
LCALL ?Subroutine12 & 0xFFFF
|
|
// 2979 srcRtg.relayCnt = relayCnt;
|
|
??CrossCallReturnLabel_122:
|
|
MOV A,#0x2
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV A,R1
|
|
MOVX @DPTR,A
|
|
// 2980 srcRtg.pRelayList = pRelayList;
|
|
MOV A,#0x3
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV A,R4
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R5
|
|
MOVX @DPTR,A
|
|
// 2981
|
|
// 2982 if( zdoCBFunc[ZDO_SRC_RTG_IND_CBID] != NULL )
|
|
MOV DPTR,#zdoCBFunc
|
|
LCALL ?Subroutine14 & 0xFFFF
|
|
??CrossCallReturnLabel_15:
|
|
JZ ??ZDO_SrcRtgIndCB_0
|
|
// 2983 {
|
|
// 2984 zdoCBFunc[ZDO_SRC_RTG_IND_CBID]( (void*)&srcRtg );
|
|
; Setup parameters for indirect call
|
|
MOV R2,?XSP + 0
|
|
MOV R3,?XSP + 1
|
|
LCALL ??Subroutine57_0 & 0xFFFF
|
|
// 2985 }
|
|
??CrossCallReturnLabel_99:
|
|
LCALL ?CALL_IND
|
|
// 2986 }
|
|
??ZDO_SrcRtgIndCB_0:
|
|
LJMP ?Subroutine6 & 0xFFFF
|
|
CFI EndBlock cfiBlock273
|
|
// 2987
|
|
// 2988 /*********************************************************************
|
|
// 2989 * @fn ZDApp_InitZdoCBFunc
|
|
// 2990 *
|
|
// 2991 * @brief Call this function to initialize zdoCBFunc[]
|
|
// 2992 *
|
|
// 2993 * @param none
|
|
// 2994 *
|
|
// 2995 * @return none
|
|
// 2996 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 2997 void ZDApp_InitZdoCBFunc( void )
|
|
ZDApp_InitZdoCBFunc:
|
|
CFI Block cfiBlock274 Using cfiCommon0
|
|
CFI Function ZDApp_InitZdoCBFunc
|
|
CODE
|
|
// 2998 {
|
|
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
|
|
// 2999 uint8 i;
|
|
// 3000
|
|
// 3001 for ( i=0; i< MAX_ZDO_CB_FUNC; i++ )
|
|
MOV R2,#0x0
|
|
// 3002 {
|
|
// 3003 zdoCBFunc[i] = NULL;
|
|
??ZDApp_InitZdoCBFunc_0:
|
|
MOV A,R2
|
|
ADD A,0xE0 /* A */
|
|
LCALL ?Subroutine39 & 0xFFFF
|
|
// 3004 }
|
|
??CrossCallReturnLabel_55:
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
INC R2
|
|
MOV A,R2
|
|
CLR C
|
|
SUBB A,#0x6
|
|
JC ??ZDApp_InitZdoCBFunc_0
|
|
// 3005 }
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock274
|
|
// 3006
|
|
// 3007 /*********************************************************************
|
|
// 3008 * @fn ZDO_RegisterForZdoCB
|
|
// 3009 *
|
|
// 3010 * @brief Call this function to register the higher layer (for
|
|
// 3011 * example, the Application layer or MT layer) with ZDO
|
|
// 3012 * callbacks to get notified of some ZDO indication like
|
|
// 3013 * existence of a concentrator or receipt of a source
|
|
// 3014 * route record.
|
|
// 3015 *
|
|
// 3016 * @param indID - ZDO Indication ID
|
|
// 3017 * @param pFn - Callback function pointer
|
|
// 3018 *
|
|
// 3019 * @return ZSuccess - successful, ZInvalidParameter if not
|
|
// 3020 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 3021 ZStatus_t ZDO_RegisterForZdoCB( uint8 indID, pfnZdoCb pFn )
|
|
ZDO_RegisterForZdoCB:
|
|
CFI Block cfiBlock275 Using cfiCommon0
|
|
CFI Function ZDO_RegisterForZdoCB
|
|
CODE
|
|
// 3022 {
|
|
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
|
|
MOV A,R1
|
|
// 3023 // Check the range of the indication ID
|
|
// 3024 if ( indID < MAX_ZDO_CB_FUNC )
|
|
CLR C
|
|
SUBB A,#0x6
|
|
JNC ??ZDO_RegisterForZdoCB_0
|
|
// 3025 {
|
|
// 3026 zdoCBFunc[indID] = pFn;
|
|
LCALL ?Subroutine28 & 0xFFFF
|
|
??CrossCallReturnLabel_35:
|
|
LCALL ??Subroutine60_0 & 0xFFFF
|
|
// 3027 return ZSuccess;
|
|
??CrossCallReturnLabel_119:
|
|
MOV R1,#0x0
|
|
SJMP ??ZDO_RegisterForZdoCB_1
|
|
// 3028 }
|
|
// 3029
|
|
// 3030 return ZInvalidParameter;
|
|
??ZDO_RegisterForZdoCB_0:
|
|
MOV R1,#0x2
|
|
??ZDO_RegisterForZdoCB_1:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
// 3031 }
|
|
CFI EndBlock cfiBlock275
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine12:
|
|
CFI Block cfiCond276 Using cfiCommon0
|
|
CFI Function ZDOInitDevice
|
|
CFI Conditional ??CrossCallReturnLabel_120
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond277 Using cfiCommon0
|
|
CFI (cfiCond277) Function ZDO_ConcentratorIndicationCB
|
|
CFI (cfiCond277) Conditional ??CrossCallReturnLabel_121
|
|
CFI (cfiCond277) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond277) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond277) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond277) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond277) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond277) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond277) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond277) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond277) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond277) CFA_SP SP+-2
|
|
CFI (cfiCond277) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond278 Using cfiCommon0
|
|
CFI (cfiCond278) Function ZDO_SrcRtgIndCB
|
|
CFI (cfiCond278) Conditional ??CrossCallReturnLabel_122
|
|
CFI (cfiCond278) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond278) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond278) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond278) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond278) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond278) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond278) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond278) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond278) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond278) CFA_SP SP+-2
|
|
CFI (cfiCond278) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker279 Using cfiCommon1
|
|
CFI (cfiPicker279) NoFunction
|
|
CFI (cfiPicker279) Picker
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
CFI EndBlock cfiCond276
|
|
CFI EndBlock cfiCond277
|
|
CFI EndBlock cfiCond278
|
|
CFI EndBlock cfiPicker279
|
|
REQUIRE ??Subroutine60_0
|
|
; // Fall through to label ??Subroutine60_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine60_0:
|
|
CFI Block cfiCond280 Using cfiCommon0
|
|
CFI Function ZDApp_ProcessSecEvent
|
|
CFI Conditional ??CrossCallReturnLabel_115
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond281 Using cfiCommon0
|
|
CFI (cfiCond281) Function ZDApp_RestoreNetworkState
|
|
CFI (cfiCond281) Conditional ??CrossCallReturnLabel_116
|
|
CFI (cfiCond281) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond281) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond281) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond281) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond281) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond281) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond281) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond281) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond281) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond281) CFA_SP SP+-2
|
|
CFI (cfiCond281) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond282 Using cfiCommon0
|
|
CFI (cfiCond282) Function ZDApp_ProcessOSALMsg
|
|
CFI (cfiCond282) Conditional ??CrossCallReturnLabel_117
|
|
CFI (cfiCond282) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond282) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond282) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond282) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond282) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond282) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond282) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond282) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond282) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond282) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond282) CFA_SP SP+-2
|
|
CFI (cfiCond282) CFA_XSP16 add(XSP16, 11)
|
|
CFI Block cfiCond283 Using cfiCommon0
|
|
CFI (cfiCond283) Function ZDO_beaconNotifyIndCB
|
|
CFI (cfiCond283) Conditional ??CrossCallReturnLabel_118
|
|
CFI (cfiCond283) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond283) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond283) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond283) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond283) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond283) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond283) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond283) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond283) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond283) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond283) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond283) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond283) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond283) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond283) CFA_SP SP+-2
|
|
CFI (cfiCond283) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond284 Using cfiCommon0
|
|
CFI (cfiCond284) Function ZDO_RegisterForZdoCB
|
|
CFI (cfiCond284) Conditional ??CrossCallReturnLabel_119
|
|
CFI (cfiCond284) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond284) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond284) CFA_SP SP+-7
|
|
CFI Block cfiCond285 Using cfiCommon0
|
|
CFI (cfiCond285) Function ZDOInitDevice
|
|
CFI (cfiCond285) Conditional ??CrossCallReturnLabel_120
|
|
CFI (cfiCond285) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond285) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond285) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond285) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond285) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond285) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond285) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond285) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond285) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond285) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond285) CFA_SP SP+-2
|
|
CFI (cfiCond285) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond286 Using cfiCommon0
|
|
CFI (cfiCond286) Function ZDO_ConcentratorIndicationCB
|
|
CFI (cfiCond286) Conditional ??CrossCallReturnLabel_121
|
|
CFI (cfiCond286) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond286) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond286) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond286) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond286) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond286) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond286) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond286) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond286) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond286) CFA_SP SP+-2
|
|
CFI (cfiCond286) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiCond287 Using cfiCommon0
|
|
CFI (cfiCond287) Function ZDO_SrcRtgIndCB
|
|
CFI (cfiCond287) Conditional ??CrossCallReturnLabel_122
|
|
CFI (cfiCond287) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond287) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond287) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond287) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond287) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond287) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond287) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond287) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond287) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond287) CFA_SP SP+-2
|
|
CFI (cfiCond287) CFA_XSP16 add(XSP16, 14)
|
|
CFI Block cfiPicker288 Using cfiCommon1
|
|
CFI (cfiPicker288) NoFunction
|
|
CFI (cfiPicker288) Picker
|
|
MOV A,R2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R3
|
|
MOVX @DPTR,A
|
|
RET
|
|
CFI EndBlock cfiCond280
|
|
CFI EndBlock cfiCond281
|
|
CFI EndBlock cfiCond282
|
|
CFI EndBlock cfiCond283
|
|
CFI EndBlock cfiCond284
|
|
CFI EndBlock cfiCond285
|
|
CFI EndBlock cfiCond286
|
|
CFI EndBlock cfiCond287
|
|
CFI EndBlock cfiPicker288
|
|
// 3032
|
|
// 3033 /*********************************************************************
|
|
// 3034 * @fn ZDO_DeregisterForZdoCB
|
|
// 3035 *
|
|
// 3036 * @brief Call this function to de-register the higher layer (for
|
|
// 3037 * example, the Application layer or MT layer) with ZDO
|
|
// 3038 * callbacks to get notified of some ZDO indication like
|
|
// 3039 * existence of a concentrator or receipt of a source
|
|
// 3040 * route record.
|
|
// 3041 *
|
|
// 3042 * @param indID - ZDO Indication ID
|
|
// 3043 *
|
|
// 3044 * @return ZSuccess - successful, ZInvalidParameter if not
|
|
// 3045 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 3046 ZStatus_t ZDO_DeregisterForZdoCB( uint8 indID )
|
|
ZDO_DeregisterForZdoCB:
|
|
CFI Block cfiBlock289 Using cfiCommon0
|
|
CFI Function ZDO_DeregisterForZdoCB
|
|
CODE
|
|
// 3047 {
|
|
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
|
|
MOV A,R1
|
|
// 3048 // Check the range of the indication ID
|
|
// 3049 if ( indID < MAX_ZDO_CB_FUNC )
|
|
CLR C
|
|
SUBB A,#0x6
|
|
JNC ??ZDO_DeregisterForZdoCB_0
|
|
// 3050 {
|
|
// 3051 zdoCBFunc[indID] = NULL;
|
|
LCALL ?Subroutine28 & 0xFFFF
|
|
??CrossCallReturnLabel_36:
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
// 3052 return ZSuccess;
|
|
MOV R1,A
|
|
SJMP ??ZDO_DeregisterForZdoCB_1
|
|
// 3053 }
|
|
// 3054
|
|
// 3055 return ZInvalidParameter;
|
|
??ZDO_DeregisterForZdoCB_0:
|
|
MOV R1,#0x2
|
|
??ZDO_DeregisterForZdoCB_1:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
// 3056 }
|
|
CFI EndBlock cfiBlock289
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine28:
|
|
CFI Block cfiCond290 Using cfiCommon0
|
|
CFI Function ZDO_RegisterForZdoCB
|
|
CFI Conditional ??CrossCallReturnLabel_35
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond291 Using cfiCommon0
|
|
CFI (cfiCond291) Function ZDO_DeregisterForZdoCB
|
|
CFI (cfiCond291) Conditional ??CrossCallReturnLabel_36
|
|
CFI (cfiCond291) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond291) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond291) CFA_SP SP+-7
|
|
CFI Block cfiPicker292 Using cfiCommon1
|
|
CFI (cfiPicker292) NoFunction
|
|
CFI (cfiPicker292) Picker
|
|
MOV A,R1
|
|
ADD A,R1
|
|
LCALL ?Subroutine39 & 0xFFFF
|
|
??CrossCallReturnLabel_56:
|
|
RET
|
|
CFI EndBlock cfiCond290
|
|
CFI EndBlock cfiCond291
|
|
CFI EndBlock cfiPicker292
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine39:
|
|
CFI Block cfiCond293 Using cfiCommon0
|
|
CFI Function ZDApp_InitZdoCBFunc
|
|
CFI Conditional ??CrossCallReturnLabel_55
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond294 Using cfiCommon0
|
|
CFI (cfiCond294) Function ZDO_RegisterForZdoCB
|
|
CFI (cfiCond294) Conditional ??CrossCallReturnLabel_56, ??CrossCallReturnLabel_35
|
|
CFI (cfiCond294) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond294) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond294) CFA_SP SP+-9
|
|
CFI Block cfiCond295 Using cfiCommon0
|
|
CFI (cfiCond295) Function ZDO_DeregisterForZdoCB
|
|
CFI (cfiCond295) Conditional ??CrossCallReturnLabel_56, ??CrossCallReturnLabel_36
|
|
CFI (cfiCond295) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond295) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond295) CFA_SP SP+-9
|
|
CFI Block cfiPicker296 Using cfiCommon1
|
|
CFI (cfiPicker296) NoFunction
|
|
CFI (cfiPicker296) Picker
|
|
MOV R0,A
|
|
CLR A
|
|
RLC A
|
|
MOV R1,A
|
|
MOV A,#zdoCBFunc & 0xff
|
|
ADD A,R0
|
|
MOV DPL,A
|
|
MOV A,#(zdoCBFunc >> 8) & 0xff
|
|
ADDC A,R1
|
|
MOV DPH,A
|
|
RET
|
|
CFI EndBlock cfiCond293
|
|
CFI EndBlock cfiCond294
|
|
CFI EndBlock cfiCond295
|
|
CFI EndBlock cfiPicker296
|
|
|
|
RSEG XDATA_ID:CODE:NOROOT(0)
|
|
`?<Initializer for zdoDiscCounter>`:
|
|
DATA8
|
|
DB 1
|
|
|
|
RSEG XDATA_ID:CODE:NOROOT(0)
|
|
`?<Initializer for continueJoining>`:
|
|
DATA8
|
|
DB 1
|
|
|
|
RSEG XDATA_ID:CODE:NOROOT(0)
|
|
`?<Initializer for devState>`:
|
|
DATA8
|
|
DB 1
|
|
|
|
RSEG XDATA_ID:CODE:NOROOT(0)
|
|
`?<Initializer for ZDApp_epDesc>`:
|
|
DATA8
|
|
DB 0
|
|
DATA16
|
|
DW ZDAppTaskID
|
|
DW 0H
|
|
DATA8
|
|
DB 0
|
|
|
|
RSEG XDATA_ID:CODE:NOROOT(0)
|
|
`?<Initializer for ZDApp_SavedPollRate>`:
|
|
DATA16
|
|
DW 1000
|
|
|
|
RSEG XDATA_ROM_C:CONST:REORDER:NOROOT(0)
|
|
DATA32
|
|
__Constant_1:
|
|
DD 1
|
|
|
|
RSEG XDATA_ROM_C:CONST:REORDER:NOROOT(0)
|
|
DATA32
|
|
__Constant_3e8:
|
|
DD 1000
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_Init::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_Init
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_SecInit::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_SecInit
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_event_loop::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_event_loop
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_ProcessSecEvent::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_ProcessSecEvent
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDOInitDevice::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDOInitDevice
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_ReadNetworkRestoreState::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_ReadNetworkRestoreState
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDAppDetermineDeviceType::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDAppDetermineDeviceType
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_NetworkStartEvt::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_NetworkStartEvt
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_DeviceAuthEvt::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_DeviceAuthEvt
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_SaveNetworkStateEvt::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_SaveNetworkStateEvt
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_RestoreNetworkState::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_RestoreNetworkState
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_InitUserDesc::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_InitUserDesc
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDAppCheckForHoldKey::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDAppCheckForHoldKey
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_ProcessOSALMsg::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_ProcessOSALMsg
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_ProcessMsgCBs::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_ProcessMsgCBs
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_RegisterCBs::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_RegisterCBs
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_ProcessSecMsg::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_ProcessSecMsg
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_ProcessNetworkJoin::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_ProcessNetworkJoin
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_SaveNwkKey::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_SaveNwkKey
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_ResetNwkKey::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_ResetNwkKey
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_RestoreNwkKey::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_RestoreNwkKey
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_ResetTimerStart::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_ResetTimerStart
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_ResetTimerCancel::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_ResetTimerCancel
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_LeaveCtrlInit::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_LeaveCtrlInit
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_LeaveCtrlSet::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_LeaveCtrlSet
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_LeaveCtrlReset::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_LeaveCtrlReset
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_LeaveCtrlBypass::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_LeaveCtrlBypass
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_LeaveCtrlStartup::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_LeaveCtrlStartup
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_LeaveReset::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_LeaveReset
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_LeaveUpdate::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_LeaveUpdate
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_NetworkDiscoveryReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_NetworkDiscoveryReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_JoinReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_JoinReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_DeviceConfigured::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_DeviceConfigured
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_SendEventMsg::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_SendEventMsg
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_SendMsg::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_SendMsg
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_NetworkDiscoveryConfirmCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_NetworkDiscoveryConfirmCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_NwkDescListProcessing::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_NwkDescListProcessing
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_NetworkFormationConfirmCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_NetworkFormationConfirmCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_beaconNotifyIndCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_beaconNotifyIndCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_StartRouterConfirmCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_StartRouterConfirmCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_JoinConfirmCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_JoinConfirmCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_AddrChangeIndicationCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_AddrChangeIndicationCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_JoinIndicationCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_JoinIndicationCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_ConcentratorIndicationCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_ConcentratorIndicationCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_LeaveCnf::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_LeaveCnf
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_LeaveInd::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_LeaveInd
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_SyncIndicationCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_SyncIndicationCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_ManytoOneFailureIndicationCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_ManytoOneFailureIndicationCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_PollConfirmCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_PollConfirmCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??AddrMgrWriteNVRequest::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 AddrMgrWriteNVRequest
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_UpdateDeviceIndication::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_UpdateDeviceIndication
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_InMsgCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_InMsgCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_ChangeMatchDescRespPermission::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_ChangeMatchDescRespPermission
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_NetworkInit::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_NetworkInit
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_NwkStateUpdateCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_NwkStateUpdateCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_NodeProfileSync::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_NodeProfileSync
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_StartJoiningCycle::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_StartJoiningCycle
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_StopJoiningCycle::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_StopJoiningCycle
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_AnnounceNewAddress::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_AnnounceNewAddress
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_NVUpdate::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_NVUpdate
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_CoordStartPANIDConflictCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_CoordStartPANIDConflictCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_SrcRtgIndCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_SrcRtgIndCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDApp_InitZdoCBFunc::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDApp_InitZdoCBFunc
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_RegisterForZdoCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_RegisterForZdoCB
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZDO_DeregisterForZdoCB::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZDO_DeregisterForZdoCB
|
|
|
|
END
|
|
// 3057
|
|
// 3058 /*********************************************************************
|
|
// 3059 *********************************************************************/
|
|
//
|
|
// 5 147 bytes in segment BANKED_CODE
|
|
// 390 bytes in segment BANK_RELAYS
|
|
// 11 bytes in segment XDATA_I
|
|
// 11 bytes in segment XDATA_ID
|
|
// 8 bytes in segment XDATA_ROM_C
|
|
// 53 bytes in segment XDATA_Z
|
|
//
|
|
// 401 bytes of CODE memory
|
|
// 0 bytes of CONST memory (+ 8 bytes shared)
|
|
// 5 147 bytes of HUGECODE memory
|
|
// 64 bytes of XDATA memory
|
|
//
|
|
//Errors: none
|
|
//Warnings: none
|