Vergil Cola
/
MQTTGateway2
Fork of my original MQTTGateway
Diff: easy-connect/stm-spirit1-rf-driver/source/libs/spirit1/SPIRIT1_Library/Inc/SPIRIT_PktBasic.h
- Revision:
- 0:a1734fe1ec4b
diff -r 000000000000 -r a1734fe1ec4b easy-connect/stm-spirit1-rf-driver/source/libs/spirit1/SPIRIT1_Library/Inc/SPIRIT_PktBasic.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/easy-connect/stm-spirit1-rf-driver/source/libs/spirit1/SPIRIT1_Library/Inc/SPIRIT_PktBasic.h Sat Apr 08 14:43:14 2017 +0000 @@ -0,0 +1,696 @@ +/** + ****************************************************************************** + * @file SPIRIT_PktBasic.h + * @author VMA division - AMS + * @version 3.2.2 + * @date 08-July-2015 + * @brief Configuration and management of SPIRIT Basic packets. + * + * @details + * + * This module can be used to manage the configuration of Spirit Basic + * packets. + * The user can obtain a packet configuration filling the structure + * <i>@ref PktBasicInit</i>, defining in it some general parameters + * for the Spirit Basic packet format. + * Another structure the user can fill is <i>@ref PktBasicAddressesInit</i> + * to define the addresses which will be used during the communication. + * Moreover, functions to set the payload length and the destination address + * are provided. + * + * <b>Example:</b> + * @code + * + * PktBasicInit basicInit={ + * PKT_PREAMBLE_LENGTH_08BYTES, // preamble length in bytes + * PKT_SYNC_LENGTH_4BYTES, // sync word length in bytes + * 0x1A2635A8, // sync word + * PKT_LENGTH_VAR, // variable or fixed payload length + * 7, // length field width in bits (used only for variable length) + * PKT_NO_CRC, // CRC mode + * PKT_CONTROL_LENGTH_0BYTES, // control field length + * S_ENABLE, // address field + * S_DISABLE, // FEC + * S_ENABLE // whitening + * }; + * + * PktBasicAddressesInit addressInit={ + * S_ENABLE, // enable/disable filtering on my address + * 0x34, // my address (address of the current node) + * S_DISABLE, // enable/disable filtering on multicast address + * 0xEE, // multicast address + * S_DISABLE, // enable/disable filtering on broadcast address + * 0xFF // broadcast address + * }; + * + * ... + * + * SpiritPktBasicInit(&basicInit); + * SpiritPktBasicAddressesInit(&addressInit); + * + * ... + * + * SpiritPktBasicSetPayloadLength(20); + * SpiritPktBasicSetDestinationAddress(0x44); + * + * ... + * + * @endcode + * + * The module provides some other functions that can be used to modify + * or read only some configuration parameters. + * + * + * @attention + * + * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __SPIRIT_PKT_BASIC_H +#define __SPIRIT_PKT_BASIC_H + +/* Includes ------------------------------------------------------------------*/ + +#include "SPIRIT_Regs.h" +#include "SPIRIT_Types.h" +#include "SPIRIT_PktCommon.h" + +#ifdef __cplusplus + extern "C" { +#endif + + + +/** + * @addtogroup SPIRIT_Libraries + * @{ + */ + + +/** + * @defgroup SPIRIT_PktBasic Pkt Basic + * @brief Configuration and management of SPIRIT Basic packets. + * @details See the file <i>@ref SPIRIT_PktBasic.h</i> for more details. + * @{ + */ + +/** + * @defgroup PktBasic_Exported_Types Pkt Basic Exported Types + * @{ + */ + + +/** + * @brief Preamble length in bytes enumeration. + */ +typedef PktPreambleLength BasicPreambleLength; + +#define IS_BASIC_PREAMBLE_LENGTH IS_PKT_PREAMBLE_LENGTH + +/** + * @brief Sync length in bytes enumeration. + */ +typedef PktSyncLength BasicSyncLength; + +#define IS_BASIC_SYNC_LENGTH IS_PKT_SYNC_LENGTH + + + +/** + * @brief CRC length in bytes enumeration. + */ +typedef PktCrcMode BasicCrcMode; + +#define IS_BASIC_CRC_MODE IS_PKT_CRC_MODE + + +/** + * @brief Fixed or variable payload length enumeration. + */ +typedef PktFixVarLength BasicFixVarLength; + +#define IS_BASIC_FIX_VAR_LENGTH IS_PKT_FIX_VAR_LENGTH + +/** + * @brief Control length in bytes enumeration. + */ +typedef PktControlLength BasicControlLength; + +#define IS_BASIC_CONTROL_LENGTH IS_PKT_CONTROL_LENGTH + +/** + * @brief Sync words enumeration. + */ +typedef PktSyncX BasicSyncX; + +#define IS_BASIC_SYNCx IS_PKT_SYNCx + + +/** + * @brief SPIRIT Basic Packet Init structure definition. This structure allows users to set the main options + * for the Basic packet. + */ +typedef struct +{ + + BasicPreambleLength xPreambleLength; /*!< Specifies the preamble length. + This parameter can be any value of @ref BasicPreambleLength */ + BasicSyncLength xSyncLength; /*!< Specifies the sync word length. The 32bit word passed (lSyncWords) will be stored in the SYNCx registers from the MSb + until the number of bytes in xSyncLength has been stored. + This parameter can be any value of @ref BasicSyncLength */ + uint32_t lSyncWords; /*!< Specifies the sync words. + This parameter is a uint32_t word with format: 0x|SYNC1|SYNC2|SYNC3|SYNC4| */ + BasicFixVarLength xFixVarLength; /*!< Specifies if a fixed length of packet has to be used. + This parameter can be any value of @ref BasicFixVarLength */ + uint8_t cPktLengthWidth; /*!< Specifies the size of the length of packet in bits. This field is useful only if + the field xFixVarLength is set to BASIC_LENGTH_VAR. For Basic packets the length width + is log2( max payload length + control length (0 to 4) + address length (0 or 1)). + This parameter is an uint8_t */ + BasicCrcMode xCrcMode; /*!< Specifies the CRC word length of packet. + This parameter can be any value of @ref BasicCrcMode */ + BasicControlLength xControlLength; /*!< Specifies the length of a control field to be sent. + This parameter can be any value of @ref BasicControlLength */ + SpiritFunctionalState xAddressField; /*!< Specifies if the destination address has to be sent. + This parameter can be S_ENABLE or S_DISABLE */ + SpiritFunctionalState xFec; /*!< Specifies if FEC has to be enabled. + This parameter can be S_ENABLE or S_DISABLE */ + SpiritFunctionalState xDataWhitening; /*!< Specifies if data whitening has to be enabled. + This parameter can be S_ENABLE or S_DISABLE */ +}PktBasicInit; + + +/** + * @brief SPIRIT Basic Packet address structure definition. This structure allows users to specify + * the node/multicast/broadcast addresses and the correspondent filtering options. + */ +typedef struct +{ + + SpiritFunctionalState xFilterOnMyAddress; /*!< If set RX packet is accepted if its destination address matches with cMyAddress. + This parameter can be S_ENABLE or S_DISABLE */ + uint8_t cMyAddress; /*!< Specifies the TX packet source address (address of this node). + This parameter is an uint8_t */ + SpiritFunctionalState xFilterOnMulticastAddress; /*!< If set RX packet is accepted if its destination address matches with cMulticastAddress. + This parameter can be S_ENABLE or S_DISABLE */ + uint8_t cMulticastAddress; /*!< Specifies the Multicast group address for this node. + This parameter is an uint8_t */ + SpiritFunctionalState xFilterOnBroadcastAddress; /*!< If set RX packet is accepted if its destination address matches with cBroadcastAddress. + This parameter can be S_ENABLE or S_DISABLE */ + uint8_t cBroadcastAddress; /*!< Specifies the Broadcast address for this node. + This parameter is an uint8_t */ +}PktBasicAddressesInit; + +/** + *@} + */ + + +/** + * @defgroup PktBasic_Exported_Constants Pkt Basic Exported Constants + * @{ + */ + +#define IS_BASIC_LENGTH_WIDTH_BITS IS_PKT_LENGTH_WIDTH_BITS + + +/** + *@} + */ + + +/** + * @defgroup PktBasic_Exported_Macros Pkt Basic Exported Macros + * @{ + */ + +/** + * @brief Macro used to compute per lower part of the packet length + * for Spirit Basic packets, to write in the PCKTLEN0 register. + * @param nLength Length of the packet payload. + * This parameter is an uint16_t. + * @retval None. + */ +#define BASIC_BUILD_PCKTLEN0(nLength) BUILD_PCKTLEN0(nLength) + + +/** + * @brief Macro used to compute per upper part of the packet length + * for Spirit Basic packets, to write the PCKTLEN1 register. + * @param nLengthLength of the packet payload. + * This parameter is an uint16_t. + * @retval None. + */ +#define BASIC_BUILD_PCKTLEN1(nLength) BUILD_PCKTLEN1(nLength) + +/** + * @brief Sets the CONTROL field length for SPIRIT Basic packets. + * @param xControlLength length of CONTROL field in bytes. + * This parameter can be any value of @ref PktControlLength. + * @retval None. + */ +#define SpiritPktBasicSetControlLength(xControlLength) SpiritPktCommonSetControlLength(xControlLength) + + +/** + * @brief Returns the CONTROL field length for SPIRIT Basic packets. + * @param None. + * @retval uint8_t Control field length. + */ +#define SpiritPktBasicGetControlLength() SpiritPktCommonGetControlLength() + + +/** + * @brief Sets the PREAMBLE field length for SPIRIT Basic packets. + * @param xPreambleLength length of PREAMBLE field in bytes. + * This parameter can be any value of @ref BasicPreambleLength. + * @retval None. + */ +#define SpiritPktBasicSetPreambleLength(xPreambleLength) SpiritPktCommonSetPreambleLength((PktPreambleLength)xPreambleLength) + + +/** + * @brief Returns the PREAMBLE field length mode for SPIRIT Basic packets. + * @param None. + * @retval uint8_t Preamble field length in bytes. + */ +#define SpiritPktBasicGetPreambleLength() SpiritPktCommonGetPreambleLength() + + +/** + * @brief Sets the SYNC field length for SPIRIT Basic packets. + * @param xSyncLength length of SYNC field in bytes. + * This parameter can be any value of @ref BasicSyncLength. + * @retval None. + */ +#define SpiritPktBasicSetSyncLength(xSyncLength) SpiritPktCommonSetSyncLength((PktSyncLength)xSyncLength) + + +/** + * @brief Returns the SYNC field length for SPIRIT Basic packets. + * @param None. + * @retval uint8_t SYNC field length in bytes. + */ +#define SpiritPktBasicGetSyncLength() SpiritPktCommonGetSyncLength() + + +/** + * @brief Sets fixed or variable payload length mode for SPIRIT packets. + * @param xFixVarLength variable or fixed length. + * BASIC_FIXED_LENGTH_VAR -> variable (the length is extracted from the received packet). + * BASIC_FIXED_LENGTH_FIX -> fix (the length is set by PCKTLEN0 and PCKTLEN1). + * @retval None. + */ +#define SpiritPktBasicSetFixVarLength(xFixVarLength) SpiritPktCommonSetFixVarLength((PktFixVarLength)xFixVarLength) + + +/** + * @brief Enables or Disables the CRC filtering. + * @param xNewState new state for CRC_CHECK. + * This parameter can be S_ENABLE or S_DISABLE. + * @retval None. + */ +#define SpiritPktBasicFilterOnCrc(xNewState) SpiritPktCommonFilterOnCrc(xNewState) + + +/** + * @brief Returns the CRC filtering bit. + * @param None. + * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE. + */ +#define SpiritPktBasicGetFilterOnCrc() SpiritPktCommonGetFilterOnCrc() + + +/** + * @brief Sets the CRC mode for SPIRIT Basic packets. + * @param xCrcMode CRC mode. + * This parameter can be any value of @ref BasicCrcMode. + * @retval None. + */ +#define SpiritPktBasicSetCrcMode(xCrcMode) SpiritPktCommonSetCrcMode((PktCrcMode)xCrcMode) + + +/** + * @brief Returns the CRC mode for SPIRIT Basic packets. + * @param None. + * @retval BasicCrcMode Crc mode. + */ +#define SpiritPktBasicGetCrcMode() (BasicCrcMode)SpiritPktCommonGetCrcMode() + + +/** + * @brief Enables or Disables WHITENING for SPIRIT packets. + * @param xNewState new state for WHITENING mode. + * This parameter can be S_ENABLE or S_DISABLE. + * @retval None. + */ +#define SpiritPktBasicWhitening(xNewState) SpiritPktCommonWhitening(xNewState) + + +/** + * @brief Enables or Disables FEC for SPIRIT Basic packets. + * @param xNewState new state for FEC mode. + * This parameter can be S_ENABLE or S_DISABLE. + * @retval None. + */ +#define SpiritPktBasicFec(xNewState) SpiritPktCommonFec(xNewState) + + +/** + * @brief Sets a specific SYNC word for SPIRIT Basic packets. + * @param xSyncX SYNC word number to be set. + * This parameter can be any value of @ref BasicSyncX. + * @param cSyncWord SYNC word. + * This parameter is an uint8_t. + * @retval None. + */ +#define SpiritPktBasicSetSyncxWord(xSyncX, cSyncWord) SpiritPktCommonSetSyncxWord((PktSyncX)xSyncX, cSyncWord) + + +/** + * @brief Returns a specific SYNC words for SPIRIT Basic packets. + * @param xSyncX SYNC word number to be get. + * This parameter can be any value of @ref BasicSyncX. + * @retval uint8_t Sync word x. + */ +#define SpiritPktBasicGetSyncxWord(xSyncX) SpiritPktCommonGetSyncxWord(xSyncX) + + +/** + * @brief Sets multiple SYNC words for SPIRIT Basic packets. + * @param lSyncWords SYNC words to be set with format: 0x|SYNC1|SYNC2|SYNC3|SYNC4|. + * This parameter is a uint32_t. + * @param xSyncLength SYNC length in bytes. The 32bit word passed will be stored in the SYNCx registers from the MSb + * until the number of bytes in xSyncLength has been stored. + * This parameter is a @ref BasicSyncLength. + * @retval None. + */ +#define SpiritPktBasicSetSyncWords(lSyncWords, xSyncLength) SpiritPktCommonSetSyncWords(lSyncWords, (PktSyncLength)xSyncLength) + + +/** + * @brief Returns multiple SYNC words for SPIRIT Basic packets. + * @param xSyncLength SYNC length in bytes. The 32bit word passed will be stored in the SYNCx registers from the MSb + * until the number of bytes in xSyncLength has been stored. + * This parameter is a pointer to @ref BasicSyncLength. + * @retval uint32_t Sync words. The format of the read 32 bit word is 0x|SYNC1|SYNC2|SYNC3|SYNC4|. + */ +#define SpiritPktBasicGetSyncWords(xSyncLength) SpiritPktCommonGetSyncWords((PktSyncLength)xSyncLength) + + +/** + * @brief Returns the SPIRIT variable length width (in number of bits). + * @param None. + * @retval Variable length width in bits. + */ +#define SpiritPktBasicGetVarLengthWidth() SpiritPktCommonGetVarLengthWidth() + + +/** + * @brief Sets the destination address for the Tx packet. + * @param cAddress destination address. + * This parameter is an uint8_t. + * @retval None. + */ +#define SpiritPktBasicSetDestinationAddress(cAddress) SpiritPktCommonSetDestinationAddress(cAddress) + + +/** + * @brief Returns the settled destination address. + * @param None. + * @retval uint8_t Transmitted destination address. + */ +#define SpiritPktBasicGetTransmittedDestAddress() SpiritPktCommonGetTransmittedDestAddress() + + +/** + * @brief Sets the node address. When the filtering on my address is on, if the destination address extracted from the received packet is equal to the content of the + * my address, then the packet is accepted (this is the address of the node). + * @param cAddress Address of the present node. + * This parameter is an uint8_t. + * @retval None. + */ +#define SpiritPktBasicSetMyAddress(cAddress) SpiritPktCommonSetMyAddress(cAddress) + + +/** + * @brief Returns the address of the present node. + * @param None. + * @retval uint8_t My address (address of this node). + */ +#define SpiritPktBasicGetMyAddress() SpiritPktCommonGetMyAddress() + + +/** + * @brief Sets the broadcast address. When the broadcast filtering is on, if the destination address extracted from the received packet is equal to the content of the + * BROADCAST_ADDR register, then the packet is accepted. + * @param cAddress Broadcast address. + * This parameter is an uint8_t. + * @retval None. + */ +#define SpiritPktBasicSetBroadcastAddress(cAddress) SpiritPktCommonSetBroadcastAddress(cAddress) + + +/** + * @brief Returns the broadcast address. + * @param None. + * @retval uint8_t Broadcast address. + */ +#define SpiritPktBasicGetBroadcastAddress() SpiritPktCommonGetBroadcastAddress() + + +/** + * @brief Sets the multicast address. When the multicast filtering is on, if the destination address extracted from the received packet is equal to the content of the + * MULTICAST_ADDR register, then the packet is accepted. + * @param cAddress Multicast address. + * This parameter is an uint8_t. + * @retval None. + */ +#define SpiritPktBasicSetMulticastAddress(cAddress) SpiritPktCommonSetMulticastAddress(cAddress) + + +/** + * @brief Returns the multicast address. + * @param None. + * @retval uint8_t Multicast address. + */ +#define SpiritPktBasicGetMulticastAddress() SpiritPktCommonGetMulticastAddress() + + +/** + * @brief Sets the control mask. The 1 bits of the CONTROL_MASK indicate the + * bits to be used in filtering. (All 0s no filtering) + * @param lMask Control mask. + * This parameter is an uint32_t. + * @retval None. + */ +#define SpiritPktBasicSetCtrlMask(lMask) SpiritPktCommonSetCtrlMask(lMask) + + +/** + * @brief Returns the control mask. The 1 bits of the CONTROL_MASK indicate the + * bits to be used in filtering. (All 0s no filtering) + * @param None. + * @retval uint32_t Control mask. + */ +#define SpiritPktBasicGetCtrlMask() SpiritPktCommonGetCtrlMask() + + +/** + * @brief Sets the control field reference. If the bits enabled by the + * CONTROL_MASK match the ones of the control fields extracted from the received packet + * then the packet is accepted. + * @param lReference Control reference. + * This parameter is an uint32_t. + * @retval None. + */ +#define SpiritPktBasicSetCtrlReference(lReference) SpiritPktCommonSetCtrlReference(lReference) + + +/** + * @brief Returns the control field reference. + * @param None. + * @retval uint32_t Control reference. + */ +#define SpiritPktBasicGetCtrlReference() SpiritPktCommonGetCtrlReference() + + +/** + * @brief Sets the TX control field. + * @param lField Tx control field. + * This parameter is an uint32_t. + * @retval None. + */ +#define SpiritPktBasicSetTransmittedCtrlField(lField) SpiritPktCommonSetTransmittedCtrlField(lField) + + +/** + * @brief Returns the TX control field. + * @param None. + * @retval uint32_t Control field of the transmitted packet. + */ +#define SpiritPktBasicGetTransmittedCtrlField() SpiritPktCommonGetTransmittedCtrlField() + + +/** + * @brief If enabled RX packet is accepted if its destination address matches with My address. + * @param xNewState new state for DEST_VS_SOURCE_ADDRESS. + * This parameter can be S_ENABLE or S_DISABLE. + * @retval None. + */ +#define SpiritPktBasicFilterOnMyAddress(xNewState) SpiritPktCommonFilterOnMyAddress(xNewState) + + +/** + * @brief If enabled RX packet is accepted if its destination address matches with multicast address. + * @param xNewState new state for DEST_VS_MULTICAST_ADDRESS. + * This parameter can be S_ENABLE or S_DISABLE. + * @retval None. + */ +#define SpiritPktBasicFilterOnMulticastAddress(xNewState) SpiritPktCommonFilterOnMulticastAddress(xNewState) + + +/** + * @brief If enabled RX packet is accepted if its destination address matches with broadcast address. + * @param xNewState new state for DEST_VS_BROADCAST_ADDRESS. + * This parameter can be S_ENABLE or S_DISABLE. + * @retval None. + */ +#define SpiritPktBasicFilterOnBroadcastAddress(xNewState) SpiritPktCommonFilterOnBroadcastAddress(xNewState) + + +/** + * @brief Returns the enable bit of the my address filtering. + * @param None. + * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE. + */ +#define SpiritPktBasicGetFilterOnMyAddress() SpiritPktCommonGetFilterOnMyAddress(); + + +/** + * @brief Returns the enable bit of the multicast address filtering. + * @param None. + * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE. + */ +#define SpiritPktBasicGetFilterOnMulticastAddress() SpiritPktCommonGetFilterOnMulticastAddress(); + + +/** + * @brief Returns the enable bit of the broadcast address filtering. + * @param None. + * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE. + */ +#define SpiritPktBasicGetFilterOnBroadcastAddress() SpiritPktCommonGetFilterOnBroadcastAddress(); + + +/** + * @brief Returns the destination address of the received packet. + * @param None. + * @retval uint8_t Destination address of the received packet. + */ +#define SpiritPktBasicGetReceivedDestAddress() SpiritPktCommonGetReceivedDestAddress() + + +/** + * @brief Returns the control field of the received packet. + * @param None. + * @retval uint32_t Received control field. + */ +#define SpiritPktBasicGetReceivedCtrlField() SpiritPktCommonGetReceivedCtrlField() + + +/** + * @brief Returns the CRC field of the received packet. + * @param cCrcFieldVect array in which the CRC field has to be stored. + * This parameter is an uint8_t array of 3 elements. + * @retval None. + */ +#define SpiritPktBasicGetReceivedCrcField(cCrcFieldVect) SpiritPktCommonGetReceivedCrcField(cCrcFieldVect) + + +/** + * @brief If enabled RX packet is accepted only if the masked control field matches the + * masked control field reference (CONTROL_MASK & CONTROL_FIELD_REF == CONTROL_MASK & RX_CONTROL_FIELD). + * @param xNewState new state for Control filtering enable bit. + * This parameter can be S_ENABLE or S_DISABLE. + * @retval None. + * @note This filtering control is enabled by default but the control mask is by default set to 0. + * As a matter of fact the user has to enable the control filtering bit after the packet initialization + * because the PktInit routine disables it. + */ +#define SpiritPktBasicFilterOnControlField(xNewState) SpiritPktCommonFilterOnControlField(xNewState) + + +/** + * @brief Returns the enable bit of the control field filtering. + * @param None. + * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE. + */ +#define SpiritPktBasicGetFilterOnControlField() SpiritPktCommonGetFilterOnControlField(); + +/** + *@} + */ + + +/** + * @defgroup PktBasic_Exported_Functions Pkt Basic Exported Functions + * @{ + */ + +void SpiritPktBasicInit(PktBasicInit* pxPktBasicInit); +void SpiritPktBasicGetInfo(PktBasicInit* pxPktBasicInit); +void SpiritPktBasicAddressesInit(PktBasicAddressesInit* pxPktBasicAddresses); +void SpiritPktBasicGetAddressesInfo(PktBasicAddressesInit* pxPktBasicAddresses); +void SpiritPktBasicSetFormat(void); +void SpiritPktBasicAddressField(SpiritFunctionalState xAddressField); +SpiritFunctionalState SpiritPktBasicGetAddressField(void); +void SpiritPktBasicSetPayloadLength(uint16_t nPayloadLength); +uint16_t SpiritPktBasicGetPayloadLength(void); +uint16_t SpiritPktBasicGetReceivedPktLength(void); +void SpiritPktBasicSetVarLengthWidth(uint16_t nMaxPayloadLength,SpiritFunctionalState xAddressField, BasicControlLength xControlLength); + +/** + *@} + */ + +/** + *@} + */ + + +/** + *@} + */ + +#ifdef __cplusplus +} +#endif + +#endif + +/******************* (C) COPYRIGHT 2015 STMicroelectronics *****END OF FILE****/