Files
OldPeopleHome/zigbee/ZStack-CC2530-r200/Projects/SappWsn/RouterEB/List/ZDApp.s51
LitterDryFish 6b0d1c0743 add node
2019-08-23 12:26:53 +08:00

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