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

📄 ztcprimitivehandler.c

📁 FREESCALE的基于802.15.4无线通讯原代码
💻 C
📖 第 1 页 / 共 2 页
字号:
  gZTC_AFResetReqId_c										    , /*  Complex Primitive */
  gZTC_AF_KVPAggregationId_c								, /*  Complex Primitive */
  gZTC_AFMsgAggregationId_c									, /*  Complex Primitive */
  gFindNumOfEpReqId_c                       , /*  Complex Primitive */
  gFindEpDescReqId_c                        , /*  Complex Primitive */
  gFindEpListReqId_c                        , /*  Complex Primitive */

  
  /* Primitives in the AFDE  to APP direction */
  sizeof( appConfDataMessage_t ) + mSizeOfMessageType_c        ,
  gZTC_AF_KVPDataIndId_c                    , /*  Complex Primitive */
  gZTC_AF_MSGDataIndId_c								    , /*  Complex Primitive */
  
  /* Primitives in the ZDO  to APSME direction */
  gAPSMEBindReqId_c                         , /*  Complex Primitive */
  sizeof( apsmeEstablishKeyReq_t ) + mSizeOfMessageType_c      ,
  sizeof( apsmeEstablishKeyRes_t ) + mSizeOfMessageType_c      ,
  gAPSMEGetReqId_c                          ,  /*  Complex Primitive */
  sizeof( apsmeRemoveDeviceReq_t ) + mSizeOfMessageType_c      ,
  sizeof( apsmeRequestKeyReq_t ) + mSizeOfMessageType_c        ,
  gAPSMESetReqId_c                          ,  /*  Complex Primitive */
  sizeof( apsmeSwitchKeyReq_t ) + mSizeOfMessageType_c         ,
  sizeof( apsmeTransportKeyReq_t ) + mSizeOfMessageType_c      ,
  gAPSMEUnbindReqId_c                       , /*  Complex Primitive */
  sizeof( apsmeUpdateDeviceReq_t ) + mSizeOfMessageType_c      ,
  gZTC_APSMEResetId_c                       , /*  Complex Primitive */
  gZTC_APSMESetToReadyStateId_c             , /*  Complex Primitive */
  
  /* Primitives in the  APSME to ZDO direction */
  sizeof( apsmeEstablishKeyInd_t ) + mSizeOfMessageType_c      ,
  sizeof( apsmeEstablishKeyCnf_t ) + mSizeOfMessageType_c      ,
  sizeof( apsmeRemoveDeviceInd_t ) + mSizeOfMessageType_c      ,
  sizeof( apsmeRequestKeyInd_t ) + mSizeOfMessageType_c        ,
  sizeof( apsmeSwitchKeyInd_t ) + mSizeOfMessageType_c         ,
  sizeof( apsmeTransportKeyInd_t ) + mSizeOfMessageType_c      ,
  sizeof( apsmeUpdateDeviceInd_t ) + mSizeOfMessageType_c      ,
  
  /* Primitives in the  APP to ZDP direction */
  sizeof( nwkAddrReq_t ) + mSizeOfMessageTypeAndDstAddress_c                ,
  sizeof( ieeeAddrReq_t ) + mSizeOfMessageTypeAndDstAddress_c               ,
  sizeof( nodeDescReq_t ) + mSizeOfMessageTypeAndDstAddress_c               ,
  sizeof( powerDescReq_t ) + mSizeOfMessageTypeAndDstAddress_c              ,
  sizeof( simpleDescReq_t ) + mSizeOfMessageTypeAndDstAddress_c             ,
  sizeof( activeEpReq_t ) + mSizeOfMessageTypeAndDstAddress_c               ,
  gMatchDescReqId_c                         , /*  Complex Primitive */
  sizeof( complexDescReq_t ) + mSizeOfMessageTypeAndDstAddress_c            ,
  sizeof( userDescReq_t ) + mSizeOfMessageTypeAndDstAddress_c               ,
  sizeof( discRegisterReq_t ) + mSizeOfMessageTypeAndDstAddress_c           ,
  sizeof( endDeviceAnnce_t ) + mSizeOfMessageTypeAndDstAddress_c            ,
  sizeof( userDescSet_t ) + mSizeOfMessageTypeAndDstAddress_c               ,
  gEndDevBindReqId_c                        , /*  Complex Primitive */
  /*  zdo is expecting a big buffer to put the resp which can accomodate its
    largest ZDO- app primitive.Applicable only for mSizeofBindAndUnBindReq_c */
  mSizeofBindAndUnBindReq_c                 ,	/*  Complex Primitive */ 
  mSizeofBindAndUnBindReq_c                 , /*  Complex Primitive */
  sizeof( mgmtNwkDiscReq_t ) + mSizeOfMessageTypeAndDstAddress_c            ,
  sizeof( mgmtLqiReq_t ) + mSizeOfMessageTypeAndDstAddress_c                ,
  sizeof( mgmtRtgReq_t ) + mSizeOfMessageTypeAndDstAddress_c                ,
  sizeof( mgmtBindReq_t ) + mSizeOfMessageTypeAndDstAddress_c               ,
  sizeof( mgmtLeaveReq_t ) + mSizeOfMessageTypeAndDstAddress_c              ,
  sizeof( mgmtDirectJoinReq_t ) + mSizeOfMessageTypeAndDstAddress_c         ,
  sizeof( zdoApsmeEstKeyReq_t ) + mSizeOfMessageTypeAndDstAddress_c         ,
  sizeof( zdoApsmeEstKeyResp_t ) + mSizeOfMessageTypeAndDstAddress_c        ,
  sizeof( zdoApsmeTranspKeyReq_t ) + mSizeOfMessageTypeAndDstAddress_c      ,
  sizeof( zdoApsmeUpdateDevReq_t ) + mSizeOfMessageTypeAndDstAddress_c      ,  
  sizeof( zdoApsmeRemoveDevReq_t ) + mSizeOfMessageTypeAndDstAddress_c      ,
  sizeof( zdoApsmeRequestKeyReq_t ) + mSizeOfMessageTypeAndDstAddress_c     ,
  sizeof( zdoApsmeSwitchKeyReq_t ) + mSizeOfMessageTypeAndDstAddress_c      ,
  sizeof( zdoNwkPermitJoinReq_t ) + mSizeOfMessageType_c       ,
  sizeof( zdoNwkDirectJoinReq_t ) + mSizeOfMessageType_c       ,        
  sizeof( zdoNwkSyncReq_t ) + mSizeOfMessageType_c             ,	
  sizeof( zdoNwkDiscoveryReq_t ) + mSizeOfMessageType_c        ,
  
  /* Primitives in the  ZDP to APP direction */
  gNwkAddrRespId_c                          ,
  gIEEEAddrRespId_c                         ,
  sizeof( nodeDescResp_t ) + mSizeOfMessageType_c              ,
  sizeof( powerDescResp_t ) + mSizeOfMessageType_c             ,
  gSimpleDescRespId_c 											, /*  Complex Primitive */
  gZTCActiveEpRespId_c                      , /*  Complex Primitive */
  gMatchDescRespId_c                        , /*  Complex Primitive */
  sizeof( complexDescResp_t ) + mSizeOfMessageType_c           ,
  gUserDescRespId_c                         , /*  Complex Primitive */
  sizeof( discRegisterResp_t ) + mSizeOfMessageType_c          ,
  0                                         ,
  sizeof( userDescConf_t ) + mSizeOfMessageType_c              ,
  sizeof( endDeviceBindResp_t ) + mSizeOfMessageType_c         ,
  sizeof( bindResp_t ) + mSizeOfMessageType_c                  ,
  sizeof( unbindResp_t ) + mSizeOfMessageType_c                ,
  gMgmtNwkDiscRespId_c                      , /*  Complex Primitive */
  gMgmtLQIRespId_c                          , /*  Complex Primitive */
  gMgmtRtgRespId_c                          ,	/*  Complex Primitive */ 
  gMgmtBindRespId_c             						, /*  Complex Primitive */
  sizeof( mgmtLeaveResp_t ) + mSizeOfMessageType_c             ,
  sizeof( mgmtDirectJoinResp_t ) + mSizeOfMessageType_c        ,
  sizeof( zdoEstablishKeyConf_t ) + mSizeOfMessageType_c       ,
  sizeof( zdoEstablishKeyInd_t ) + mSizeOfMessageType_c        ,
  sizeof( zdoTransportKeyInd_t ) + mSizeOfMessageType_c        ,
  sizeof( zdoUpdateDeviceInd_t ) + mSizeOfMessageType_c				,
  sizeof( zdoRemoveDeviceInd_t ) + mSizeOfMessageType_c        ,
  sizeof( zdoRequestKeyInd_t ) + mSizeOfMessageType_c          ,
  sizeof( zdoSwitchKeyInd_t ) + mSizeOfMessageType_c           ,
  sizeof( nlmePermitJoiningConf_t ) + mSizeOfMessageType_c     ,				
  sizeof( nlmeDirectJoinConf_t ) + mSizeOfMessageType_c        ,
  sizeof( zdoNwkSyncInd_t ) + mSizeOfMessageType_c             ,
  sizeof( nlmeSyncConf_t ) + mSizeOfMessageType_c              ,
  gZDPNwkDiscConfId_c                       , /*  Complex Primitive */
  gWriteConfigureAttribReqId_c              , /*  Complex Primitive */
  gWriteConfigureAttribConfId_c	            , /*  Complex Primitive */
  gWriteExtendedAddrReqId_c                 , /*  Complex Primitive */
  gStopNwkReqId_c                           , /*  Complex Primitive */ 
  gWriteExtendedAddrConfId_c			          , /*  Complex Primitive */
  gReadExtendedAddrReqId_c                  , /*  Complex Primitive */
  gReadExtendedAddrConfId_c									, /*  Complex Primitive */
  gStartNwkReqId_c													, /*  Complex Primitive */
  gRestartNwkReqId_c  											, /*  Complex Primitive */
  gBeestackSaveReqId_c						          , /*  Complex Primitive */
  gBeestackSaveConfId_c  					          , /*  Complex Primitive */
   gInitStackUsageId_c 							      	,	/*  Complex Primitive */ 
  gMaximumStackUsedId_c                     , /*  Complex Primitive */  
  #endif
};

/* This table gives Function  pointer for sap handler  */
const pfToSAPHandler_t gaSAPIdToSAPHandlers[18] = 
{ 
  { NWK_MCPS_SapHandler     }, 
  { MCPS_NWK_SapHandler     },
  { NWK_MLME_SapHandler     },
  { MLME_NWK_SapHandler     },
  { APP_ASP_SapHandler      },
  { ASP_APP_SapHandler      }
#if gBeeStackIncluded_d == 1 
  ,{ APS_NLDE_SapHandler     },
  { NLDE_APS_SapHandler     },
  { ZDO_NLME_SapHandler     },
  { NLME_ZDO_SapHandler     },
  { AF_APSDE_SapHandler     },
  { APSDE_AF_SapHandler     },
  { AF_AppToAfdeDataReq     }, 
  { NULL                    }, 
  { ZDO_APSME_SapHandler    },
#if ( gResCapability_d == 1 ) || ( gComCapability_d == 1 )
  { APSME_ZDO_SapHandler    }, 
#else 
  { NULL },
#endif
  { APP_ZDP_SapHandler      },
  { ZDP_APP_SapHandler      }
#endif
   
};


/******************************************************************************
*******************************************************************************
* Public functions
*******************************************************************************
******************************************************************************/
void ZTCPrimHandle_SendToTheLayer
  ( 
  const ZTCMessage_t* pMsgPtr   /* IN: Pointer to the message received 
    from the test client  */  
  ) 
{
  uint8_t SAPId;
  uint8_t msgIdUsedInZTC;
  uint8_t msgLength;
    
  SAPId = ZTC_ConvertOpcodeGrpToSapId ( pMsgPtr->opCode );
  msgIdUsedInZTC = ZTCEventMonitor_ConvertSAPIdToZTCMsgId
    ( pMsgPtr->opCodeId, SAPId );
  
  msgLength   = gaInfoOnThePrimitive[ msgIdUsedInZTC ];
  
  
  /*  For Simple Primitives */
  if( msgLength < gStartOfMessageIdForComplexPrimitive_c ) {
    ZTCPrimHandle_SendSimplePrimToSAP(( ZTCMessage_t * )pMsgPtr, SAPId, 
      msgLength );  
  }
  
  /*  For Complex Primitives */ 
  else {
    ZTCPrimHandle_SendComplexPrimToSAP(( ZTCMessage_t * ) pMsgPtr, SAPId, 
      msgLength );  
  }
}

/*****************************************************************************/
uint8_t ZTCPrimHandle_StorePrimInZTCQueue
  ( 
  const uint8_t   msgInfo,/* IN: Length of the primitive */ 
  const uint8_t   status, /* IN: Success/Failure status returned 
    from SAP Handler */ 
  const uint8_t*  pMsg    /* IN:Pointer to the message */  
  ) 
{
  uint8_t length;
  
  /*  For Simple Primitives */
  if( msgInfo < gStartOfMessageIdForComplexPrimitive_c )  {
    length = ZTCPrimHandle_StoreSimplePrimInZTCQueue( msgInfo - 
        mSizeOfMessageType_c, pMsg ); 
  }
  /*  For Complex Primitives */ 
  else {
    length = ZTCPrimHandle_StoreComplexPrimInZTCQueue( msgInfo, status, pMsg );
  }
  return length;  
}

/******************************************************************************
*******************************************************************************
* Private functions
*******************************************************************************
******************************************************************************/
/*  None  */

/******************************************************************************
*******************************************************************************
* Private Debug stuff
*******************************************************************************
******************************************************************************/
/*  None  */


#endif /*  ( gZtcIncluded_d == 1  )  */

⌨️ 快捷键说明

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