?? sampleapp.lst
字號:
\ 000006 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 */
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
140 static uint8 rejoinPending;
\ ??rejoinPending:
\ 000000 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 */
\ In segment BANKED_CODE, align 1, keep-with-next
162 void osalAddTasks( void )
\ osalAddTasks:
163 {
\ 000000 74F5 MOV A,#-0xb
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 11
\ 000005 ; 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 );
\ 000005 ; Setup parameters for call to function osalTaskAdd
\ 000005 75.... MOV ?V0 + 0,#(Hal_ProcessEvent & 0xff)
\ 000008 75.... MOV ?V0 + 1,#((Hal_ProcessEvent >> 8) & 0xff)
\ 00000B 75.... MOV ?V0 + 2,#((Hal_ProcessEvent >> 16) & 0xff)
\ 00000E 78.. MOV R0,#?V0 + 0
\ 000010 12.... LCALL ?PUSH_XSTACK_I_THREE
\ 000013 7C32 MOV R4,#0x32
\ 000015 79.. MOV R1,#(Hal_Init & 0xff)
\ 000017 7A.. MOV R2,#((Hal_Init >> 8) & 0xff)
\ 000019 7B.. MOV R3,#((Hal_Init >> 16) & 0xff)
\ 00001B 90.... MOV DPTR,#(osalTaskAdd & 0xffff)
\ 00001E 74.. MOV A,#((osalTaskAdd >> 16) & 0xff)
\ 000020 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000023 7403 MOV A,#0x3
\ 000025 12.... LCALL ?DEALLOC_XSTACK8
169
170 #if defined( ZMAC_F8W )
171 osalTaskAdd( macTaskInit, macEventLoop, OSAL_TASK_PRIORITY_HIGH );
\ 000028 ; Setup parameters for call to function osalTaskAdd
\ 000028 75.... MOV ?V0 + 0,#(macEventLoop & 0xff)
\ 00002B 75.... MOV ?V0 + 1,#((macEventLoop >> 8) & 0xff)
\ 00002E 75.... MOV ?V0 + 2,#((macEventLoop >> 16) & 0xff)
\ 000031 78.. MOV R0,#?V0 + 0
\ 000033 12.... LCALL ?PUSH_XSTACK_I_THREE
\ 000036 7CE6 MOV R4,#-0x1a
\ 000038 79.. MOV R1,#(macTaskInit & 0xff)
\ 00003A 7A.. MOV R2,#((macTaskInit >> 8) & 0xff)
\ 00003C 7B.. MOV R3,#((macTaskInit >> 16) & 0xff)
\ 00003E 90.... MOV DPTR,#(osalTaskAdd & 0xffff)
\ 000041 74.. MOV A,#((osalTaskAdd >> 16) & 0xff)
\ 000043 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000046 7403 MOV A,#0x3
\ 000048 12.... LCALL ?DEALLOC_XSTACK8
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 );
\ 00004B ; Setup parameters for call to function osalTaskAdd
\ 00004B 75.... MOV ?V0 + 0,#(nwk_event_loop & 0xff)
\ 00004E 75.... MOV ?V0 + 1,#((nwk_event_loop >> 8) & 0xff)
\ 000051 75.... MOV ?V0 + 2,#((nwk_event_loop >> 16) & 0xff)
\ 000054 78.. MOV R0,#?V0 + 0
\ 000056 12.... LCALL ?PUSH_XSTACK_I_THREE
\ 000059 7C82 MOV R4,#-0x7e
\ 00005B 79.. MOV R1,#(nwk_init & 0xff)
\ 00005D 7A.. MOV R2,#((nwk_init >> 8) & 0xff)
\ 00005F 7B.. MOV R3,#((nwk_init >> 16) & 0xff)
\ 000061 90.... MOV DPTR,#(osalTaskAdd & 0xffff)
\ 000064 74.. MOV A,#((osalTaskAdd >> 16) & 0xff)
\ 000066 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000069 7403 MOV A,#0x3
\ 00006B 12.... LCALL ?DEALLOC_XSTACK8
179 osalTaskAdd( APS_Init, APS_event_loop, OSAL_TASK_PRIORITY_LOW );
\ 00006E ; Setup parameters for call to function osalTaskAdd
\ 00006E 75.... MOV ?V0 + 0,#(APS_event_loop & 0xff)
\ 000071 75.... MOV ?V0 + 1,#((APS_event_loop >> 8) & 0xff)
\ 000074 75.... MOV ?V0 + 2,#((APS_event_loop >> 16) & 0xff)
\ 000077 78.. MOV R0,#?V0 + 0
\ 000079 12.... LCALL ?PUSH_XSTACK_I_THREE
\ 00007C 7C32 MOV R4,#0x32
\ 00007E 79.. MOV R1,#(APS_Init & 0xff)
\ 000080 7A.. MOV R2,#((APS_Init >> 8) & 0xff)
\ 000082 7B.. MOV R3,#((APS_Init >> 16) & 0xff)
\ 000084 90.... MOV DPTR,#(osalTaskAdd & 0xffff)
\ 000087 74.. MOV A,#((osalTaskAdd >> 16) & 0xff)
\ 000089 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 00008C 7403 MOV A,#0x3
\ 00008E 12.... LCALL ?DEALLOC_XSTACK8
180 osalTaskAdd( ZDApp_Init, ZDApp_event_loop, OSAL_TASK_PRIORITY_LOW );
\ 000091 ; Setup parameters for call to function osalTaskAdd
\ 000091 75.... MOV ?V0 + 0,#(ZDApp_event_loop & 0xff)
\ 000094 75.... MOV ?V0 + 1,#((ZDApp_event_loop >> 8) & 0xff)
\ 000097 75.... MOV ?V0 + 2,#((ZDApp_event_loop >> 16) & 0xff)
\ 00009A 78.. MOV R0,#?V0 + 0
\ 00009C 12.... LCALL ?PUSH_XSTACK_I_THREE
\ 00009F 7C32 MOV R4,#0x32
\ 0000A1 79.. MOV R1,#(ZDApp_Init & 0xff)
\ 0000A3 7A.. MOV R2,#((ZDApp_Init >> 8) & 0xff)
\ 0000A5 7B.. MOV R3,#((ZDApp_Init >> 16) & 0xff)
\ 0000A7 90.... MOV DPTR,#(osalTaskAdd & 0xffff)
\ 0000AA 74.. MOV A,#((osalTaskAdd >> 16) & 0xff)
\ 0000AC 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0000AF 7403 MOV A,#0x3
\ 0000B1 12.... LCALL ?DEALLOC_XSTACK8
181
182 osalTaskAdd( SampleApp_Init, SampleApp_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
\ 0000B4 ; Setup parameters for call to function osalTaskAdd
\ 0000B4 75.... MOV ?V0 + 0,#(??SampleApp_ProcessEvent & 0xff)
\ 0000B7 75.... MOV ?V0 + 1,#((??SampleApp_ProcessEvent >> 8) & 0xff)
\ 0000BA 75.... MOV ?V0 + 2,#((??SampleApp_ProcessEvent >> 16) & 0xff)
\ 0000BD 78.. MOV R0,#?V0 + 0
\ 0000BF 12.... LCALL ?PUSH_XSTACK_I_THREE
\ 0000C2 7C32 MOV R4,#0x32
\ 0000C4 79.. MOV R1,#(??SampleApp_Init & 0xff)
\ 0000C6 7A.. MOV R2,#((??SampleApp_Init >> 8) & 0xff)
\ 0000C8 7B.. MOV R3,#((??SampleApp_Init >> 16) & 0xff)
\ 0000CA 90.... MOV DPTR,#(osalTaskAdd & 0xffff)
\ 0000CD 74.. MOV A,#((osalTaskAdd >> 16) & 0xff)
\ 0000CF 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0000D2 7403 MOV A,#0x3
\ 0000D4 12.... LCALL ?DEALLOC_XSTACK8
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 );
\ 0000D7 ; Setup parameters for call to function osalTaskAdd
\ 0000D7 75.... MOV ?V0 + 0,#(BlindNode_ProcessEvent & 0xff)
\ 0000DA 75.... MOV ?V0 + 1,#((BlindNode_ProcessEvent >> 8) & 0xff)
\ 0000DD 75.... MOV ?V0 + 2,#((BlindNode_ProcessEvent >> 16) & 0xff)
\ 0000E0 78.. MOV R0,#?V0 + 0
\ 0000E2 12.... LCALL ?PUSH_XSTACK_I_THREE
\ 0000E5 7C32 MOV R4,#0x32
\ 0000E7 79.. MOV R1,#(BlindNode_Init & 0xff)
\ 0000E9 7A.. MOV R2,#((BlindNode_Init >> 8) & 0xff)
\ 0000EB 7B.. MOV R3,#((BlindNode_Init >> 16) & 0xff)
\ 0000ED 90.... MOV DPTR,#(osalTaskAdd & 0xffff)
\ 0000F0 74.. MOV A,#((osalTaskAdd >> 16) & 0xff)
\ 0000F2 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0000F5 7403 MOV A,#0x3
\ 0000F7 12.... LCALL ?DEALLOC_XSTACK8
189 #endif
190 #if defined ( LOCATION_DONGLE )
191 osalTaskAdd( LocDongle_Init, LocDongle_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
192 #endif
193 }
\ 0000FA 7F03 MOV R7,#0x3
\ 0000FC 02.... LJMP ?BANKED_LEAVE_XDATA
194
195 /*********************************************************************
196 * @fn SampleApp_Init
197 *
198 * @brief Initialization function for the SampleApp OSAL task.
199 *
200 * @param task_id - the ID assigned by OSAL.
201 *
202 * @return none
203 */
\ In segment BANKED_CODE, align 1, keep-with-next
204 static void SampleApp_Init( uint8 task_id )
\ ??SampleApp_Init:
205 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
206 SampleApp_TaskID = task_id;
\ 000004 E9 MOV A,R1
\ 000005 90.... MOV DPTR,#SampleApp_TaskID
\ 000008 F0 MOVX @DPTR,A
207
208 /* Sample NV Restore.
209 if ( ZSUCCESS == osal_nv_item_init( SAMPLE_APP_NV_ITEM,
210 sizeof( sampleAppNV_Item_t ), &sampleAppNV_Item ) )
211 {
212 osal_nv_read( SAMPLE_APP_NV_ITEM, 0,
213 sizeof( sampleAppNV_Item_t ), &sampleAppNV_Item ) )
214 }
215 else
216 {
217 osal_nv_read( SAMPLE_APP_NV_ITEM, 0,
218 sizeof( sampleAppNV_Item_t ), &sampleAppNV_Item ) )
219 }
220 */
221
222 // Register the endpoint/interface description with the AF.
223 afRegister( (endPointDesc_t *)&SampleApp_epDesc );
\ 000009 ; Setup parameters for call to function afRegister
\ 000009 7A.. MOV R2,#(??SampleApp_epDesc & 0xff)
\ 00000B 7B.. MOV R3,#((??SampleApp_epDesc >> 8) & 0xff)
\ 00000D 90.... MOV DPTR,#(afRegister & 0xffff)
\ 000010 74.. MOV A,#((afRegister >> 16) & 0xff)
\ 000012 12.... LCALL ?BCALL ; Banked call to: DPTR()
224
225 // Register for all key events - This app will handle all key events.
226 RegisterForKeys( SampleApp_TaskID );
\ 000015 ; Setup parameters for call to function RegisterForKeys
\ 000015 90.... MOV DPTR,#SampleApp_TaskID
\ 000018 E0 MOVX A,@DPTR
\ 000019 F9 MOV R1,A
\ 00001A 90.... MOV DPTR,#(RegisterForKeys & 0xffff)
\ 00001D 74.. MOV A,#((RegisterForKeys >> 16) & 0xff)
\ 00001F REQUIRE ?Subroutine0
\ 00001F ; // Fall through to label ?Subroutine0
227
228 #if defined ( LCD_SUPPORTED )
229 HalLcdWriteString( "<--- SampleApp --->", HAL_LCD_LINE_1 );
230 #endif
231 }
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine0:
\ 000000 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000003 D083 POP DPH
\ 000005 D082 POP DPL
\ 000007 02.... LJMP ?BRET
232
233 /*********************************************************************
234 * @fn SampleApp_ProcessEvent
235 *
236 * @brief Generic Application Task event processor.
237 *
238 * @param task_id - The OSAL assigned task ID.
239 * @param events - Bit map of events to process.
240 *
241 * @return none
242 */
\ In segment BANKED_CODE, align 1, keep-with-next
243 static uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events )
\ ??SampleApp_ProcessEvent:
244 {
\ 000000 74F4 MOV A,#-0xc
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 12
\ 000005 ; Auto size: 5
\ 000005 74FB MOV A,#-0x5
\ 000007 12.... LCALL ?ALLOC_XSTACK8
\ 00000A 8A.. MOV ?V0 + 0,R2
\ 00000C 8B.. MOV ?V0 + 1,R3
245 if ( events & SYS_EVENT_MSG )
\ 00000E 7480 MOV A,#-0x80
\ 000010 55.. ANL A,?V0 + 1
\ 000012 F9 MOV R1,A
\ 000013 E4 CLR A
\ 000014 7001 JNZ ??SampleApp_ProcessEvent_1
\ 000016 E9 MOV A,R1
\ ??SampleApp_ProcessEvent_1:
\ 000017 7003 JNZ $+5
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -