📄 ztcprimitivehandler.c
字号:
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 + -