⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mac_beacon_handler.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000139   7A..         MOV     R2,#((mtxResetBosCounter >> 8) & 0xff)
   \   00013B   7B..         MOV     R3,#((mtxResetBosCounter >> 16) & 0xff)
   \   00013D   12....       LCALL   mtimSetCallback & 0xFFFF
   \   000140   7404         MOV     A,#0x4
   \   000142   12....       LCALL   ?DEALLOC_XSTACK8
    212          
    213                      // Resume transmission of direct packets after the beacon transmission
    214                      if (mtxInfo.waitForBeacon)
   \   000145   7402         MOV     A,#0x2
   \   000147   12....       LCALL   ?XSTACK_DISP0_8
   \   00014A   E0           MOVX    A,@DPTR
   \   00014B   2485         ADD     A,#-0x7b
   \   00014D   FE           MOV     R6,A
   \   00014E   A3           INC     DPTR
   \   00014F   E0           MOVX    A,@DPTR
   \   000150   3400         ADDC    A,#0x0
   \   000152   FF           MOV     R7,A
   \   000153   90....       MOV     DPTR,#(mtxInfo + 5)
   \   000156   E0           MOVX    A,@DPTR
   \   000157   6029         JZ      ??mbcnTxPeriodicalBeaconTask_7
    215                          mtimSetCallback(mtxResumeAfterBeaconCallback, (INT32)(pPacket->duration + MBCN_TX_STARTUP_OVERHEAD));
   \   000159                ; Setup parameters for call to function mtimSetCallback
   \   000159   8E82         MOV     DPL,R6
   \   00015B   8F83         MOV     DPH,R7
   \   00015D   E0           MOVX    A,@DPTR
   \   00015E   F8           MOV     R0,A
   \   00015F   7404         MOV     A,#0x4
   \   000161   28           ADD     A,R0
   \   000162   F5..         MOV     ?V0 + 0,A
   \   000164   E4           CLR     A
   \   000165   3400         ADDC    A,#0x0
   \   000167   F5..         MOV     ?V0 + 1,A
   \   000169   75..00       MOV     ?V0 + 2,#0x0
   \   00016C   75..00       MOV     ?V0 + 3,#0x0
   \   00016F   78..         MOV     R0,#?V0 + 0
   \   000171   12....       LCALL   ?PUSH_XSTACK_I_FOUR
   \   000174   79..         MOV     R1,#(mtxResumeAfterBeaconCallback & 0xff)
   \   000176   7A..         MOV     R2,#((mtxResumeAfterBeaconCallback >> 8) & 0xff)
   \   000178   7B..         MOV     R3,#((mtxResumeAfterBeaconCallback >> 16) & 0xff)
   \   00017A   12....       LCALL   mtimSetCallback & 0xFFFF
   \   00017D   7404         MOV     A,#0x4
   \   00017F   12....       LCALL   ?DEALLOC_XSTACK8
    216          
    217                      // Set the RX interval (if any)
    218                      if (mpib.macSuperframeOrder != 15) {
   \                     ??mbcnTxPeriodicalBeaconTask_7:
   \   000182   90....       MOV     DPTR,#(mpib + 34)
   \   000185   E0           MOVX    A,@DPTR
   \   000186   640F         XRL     A,#0xf
   \   000188   7003         JNZ     $+5
   \   00018A   02....       LJMP    ??mbcnTxPeriodicalBeaconTask_8 & 0xFFFF
    219                          if (mpib.macRxOnWhenIdle) {
   \   00018D   90....       MOV     DPTR,#(mpib + 31)
   \   000190   E0           MOVX    A,@DPTR
   \   000191   7003         JNZ     $+5
   \   000193   02....       LJMP    ??mbcnTxPeriodicalBeaconTask_8 & 0xFFFF
    220          
    221                              // On:
    222                              mrxAutoIncrOnCounter();
   \   000196                ; Setup parameters for call to function mrxAutoIncrOnCounter
   \   000196   90....       MOV     DPTR,#(mrxAutoIncrOnCounter & 0xffff)
   \   000199   74..         MOV     A,#((mrxAutoIncrOnCounter >> 16) & 0xff)
   \   00019B   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    223          
    224                              // TBD: Move this stuff to mtxResetBosCounter?
    225                              // Off:
    226                              if (mpib.macBattLifeExt) {
   \   00019E   90....       MOV     DPTR,#(mpib + 3)
   \   0001A1   E0           MOVX    A,@DPTR
   \   0001A2   603B         JZ      ??mbcnTxPeriodicalBeaconTask_9
    227                                  // Soft off
    228                                  mtimSetCallback(mrxDecrOnCounter, (INT32) pPacket->duration + mpib.macBattLifeExtPeriods + MBCN_TX_STARTUP_OVERHEAD);
   \   0001A4                ; Setup parameters for call to function mtimSetCallback
   \   0001A4   8E82         MOV     DPL,R6
   \   0001A6   8F83         MOV     DPH,R7
   \   0001A8   E0           MOVX    A,@DPTR
   \   0001A9   F5..         MOV     ?V0 + 0,A
   \   0001AB   75..00       MOV     ?V0 + 1,#0x0
   \   0001AE   75..00       MOV     ?V0 + 2,#0x0
   \   0001B1   75..00       MOV     ?V0 + 3,#0x0
   \   0001B4   90....       MOV     DPTR,#(mpib + 4)
   \   0001B7   E0           MOVX    A,@DPTR
   \   0001B8   F5..         MOV     ?V0 + 4,A
   \   0001BA   75..00       MOV     ?V0 + 5,#0x0
   \   0001BD   75..00       MOV     ?V0 + 6,#0x0
   \   0001C0   75..00       MOV     ?V0 + 7,#0x0
   \   0001C3   78..         MOV     R0,#?V0 + 0
   \   0001C5   79..         MOV     R1,#?V0 + 4
   \   0001C7   12....       LCALL   ?L_ADD
   \   0001CA   90....       MOV     DPTR,#__Constant_4
   \   0001CD   78..         MOV     R0,#?V0 + 0
   \   0001CF   12....       LCALL   ?L_ADD_X
   \   0001D2   78..         MOV     R0,#?V0 + 0
   \   0001D4   12....       LCALL   ?PUSH_XSTACK_I_FOUR
   \   0001D7   79..         MOV     R1,#(mrxDecrOnCounter & 0xff)
   \   0001D9   7A..         MOV     R2,#((mrxDecrOnCounter >> 8) & 0xff)
   \   0001DB   7B..         MOV     R3,#((mrxDecrOnCounter >> 16) & 0xff)
   \   0001DD   8032         SJMP    ??mbcnTxPeriodicalBeaconTask_10
    229                              } else {
    230                                  // Force when the superframe is shorter than the beacon interval
    231                                  mtimSetCallback((mpib.macBeaconOrder == mpib.macSuperframeOrder) ? mrxDecrOnCounter : mrxForceRxOff, (INT32) msupCalcSuperframeDuration() + MBCN_TX_STARTUP_OVERHEAD);
   \                     ??mbcnTxPeriodicalBeaconTask_9:
   \   0001DF                ; Setup parameters for call to function msupCalcSuperframeDuration
   \   0001DF   12....       LCALL   msupCalcSuperframeDuration & 0xFFFF
   \   0001E2   8A..         MOV     ?V0 + 0,R2
   \   0001E4   8B..         MOV     ?V0 + 1,R3
   \   0001E6   8C..         MOV     ?V0 + 2,R4
   \   0001E8   8D..         MOV     ?V0 + 3,R5
   \   0001EA   90....       MOV     DPTR,#(mpib + 8)
   \   0001ED   E0           MOVX    A,@DPTR
   \   0001EE   FA           MOV     R2,A
   \   0001EF   90....       MOV     DPTR,#(mpib + 34)
   \   0001F2   E0           MOVX    A,@DPTR
   \   0001F3   6A           XRL     A,R2
   \   0001F4   7008         JNZ     ??mbcnTxPeriodicalBeaconTask_11
   \   0001F6   79..         MOV     R1,#(mrxDecrOnCounter & 0xff)
   \   0001F8   7A..         MOV     R2,#((mrxDecrOnCounter >> 8) & 0xff)
   \   0001FA   7B..         MOV     R3,#((mrxDecrOnCounter >> 16) & 0xff)
   \   0001FC   8006         SJMP    ??mbcnTxPeriodicalBeaconTask_12
   \                     ??mbcnTxPeriodicalBeaconTask_11:
   \   0001FE   79..         MOV     R1,#(mrxForceRxOff & 0xff)
   \   000200   7A..         MOV     R2,#((mrxForceRxOff >> 8) & 0xff)
   \   000202   7B..         MOV     R3,#((mrxForceRxOff >> 16) & 0xff)
   \                     ??mbcnTxPeriodicalBeaconTask_12:
   \   000204                ; Setup parameters for call to function mtimSetCallback
   \   000204   90....       MOV     DPTR,#__Constant_4
   \   000207   78..         MOV     R0,#?V0 + 0
   \   000209   12....       LCALL   ?L_ADD_X
   \   00020C   78..         MOV     R0,#?V0 + 0
   \   00020E   12....       LCALL   ?PUSH_XSTACK_I_FOUR
   \                     ??mbcnTxPeriodicalBeaconTask_10:
   \   000211   12....       LCALL   mtimSetCallback & 0xFFFF
   \   000214   7404         MOV     A,#0x4
   \   000216   12....       LCALL   ?DEALLOC_XSTACK8
    232                              }
    233                          }
    234                      }
    235          
    236                      // Transform this task into an mtxStartTransmission()
    237                      pTask->state = MTX_STATE_PREPARE_PACKET;
   \                     ??mbcnTxPeriodicalBeaconTask_8:
   \   000219   7404         MOV     A,#0x4
   \   00021B   12....       LCALL   ?XSTACK_DISP0_8
   \   00021E   E0           MOVX    A,@DPTR
   \   00021F   F8           MOV     R0,A
   \   000220   A3           INC     DPTR
   \   000221   E0           MOVX    A,@DPTR
   \   000222   F583         MOV     DPH,A
   \   000224   8882         MOV     DPL,R0
   \   000226   E4           CLR     A
   \   000227   F0           MOVX    @DPTR,A
    238                      pTask->taskData = (WORD) pPacket;
   \   000228   7402         MOV     A,#0x2
   \   00022A   12....       LCALL   ?XSTACK_DISP0_8
   \   00022D   E0           MOVX    A,@DPTR
   \   00022E   F8           MOV     R0,A
   \   00022F   A3           INC     DPTR
   \   000230   E0           MOVX    A,@DPTR
   \   000231   F9           MOV     R1,A
   \   000232   85..82       MOV     DPL,?XSP + 0
   \   000235   85..83       MOV     DPH,?XSP + 1
   \   000238   E0           MOVX    A,@DPTR
   \   000239   FA           MOV     R2,A
   \   00023A   A3           INC     DPTR
   \   00023B   E0           MOVX    A,@DPTR
   \   00023C   F583         MOV     DPH,A
   \   00023E   8A82         MOV     DPL,R2
   \   000240   A3           INC     DPTR
   \   000241   A3           INC     DPTR
   \   000242   A3           INC     DPTR
   \   000243   E8           MOV     A,R0
   \   000244   F0           MOVX    @DPTR,A
   \   000245   A3           INC     DPTR
   \   000246   E9           MOV     A,R1
   \   000247   F0           MOVX    @DPTR,A
    239                      pTask->pTaskFunc = mtxStartTransmission;
   \   000248   85..82       MOV     DPL,?XSP + 0
   \   00024B   85..83       MOV     DPH,?XSP + 1
   \   00024E   E0           MOVX    A,@DPTR
   \   00024F   F8           MOV     R0,A
   \   000250   A3           INC     DPTR
   \   000251   E0           MOVX    A,@DPTR
   \   000252   F583         MOV     DPH,A
   \   000254   8882         MOV     DPL,R0
   \   000256   74..         MOV     A,#(mtxStartTransmission & 0xff)
   \   000258   F0           MOVX    @DPTR,A
   \   000259   A3           INC     DPTR
   \   00025A   74..         MOV     A,#((mtxStartTransmission >> 8) & 0xff)
   \   00025C   F0           MOVX    @DPTR,A
   \   00025D   A3           INC     DPTR
   \   00025E   74..         MOV     A,#((mtxStartTransmission >> 16) & 0xff)
   \   000260   F0           MOVX    @DPTR,A
    240                      mtxInfo.beaconTransmissionInProgress = TRUE;
   \   000261   7401         MOV     A,#0x1
   \   000263   90....       MOV     DPTR,#(mtxInfo + 11)
   \   000266   F0           MOVX    @DPTR,A
    241                      mtxInfo.cspTimeout = CSP_TIMEOUT_RUN_FOREVER;
   \   000267   74FF         MOV     A,#-0x1
   \   000269   90....       MOV     DPTR,#(mtxInfo + 10)
   \   00026C   02....       LJMP    ??mbcnTxPeriodicalBeaconTask_5
    242          
    243                  // Disaster :(
    244                  // The prepare time was too short!!! (DEBUG: Add a breakpoint here if beacons are missing)
    245                  } else if (T2_GET_OVERFLOW_COUNTER() > oldBeaconInterval) {
   \                     ??mbcnTxPeriodicalBeaconTask_6:
   \   00026F                ; Setup parameters for call to function T2_GET_OVERFLOW_COUNTER
   \   00026F   90....       MOV     DPTR,#(T2_GET_OVERFLOW_COUNTER & 0xffff)
   \   000272   74..         MOV     A,#((T2_GET_OVERFLOW_COUNTER >> 16) & 0xff)
   \   000274   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000277   8A..         MOV     ?V0 + 0,R2
   \   000279   8B..         MOV     ?V0 + 1,R3
   \   00027B   8C..         MOV     ?V0 + 2,R4
   \   00027D   8D..         MOV     ?V0 + 3,R5
   \   00027F   90....       MOV     DPTR,#??oldBeaconInterval
   \   000282   78..         MOV     R0,#?V0 + 0
   \   000284   12....       LCALL   ?UL_GT_X
   \   000287   501F         JNC     ??mbcnTxPeriodicalBeaconTask_0
    246          
    247                      // Schedule backoff slot counter reset (which in turn schedules the next mbcnTxPeriodicalBeacon)
    248                      mtimSetCallback(mtxResetBosCounter, MBCN_TX_STARTUP_OVERHEAD);
   \   000289                ; Setup parameters for call to function mtimSetCallback
   \   000289   90....       MOV     DPTR,#__Constant_4
   \   00028C   12....       LCALL   ?PUSH_XSTACK8_X_FOUR
   \   00028F   79..         MOV     R1,#(mtxResetBosCounter & 0xff)
   \   000291   7A..         MOV     R2,#((mtxResetBosCounter >> 8) & 0xff)
   \   000293   7B..         MOV     R3,#((mtxResetBosCounter >> 16) & 0xff)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -