📄 genericapp.lst
字号:
256 || (GenericApp_NwkState == DEV_END_DEVICE) )
\ 000024 6409 XRL A,#0x9
\ 000026 600A JZ ??GenericApp_ProcessEvent_4
\ 000028 E0 MOVX A,@DPTR
\ 000029 6407 XRL A,#0x7
\ 00002B 6005 JZ ??GenericApp_ProcessEvent_4
\ 00002D E0 MOVX A,@DPTR
\ 00002E 6406 XRL A,#0x6
\ 000030 7010 JNZ ??GenericApp_ProcessEvent_5
257 {
258 // Start sending "the" message in a regular interval.
259 osal_start_timer( GENERICAPP_SEND_MSG_EVT,
260 GENERICAPP_SEND_MSG_TIMEOUT );
\ ??GenericApp_ProcessEvent_4:
\ 000032 ; Setup parameters for call to function osal_start_timer
\ 000032 7C88 MOV R4,#-0x78
\ 000034 7D13 MOV R5,#0x13
\ 000036 7A01 MOV R2,#0x1
\ 000038 7B00 MOV R3,#0x0
\ 00003A 90.... MOV DPTR,#(osal_start_timer & 0xffff)
\ 00003D 74.. MOV A,#((osal_start_timer >> 16) & 0xff)
\ ??GenericApp_ProcessEvent_6:
\ 00003F 12.... LCALL ?BCALL ; Banked call to: DPTR()
261 }
262 break;
263
264 default:
265 break;
266 }
267
268 // Release the memory
269 osal_msg_deallocate( (uint8 *)MSGpkt );
\ ??GenericApp_ProcessEvent_5:
\ 000042 ; Setup parameters for call to function osal_msg_deallocate
\ 000042 AA.. MOV R2,?V0 + 0
\ 000044 AB.. MOV R3,?V0 + 1
\ 000046 90.... MOV DPTR,#(osal_msg_deallocate & 0xffff)
\ 000049 74.. MOV A,#((osal_msg_deallocate >> 16) & 0xff)
\ 00004B 12.... LCALL ?BCALL ; Banked call to: DPTR()
270
271 // Next
272 MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID );
\ 00004E ; Setup parameters for call to function osal_msg_receive
\ ??GenericApp_ProcessEvent_2:
\ 00004E 90.... MOV DPTR,#GenericApp_TaskID
\ 000051 E0 MOVX A,@DPTR
\ 000052 F9 MOV R1,A
\ 000053 90.... MOV DPTR,#(osal_msg_receive & 0xffff)
\ 000056 74.. MOV A,#((osal_msg_receive >> 16) & 0xff)
\ 000058 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 00005B 8A.. MOV ?V0 + 0,R2
\ 00005D 8B.. MOV ?V0 + 1,R3
\ 00005F E5.. MOV A,?V0 + 0
\ 000061 7002 JNZ ??GenericApp_ProcessEvent_7
\ 000063 E5.. MOV A,?V0 + 1
\ ??GenericApp_ProcessEvent_7:
\ 000065 6071 JZ ??GenericApp_ProcessEvent_8
\ 000067 85..82 MOV DPL,?V0 + 0
\ 00006A 85..83 MOV DPH,?V0 + 1
\ 00006D E0 MOVX A,@DPTR
\ 00006E 12.... LCALL ?UC_SWITCH_SPARSE
\ `?<Jumptable for GenericApp_ProcessEvent>_0`:
\ 000071 00 DB 0
\ 000072 03 DB 3
\ 000073 C0 DB 192
\ 000074 .... DW ??GenericApp_ProcessEvent_9
\ 000076 D0 DB 208
\ 000077 .... DW ??GenericApp_ProcessEvent_10
\ 000079 D1 DB 209
\ 00007A .... DW ??GenericApp_ProcessEvent_3
\ 00007C .... DW ??GenericApp_ProcessEvent_5
\ ??GenericApp_ProcessEvent_9:
\ 00007E ; Setup parameters for call to function GenericApp_HandleKeys
\ 00007E 85..82 MOV DPL,?V0 + 0
\ 000081 85..83 MOV DPH,?V0 + 1
\ 000084 A3 INC DPTR
\ 000085 A3 INC DPTR
\ 000086 A3 INC DPTR
\ 000087 E0 MOVX A,@DPTR
\ 000088 FA MOV R2,A
\ 000089 85..82 MOV DPL,?V0 + 0
\ 00008C 85..83 MOV DPH,?V0 + 1
\ 00008F A3 INC DPTR
\ 000090 A3 INC DPTR
\ 000091 E0 MOVX A,@DPTR
\ 000092 F9 MOV R1,A
\ 000093 90.... MOV DPTR,#(GenericApp_HandleKeys & 0xffff)
\ 000096 74.. MOV A,#((GenericApp_HandleKeys >> 16) & 0xff)
\ 000098 80A5 SJMP ??GenericApp_ProcessEvent_6
\ ??GenericApp_ProcessEvent_10:
\ 00009A 85..82 MOV DPL,?V0 + 0
\ 00009D 85..83 MOV DPH,?V0 + 1
\ 0000A0 A3 INC DPTR
\ 0000A1 A3 INC DPTR
\ 0000A2 E0 MOVX A,@DPTR
\ 0000A3 FA MOV R2,A
\ 0000A4 E5.. MOV A,?V0 + 0
\ 0000A6 2403 ADD A,#0x3
\ 0000A8 F8 MOV R0,A
\ 0000A9 E5.. MOV A,?V0 + 1
\ 0000AB 3400 ADDC A,#0x0
\ 0000AD F9 MOV R1,A
\ 0000AE 8882 MOV DPL,R0
\ 0000B0 8983 MOV DPH,R1
\ 0000B2 A3 INC DPTR
\ 0000B3 A3 INC DPTR
\ 0000B4 A3 INC DPTR
\ 0000B5 A3 INC DPTR
\ 0000B6 A3 INC DPTR
\ 0000B7 A3 INC DPTR
\ 0000B8 A3 INC DPTR
\ 0000B9 A3 INC DPTR
\ 0000BA E0 MOVX A,@DPTR
\ 0000BB 90.... MOV DPTR,#(GenericApp_DstAddr + 2)
\ 0000BE F0 MOVX @DPTR,A
\ 0000BF EA MOV A,R2
\ 0000C0 90.... MOV DPTR,#(GenericApp_DstAddr + 3)
\ 0000C3 F0 MOVX @DPTR,A
\ 0000C4 8882 MOV DPL,R0
\ 0000C6 8983 MOV DPH,R1
\ 0000C8 E0 MOVX A,@DPTR
\ 0000C9 F8 MOV R0,A
\ 0000CA A3 INC DPTR
\ 0000CB E0 MOVX A,@DPTR
\ 0000CC F9 MOV R1,A
\ 0000CD 90.... MOV DPTR,#GenericApp_DstAddr
\ 0000D0 E8 MOV A,R0
\ 0000D1 F0 MOVX @DPTR,A
\ 0000D2 A3 INC DPTR
\ 0000D3 E9 MOV A,R1
\ 0000D4 F0 MOVX @DPTR,A
\ 0000D5 02.... LJMP ??GenericApp_ProcessEvent_5 & 0xFFFF
273 }
274
275 // return unprocessed events
276 return (events ^ SYS_EVENT_MSG);
\ ??GenericApp_ProcessEvent_8:
\ 0000D8 EE MOV A,R6
\ 0000D9 FA MOV R2,A
\ 0000DA 7480 MOV A,#-0x80
\ 0000DC 6F XRL A,R7
\ ??GenericApp_ProcessEvent_11:
\ 0000DD FB MOV R3,A
\ 0000DE 8028 SJMP ??GenericApp_ProcessEvent_12
277 }
278
279 // Send a message out - This event is generated by a timer
280 // (setup in GenericApp_Init()).
281 if ( events & GENERICAPP_SEND_MSG_EVT )
\ ??GenericApp_ProcessEvent_1:
\ 0000E0 EE MOV A,R6
\ 0000E1 A2E0 MOV C,0xE0 /* A */.0
\ 0000E3 501F JNC ??GenericApp_ProcessEvent_13
282 {
283 // Send "the" message
284 GenericApp_SendTheMessage();
\ 0000E5 ; Setup parameters for call to function GenericApp_SendTheMessage
\ 0000E5 90.... MOV DPTR,#(GenericApp_SendTheMessage & 0xffff)
\ 0000E8 74.. MOV A,#((GenericApp_SendTheMessage >> 16) & 0xff)
\ 0000EA 12.... LCALL ?BCALL ; Banked call to: DPTR()
285
286 // Setup to send message again
287 osal_start_timer( GENERICAPP_SEND_MSG_EVT,
288 GENERICAPP_SEND_MSG_TIMEOUT );
\ 0000ED ; Setup parameters for call to function osal_start_timer
\ 0000ED 7C88 MOV R4,#-0x78
\ 0000EF 7D13 MOV R5,#0x13
\ 0000F1 7A01 MOV R2,#0x1
\ 0000F3 7B00 MOV R3,#0x0
\ 0000F5 90.... MOV DPTR,#(osal_start_timer & 0xffff)
\ 0000F8 74.. MOV A,#((osal_start_timer >> 16) & 0xff)
\ 0000FA 12.... LCALL ?BCALL ; Banked call to: DPTR()
289
290 // return unprocessed events
291 return (events ^ GENERICAPP_SEND_MSG_EVT);
\ 0000FD 7401 MOV A,#0x1
\ 0000FF 6E XRL A,R6
\ 000100 FA MOV R2,A
\ 000101 EF MOV A,R7
\ 000102 80D9 SJMP ??GenericApp_ProcessEvent_11
292 }
293
294 // Discard unknown events
295 return 0;
\ ??GenericApp_ProcessEvent_13:
\ 000104 7A00 MOV R2,#0x0
\ 000106 7B00 MOV R3,#0x0
\ ??GenericApp_ProcessEvent_12:
\ 000108 7F04 MOV R7,#0x4
\ 00010A 02.... LJMP ?BANKED_LEAVE_XDATA
296 }
297
298 /*********************************************************************
299 * Event Generation Functions
300 */
301 /*********************************************************************
302 * @fn GenericApp_HandleKeys
303 *
304 * @brief Handles all key events for this device.
305 *
306 * @param shift - true if in shift/alt.
307 * @param keys - bit field for key events. Valid entries:
308 * HAL_KEY_SW_4
309 * HAL_KEY_SW_3
310 * HAL_KEY_SW_2
311 * HAL_KEY_SW_1
312 *
313 * @return none
314 */
\ In segment BANKED_CODE, align 1, keep-with-next
315 void GenericApp_HandleKeys( byte shift, byte keys )
\ GenericApp_HandleKeys:
316 {
\ 000000 74F7 MOV A,#-0x9
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 9
\ 000005 ; Auto size: 0
\ 000005 EA MOV A,R2
\ 000006 FE MOV R6,A
317 // Shift is used to make each button/switch dual purpose.
318 if ( shift )
\ 000007 E9 MOV A,R1
\ 000008 7028 JNZ ??GenericApp_HandleKeys_0
319 {
320 if ( keys & HAL_KEY_SW_1 )
321 {
322 }
323 if ( keys & HAL_KEY_SW_2 )
324 {
325 }
326 if ( keys & HAL_KEY_SW_3 )
327 {
328 }
329 if ( keys & HAL_KEY_SW_4 )
330 {
331 }
332 }
333 else
334 {
335 if ( keys & HAL_KEY_SW_1 )
336 {
337 }
338
339 if ( keys & HAL_KEY_SW_2 )
\ 00000A EE MOV A,R6
\ 00000B A2E1 MOV C,0xE0 /* A */.1
\ 00000D 500D JNC ??GenericApp_HandleKeys_1
340 {
341 // Initiate an End Device Bind Request for the mandatory endpoint
342 ZDApp_SendEndDeviceBindReq( GenericApp_epDesc.endPoint );
\ 00000F ; Setup parameters for call to function ZDApp_SendEndDeviceBindReq
\ 00000F 90.... MOV DPTR,#GenericApp_epDesc
\ 000012 E0 MOVX A,@DPTR
\ 000013 F9 MOV R1,A
\ 000014 90.... MOV DPTR,#(ZDApp_SendEndDeviceBindReq & 0xffff)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -