📄 sampleapp.s51
字号:
// 39 #include "OnBoard.h"
// 40
// 41 /*********************************************************************
// 42 * CONSTANTS
// 43 */
// 44
// 45 #define SAMPLE_APP_ENDPOINT 10
// 46 #define SAMPLE_APP_PROFID 0x2001
// 47 #define SAMPLE_APP_DEVICEID 13
// 48 #define SAMPLE_APP_VERSION 31
// 49 #define SAMPLE_APP_FLAGS 0
// 50
// 51 #define SAMPLE_APP_GENERIC_ID 0x0001
// 52 #define SAMPLE_APP_ON_OFF_ID 0x0010
// 53
// 54 #define SAMPLE_APP_ON 0xFF
// 55 #define SAMPLE_APP_OFF 0x00
// 56 #define SAMPLE_APP_TOGGLE 0xF0
// 57
// 58 /*********************************************************************
// 59 * TYPEDEFS
// 60 */
// 61
// 62 /*********************************************************************
// 63 * GLOBAL VARIABLES
// 64 */
// 65
RSEG XDATA_Z:XDATA:NOROOT(0)
REQUIRE __INIT_XDATA_Z
// 66 uint8 SampleApp_TaskID;
SampleApp_TaskID:
DS 1
// 67
// 68 /*********************************************************************
// 69 * LOCAL VARIABLES
// 70 */
// 71
// 72 #if defined ( LOCATION_REFNODE )
// 73 static const cId_t SampleApp_InputClusterList[] =
// 74 {
// 75 SAMPLE_APP_GENERIC_ID,
// 76 SAMPLE_APP_ON_OFF_ID
// 77 };
// 78
// 79 static const cId_t SampleApp_OutputClusterList[] =
// 80 {
// 81 SAMPLE_APP_GENERIC_ID
// 82 };
// 83 #endif
// 84
// 85 #if defined ( LOCATION_BLINDNODE )
RSEG XDATA_I:XDATA:NOROOT(0)
// 86 static const cId_t SampleApp_InputClusterList[] =
??SampleApp_InputClusterList:
DS 2
REQUIRE `?<Initializer for SampleApp_InputClusterList>`
REQUIRE __INIT_XDATA_I
// 87 {
// 88 SAMPLE_APP_GENERIC_ID
// 89 };
// 90
RSEG XDATA_I:XDATA:NOROOT(0)
// 91 static const cId_t SampleApp_OutputClusterList[] =
??SampleApp_OutputClusterList:
DS 4
REQUIRE `?<Initializer for SampleApp_OutputClusterList>`
REQUIRE __INIT_XDATA_I
// 92 {
// 93 SAMPLE_APP_GENERIC_ID,
// 94 SAMPLE_APP_ON_OFF_ID
// 95 };
// 96 #endif
// 97
// 98 #if defined ( LOCATION_DONGLE )
// 99 static const cId_t SampleApp_InputClusterList[] =
// 100 {
// 101 SAMPLE_APP_GENERIC_ID,
// 102 SAMPLE_APP_ON_OFF_ID
// 103 };
// 104
// 105 static const cId_t SampleApp_OutputClusterList[] =
// 106 {
// 107 SAMPLE_APP_GENERIC_ID
// 108 };
// 109 #endif
// 110
RSEG XDATA_I:XDATA:NOROOT(0)
// 111 static const SimpleDescriptionFormat_t SampleApp_SimpleDesc =
??SampleApp_SimpleDesc:
DS 12
REQUIRE `?<Initializer for SampleApp_SimpleDesc>`
REQUIRE __INIT_XDATA_I
// 112 {
// 113 SAMPLE_APP_ENDPOINT,
// 114 SAMPLE_APP_PROFID,
// 115
// 116 SAMPLE_APP_DEVICEID,
// 117
// 118 SAMPLE_APP_VERSION,
// 119 SAMPLE_APP_FLAGS,
// 120
// 121 sizeof( SampleApp_InputClusterList ),
// 122 (cId_t*)SampleApp_InputClusterList,
// 123
// 124 sizeof( SampleApp_OutputClusterList ),
// 125 (cId_t*)SampleApp_OutputClusterList
// 126 };
// 127
RSEG XDATA_I:XDATA:NOROOT(0)
// 128 static const endPointDesc_t SampleApp_epDesc =
??SampleApp_epDesc:
DS 6
REQUIRE `?<Initializer for SampleApp_epDesc>`
REQUIRE __INIT_XDATA_I
// 129 {
// 130 SAMPLE_APP_ENDPOINT,
// 131 &SampleApp_TaskID,
// 132 (SimpleDescriptionFormat_t *)&SampleApp_SimpleDesc,
// 133 noLatencyReqs
// 134 };
// 135
// 136 #if defined( POWER_SAVING )
// 137 /* The ZDO_STATE_CHANGE event will be received twice after initiating the
// 138 * rejoin process, only act on one of them.
// 139 */
RSEG XDATA_Z:XDATA:NOROOT(0)
REQUIRE __INIT_XDATA_Z
// 140 static uint8 rejoinPending;
??rejoinPending:
DS 1
// 141 #endif
// 142
// 143 /*********************************************************************
// 144 * LOCAL FUNCTIONS
// 145 */
// 146
// 147 static void SampleApp_Init( uint8 task_id );
// 148 static uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events );
// 149 static void handleKeys( uint8 shift, uint8 keys );
// 150 static void processMSGCmd( afIncomingMSGPacket_t *pkt );
// 151
// 152 /*********************************************************************
// 153 * @fn osalAddTasks
// 154 *
// 155 * @brief This function adds all the tasks to the task list.
// 156 * This is where to add new tasks.
// 157 *
// 158 * @param void
// 159 *
// 160 * @return none
// 161 */
RSEG BANKED_CODE:CODE:NOROOT(0)
// 162 void osalAddTasks( void )
osalAddTasks:
CFI Block cfiBlock0 Using cfiCommon0
CFI Function osalAddTasks
// 163 {
FUNCALL osalAddTasks, osalTaskAdd
LOCFRAME XSTACK, 14, STACK
ARGFRAME XSTACK, 14, STACK
FUNCALL osalAddTasks, osalTaskAdd
LOCFRAME XSTACK, 14, STACK
ARGFRAME XSTACK, 14, STACK
FUNCALL osalAddTasks, osalTaskAdd
LOCFRAME XSTACK, 14, STACK
ARGFRAME XSTACK, 14, STACK
FUNCALL osalAddTasks, osalTaskAdd
LOCFRAME XSTACK, 14, STACK
ARGFRAME XSTACK, 14, STACK
FUNCALL osalAddTasks, osalTaskAdd
LOCFRAME XSTACK, 14, STACK
ARGFRAME XSTACK, 14, STACK
FUNCALL osalAddTasks, osalTaskAdd
LOCFRAME XSTACK, 14, STACK
ARGFRAME XSTACK, 14, STACK
FUNCALL osalAddTasks, osalTaskAdd
LOCFRAME XSTACK, 14, STACK
ARGFRAME XSTACK, 14, STACK
MOV A,#-0xb
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 V2 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI CFA_SP SP+0
CFI CFA_XSP16 add(XSP16, 11)
; Saved register size: 11
; Auto size: 0
// 164
// 165 /* This task must be loaded first because Hal_Init() initializes
// 166 many things that other task_init functions may need.
// 167 */
// 168 osalTaskAdd( Hal_Init, Hal_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
; Setup parameters for call to function osalTaskAdd
MOV ?V0 + 0,#(Hal_ProcessEvent & 0xff)
MOV ?V0 + 1,#((Hal_ProcessEvent >> 8) & 0xff)
MOV ?V0 + 2,#((Hal_ProcessEvent >> 16) & 0xff)
MOV R0,#?V0 + 0
LCALL ?PUSH_XSTACK_I_THREE
CFI CFA_XSP16 add(XSP16, 14)
MOV R4,#0x32
MOV R1,#(Hal_Init & 0xff)
MOV R2,#((Hal_Init >> 8) & 0xff)
MOV R3,#((Hal_Init >> 16) & 0xff)
MOV DPTR,#(osalTaskAdd & 0xffff)
MOV A,#((osalTaskAdd >> 16) & 0xff)
LCALL ?BCALL ; Banked call to: DPTR()
MOV A,#0x3
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 11)
// 169
// 170 #if defined( ZMAC_F8W )
// 171 osalTaskAdd( macTaskInit, macEventLoop, OSAL_TASK_PRIORITY_HIGH );
; Setup parameters for call to function osalTaskAdd
MOV ?V0 + 0,#(macEventLoop & 0xff)
MOV ?V0 + 1,#((macEventLoop >> 8) & 0xff)
MOV ?V0 + 2,#((macEventLoop >> 16) & 0xff)
MOV R0,#?V0 + 0
LCALL ?PUSH_XSTACK_I_THREE
CFI CFA_XSP16 add(XSP16, 14)
MOV R4,#-0x1a
MOV R1,#(macTaskInit & 0xff)
MOV R2,#((macTaskInit >> 8) & 0xff)
MOV R3,#((macTaskInit >> 16) & 0xff)
MOV DPTR,#(osalTaskAdd & 0xffff)
MOV A,#((osalTaskAdd >> 16) & 0xff)
LCALL ?BCALL ; Banked call to: DPTR()
MOV A,#0x3
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 11)
// 172 #endif
// 173
// 174 #if defined( MT_TASK )
// 175 osalTaskAdd( MT_TaskInit, MT_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
// 176 #endif
// 177
// 178 osalTaskAdd( nwk_init, nwk_event_loop, OSAL_TASK_PRIORITY_MED );
; Setup parameters for call to function osalTaskAdd
MOV ?V0 + 0,#(nwk_event_loop & 0xff)
MOV ?V0 + 1,#((nwk_event_loop >> 8) & 0xff)
MOV ?V0 + 2,#((nwk_event_loop >> 16) & 0xff)
MOV R0,#?V0 + 0
LCALL ?PUSH_XSTACK_I_THREE
CFI CFA_XSP16 add(XSP16, 14)
MOV R4,#-0x7e
MOV R1,#(nwk_init & 0xff)
MOV R2,#((nwk_init >> 8) & 0xff)
MOV R3,#((nwk_init >> 16) & 0xff)
MOV DPTR,#(osalTaskAdd & 0xffff)
MOV A,#((osalTaskAdd >> 16) & 0xff)
LCALL ?BCALL ; Banked call to: DPTR()
MOV A,#0x3
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 11)
// 179 osalTaskAdd( APS_Init, APS_event_loop, OSAL_TASK_PRIORITY_LOW );
; Setup parameters for call to function osalTaskAdd
MOV ?V0 + 0,#(APS_event_loop & 0xff)
MOV ?V0 + 1,#((APS_event_loop >> 8) & 0xff)
MOV ?V0 + 2,#((APS_event_loop >> 16) & 0xff)
MOV R0,#?V0 + 0
LCALL ?PUSH_XSTACK_I_THREE
CFI CFA_XSP16 add(XSP16, 14)
MOV R4,#0x32
MOV R1,#(APS_Init & 0xff)
MOV R2,#((APS_Init >> 8) & 0xff)
MOV R3,#((APS_Init >> 16) & 0xff)
MOV DPTR,#(osalTaskAdd & 0xffff)
MOV A,#((osalTaskAdd >> 16) & 0xff)
LCALL ?BCALL ; Banked call to: DPTR()
MOV A,#0x3
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 11)
// 180 osalTaskAdd( ZDApp_Init, ZDApp_event_loop, OSAL_TASK_PRIORITY_LOW );
; Setup parameters for call to function osalTaskAdd
MOV ?V0 + 0,#(ZDApp_event_loop & 0xff)
MOV ?V0 + 1,#((ZDApp_event_loop >> 8) & 0xff)
MOV ?V0 + 2,#((ZDApp_event_loop >> 16) & 0xff)
MOV R0,#?V0 + 0
LCALL ?PUSH_XSTACK_I_THREE
CFI CFA_XSP16 add(XSP16, 14)
MOV R4,#0x32
MOV R1,#(ZDApp_Init & 0xff)
MOV R2,#((ZDApp_Init >> 8) & 0xff)
MOV R3,#((ZDApp_Init >> 16) & 0xff)
MOV DPTR,#(osalTaskAdd & 0xffff)
MOV A,#((osalTaskAdd >> 16) & 0xff)
LCALL ?BCALL ; Banked call to: DPTR()
MOV A,#0x3
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 11)
// 181
// 182 osalTaskAdd( SampleApp_Init, SampleApp_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
; Setup parameters for call to function osalTaskAdd
MOV ?V0 + 0,#(??SampleApp_ProcessEvent & 0xff)
MOV ?V0 + 1,#((??SampleApp_ProcessEvent >> 8) & 0xff)
MOV ?V0 + 2,#((??SampleApp_ProcessEvent >> 16) & 0xff)
MOV R0,#?V0 + 0
LCALL ?PUSH_XSTACK_I_THREE
CFI CFA_XSP16 add(XSP16, 14)
MOV R4,#0x32
MOV R1,#(??SampleApp_Init & 0xff)
MOV R2,#((??SampleApp_Init >> 8) & 0xff)
MOV R3,#((??SampleApp_Init >> 16) & 0xff)
MOV DPTR,#(osalTaskAdd & 0xffff)
MOV A,#((osalTaskAdd >> 16) & 0xff)
LCALL ?BCALL ; Banked call to: DPTR()
MOV A,#0x3
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 11)
// 183
// 184 #if defined ( LOCATION_REFNODE )
// 185 osalTaskAdd( RefNode_Init, RefNode_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
// 186 #endif
// 187 #if defined ( LOCATION_BLINDNODE )
// 188 osalTaskAdd( BlindNode_Init, BlindNode_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
; Setup parameters for call to function osalTaskAdd
MOV ?V0 + 0,#(BlindNode_ProcessEvent & 0xff)
MOV ?V0 + 1,#((BlindNode_ProcessEvent >> 8) & 0xff)
MOV ?V0 + 2,#((BlindNode_ProcessEvent >> 16) & 0xff)
MOV R0,#?V0 + 0
LCALL ?PUSH_XSTACK_I_THREE
CFI CFA_XSP16 add(XSP16, 14)
MOV R4,#0x32
MOV R1,#(BlindNode_Init & 0xff)
MOV R2,#((BlindNode_Init >> 8) & 0xff)
MOV R3,#((BlindNode_Init >> 16) & 0xff)
MOV DPTR,#(osalTaskAdd & 0xffff)
MOV A,#((osalTaskAdd >> 16) & 0xff)
LCALL ?BCALL ; Banked call to: DPTR()
MOV A,#0x3
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 11)
// 189 #endif
// 190 #if defined ( LOCATION_DONGLE )
// 191 osalTaskAdd( LocDongle_Init, LocDongle_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
// 192 #endif
// 193 }
MOV R7,#0x3
LJMP ?BANKED_LEAVE_XDATA
CFI EndBlock cfiBlock0
// 194
// 195 /*********************************************************************
// 196 * @fn SampleApp_Init
// 197 *
// 198 * @brief Initialization function for the SampleApp OSAL task.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -