📄 ztcprimitivehandler.c
字号:
/******************************************************************************
* This module formats the primitives which are to be exchanged between the
* test client and BeeStack Layers
*
*
* (c) Copyright 2006, Freescale, Inc. All rights reserved.
*
* Freescale Semiconductor Confidential Proprietary
*
* No part of this document must be reproduced in any form - including copied,
* transcribed, printed or by any electronic means - without specific written
* permission from Freescale Semiconductor Danmark A/S.
*
******************************************************************************/
#if ( gZtcIncluded_d == 1 )
#include "EmbeddedTypes.h"
#include "ZtcInterface.h"
#include "AppAspInterface.h"
#include "NwkMacInterface.h"
#include "FunctionLib.h"
#if gBeeStackIncluded_d == 1
#include "ApsNwkInterface.h"
#include "AfApsInterface.h"
#include "BeeStackConfiguration.h"
#endif
#include "ZtcEventMonitor.h"
#include "ZtcPrimitiveHandler.h"
#include "ZtcTestClientInterface.h"
#include "ZtcPrimitiveHandlerComplexPrimitive.h"
#include "ZtcPrimitiveHandlerComplexPrimWithOnePtr.h"
#include "ZtcPrimitiveHandlerComplexPrimWithTableList.h"
#include "ZtcPrimitiveHandlerComplexPrimSyncPrim.h"
#include "ZtcPrimitiveHandlerComplexPrimUtilitySupport.h"
#include "ZtcPrimitiveHandlerOtherComplexPrimitive.h"
#include "ZtcPrimitiveHandlerSimplePrimitive.h"
/******************************************************************************
*******************************************************************************
* Private macros
*******************************************************************************
******************************************************************************/
#define mSizeofBindAndUnBindReq_c 0x46
#define mSizeOfMessageType_c 0x01
#define mSizeOfMessageTypeAndDstAddress_c 0x03
/******************************************************************************
*******************************************************************************
* Private prototypes
*******************************************************************************
******************************************************************************/
/* None */
/******************************************************************************
*******************************************************************************
* Private type definitions
*******************************************************************************
******************************************************************************/
/* None */
/******************************************************************************
*******************************************************************************
* Public memory declarations
*******************************************************************************
******************************************************************************/
/* Injected message should not be monitored. When a message is injected to the
BeeStack layer, this variable is set to TRUE, when the layer's SAP Handler
calls the monitor event of the ZTC, the monitor event function checks this
variable, if it is TRUE then the message (injected) will not be sent to
the test client */
bool_t gInjectedTheMessage = FALSE;
/* This table gives Information on the primitives. It stores the length of the
primitive if it is a simple primitive else it stores the ZTC message ID if it
is a complex primitive.
1 is added for msgType in the structure, in case of ZDP primitives 3 is
added for msgType and for destination address */
const uint8_t gaInfoOnThePrimitive[] = {
/* Primitives in the NWK to MCPS direction */
gMCPSDataReqId_c , /* Complex Primitive */
sizeof( mcpsPurgeReq_t ) + mSizeOfMessageType_c ,
/* Primitives in the MCPS to NWK direction */
sizeof ( mcpsDataCnf_t ) + mSizeOfMessageType_c ,
gMCPSDataIndId_c , /* Complex Primitive */
sizeof( mcpsPurgeCnf_t ) + mSizeOfMessageType_c ,
gMCPSPromIndId_c , /* Complex Primitive */
/* Primitives in the NWK to MLME direction */
sizeof( mlmeAssociateReq_t ) + mSizeOfMessageType_c ,
sizeof( mlmeAssociateRes_t ) + mSizeOfMessageType_c ,
sizeof( mlmeDisassociateReq_t ) + mSizeOfMessageType_c ,
gMLMEGetReqId_c , /* Complex Primitive */
sizeof( mlmeGtsReq_t ) + mSizeOfMessageType_c ,
sizeof( mlmeOrphanRes_t ) + mSizeOfMessageType_c ,
gMLMEResetReqId_c , /* Complex Primitive */
sizeof( mlmeRxEnableReq_t ) + mSizeOfMessageType_c ,
sizeof( mlmeScanReq_t ) + mSizeOfMessageType_c ,
gMLMESetReqId_c , /* Complex Primitive */
sizeof( mlmeStartReq_t ) + mSizeOfMessageType_c ,
sizeof( mlmeSyncReq_t ) + mSizeOfMessageType_c ,
sizeof( mlmePollReq_t ) + mSizeOfMessageType_c ,
/* Primitives in the MLME to NWK direction */
sizeof( nwkAssociateInd_t ) + mSizeOfMessageType_c ,
sizeof( nwkAssociateCnf_t ) + mSizeOfMessageType_c ,
sizeof( nwkDisassociateInd_t ) + mSizeOfMessageType_c ,
sizeof( nwkDisassociateCnf_t ) + mSizeOfMessageType_c ,
gNwkBeaconNotifyIndId_c , /* Complex Primitive */
sizeof( nwkGetCnf_t ) + mSizeOfMessageType_c ,
sizeof( nwkGtsInd_t ) + mSizeOfMessageType_c ,
sizeof( nwkGtsCnf_t ) + mSizeOfMessageType_c ,
sizeof( nwkOrphanInd_t ) + mSizeOfMessageType_c ,
sizeof( nwkResetCnf_t ) + mSizeOfMessageType_c ,
sizeof( nwkRxEnableCnf_t ) + mSizeOfMessageType_c ,
gNwkScanConfId_c , /* Complex Primitive */
sizeof( nwkCommStatusInd_t ) + mSizeOfMessageType_c ,
sizeof( nwkSetCnf_t ) + mSizeOfMessageType_c ,
sizeof( nwkStartCnf_t ) + mSizeOfMessageType_c ,
sizeof( nwkSyncLossInd_t ) + mSizeOfMessageType_c ,
sizeof( nwkPollCnf_t ) + mSizeOfMessageType_c ,
sizeof( nwkErrorCnf_t ) + mSizeOfMessageType_c ,
sizeof( nwkBeaconStartInd_t ) + mSizeOfMessageType_c ,
sizeof( nwkMaintenanceScanCnf_t ) + mSizeOfMessageType_c ,
/* Primitives in the APP to ASP direction */
sizeof( aspGetTimeReq_t ) + mSizeOfMessageType_c ,
sizeof( aspGetInactiveTimeReq_t ) + mSizeOfMessageType_c ,
sizeof( aspDozeReq_t ) + mSizeOfMessageType_c ,
sizeof( aspAutoDozeReq_t ) + mSizeOfMessageType_c ,
sizeof( aspHibernateReq_t ) + mSizeOfMessageType_c ,
sizeof( aspWakeReq_t ) + mSizeOfMessageType_c ,
sizeof( aspEventReq_t ) + mSizeOfMessageType_c ,
sizeof( aspTrimReq_t ) + mSizeOfMessageType_c ,
sizeof( aspDdrReq_t ) + mSizeOfMessageType_c ,
sizeof( aspPortReq_t ) + mSizeOfMessageType_c ,
sizeof( aspClkoReq_t ) + mSizeOfMessageType_c ,
sizeof( aspTempReq_t ) + mSizeOfMessageType_c ,
gASP_NVMReqId_c , /* Complex Primitive */
sizeof( aspBatteryReq_t ) + mSizeOfMessageType_c ,
sizeof( aspSetNotifyReq_t ) + mSizeOfMessageType_c ,
sizeof( aspSetMinDozeTimeReq_t ) + mSizeOfMessageType_c ,
sizeof( aspTelecTestReq_t ) + mSizeOfMessageType_c ,
sizeof( aspTelecSetChannelReq_t ) + mSizeOfMessageType_c ,
sizeof( aspSetPowerLevelReq_t ) + mSizeOfMessageType_c ,
sizeof( aspAcomaReq_t ) + mSizeOfMessageType_c ,
/* Primitives in the App to Asp direction */
sizeof( appGetTimeCfm_t ) + mSizeOfMessageType_c ,
sizeof( appGetInactiveTimeCfm_t ) + mSizeOfMessageType_c ,
sizeof( appDozeCfm_t ) + mSizeOfMessageType_c ,
sizeof( appAutoDozeCfm_t ) + mSizeOfMessageType_c ,
sizeof( appHibernateCfm_t ) + mSizeOfMessageType_c ,
sizeof( appWakeCfm_t ) + mSizeOfMessageType_c ,
sizeof( appEventCfm_t ) + mSizeOfMessageType_c ,
sizeof( appTrimCfm_t ) + mSizeOfMessageType_c ,
sizeof( appDdrCfm_t ) + mSizeOfMessageType_c ,
sizeof( appPortCfm_t ) + mSizeOfMessageType_c ,
sizeof( appClkoCfm_t ) + mSizeOfMessageType_c ,
sizeof( appTempCfm_t ) + mSizeOfMessageType_c ,
sizeof( appNvRamCfm_t ) + mSizeOfMessageType_c ,
sizeof( appBatteryCfm_t ) + mSizeOfMessageType_c ,
sizeof( appSetNotifyCfm_t ) + mSizeOfMessageType_c ,
sizeof( appSetMinDozeTimeCfm_t ) + mSizeOfMessageType_c ,
sizeof( appTelecTestCfm_t ) + mSizeOfMessageType_c ,
sizeof( appTelecSetChannelCfm_t ) + mSizeOfMessageType_c ,
sizeof( appSetPowerLevelCfm_t ) + mSizeOfMessageType_c ,
sizeof( appAcomaCfm_t ) + mSizeOfMessageType_c ,
sizeof( appGetMacStateCfm_t ) + mSizeOfMessageType_c ,
sizeof( appErrorCfm_t ) + mSizeOfMessageType_c ,
sizeof( appWakeInd_t ) + mSizeOfMessageType_c ,
sizeof( appIdleInd_t ) + mSizeOfMessageType_c ,
sizeof( appInactiveInd_t ) + mSizeOfMessageType_c ,
sizeof( appEventInd_t ) + mSizeOfMessageType_c
#if gBeeStackIncluded_d == 1
/* Primitives in the APS to NWK direction */
, gNLDEDataReqId_c , /* Complex Primitive */
/* Primitives in the NWK to APS direction */
sizeof( nldeDataCnf_t ) + mSizeOfMessageType_c ,
gNLDEDataIndId_c , /* Complex Primitive */
/* Primitives in the Zdo to NLME direction */
sizeof( nlmeNetworkDiscoveryReq_t ) + mSizeOfMessageType_c ,
sizeof( nlmeNetworkFormationReq_t ) + mSizeOfMessageType_c ,
sizeof( nlmePermitJoiningReq_t ) + mSizeOfMessageType_c ,
sizeof( nlmeStartRouterReq_t ) + mSizeOfMessageType_c ,
sizeof( nlmeJoinReq_t ) + mSizeOfMessageType_c ,
sizeof( nlmeDirectJoinReq_t ) + mSizeOfMessageType_c ,
sizeof( nlmeLeaveReq_t ) + mSizeOfMessageType_c ,
gNLMEResetReqId_c , /* Complex Primitive */
sizeof( nlmeSyncReq_t ) + mSizeOfMessageType_c ,
gNLMEGetReqId_c , /* Complex Primitive */
gNLMESetReqId_c , /* Complex Primitive */
/* Primitives in the NLME to ZDO direction */
gNLMENwkDiscConfId_c , /* Complex Primitive */
sizeof( nlmeNetworkFormationConf_t ) + mSizeOfMessageType_c ,
sizeof( nlmePermitJoiningConf_t ) + mSizeOfMessageType_c ,
sizeof( nlmeStartRouterConf_t ) + mSizeOfMessageType_c ,
sizeof( nlmeJoinIndication_t ) + mSizeOfMessageType_c ,
sizeof( nlmeJoinConf_t ) + mSizeOfMessageType_c ,
sizeof( nlmeDirectJoinConf_t ) + mSizeOfMessageType_c ,
sizeof( nlmeLeaveConf_t ) + mSizeOfMessageType_c ,
sizeof( nlmeLeaveIndication_t ) + mSizeOfMessageType_c ,
sizeof( nlmeResetConf_t ) + mSizeOfMessageType_c ,
sizeof( uint8_t ) + mSizeOfMessageType_c ,
/* Sync Loss Indication */
sizeof( nlmeSyncConf_t ) + mSizeOfMessageType_c ,
gNLMEGetReqId_c , /* Complex Primitive */
sizeof( nlmeSetConf_t ) + mSizeOfMessageType_c ,
sizeof( uint8_t ) + mSizeOfMessageType_c ,
/* Primitives in the AF to APSDE direction */
gAPSDEDataReqId_c , /* Complex Primitive */
/* Primitives in the APSDE to AF direction */
sizeof( apsdeDataCnf_t ) + mSizeOfMessageType_c ,
gAPSDEDataIndId_c , /* Complex Primitive */
/* Primitives in the APP to AFDE direction */
gAFRegReqId_c , /* Complex Primitive */
gAFDeregReqId_c , /* Complex Primitive */
gZTC_KVPDataReqId_c , /* Complex Primitive */
gZTC_MSGDataReqId_c , /* Complex Primitive */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -