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

📄 mac_beacon_handler.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000295   12....       LCALL   mtimSetCallback & 0xFFFF
   \   000298   7404         MOV     A,#0x4
   \   00029A   12....       LCALL   ?DEALLOC_XSTACK8
    249          
    250                      // Don't transmit the beacon
    251                      mschRemoveTask(pTask->priority, MSCH_KEEP_TASK_RESERVED_BM | MSCH_KEEP_TASK_IN_PROGRESS_BM);
   \   00029D                ; Setup parameters for call to function mschRemoveTask
   \                     ??mbcnTxPeriodicalBeaconTask_4:
   \   00029D   7A03         MOV     R2,#0x3
   \   00029F   8E82         MOV     DPL,R6
   \   0002A1   8F83         MOV     DPH,R7
   \   0002A3   E0           MOVX    A,@DPTR
   \   0002A4   F9           MOV     R1,A
   \   0002A5   12....       LCALL   mschRemoveTask & 0xFFFF
    252                  }
    253                  break;
    254              }
    255          
    256          } // mbcnTxPeriodicalBeaconTask
   \                     ??mbcnTxPeriodicalBeaconTask_0:
   \   0002A8   7406         MOV     A,#0x6
   \   0002AA   02....       LJMP    ?Subroutine1

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
   \                     ??oldBeaconInterval:
   \   000000                DS 4
    257          
    258          
    259          
    260          
    261          //-------------------------------------------------------------------------------------------------------
    262          //  void mbcnPrepareCoordinatorRealignment(MAC_TX_PACKET *pPacket, ADDRESS *pDestAddr, WORD ...)
    263          //
    264          //  DESCRIPTION:
    265          //      This function prepares a coordinator realignment frame. If the pDestAddr argument points to an
    266          //      extended address, the packet will be transmitted to a single device (doing orphan scanning). If
    267          //      NULL, the packet will be broadcasted to all devices.
    268          //
    269          //  ARGUMENTS:
    270          //      MAC_TX_PACKET *pPacket
    271          //          A pointer to the packet to be transmitted
    272          //      ADDRESS *pDestAddr
    273          //          A pointer to the extended address of a specific device (mlmeOrphanResponse), or NULL if the
    274          //          coordinator realignment is to be broadcasted (mlmeStartRequest)
    275          //      WORD shortAddr
    276          //          The short address of the orphaned device, or 0xFFFF when the coordinator realignment is
    277          //          broadcasted
    278          //      BOOL securityEnable
    279          //          TBD
    280          //      WORD newPanId
    281          //          The PAN ID to be used in the future
    282          //      UINT8 logicalChannel
    283          //          The logical channel (11-26) to be used in the future
    284          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    285          void mbcnPrepareCoordinatorRealignment(MAC_TX_PACKET *pPacket, ADDRESS *pDestAddr, WORD shortAddr, BOOL securityEnable, WORD newPanId, UINT8 logicalChannel) NEAR {
   \                     mbcnPrepareCoordinatorRealignment:
   \   000000   74F0         MOV     A,#-0x10
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 16
   \   000005                ; Auto size: 2
   \   000005   74FE         MOV     A,#-0x2
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
   \   00000A   8A..         MOV     ?V0 + 2,R2
   \   00000C   8B..         MOV     ?V0 + 3,R3
   \   00000E   8C..         MOV     ?V0 + 4,R4
   \   000010   8D..         MOV     ?V0 + 5,R5
   \   000012   7412         MOV     A,#0x12
   \   000014   12....       LCALL   ?XSTACK_DISP0_8
   \   000017   E0           MOVX    A,@DPTR
   \   000018   FE           MOV     R6,A
   \   000019   A3           INC     DPTR
   \   00001A   E0           MOVX    A,@DPTR
   \   00001B   FF           MOV     R7,A
   \   00001C   7414         MOV     A,#0x14
   \   00001E   12....       LCALL   ?XSTACK_DISP0_8
   \   000021   E0           MOVX    A,@DPTR
   \   000022   F5..         MOV     ?V0 + 0,A
   \   000024   A3           INC     DPTR
   \   000025   E0           MOVX    A,@DPTR
   \   000026   F5..         MOV     ?V0 + 1,A
   \   000028   7416         MOV     A,#0x16
   \   00002A   12....       LCALL   ?XSTACK_DISP0_8
   \   00002D   E0           MOVX    A,@DPTR
   \   00002E   F5..         MOV     ?V0 + 7,A
    286              WORD broadcast = 0xFFFF;
   \   000030   85..82       MOV     DPL,?XSP + 0
   \   000033   85..83       MOV     DPH,?XSP + 1
   \   000036   74FF         MOV     A,#-0x1
   \   000038   F0           MOVX    @DPTR,A
   \   000039   A3           INC     DPTR
   \   00003A   F0           MOVX    @DPTR,A
    287              BYTE txOptions;
    288              UINT8 temp;
    289              BYTE   *pPayload;
    290          
    291              if (securityEnable == TRUE)
    292                securityEnable = FALSE;
    293          
    294              // TX mode
    295              pPacket->txMode = MTX_MODE_USE_CSMACA_BM;
   \   00003B   EA           MOV     A,R2
   \   00003C   2486         ADD     A,#-0x7a
   \   00003E   F582         MOV     DPL,A
   \   000040   EB           MOV     A,R3
   \   000041   3400         ADDC    A,#0x0
   \   000043   F583         MOV     DPH,A
   \   000045   7401         MOV     A,#0x1
   \   000047   F0           MOVX    @DPTR,A
    296          
    297              // Set the TX options
    298              txOptions = TX_OPT_NONE;
   \   000048   75..00       MOV     ?V0 + 6,#0x0
    299          
    300          #if MAC_OPT_SECURITY
    301              if (securityEnable) txOptions |= TX_OPT_SECURITY_ENABLE;
    302          #endif
    303          
    304              // Generate the packet header
    305              if (pDestAddr) {
   \   00004B   EC           MOV     A,R4
   \   00004C   7001         JNZ     ??mbcnPrepareCoordinatorRealignment_0
   \   00004E   ED           MOV     A,R5
   \                     ??mbcnPrepareCoordinatorRealignment_0:
   \   00004F   6034         JZ      ??mbcnPrepareCoordinatorRealignment_1
    306                  pPacket->retriesLeft = aMaxFrameRetries;
   \   000051   EA           MOV     A,R2
   \   000052   2491         ADD     A,#-0x6f
   \   000054   F582         MOV     DPL,A
   \   000056   EB           MOV     A,R3
   \   000057   3400         ADDC    A,#0x0
   \   000059   F583         MOV     DPH,A
   \   00005B   7403         MOV     A,#0x3
   \   00005D   F0           MOVX    @DPTR,A
    307                  txOptions |= TX_OPT_ACK_REQ;
   \   00005E   75..01       MOV     ?V0 + 6,#0x1
    308                  msupPrepareHeader(pPacket, FT_MAC_COMMAND, SRC_ADDR_EXT | DEST_ADDR_EXT, mpib.macPANId, (ADDRESS   *) &aExtendedAddress, broadcast, pDestAddr, txOptions);
   \   000061                ; Setup parameters for call to function msupPrepareHeader
   \   000061   78..         MOV     R0,#?V0 + 4
   \   000063   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000066   7402         MOV     A,#0x2
   \   000068   12....       LCALL   ?XSTACK_DISP0_8
   \   00006B   12....       LCALL   ?PUSH_XSTACK8_X_TWO
   \   00006E   75....       MOV     ?V0 + 4,#(aExtendedAddress & 0xff)
   \   000071   75....       MOV     ?V0 + 5,#((aExtendedAddress >> 8) & 0xff)
   \   000074   78..         MOV     R0,#?V0 + 4
   \   000076   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000079   90....       MOV     DPTR,#(mpib + 28)
   \   00007C   12....       LCALL   ?PUSH_XSTACK8_X_TWO
   \   00007F   7D01         MOV     R5,#0x1
   \   000081   7CCC         MOV     R4,#-0x34
   \   000083   803C         SJMP    ??mbcnPrepareCoordinatorRealignment_2
    309              } else {
    310                  // pPacket->retriesLeft will be ignored (no ack)
    311                  pPacket->txMode |= MTX_MODE_MAC_INTERNAL_BM;
   \                     ??mbcnPrepareCoordinatorRealignment_1:
   \   000085   7405         MOV     A,#0x5
   \   000087   F0           MOVX    @DPTR,A
    312                  shortAddr = broadcast;
   \   000088   85..82       MOV     DPL,?XSP + 0
   \   00008B   85..83       MOV     DPH,?XSP + 1
   \   00008E   E0           MOVX    A,@DPTR
   \   00008F   FE           MOV     R6,A
   \   000090   A3           INC     DPTR
   \   000091   E0           MOVX    A,@DPTR
   \   000092   FF           MOV     R7,A
    313                  msupPrepareHeader(pPacket, FT_MAC_COMMAND, SRC_ADDR_EXT | DEST_ADDR_SHORT, mpib.macPANId,(ADDRESS   *) &aExtendedAddress, broadcast, (ADDRESS   *) &broadcast, txOptions);
   \   000093                ; Setup parameters for call to function msupPrepareHeader
   \   000093   85..82       MOV     DPL,?XSP + 0
   \   000096   85..83       MOV     DPH,?XSP + 1
   \   000099   8582..       MOV     ?V0 + 4,DPL
   \   00009C   8583..       MOV     ?V0 + 5,DPH
   \   00009F   78..         MOV     R0,#?V0 + 4
   \   0000A1   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   0000A4   7402         MOV     A,#0x2
   \   0000A6   12....       LCALL   ?XSTACK_DISP0_8
   \   0000A9   12....       LCALL   ?PUSH_XSTACK8_X_TWO
   \   0000AC   75....       MOV     ?V0 + 4,#(aExtendedAddress & 0xff)
   \   0000AF   75....       MOV     ?V0 + 5,#((aExtendedAddress >> 8) & 0xff)
   \   0000B2   78..         MOV     R0,#?V0 + 4
   \   0000B4   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   0000B7   90....       MOV     DPTR,#(mpib + 28)
   \   0000BA   12....       LCALL   ?PUSH_XSTACK8_X_TWO
   \   0000BD   7D00         MOV     R5,#0x0
   \   0000BF   7CC8         MOV     R4,#-0x38
   \                     ??mbcnPrepareCoordinatorRealignment_2:
   \   0000C1   7903         MOV     R1,#0x3
   \   0000C3   12....       LCALL   msupPrepareHeader & 0xFFFF
   \   0000C6   7408         MOV     A,#0x8
   \   0000C8   12....       LCALL   ?DEALLOC_XSTACK8
    314              }
    315          
    316              // Store the command type
    317              pPacket->commandType = CMD_COORDINATOR_REALIGNMENT;
   \   0000CB   E5..         MOV     A,?V0 + 2
   \   0000CD   2483         ADD     A,#-0x7d
   \   0000CF   F582         MOV     DPL,A
   \   0000D1   E5..         MOV     A,?V0 + 3
   \   0000D3   3400         ADDC    A,#0x0
   \   0000D5   F583         MOV     DPH,A
   \   0000D7   7408         MOV     A,#0x8
   \   0000D9   F0           MOVX    @DPTR,A
    318          
    319              // Command frame identifier
    320              pPayload = pPacket->pPayload;
   \   0000DA   E5..         MOV     A,?V0 + 2
   \   0000DC   241A         ADD     A,#0x1a
   \   0000DE   F8           MOV     R0,A
   \   0000DF   E5..         MOV     A,?V0 + 3
   \   0000E1   3400         ADDC    A,#0x0
   \   0000E3   F9           MOV     R1,A
    321              *(pPayload++) = CMD_COORDINATOR_REALIGNMENT;
   \   0000E4   7408         MOV     A,#0x8
   \   0000E6   8882         MOV     DPL,R0
   \   0000E8   8983         MOV     DPH,R1
   \   0000EA   F0           MOVX    @DPTR,A
   \   0000EB   A3           INC     DPTR
   \   0000EC   A882         MOV     R0,DPL
   \   0000EE   A983         MOV     R1,DPH
    322          
    323          #if MAC_OPT_SECURITY
 

⌨️ 快捷键说明

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