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

📄 ztcprimitivehandlercomplexprimsyncprim.h

📁 freescale的基于802.15.4的无线通讯例程
💻 H
字号:
/******************************************************************************
* This file exposes the functionality of ZTC Complex Sync Primitive handler
* module.
*
*
* (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  ) 

#ifndef _ZTCPRIMITIVEHANDLERCOMPLEXPRIMSYNCPRIM_H_
#define _ZTCPRIMITIVEHANDLERCOMPLEXPRIMSYNCPRIM_H_


/******************************************************************************
*******************************************************************************
* Public prototypes
*******************************************************************************
******************************************************************************/

/*****************************************************************************
* This function injects the sync primitive to the particular SAP depending on
* the primitive.This will create the confirmation and send the confirmation to
* the test client.
*
* Interface assumptions:
*   None
*
*
* The routine limitations.
*   None
*
* Return value:
*   None
*
* Effects on global data.
*   None
*
* Source of algorithm used.
*   None
*
* Revison history:
*   date    Author   Comments
*   ------  ------   --------
*   240306  LS,      Updated
*****************************************************************************/ 

void ZTCPrimHandle_SendSynchronousPrimToSAP
  (
   uint8_t* pMsgToSend, /* IN/OUT : Pointer to the memory where the 
    information is to be written */
  const uint8_t* pMsgReceived, /* IN : Pointer to the memory location where 
    information is to be extracted */
  const uint8_t SAPId,  /*  IN: Sap ID to which the prim has to be sent */
  const uint8_t msgId /* IN : Message ID of the sync primitive */
  ); 

/*****************************************************************************
* This function forms the request and confirmation for the sync primitive to
* send it to the test client. 
*
* Interface assumptions:
*   The status parameter is used to send the confirmation. If formReq is TRUE 
*   then request and confirmation are formed in the memory pointed by the pDst, 
*   else only the confirmation is formed.  
*
*
* The routine limitations.
*   None
*
* Return value:
*   Returns the length of data it wrote into memory location pointed by pDst 
*
* Effects on global data.
*   None
*
* Source of algorithm used.
*   None
*
* Revison history:
*   date    Author   Comments
*   ------  ------   --------
*   240306  LS,      Updated
*****************************************************************************/ 

uint8_t ZTCPrimHandle_FormReqAndConfForSyncPrim
  ( 
  const uint8_t status, /* IN: Status of the sync primitive call */ 
   uint8_t * pDst, /* OUT: Pointer to the memory location where the req & conf 
    is to formed */ 
  const uint8_t * pSrc, /* IN: Pointer to the memory location to get the 
    information */ 
   uint8_t msgId,  /* IN/OUT: Message ID of the sync primitive used in ZTC */
  const bool_t formReq  /* IN: TRUE : If req is to be formed else FALSE */ 
  ); 


/******************************************************************************
*******************************************************************************
* Public macros
*******************************************************************************
******************************************************************************/
/******************************************************************************
* For sync primitives length field should not be updated in 
* ZTCQueue_QueueToSendToTestClient. This MACRO like function checks whether any
* sync primitive is handled or not.
*
* Interface assumptions:
*   None
*
* The routine limitations.
*   None
*
* Return value:
*   Returns TRUE if ZTC is handling sync primitive else returns FALSE
*
* Effects on global data.
*   None
*
* Source of algorithm used.
*   None
*
* Revison history:
*   date    Author   Comments
*   ------  ------   --------
*   240306  LS,      Updated
*****************************************************************************/
bool_t ZTCPrimHandle_IsLengthFieldUpdationNeeded
  ( 
  const uint8_t msgId  /* IN : Message ID used in ZTC */
  ); 

/******************************************************************************
* MACRO like function to store sync primitive into ZTC queue to send it to the
* test client. 
*
* Interface assumptions:
*   None
*
* The routine limitations.
*   None
*
* Return value:
*   Returns the length of the message stored in ZTC Queue.
*
* Effects on global data.
*   None
*
* Source of algorithm used.
*   None
*
* Revison history:
*   date    Author   Comments
*   ------  ------   --------
*   240306   LS,      Updated
*****************************************************************************/
#define ZTCPrimHandle_StoreSyncPrimInZTCQueue( pMsg, msgId, status ) \
  ZTCPrimHandle_FormReqAndConfForSyncPrim( status, 													\
    &aZTCBuffer[ gtZTCBufferTail + gDataIndex_c ], pMsg, msgId, TRUE );

 
/******************************************************************************
*******************************************************************************
* Public type definitions
*******************************************************************************
******************************************************************************/
/*  Enums for Synchronous primitives.These are used in injecting Sync 
    primitives to SAP and For forming Request and conformation for sync
    primitives  */
enum{
  gStartIdOfSyncPrimitives_c = gEndIdOfComplexPrimWithTableList_c, 
  gMLMEGetReqId_c = gStartIdOfSyncPrimitives_c,  
  gNLMEGetReqId_c,
  gAPSMEGetReqId_c, 
  gMLMESetReqId_c,  
  gNLMESetReqId_c,   
  gAPSMESetReqId_c,
  gAPSMEBindReqId_c,
  gAPSMEUnbindReqId_c,
  gMLMEResetReqId_c,
  gNLMEResetReqId_c,    
  gAFDeregReqId_c,  
  gAFRegReqId_c,
  gMLMEGetConfId_c,
  gNLMEGetConfId_c,  
  gAPSMEGetConfId_c,  
  gMLMESetConfId_c,
  gNLMESetConfId_c,
  gAPSMESetConfId_c,
  gAPSMEBindConfId_c,
  gAPSMEUnbindConfId_c,
  gMLMEResetConfId_c,
  gNLMEResetConfId_c,  
  gAFDeregConfId_c,
  gAFRegConfId_c,
  gEndIdOfSyncPrim_c   
};

/******************************************************************************
*******************************************************************************
* Public memory declarations
*******************************************************************************
******************************************************************************/
/******************************************************************************
*******************************************************************************
* Public functions
*******************************************************************************
******************************************************************************/
/*  None  */

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

⌨️ 快捷键说明

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