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

📄 zmac_cb.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000003   85..82       MOV     DPL,?V0 + 4
   \   000006   85..83       MOV     DPH,?V0 + 5
   \   000009   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine3:
   \   000000   E5..         MOV     A,?V0 + 4
   \   000002   242E         ADD     A,#0x2e
   \   000004   F582         MOV     DPL,A
   \   000006   E5..         MOV     A,?V0 + 5
   \   000008   3400         ADDC    A,#0x0
   \   00000A   F583         MOV     DPH,A
   \   00000C   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine2:
   \   000000   24..         ADD     A,#(zmacCBSizeTable & 0xff)
   \   000002   F582         MOV     DPL,A
   \   000004   E4           CLR     A
   \   000005   34..         ADDC    A,#((zmacCBSizeTable >> 8) & 0xff)
   \   000007   F583         MOV     DPH,A
   \   000009   E4           CLR     A
   \   00000A   93           MOVC    A,@A+DPTR
   \   00000B   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine1:
   \   000000   EE           MOV     A,R6
   \   000001   240B         ADD     A,#0xb
   \   000003   F5..         MOV     ?V0 + 4,A
   \   000005   EF           MOV     A,R7
   \   000006   3400         ADDC    A,#0x0
   \   000008   F5..         MOV     ?V0 + 5,A
   \   00000A                ; Setup parameters for call to function osal_memcpy
   \   00000A   8E82         MOV     DPL,R6
   \   00000C   8F83         MOV     DPH,R7
   \   00000E   A3           INC     DPTR
   \   00000F   A3           INC     DPTR
   \   000010   A3           INC     DPTR
   \   000011   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine0:
   \   000000   F0           MOVX    @DPTR,A
   \   000001                ; Setup parameters for call to function osal_memcpy
   \   000001                ; Setup parameters for call to function osal_memcpy
   \   000001   90....       MOV     DPTR,#ZMac_ScanBuf
   \                     ??Subroutine0_0:
   \   000004   E0           MOVX    A,@DPTR
   \   000005   F5..         MOV     ?V0 + 0,A
   \   000007   A3           INC     DPTR
   \   000008   E0           MOVX    A,@DPTR
   \   000009   F5..         MOV     ?V0 + 1,A
   \   00000B   75..00       MOV     ?V0 + 2,#0x0
   \   00000E   78..         MOV     R0,#?V0 + 0
   \   000010   22           RET
    264          
    265          /********************************************************************************************************
    266           * @fn       zmacSendMTCallback()
    267           *
    268           * @brief    convert MAC data confirm to ZMac and send to NWK
    269           *
    270           * @param    status -
    271           * @param    msduHandle -
    272           *
    273           * @return   none
    274           ********************************************************************************************************/
    275          

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    276          void zmacSendMTCallback ( macCbackEvent_t *pData )
   \                     zmacSendMTCallback:
    277          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
    278          #ifdef MT_MAC_CB_FUNC
    279          
    280            /* Check if MT has subscribed for this callback If so, pass it as an event to MonitorTest */
    281            switch (pData->hdr.event)
    282            {
    283              case MAC_MLME_ASSOCIATE_IND:
    284                if ( _macCallbackSub & CB_ID_NWK_ASSOCIATE_IND )
    285                  nwk_MTCallbackSubNwkAssociateInd ( (ZMacAssociateInd_t *)pData );
    286                break;
    287          
    288              case MAC_MLME_ASSOCIATE_CNF:
    289                if ( _macCallbackSub & CB_ID_NWK_ASSOCIATE_CNF )
    290                  nwk_MTCallbackSubNwkAssociateCnf ( (ZMacAssociateCnf_t *)pData );
    291                break;
    292          
    293              case MAC_MLME_DISASSOCIATE_IND:
    294                if ( _macCallbackSub & CB_ID_NWK_DISASSOCIATE_IND )
    295                  nwk_MTCallbackSubNwkDisassociateInd ( (ZMacDisassociateInd_t *)pData );
    296                break;
    297          
    298              case MAC_MLME_DISASSOCIATE_CNF:
    299                if ( _macCallbackSub & CB_ID_NWK_DISASSOCIATE_CNF )
    300                  nwk_MTCallbackSubNwkDisassociateCnf ( (ZMacDisassociateCnf_t *)pData );
    301                break;
    302          
    303              case MAC_MLME_BEACON_NOTIFY_IND:
    304                if ( _macCallbackSub & CB_ID_NWK_BEACON_NOTIFY_IND )
    305                  nwk_MTCallbackSubNwkBeaconNotifyInd( (ZMacBeaconNotifyInd_t *)pData );
    306                break;
    307          
    308              case MAC_MLME_ORPHAN_IND:
    309                if ( _macCallbackSub & CB_ID_NWK_ORPHAN_IND )
    310                  nwk_MTCallbackSubNwkOrphanInd( (ZMacOrphanInd_t *) pData );
    311                break;
    312          
    313              case MAC_MLME_SCAN_CNF:
    314                if ( _macCallbackSub & CB_ID_NWK_SCAN_CNF )
    315                {
    316                  pData->scanCnf.result.pEnergyDetect = ZMac_ScanBuf;
    317                  nwk_MTCallbackSubNwkScanCnf ( (ZMacScanCnf_t *) pData );
    318                }
    319          
    320                if (ZMac_ScanBuf != NULL)
    321                {
    322                  osal_mem_free(ZMac_ScanBuf);
    323                  ZMac_ScanBuf = NULL;
    324                }
    325                break;
    326          
    327              case MAC_MLME_START_CNF:
    328                if ( _macCallbackSub & CB_ID_NWK_START_CNF )
    329                  nwk_MTCallbackSubNwkStartCnf ( pData->hdr.status );
    330                break;
    331          
    332              case MAC_MLME_SYNC_LOSS_IND:
    333                if ( _macCallbackSub & CB_ID_NWK_SYNC_LOSS_IND )
    334                 nwk_MTCallbackSubNwkSyncLossInd( (ZMacSyncLossInd_t *) pData );
    335                break;
    336          
    337              case MAC_MLME_POLL_CNF:
    338                if ( _macCallbackSub & CB_ID_NWK_POLL_CNF )
    339                   nwk_MTCallbackSubNwkPollCnf( pData->hdr.status );
    340                break;
    341          
    342              case MAC_MLME_COMM_STATUS_IND:
    343                if ( _macCallbackSub & CB_ID_NWK_COMM_STATUS_IND )
    344                  nwk_MTCallbackSubCommStatusInd ( (ZMacCommStatusInd_t *) pData );
    345                break;
    346          
    347              case MAC_MCPS_DATA_CNF:
    348                osal_msg_deallocate((uint8*)pData->dataCnf.pDataReq);
    349          
    350                if ( _macCallbackSub & CB_ID_NWK_DATA_CNF )
    351                  nwk_MTCallbackSubNwkDataCnf( (ZMacDataCnf_t *) pData );
    352                break;
    353          
    354              case MAC_MCPS_DATA_IND:
    355                  {
    356                    /*
    357                       Data Ind is unconventional: to save an alloc/copy, reuse the MAC
    358                       buffer and re-organize the contents into ZMAC format.
    359                    */
    360                    ZMacDataInd_t *pDataInd = (ZMacDataInd_t *) pData;
    361                    uint8 event, status, len, *msdu;
    362          
    363                    /* Store parameters */
    364                    event = pData->hdr.event;
    365                    status = pData->hdr.status;
    366                    len = pData->dataInd.msdu.len;
    367                    msdu = pData->dataInd.msdu.p;
    368          
    369                    /* Copy header */
    370                    osal_memcpy(&pDataInd->SrcAddr, &pData->dataInd.mac, sizeof(ZMacDataInd_t) - sizeof(ZMacEventHdr_t));
    371          
    372                    /* Security - set to zero for now*/
    373                    pDataInd->Sec.SecurityLevel = false;
    374          
    375                    /* Restore parameters */
    376                    pDataInd->hdr.Status = status;
    377                    pDataInd->hdr.Event = event;
    378                    pDataInd->msduLength = len;
    379          
    380                    if (len)
    381                      pDataInd->msdu = msdu;
    382                    else
    383                      pDataInd->msdu = NULL;
    384          
    385                    if ( _macCallbackSub & CB_ID_NWK_DATA_IND )
    386                      nwk_MTCallbackSubNwkDataInd ( pDataInd );
    387          
    388                    /* free buffer */
    389                    osal_msg_deallocate( (uint8 *) pData );
    390                  }
    391                  break;
    392          
    393              case MAC_MCPS_PURGE_CNF:
    394                if ( _macCallbackSub & CB_ID_NWK_PURGE_CNF )
    395                  nwk_MTCallbackSubNwkPurgeCnf( (ZMacPurgeCnf_t *) pData);
    396                break;
    397          
    398              default:
    399                break;
    400            }
    401          
    402          #endif
    403          }
   \   000000   02....       LJMP    ?BRET
    404          
    405          /********************************************************************************************************
    406           * @fn      MAC_CbackCheckPending
    407           *
    408           * @brief   Return number of pending indirect msg
    409           *
    410           * @param   None
    411           *
    412           * @return  Number of indirect msg holding
    413           ********************************************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    414          uint8 MAC_CbackCheckPending(void)
   \                     MAC_CbackCheckPending:
    415          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
    416          #if !defined (NONWK) && defined (RTR_NWK)
    417            return (nwkDB_ReturnIndirectHoldingCnt());
    418          #else
    419            return (0);
   \   000000   7900         MOV     R1,#0x0
   \   000002   02....       LJMP    ?BRET
    420          #endif
    421          }
    422          
    423          
    424          /********************************************************************************************************
    425           ********************************************************************************************************/
    426          
    427          

   Maximum stack usage in bytes:

     Function                 ISTACK PSTACK XSTACK
     --------                 ------ ------ ------
     MAC_CbackCheckPending        0      0      0
     MAC_CbackEvent               1      0     24
       -> getZMacDynamicSize      0      0     42
       -> osal_msg_deallocate     0      0     42
       -> osal_msg_allocate       0      0     42
       -> osal_memcpy             0      0     48
       -> osal_memcpy             0      0     48
       -> osal_memcpy             0 

⌨️ 快捷键说明

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