HelloWorld_IDS01A4 mbed application for Spirit1 P2P demo.

Dependencies:   mbed

Fork of HelloWorld_IDS01A5_Program by rosarium pila

mbed 2.0 (a.k.a classic) HelloWorld example for Spirit1 to transfer data from one node to another.
To send the predefined data packet from the sender to the receiver, user needs to press User Button on the board. The LED on the receiver expansion board will toggle on reception of data successfully.
Data packets sent and received can be seen on USB serial terminal.

EVALUATION BOARDS RF FREQUENCY DESCRIPTION :
X-NUCLEO-IDS01A4 868 MHz 868 MHz RF expansion board based on SPIRIT1

Committer:
rosarium
Date:
Thu May 25 16:38:55 2017 +0000
Revision:
0:2ddc0583bcec
First draft version of HelloWorld_IDS01A5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rosarium 0:2ddc0583bcec 1 /**
rosarium 0:2ddc0583bcec 2 ******************************************************************************
rosarium 0:2ddc0583bcec 3 * @file SPIRIT_PktBasic.h
rosarium 0:2ddc0583bcec 4 * @author VMA division - AMS
rosarium 0:2ddc0583bcec 5 * @version 3.2.2
rosarium 0:2ddc0583bcec 6 * @date 08-July-2015
rosarium 0:2ddc0583bcec 7 * @brief Configuration and management of SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 8 *
rosarium 0:2ddc0583bcec 9 * @details
rosarium 0:2ddc0583bcec 10 *
rosarium 0:2ddc0583bcec 11 * This module can be used to manage the configuration of Spirit Basic
rosarium 0:2ddc0583bcec 12 * packets.
rosarium 0:2ddc0583bcec 13 * The user can obtain a packet configuration filling the structure
rosarium 0:2ddc0583bcec 14 * <i>@ref PktBasicInit</i>, defining in it some general parameters
rosarium 0:2ddc0583bcec 15 * for the Spirit Basic packet format.
rosarium 0:2ddc0583bcec 16 * Another structure the user can fill is <i>@ref PktBasicAddressesInit</i>
rosarium 0:2ddc0583bcec 17 * to define the addresses which will be used during the communication.
rosarium 0:2ddc0583bcec 18 * Moreover, functions to set the payload length and the destination address
rosarium 0:2ddc0583bcec 19 * are provided.
rosarium 0:2ddc0583bcec 20 *
rosarium 0:2ddc0583bcec 21 * <b>Example:</b>
rosarium 0:2ddc0583bcec 22 * @code
rosarium 0:2ddc0583bcec 23 *
rosarium 0:2ddc0583bcec 24 * PktBasicInit basicInit={
rosarium 0:2ddc0583bcec 25 * PKT_PREAMBLE_LENGTH_08BYTES, // preamble length in bytes
rosarium 0:2ddc0583bcec 26 * PKT_SYNC_LENGTH_4BYTES, // sync word length in bytes
rosarium 0:2ddc0583bcec 27 * 0x1A2635A8, // sync word
rosarium 0:2ddc0583bcec 28 * PKT_LENGTH_VAR, // variable or fixed payload length
rosarium 0:2ddc0583bcec 29 * 7, // length field width in bits (used only for variable length)
rosarium 0:2ddc0583bcec 30 * PKT_NO_CRC, // CRC mode
rosarium 0:2ddc0583bcec 31 * PKT_CONTROL_LENGTH_0BYTES, // control field length
rosarium 0:2ddc0583bcec 32 * S_ENABLE, // address field
rosarium 0:2ddc0583bcec 33 * S_DISABLE, // FEC
rosarium 0:2ddc0583bcec 34 * S_ENABLE // whitening
rosarium 0:2ddc0583bcec 35 * };
rosarium 0:2ddc0583bcec 36 *
rosarium 0:2ddc0583bcec 37 * PktBasicAddressesInit addressInit={
rosarium 0:2ddc0583bcec 38 * S_ENABLE, // enable/disable filtering on my address
rosarium 0:2ddc0583bcec 39 * 0x34, // my address (address of the current node)
rosarium 0:2ddc0583bcec 40 * S_DISABLE, // enable/disable filtering on multicast address
rosarium 0:2ddc0583bcec 41 * 0xEE, // multicast address
rosarium 0:2ddc0583bcec 42 * S_DISABLE, // enable/disable filtering on broadcast address
rosarium 0:2ddc0583bcec 43 * 0xFF // broadcast address
rosarium 0:2ddc0583bcec 44 * };
rosarium 0:2ddc0583bcec 45 *
rosarium 0:2ddc0583bcec 46 * ...
rosarium 0:2ddc0583bcec 47 *
rosarium 0:2ddc0583bcec 48 * SpiritPktBasicInit(&basicInit);
rosarium 0:2ddc0583bcec 49 * SpiritPktBasicAddressesInit(&addressInit);
rosarium 0:2ddc0583bcec 50 *
rosarium 0:2ddc0583bcec 51 * ...
rosarium 0:2ddc0583bcec 52 *
rosarium 0:2ddc0583bcec 53 * SpiritPktBasicSetPayloadLength(20);
rosarium 0:2ddc0583bcec 54 * SpiritPktBasicSetDestinationAddress(0x44);
rosarium 0:2ddc0583bcec 55 *
rosarium 0:2ddc0583bcec 56 * ...
rosarium 0:2ddc0583bcec 57 *
rosarium 0:2ddc0583bcec 58 * @endcode
rosarium 0:2ddc0583bcec 59 *
rosarium 0:2ddc0583bcec 60 * The module provides some other functions that can be used to modify
rosarium 0:2ddc0583bcec 61 * or read only some configuration parameters.
rosarium 0:2ddc0583bcec 62 *
rosarium 0:2ddc0583bcec 63 *
rosarium 0:2ddc0583bcec 64 * @attention
rosarium 0:2ddc0583bcec 65 *
rosarium 0:2ddc0583bcec 66 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
rosarium 0:2ddc0583bcec 67 *
rosarium 0:2ddc0583bcec 68 * Redistribution and use in source and binary forms, with or without modification,
rosarium 0:2ddc0583bcec 69 * are permitted provided that the following conditions are met:
rosarium 0:2ddc0583bcec 70 * 1. Redistributions of source code must retain the above copyright notice,
rosarium 0:2ddc0583bcec 71 * this list of conditions and the following disclaimer.
rosarium 0:2ddc0583bcec 72 * 2. Redistributions in binary form must reproduce the above copyright notice,
rosarium 0:2ddc0583bcec 73 * this list of conditions and the following disclaimer in the documentation
rosarium 0:2ddc0583bcec 74 * and/or other materials provided with the distribution.
rosarium 0:2ddc0583bcec 75 * 3. Neither the name of STMicroelectronics nor the names of its contributors
rosarium 0:2ddc0583bcec 76 * may be used to endorse or promote products derived from this software
rosarium 0:2ddc0583bcec 77 * without specific prior written permission.
rosarium 0:2ddc0583bcec 78 *
rosarium 0:2ddc0583bcec 79 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
rosarium 0:2ddc0583bcec 80 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
rosarium 0:2ddc0583bcec 81 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
rosarium 0:2ddc0583bcec 82 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
rosarium 0:2ddc0583bcec 83 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
rosarium 0:2ddc0583bcec 84 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
rosarium 0:2ddc0583bcec 85 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
rosarium 0:2ddc0583bcec 86 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
rosarium 0:2ddc0583bcec 87 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
rosarium 0:2ddc0583bcec 88 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
rosarium 0:2ddc0583bcec 89 *
rosarium 0:2ddc0583bcec 90 ******************************************************************************
rosarium 0:2ddc0583bcec 91 */
rosarium 0:2ddc0583bcec 92
rosarium 0:2ddc0583bcec 93 /* Define to prevent recursive inclusion -------------------------------------*/
rosarium 0:2ddc0583bcec 94 #ifndef __SPIRIT_PKT_BASIC_H
rosarium 0:2ddc0583bcec 95 #define __SPIRIT_PKT_BASIC_H
rosarium 0:2ddc0583bcec 96
rosarium 0:2ddc0583bcec 97 /* Includes ------------------------------------------------------------------*/
rosarium 0:2ddc0583bcec 98
rosarium 0:2ddc0583bcec 99 #include "SPIRIT_Regs.h"
rosarium 0:2ddc0583bcec 100 #include "SPIRIT_Types.h"
rosarium 0:2ddc0583bcec 101 #include "SPIRIT_PktCommon.h"
rosarium 0:2ddc0583bcec 102
rosarium 0:2ddc0583bcec 103 #ifdef __cplusplus
rosarium 0:2ddc0583bcec 104 extern "C" {
rosarium 0:2ddc0583bcec 105 #endif
rosarium 0:2ddc0583bcec 106
rosarium 0:2ddc0583bcec 107
rosarium 0:2ddc0583bcec 108
rosarium 0:2ddc0583bcec 109 /**
rosarium 0:2ddc0583bcec 110 * @addtogroup SPIRIT_Libraries
rosarium 0:2ddc0583bcec 111 * @{
rosarium 0:2ddc0583bcec 112 */
rosarium 0:2ddc0583bcec 113
rosarium 0:2ddc0583bcec 114
rosarium 0:2ddc0583bcec 115 /**
rosarium 0:2ddc0583bcec 116 * @defgroup SPIRIT_PktBasic Pkt Basic
rosarium 0:2ddc0583bcec 117 * @brief Configuration and management of SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 118 * @details See the file <i>@ref SPIRIT_PktBasic.h</i> for more details.
rosarium 0:2ddc0583bcec 119 * @{
rosarium 0:2ddc0583bcec 120 */
rosarium 0:2ddc0583bcec 121
rosarium 0:2ddc0583bcec 122 /**
rosarium 0:2ddc0583bcec 123 * @defgroup PktBasic_Exported_Types Pkt Basic Exported Types
rosarium 0:2ddc0583bcec 124 * @{
rosarium 0:2ddc0583bcec 125 */
rosarium 0:2ddc0583bcec 126
rosarium 0:2ddc0583bcec 127
rosarium 0:2ddc0583bcec 128 /**
rosarium 0:2ddc0583bcec 129 * @brief Preamble length in bytes enumeration.
rosarium 0:2ddc0583bcec 130 */
rosarium 0:2ddc0583bcec 131 typedef PktPreambleLength BasicPreambleLength;
rosarium 0:2ddc0583bcec 132
rosarium 0:2ddc0583bcec 133 #define IS_BASIC_PREAMBLE_LENGTH IS_PKT_PREAMBLE_LENGTH
rosarium 0:2ddc0583bcec 134
rosarium 0:2ddc0583bcec 135 /**
rosarium 0:2ddc0583bcec 136 * @brief Sync length in bytes enumeration.
rosarium 0:2ddc0583bcec 137 */
rosarium 0:2ddc0583bcec 138 typedef PktSyncLength BasicSyncLength;
rosarium 0:2ddc0583bcec 139
rosarium 0:2ddc0583bcec 140 #define IS_BASIC_SYNC_LENGTH IS_PKT_SYNC_LENGTH
rosarium 0:2ddc0583bcec 141
rosarium 0:2ddc0583bcec 142
rosarium 0:2ddc0583bcec 143
rosarium 0:2ddc0583bcec 144 /**
rosarium 0:2ddc0583bcec 145 * @brief CRC length in bytes enumeration.
rosarium 0:2ddc0583bcec 146 */
rosarium 0:2ddc0583bcec 147 typedef PktCrcMode BasicCrcMode;
rosarium 0:2ddc0583bcec 148
rosarium 0:2ddc0583bcec 149 #define IS_BASIC_CRC_MODE IS_PKT_CRC_MODE
rosarium 0:2ddc0583bcec 150
rosarium 0:2ddc0583bcec 151
rosarium 0:2ddc0583bcec 152 /**
rosarium 0:2ddc0583bcec 153 * @brief Fixed or variable payload length enumeration.
rosarium 0:2ddc0583bcec 154 */
rosarium 0:2ddc0583bcec 155 typedef PktFixVarLength BasicFixVarLength;
rosarium 0:2ddc0583bcec 156
rosarium 0:2ddc0583bcec 157 #define IS_BASIC_FIX_VAR_LENGTH IS_PKT_FIX_VAR_LENGTH
rosarium 0:2ddc0583bcec 158
rosarium 0:2ddc0583bcec 159 /**
rosarium 0:2ddc0583bcec 160 * @brief Control length in bytes enumeration.
rosarium 0:2ddc0583bcec 161 */
rosarium 0:2ddc0583bcec 162 typedef PktControlLength BasicControlLength;
rosarium 0:2ddc0583bcec 163
rosarium 0:2ddc0583bcec 164 #define IS_BASIC_CONTROL_LENGTH IS_PKT_CONTROL_LENGTH
rosarium 0:2ddc0583bcec 165
rosarium 0:2ddc0583bcec 166 /**
rosarium 0:2ddc0583bcec 167 * @brief Sync words enumeration.
rosarium 0:2ddc0583bcec 168 */
rosarium 0:2ddc0583bcec 169 typedef PktSyncX BasicSyncX;
rosarium 0:2ddc0583bcec 170
rosarium 0:2ddc0583bcec 171 #define IS_BASIC_SYNCx IS_PKT_SYNCx
rosarium 0:2ddc0583bcec 172
rosarium 0:2ddc0583bcec 173
rosarium 0:2ddc0583bcec 174 /**
rosarium 0:2ddc0583bcec 175 * @brief SPIRIT Basic Packet Init structure definition. This structure allows users to set the main options
rosarium 0:2ddc0583bcec 176 * for the Basic packet.
rosarium 0:2ddc0583bcec 177 */
rosarium 0:2ddc0583bcec 178 typedef struct
rosarium 0:2ddc0583bcec 179 {
rosarium 0:2ddc0583bcec 180
rosarium 0:2ddc0583bcec 181 BasicPreambleLength xPreambleLength; /*!< Specifies the preamble length.
rosarium 0:2ddc0583bcec 182 This parameter can be any value of @ref BasicPreambleLength */
rosarium 0:2ddc0583bcec 183 BasicSyncLength xSyncLength; /*!< Specifies the sync word length. The 32bit word passed (lSyncWords) will be stored in the SYNCx registers from the MSb
rosarium 0:2ddc0583bcec 184 until the number of bytes in xSyncLength has been stored.
rosarium 0:2ddc0583bcec 185 This parameter can be any value of @ref BasicSyncLength */
rosarium 0:2ddc0583bcec 186 uint32_t lSyncWords; /*!< Specifies the sync words.
rosarium 0:2ddc0583bcec 187 This parameter is a uint32_t word with format: 0x|SYNC1|SYNC2|SYNC3|SYNC4| */
rosarium 0:2ddc0583bcec 188 BasicFixVarLength xFixVarLength; /*!< Specifies if a fixed length of packet has to be used.
rosarium 0:2ddc0583bcec 189 This parameter can be any value of @ref BasicFixVarLength */
rosarium 0:2ddc0583bcec 190 uint8_t cPktLengthWidth; /*!< Specifies the size of the length of packet in bits. This field is useful only if
rosarium 0:2ddc0583bcec 191 the field xFixVarLength is set to BASIC_LENGTH_VAR. For Basic packets the length width
rosarium 0:2ddc0583bcec 192 is log2( max payload length + control length (0 to 4) + address length (0 or 1)).
rosarium 0:2ddc0583bcec 193 This parameter is an uint8_t */
rosarium 0:2ddc0583bcec 194 BasicCrcMode xCrcMode; /*!< Specifies the CRC word length of packet.
rosarium 0:2ddc0583bcec 195 This parameter can be any value of @ref BasicCrcMode */
rosarium 0:2ddc0583bcec 196 BasicControlLength xControlLength; /*!< Specifies the length of a control field to be sent.
rosarium 0:2ddc0583bcec 197 This parameter can be any value of @ref BasicControlLength */
rosarium 0:2ddc0583bcec 198 SpiritFunctionalState xAddressField; /*!< Specifies if the destination address has to be sent.
rosarium 0:2ddc0583bcec 199 This parameter can be S_ENABLE or S_DISABLE */
rosarium 0:2ddc0583bcec 200 SpiritFunctionalState xFec; /*!< Specifies if FEC has to be enabled.
rosarium 0:2ddc0583bcec 201 This parameter can be S_ENABLE or S_DISABLE */
rosarium 0:2ddc0583bcec 202 SpiritFunctionalState xDataWhitening; /*!< Specifies if data whitening has to be enabled.
rosarium 0:2ddc0583bcec 203 This parameter can be S_ENABLE or S_DISABLE */
rosarium 0:2ddc0583bcec 204 }PktBasicInit;
rosarium 0:2ddc0583bcec 205
rosarium 0:2ddc0583bcec 206
rosarium 0:2ddc0583bcec 207 /**
rosarium 0:2ddc0583bcec 208 * @brief SPIRIT Basic Packet address structure definition. This structure allows users to specify
rosarium 0:2ddc0583bcec 209 * the node/multicast/broadcast addresses and the correspondent filtering options.
rosarium 0:2ddc0583bcec 210 */
rosarium 0:2ddc0583bcec 211 typedef struct
rosarium 0:2ddc0583bcec 212 {
rosarium 0:2ddc0583bcec 213
rosarium 0:2ddc0583bcec 214 SpiritFunctionalState xFilterOnMyAddress; /*!< If set RX packet is accepted if its destination address matches with cMyAddress.
rosarium 0:2ddc0583bcec 215 This parameter can be S_ENABLE or S_DISABLE */
rosarium 0:2ddc0583bcec 216 uint8_t cMyAddress; /*!< Specifies the TX packet source address (address of this node).
rosarium 0:2ddc0583bcec 217 This parameter is an uint8_t */
rosarium 0:2ddc0583bcec 218 SpiritFunctionalState xFilterOnMulticastAddress; /*!< If set RX packet is accepted if its destination address matches with cMulticastAddress.
rosarium 0:2ddc0583bcec 219 This parameter can be S_ENABLE or S_DISABLE */
rosarium 0:2ddc0583bcec 220 uint8_t cMulticastAddress; /*!< Specifies the Multicast group address for this node.
rosarium 0:2ddc0583bcec 221 This parameter is an uint8_t */
rosarium 0:2ddc0583bcec 222 SpiritFunctionalState xFilterOnBroadcastAddress; /*!< If set RX packet is accepted if its destination address matches with cBroadcastAddress.
rosarium 0:2ddc0583bcec 223 This parameter can be S_ENABLE or S_DISABLE */
rosarium 0:2ddc0583bcec 224 uint8_t cBroadcastAddress; /*!< Specifies the Broadcast address for this node.
rosarium 0:2ddc0583bcec 225 This parameter is an uint8_t */
rosarium 0:2ddc0583bcec 226 }PktBasicAddressesInit;
rosarium 0:2ddc0583bcec 227
rosarium 0:2ddc0583bcec 228 /**
rosarium 0:2ddc0583bcec 229 *@}
rosarium 0:2ddc0583bcec 230 */
rosarium 0:2ddc0583bcec 231
rosarium 0:2ddc0583bcec 232
rosarium 0:2ddc0583bcec 233 /**
rosarium 0:2ddc0583bcec 234 * @defgroup PktBasic_Exported_Constants Pkt Basic Exported Constants
rosarium 0:2ddc0583bcec 235 * @{
rosarium 0:2ddc0583bcec 236 */
rosarium 0:2ddc0583bcec 237
rosarium 0:2ddc0583bcec 238 #define IS_BASIC_LENGTH_WIDTH_BITS IS_PKT_LENGTH_WIDTH_BITS
rosarium 0:2ddc0583bcec 239
rosarium 0:2ddc0583bcec 240
rosarium 0:2ddc0583bcec 241 /**
rosarium 0:2ddc0583bcec 242 *@}
rosarium 0:2ddc0583bcec 243 */
rosarium 0:2ddc0583bcec 244
rosarium 0:2ddc0583bcec 245
rosarium 0:2ddc0583bcec 246 /**
rosarium 0:2ddc0583bcec 247 * @defgroup PktBasic_Exported_Macros Pkt Basic Exported Macros
rosarium 0:2ddc0583bcec 248 * @{
rosarium 0:2ddc0583bcec 249 */
rosarium 0:2ddc0583bcec 250
rosarium 0:2ddc0583bcec 251 /**
rosarium 0:2ddc0583bcec 252 * @brief Macro used to compute per lower part of the packet length
rosarium 0:2ddc0583bcec 253 * for Spirit Basic packets, to write in the PCKTLEN0 register.
rosarium 0:2ddc0583bcec 254 * @param nLength Length of the packet payload.
rosarium 0:2ddc0583bcec 255 * This parameter is an uint16_t.
rosarium 0:2ddc0583bcec 256 * @retval None.
rosarium 0:2ddc0583bcec 257 */
rosarium 0:2ddc0583bcec 258 #define BASIC_BUILD_PCKTLEN0(nLength) BUILD_PCKTLEN0(nLength)
rosarium 0:2ddc0583bcec 259
rosarium 0:2ddc0583bcec 260
rosarium 0:2ddc0583bcec 261 /**
rosarium 0:2ddc0583bcec 262 * @brief Macro used to compute per upper part of the packet length
rosarium 0:2ddc0583bcec 263 * for Spirit Basic packets, to write the PCKTLEN1 register.
rosarium 0:2ddc0583bcec 264 * @param nLengthLength of the packet payload.
rosarium 0:2ddc0583bcec 265 * This parameter is an uint16_t.
rosarium 0:2ddc0583bcec 266 * @retval None.
rosarium 0:2ddc0583bcec 267 */
rosarium 0:2ddc0583bcec 268 #define BASIC_BUILD_PCKTLEN1(nLength) BUILD_PCKTLEN1(nLength)
rosarium 0:2ddc0583bcec 269
rosarium 0:2ddc0583bcec 270 /**
rosarium 0:2ddc0583bcec 271 * @brief Sets the CONTROL field length for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 272 * @param xControlLength length of CONTROL field in bytes.
rosarium 0:2ddc0583bcec 273 * This parameter can be any value of @ref PktControlLength.
rosarium 0:2ddc0583bcec 274 * @retval None.
rosarium 0:2ddc0583bcec 275 */
rosarium 0:2ddc0583bcec 276 #define SpiritPktBasicSetControlLength(xControlLength) SpiritPktCommonSetControlLength(xControlLength)
rosarium 0:2ddc0583bcec 277
rosarium 0:2ddc0583bcec 278
rosarium 0:2ddc0583bcec 279 /**
rosarium 0:2ddc0583bcec 280 * @brief Returns the CONTROL field length for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 281 * @param None.
rosarium 0:2ddc0583bcec 282 * @retval uint8_t Control field length.
rosarium 0:2ddc0583bcec 283 */
rosarium 0:2ddc0583bcec 284 #define SpiritPktBasicGetControlLength() SpiritPktCommonGetControlLength()
rosarium 0:2ddc0583bcec 285
rosarium 0:2ddc0583bcec 286
rosarium 0:2ddc0583bcec 287 /**
rosarium 0:2ddc0583bcec 288 * @brief Sets the PREAMBLE field length for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 289 * @param xPreambleLength length of PREAMBLE field in bytes.
rosarium 0:2ddc0583bcec 290 * This parameter can be any value of @ref BasicPreambleLength.
rosarium 0:2ddc0583bcec 291 * @retval None.
rosarium 0:2ddc0583bcec 292 */
rosarium 0:2ddc0583bcec 293 #define SpiritPktBasicSetPreambleLength(xPreambleLength) SpiritPktCommonSetPreambleLength((PktPreambleLength)xPreambleLength)
rosarium 0:2ddc0583bcec 294
rosarium 0:2ddc0583bcec 295
rosarium 0:2ddc0583bcec 296 /**
rosarium 0:2ddc0583bcec 297 * @brief Returns the PREAMBLE field length mode for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 298 * @param None.
rosarium 0:2ddc0583bcec 299 * @retval uint8_t Preamble field length in bytes.
rosarium 0:2ddc0583bcec 300 */
rosarium 0:2ddc0583bcec 301 #define SpiritPktBasicGetPreambleLength() SpiritPktCommonGetPreambleLength()
rosarium 0:2ddc0583bcec 302
rosarium 0:2ddc0583bcec 303
rosarium 0:2ddc0583bcec 304 /**
rosarium 0:2ddc0583bcec 305 * @brief Sets the SYNC field length for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 306 * @param xSyncLength length of SYNC field in bytes.
rosarium 0:2ddc0583bcec 307 * This parameter can be any value of @ref BasicSyncLength.
rosarium 0:2ddc0583bcec 308 * @retval None.
rosarium 0:2ddc0583bcec 309 */
rosarium 0:2ddc0583bcec 310 #define SpiritPktBasicSetSyncLength(xSyncLength) SpiritPktCommonSetSyncLength((PktSyncLength)xSyncLength)
rosarium 0:2ddc0583bcec 311
rosarium 0:2ddc0583bcec 312
rosarium 0:2ddc0583bcec 313 /**
rosarium 0:2ddc0583bcec 314 * @brief Returns the SYNC field length for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 315 * @param None.
rosarium 0:2ddc0583bcec 316 * @retval uint8_t SYNC field length in bytes.
rosarium 0:2ddc0583bcec 317 */
rosarium 0:2ddc0583bcec 318 #define SpiritPktBasicGetSyncLength() SpiritPktCommonGetSyncLength()
rosarium 0:2ddc0583bcec 319
rosarium 0:2ddc0583bcec 320
rosarium 0:2ddc0583bcec 321 /**
rosarium 0:2ddc0583bcec 322 * @brief Sets fixed or variable payload length mode for SPIRIT packets.
rosarium 0:2ddc0583bcec 323 * @param xFixVarLength variable or fixed length.
rosarium 0:2ddc0583bcec 324 * BASIC_FIXED_LENGTH_VAR -> variable (the length is extracted from the received packet).
rosarium 0:2ddc0583bcec 325 * BASIC_FIXED_LENGTH_FIX -> fix (the length is set by PCKTLEN0 and PCKTLEN1).
rosarium 0:2ddc0583bcec 326 * @retval None.
rosarium 0:2ddc0583bcec 327 */
rosarium 0:2ddc0583bcec 328 #define SpiritPktBasicSetFixVarLength(xFixVarLength) SpiritPktCommonSetFixVarLength((PktFixVarLength)xFixVarLength)
rosarium 0:2ddc0583bcec 329
rosarium 0:2ddc0583bcec 330
rosarium 0:2ddc0583bcec 331 /**
rosarium 0:2ddc0583bcec 332 * @brief Enables or Disables the CRC filtering.
rosarium 0:2ddc0583bcec 333 * @param xNewState new state for CRC_CHECK.
rosarium 0:2ddc0583bcec 334 * This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 335 * @retval None.
rosarium 0:2ddc0583bcec 336 */
rosarium 0:2ddc0583bcec 337 #define SpiritPktBasicFilterOnCrc(xNewState) SpiritPktCommonFilterOnCrc(xNewState)
rosarium 0:2ddc0583bcec 338
rosarium 0:2ddc0583bcec 339
rosarium 0:2ddc0583bcec 340 /**
rosarium 0:2ddc0583bcec 341 * @brief Returns the CRC filtering bit.
rosarium 0:2ddc0583bcec 342 * @param None.
rosarium 0:2ddc0583bcec 343 * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 344 */
rosarium 0:2ddc0583bcec 345 #define SpiritPktBasicGetFilterOnCrc() SpiritPktCommonGetFilterOnCrc()
rosarium 0:2ddc0583bcec 346
rosarium 0:2ddc0583bcec 347
rosarium 0:2ddc0583bcec 348 /**
rosarium 0:2ddc0583bcec 349 * @brief Sets the CRC mode for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 350 * @param xCrcMode CRC mode.
rosarium 0:2ddc0583bcec 351 * This parameter can be any value of @ref BasicCrcMode.
rosarium 0:2ddc0583bcec 352 * @retval None.
rosarium 0:2ddc0583bcec 353 */
rosarium 0:2ddc0583bcec 354 #define SpiritPktBasicSetCrcMode(xCrcMode) SpiritPktCommonSetCrcMode((PktCrcMode)xCrcMode)
rosarium 0:2ddc0583bcec 355
rosarium 0:2ddc0583bcec 356
rosarium 0:2ddc0583bcec 357 /**
rosarium 0:2ddc0583bcec 358 * @brief Returns the CRC mode for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 359 * @param None.
rosarium 0:2ddc0583bcec 360 * @retval BasicCrcMode Crc mode.
rosarium 0:2ddc0583bcec 361 */
rosarium 0:2ddc0583bcec 362 #define SpiritPktBasicGetCrcMode() (BasicCrcMode)SpiritPktCommonGetCrcMode()
rosarium 0:2ddc0583bcec 363
rosarium 0:2ddc0583bcec 364
rosarium 0:2ddc0583bcec 365 /**
rosarium 0:2ddc0583bcec 366 * @brief Enables or Disables WHITENING for SPIRIT packets.
rosarium 0:2ddc0583bcec 367 * @param xNewState new state for WHITENING mode.
rosarium 0:2ddc0583bcec 368 * This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 369 * @retval None.
rosarium 0:2ddc0583bcec 370 */
rosarium 0:2ddc0583bcec 371 #define SpiritPktBasicWhitening(xNewState) SpiritPktCommonWhitening(xNewState)
rosarium 0:2ddc0583bcec 372
rosarium 0:2ddc0583bcec 373
rosarium 0:2ddc0583bcec 374 /**
rosarium 0:2ddc0583bcec 375 * @brief Enables or Disables FEC for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 376 * @param xNewState new state for FEC mode.
rosarium 0:2ddc0583bcec 377 * This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 378 * @retval None.
rosarium 0:2ddc0583bcec 379 */
rosarium 0:2ddc0583bcec 380 #define SpiritPktBasicFec(xNewState) SpiritPktCommonFec(xNewState)
rosarium 0:2ddc0583bcec 381
rosarium 0:2ddc0583bcec 382
rosarium 0:2ddc0583bcec 383 /**
rosarium 0:2ddc0583bcec 384 * @brief Sets a specific SYNC word for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 385 * @param xSyncX SYNC word number to be set.
rosarium 0:2ddc0583bcec 386 * This parameter can be any value of @ref BasicSyncX.
rosarium 0:2ddc0583bcec 387 * @param cSyncWord SYNC word.
rosarium 0:2ddc0583bcec 388 * This parameter is an uint8_t.
rosarium 0:2ddc0583bcec 389 * @retval None.
rosarium 0:2ddc0583bcec 390 */
rosarium 0:2ddc0583bcec 391 #define SpiritPktBasicSetSyncxWord(xSyncX, cSyncWord) SpiritPktCommonSetSyncxWord((PktSyncX)xSyncX, cSyncWord)
rosarium 0:2ddc0583bcec 392
rosarium 0:2ddc0583bcec 393
rosarium 0:2ddc0583bcec 394 /**
rosarium 0:2ddc0583bcec 395 * @brief Returns a specific SYNC words for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 396 * @param xSyncX SYNC word number to be get.
rosarium 0:2ddc0583bcec 397 * This parameter can be any value of @ref BasicSyncX.
rosarium 0:2ddc0583bcec 398 * @retval uint8_t Sync word x.
rosarium 0:2ddc0583bcec 399 */
rosarium 0:2ddc0583bcec 400 #define SpiritPktBasicGetSyncxWord(xSyncX) SpiritPktCommonGetSyncxWord(xSyncX)
rosarium 0:2ddc0583bcec 401
rosarium 0:2ddc0583bcec 402
rosarium 0:2ddc0583bcec 403 /**
rosarium 0:2ddc0583bcec 404 * @brief Sets multiple SYNC words for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 405 * @param lSyncWords SYNC words to be set with format: 0x|SYNC1|SYNC2|SYNC3|SYNC4|.
rosarium 0:2ddc0583bcec 406 * This parameter is a uint32_t.
rosarium 0:2ddc0583bcec 407 * @param xSyncLength SYNC length in bytes. The 32bit word passed will be stored in the SYNCx registers from the MSb
rosarium 0:2ddc0583bcec 408 * until the number of bytes in xSyncLength has been stored.
rosarium 0:2ddc0583bcec 409 * This parameter is a @ref BasicSyncLength.
rosarium 0:2ddc0583bcec 410 * @retval None.
rosarium 0:2ddc0583bcec 411 */
rosarium 0:2ddc0583bcec 412 #define SpiritPktBasicSetSyncWords(lSyncWords, xSyncLength) SpiritPktCommonSetSyncWords(lSyncWords, (PktSyncLength)xSyncLength)
rosarium 0:2ddc0583bcec 413
rosarium 0:2ddc0583bcec 414
rosarium 0:2ddc0583bcec 415 /**
rosarium 0:2ddc0583bcec 416 * @brief Returns multiple SYNC words for SPIRIT Basic packets.
rosarium 0:2ddc0583bcec 417 * @param xSyncLength SYNC length in bytes. The 32bit word passed will be stored in the SYNCx registers from the MSb
rosarium 0:2ddc0583bcec 418 * until the number of bytes in xSyncLength has been stored.
rosarium 0:2ddc0583bcec 419 * This parameter is a pointer to @ref BasicSyncLength.
rosarium 0:2ddc0583bcec 420 * @retval uint32_t Sync words. The format of the read 32 bit word is 0x|SYNC1|SYNC2|SYNC3|SYNC4|.
rosarium 0:2ddc0583bcec 421 */
rosarium 0:2ddc0583bcec 422 #define SpiritPktBasicGetSyncWords(xSyncLength) SpiritPktCommonGetSyncWords((PktSyncLength)xSyncLength)
rosarium 0:2ddc0583bcec 423
rosarium 0:2ddc0583bcec 424
rosarium 0:2ddc0583bcec 425 /**
rosarium 0:2ddc0583bcec 426 * @brief Returns the SPIRIT variable length width (in number of bits).
rosarium 0:2ddc0583bcec 427 * @param None.
rosarium 0:2ddc0583bcec 428 * @retval Variable length width in bits.
rosarium 0:2ddc0583bcec 429 */
rosarium 0:2ddc0583bcec 430 #define SpiritPktBasicGetVarLengthWidth() SpiritPktCommonGetVarLengthWidth()
rosarium 0:2ddc0583bcec 431
rosarium 0:2ddc0583bcec 432
rosarium 0:2ddc0583bcec 433 /**
rosarium 0:2ddc0583bcec 434 * @brief Sets the destination address for the Tx packet.
rosarium 0:2ddc0583bcec 435 * @param cAddress destination address.
rosarium 0:2ddc0583bcec 436 * This parameter is an uint8_t.
rosarium 0:2ddc0583bcec 437 * @retval None.
rosarium 0:2ddc0583bcec 438 */
rosarium 0:2ddc0583bcec 439 #define SpiritPktBasicSetDestinationAddress(cAddress) SpiritPktCommonSetDestinationAddress(cAddress)
rosarium 0:2ddc0583bcec 440
rosarium 0:2ddc0583bcec 441
rosarium 0:2ddc0583bcec 442 /**
rosarium 0:2ddc0583bcec 443 * @brief Returns the settled destination address.
rosarium 0:2ddc0583bcec 444 * @param None.
rosarium 0:2ddc0583bcec 445 * @retval uint8_t Transmitted destination address.
rosarium 0:2ddc0583bcec 446 */
rosarium 0:2ddc0583bcec 447 #define SpiritPktBasicGetTransmittedDestAddress() SpiritPktCommonGetTransmittedDestAddress()
rosarium 0:2ddc0583bcec 448
rosarium 0:2ddc0583bcec 449
rosarium 0:2ddc0583bcec 450 /**
rosarium 0:2ddc0583bcec 451 * @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
rosarium 0:2ddc0583bcec 452 * my address, then the packet is accepted (this is the address of the node).
rosarium 0:2ddc0583bcec 453 * @param cAddress Address of the present node.
rosarium 0:2ddc0583bcec 454 * This parameter is an uint8_t.
rosarium 0:2ddc0583bcec 455 * @retval None.
rosarium 0:2ddc0583bcec 456 */
rosarium 0:2ddc0583bcec 457 #define SpiritPktBasicSetMyAddress(cAddress) SpiritPktCommonSetMyAddress(cAddress)
rosarium 0:2ddc0583bcec 458
rosarium 0:2ddc0583bcec 459
rosarium 0:2ddc0583bcec 460 /**
rosarium 0:2ddc0583bcec 461 * @brief Returns the address of the present node.
rosarium 0:2ddc0583bcec 462 * @param None.
rosarium 0:2ddc0583bcec 463 * @retval uint8_t My address (address of this node).
rosarium 0:2ddc0583bcec 464 */
rosarium 0:2ddc0583bcec 465 #define SpiritPktBasicGetMyAddress() SpiritPktCommonGetMyAddress()
rosarium 0:2ddc0583bcec 466
rosarium 0:2ddc0583bcec 467
rosarium 0:2ddc0583bcec 468 /**
rosarium 0:2ddc0583bcec 469 * @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
rosarium 0:2ddc0583bcec 470 * BROADCAST_ADDR register, then the packet is accepted.
rosarium 0:2ddc0583bcec 471 * @param cAddress Broadcast address.
rosarium 0:2ddc0583bcec 472 * This parameter is an uint8_t.
rosarium 0:2ddc0583bcec 473 * @retval None.
rosarium 0:2ddc0583bcec 474 */
rosarium 0:2ddc0583bcec 475 #define SpiritPktBasicSetBroadcastAddress(cAddress) SpiritPktCommonSetBroadcastAddress(cAddress)
rosarium 0:2ddc0583bcec 476
rosarium 0:2ddc0583bcec 477
rosarium 0:2ddc0583bcec 478 /**
rosarium 0:2ddc0583bcec 479 * @brief Returns the broadcast address.
rosarium 0:2ddc0583bcec 480 * @param None.
rosarium 0:2ddc0583bcec 481 * @retval uint8_t Broadcast address.
rosarium 0:2ddc0583bcec 482 */
rosarium 0:2ddc0583bcec 483 #define SpiritPktBasicGetBroadcastAddress() SpiritPktCommonGetBroadcastAddress()
rosarium 0:2ddc0583bcec 484
rosarium 0:2ddc0583bcec 485
rosarium 0:2ddc0583bcec 486 /**
rosarium 0:2ddc0583bcec 487 * @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
rosarium 0:2ddc0583bcec 488 * MULTICAST_ADDR register, then the packet is accepted.
rosarium 0:2ddc0583bcec 489 * @param cAddress Multicast address.
rosarium 0:2ddc0583bcec 490 * This parameter is an uint8_t.
rosarium 0:2ddc0583bcec 491 * @retval None.
rosarium 0:2ddc0583bcec 492 */
rosarium 0:2ddc0583bcec 493 #define SpiritPktBasicSetMulticastAddress(cAddress) SpiritPktCommonSetMulticastAddress(cAddress)
rosarium 0:2ddc0583bcec 494
rosarium 0:2ddc0583bcec 495
rosarium 0:2ddc0583bcec 496 /**
rosarium 0:2ddc0583bcec 497 * @brief Returns the multicast address.
rosarium 0:2ddc0583bcec 498 * @param None.
rosarium 0:2ddc0583bcec 499 * @retval uint8_t Multicast address.
rosarium 0:2ddc0583bcec 500 */
rosarium 0:2ddc0583bcec 501 #define SpiritPktBasicGetMulticastAddress() SpiritPktCommonGetMulticastAddress()
rosarium 0:2ddc0583bcec 502
rosarium 0:2ddc0583bcec 503
rosarium 0:2ddc0583bcec 504 /**
rosarium 0:2ddc0583bcec 505 * @brief Sets the control mask. The 1 bits of the CONTROL_MASK indicate the
rosarium 0:2ddc0583bcec 506 * bits to be used in filtering. (All 0s no filtering)
rosarium 0:2ddc0583bcec 507 * @param lMask Control mask.
rosarium 0:2ddc0583bcec 508 * This parameter is an uint32_t.
rosarium 0:2ddc0583bcec 509 * @retval None.
rosarium 0:2ddc0583bcec 510 */
rosarium 0:2ddc0583bcec 511 #define SpiritPktBasicSetCtrlMask(lMask) SpiritPktCommonSetCtrlMask(lMask)
rosarium 0:2ddc0583bcec 512
rosarium 0:2ddc0583bcec 513
rosarium 0:2ddc0583bcec 514 /**
rosarium 0:2ddc0583bcec 515 * @brief Returns the control mask. The 1 bits of the CONTROL_MASK indicate the
rosarium 0:2ddc0583bcec 516 * bits to be used in filtering. (All 0s no filtering)
rosarium 0:2ddc0583bcec 517 * @param None.
rosarium 0:2ddc0583bcec 518 * @retval uint32_t Control mask.
rosarium 0:2ddc0583bcec 519 */
rosarium 0:2ddc0583bcec 520 #define SpiritPktBasicGetCtrlMask() SpiritPktCommonGetCtrlMask()
rosarium 0:2ddc0583bcec 521
rosarium 0:2ddc0583bcec 522
rosarium 0:2ddc0583bcec 523 /**
rosarium 0:2ddc0583bcec 524 * @brief Sets the control field reference. If the bits enabled by the
rosarium 0:2ddc0583bcec 525 * CONTROL_MASK match the ones of the control fields extracted from the received packet
rosarium 0:2ddc0583bcec 526 * then the packet is accepted.
rosarium 0:2ddc0583bcec 527 * @param lReference Control reference.
rosarium 0:2ddc0583bcec 528 * This parameter is an uint32_t.
rosarium 0:2ddc0583bcec 529 * @retval None.
rosarium 0:2ddc0583bcec 530 */
rosarium 0:2ddc0583bcec 531 #define SpiritPktBasicSetCtrlReference(lReference) SpiritPktCommonSetCtrlReference(lReference)
rosarium 0:2ddc0583bcec 532
rosarium 0:2ddc0583bcec 533
rosarium 0:2ddc0583bcec 534 /**
rosarium 0:2ddc0583bcec 535 * @brief Returns the control field reference.
rosarium 0:2ddc0583bcec 536 * @param None.
rosarium 0:2ddc0583bcec 537 * @retval uint32_t Control reference.
rosarium 0:2ddc0583bcec 538 */
rosarium 0:2ddc0583bcec 539 #define SpiritPktBasicGetCtrlReference() SpiritPktCommonGetCtrlReference()
rosarium 0:2ddc0583bcec 540
rosarium 0:2ddc0583bcec 541
rosarium 0:2ddc0583bcec 542 /**
rosarium 0:2ddc0583bcec 543 * @brief Sets the TX control field.
rosarium 0:2ddc0583bcec 544 * @param lField Tx control field.
rosarium 0:2ddc0583bcec 545 * This parameter is an uint32_t.
rosarium 0:2ddc0583bcec 546 * @retval None.
rosarium 0:2ddc0583bcec 547 */
rosarium 0:2ddc0583bcec 548 #define SpiritPktBasicSetTransmittedCtrlField(lField) SpiritPktCommonSetTransmittedCtrlField(lField)
rosarium 0:2ddc0583bcec 549
rosarium 0:2ddc0583bcec 550
rosarium 0:2ddc0583bcec 551 /**
rosarium 0:2ddc0583bcec 552 * @brief Returns the TX control field.
rosarium 0:2ddc0583bcec 553 * @param None.
rosarium 0:2ddc0583bcec 554 * @retval uint32_t Control field of the transmitted packet.
rosarium 0:2ddc0583bcec 555 */
rosarium 0:2ddc0583bcec 556 #define SpiritPktBasicGetTransmittedCtrlField() SpiritPktCommonGetTransmittedCtrlField()
rosarium 0:2ddc0583bcec 557
rosarium 0:2ddc0583bcec 558
rosarium 0:2ddc0583bcec 559 /**
rosarium 0:2ddc0583bcec 560 * @brief If enabled RX packet is accepted if its destination address matches with My address.
rosarium 0:2ddc0583bcec 561 * @param xNewState new state for DEST_VS_SOURCE_ADDRESS.
rosarium 0:2ddc0583bcec 562 * This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 563 * @retval None.
rosarium 0:2ddc0583bcec 564 */
rosarium 0:2ddc0583bcec 565 #define SpiritPktBasicFilterOnMyAddress(xNewState) SpiritPktCommonFilterOnMyAddress(xNewState)
rosarium 0:2ddc0583bcec 566
rosarium 0:2ddc0583bcec 567
rosarium 0:2ddc0583bcec 568 /**
rosarium 0:2ddc0583bcec 569 * @brief If enabled RX packet is accepted if its destination address matches with multicast address.
rosarium 0:2ddc0583bcec 570 * @param xNewState new state for DEST_VS_MULTICAST_ADDRESS.
rosarium 0:2ddc0583bcec 571 * This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 572 * @retval None.
rosarium 0:2ddc0583bcec 573 */
rosarium 0:2ddc0583bcec 574 #define SpiritPktBasicFilterOnMulticastAddress(xNewState) SpiritPktCommonFilterOnMulticastAddress(xNewState)
rosarium 0:2ddc0583bcec 575
rosarium 0:2ddc0583bcec 576
rosarium 0:2ddc0583bcec 577 /**
rosarium 0:2ddc0583bcec 578 * @brief If enabled RX packet is accepted if its destination address matches with broadcast address.
rosarium 0:2ddc0583bcec 579 * @param xNewState new state for DEST_VS_BROADCAST_ADDRESS.
rosarium 0:2ddc0583bcec 580 * This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 581 * @retval None.
rosarium 0:2ddc0583bcec 582 */
rosarium 0:2ddc0583bcec 583 #define SpiritPktBasicFilterOnBroadcastAddress(xNewState) SpiritPktCommonFilterOnBroadcastAddress(xNewState)
rosarium 0:2ddc0583bcec 584
rosarium 0:2ddc0583bcec 585
rosarium 0:2ddc0583bcec 586 /**
rosarium 0:2ddc0583bcec 587 * @brief Returns the enable bit of the my address filtering.
rosarium 0:2ddc0583bcec 588 * @param None.
rosarium 0:2ddc0583bcec 589 * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 590 */
rosarium 0:2ddc0583bcec 591 #define SpiritPktBasicGetFilterOnMyAddress() SpiritPktCommonGetFilterOnMyAddress();
rosarium 0:2ddc0583bcec 592
rosarium 0:2ddc0583bcec 593
rosarium 0:2ddc0583bcec 594 /**
rosarium 0:2ddc0583bcec 595 * @brief Returns the enable bit of the multicast address filtering.
rosarium 0:2ddc0583bcec 596 * @param None.
rosarium 0:2ddc0583bcec 597 * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 598 */
rosarium 0:2ddc0583bcec 599 #define SpiritPktBasicGetFilterOnMulticastAddress() SpiritPktCommonGetFilterOnMulticastAddress();
rosarium 0:2ddc0583bcec 600
rosarium 0:2ddc0583bcec 601
rosarium 0:2ddc0583bcec 602 /**
rosarium 0:2ddc0583bcec 603 * @brief Returns the enable bit of the broadcast address filtering.
rosarium 0:2ddc0583bcec 604 * @param None.
rosarium 0:2ddc0583bcec 605 * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 606 */
rosarium 0:2ddc0583bcec 607 #define SpiritPktBasicGetFilterOnBroadcastAddress() SpiritPktCommonGetFilterOnBroadcastAddress();
rosarium 0:2ddc0583bcec 608
rosarium 0:2ddc0583bcec 609
rosarium 0:2ddc0583bcec 610 /**
rosarium 0:2ddc0583bcec 611 * @brief Returns the destination address of the received packet.
rosarium 0:2ddc0583bcec 612 * @param None.
rosarium 0:2ddc0583bcec 613 * @retval uint8_t Destination address of the received packet.
rosarium 0:2ddc0583bcec 614 */
rosarium 0:2ddc0583bcec 615 #define SpiritPktBasicGetReceivedDestAddress() SpiritPktCommonGetReceivedDestAddress()
rosarium 0:2ddc0583bcec 616
rosarium 0:2ddc0583bcec 617
rosarium 0:2ddc0583bcec 618 /**
rosarium 0:2ddc0583bcec 619 * @brief Returns the control field of the received packet.
rosarium 0:2ddc0583bcec 620 * @param None.
rosarium 0:2ddc0583bcec 621 * @retval uint32_t Received control field.
rosarium 0:2ddc0583bcec 622 */
rosarium 0:2ddc0583bcec 623 #define SpiritPktBasicGetReceivedCtrlField() SpiritPktCommonGetReceivedCtrlField()
rosarium 0:2ddc0583bcec 624
rosarium 0:2ddc0583bcec 625
rosarium 0:2ddc0583bcec 626 /**
rosarium 0:2ddc0583bcec 627 * @brief Returns the CRC field of the received packet.
rosarium 0:2ddc0583bcec 628 * @param cCrcFieldVect array in which the CRC field has to be stored.
rosarium 0:2ddc0583bcec 629 * This parameter is an uint8_t array of 3 elements.
rosarium 0:2ddc0583bcec 630 * @retval None.
rosarium 0:2ddc0583bcec 631 */
rosarium 0:2ddc0583bcec 632 #define SpiritPktBasicGetReceivedCrcField(cCrcFieldVect) SpiritPktCommonGetReceivedCrcField(cCrcFieldVect)
rosarium 0:2ddc0583bcec 633
rosarium 0:2ddc0583bcec 634
rosarium 0:2ddc0583bcec 635 /**
rosarium 0:2ddc0583bcec 636 * @brief If enabled RX packet is accepted only if the masked control field matches the
rosarium 0:2ddc0583bcec 637 * masked control field reference (CONTROL_MASK & CONTROL_FIELD_REF == CONTROL_MASK & RX_CONTROL_FIELD).
rosarium 0:2ddc0583bcec 638 * @param xNewState new state for Control filtering enable bit.
rosarium 0:2ddc0583bcec 639 * This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 640 * @retval None.
rosarium 0:2ddc0583bcec 641 * @note This filtering control is enabled by default but the control mask is by default set to 0.
rosarium 0:2ddc0583bcec 642 * As a matter of fact the user has to enable the control filtering bit after the packet initialization
rosarium 0:2ddc0583bcec 643 * because the PktInit routine disables it.
rosarium 0:2ddc0583bcec 644 */
rosarium 0:2ddc0583bcec 645 #define SpiritPktBasicFilterOnControlField(xNewState) SpiritPktCommonFilterOnControlField(xNewState)
rosarium 0:2ddc0583bcec 646
rosarium 0:2ddc0583bcec 647
rosarium 0:2ddc0583bcec 648 /**
rosarium 0:2ddc0583bcec 649 * @brief Returns the enable bit of the control field filtering.
rosarium 0:2ddc0583bcec 650 * @param None.
rosarium 0:2ddc0583bcec 651 * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE.
rosarium 0:2ddc0583bcec 652 */
rosarium 0:2ddc0583bcec 653 #define SpiritPktBasicGetFilterOnControlField() SpiritPktCommonGetFilterOnControlField();
rosarium 0:2ddc0583bcec 654
rosarium 0:2ddc0583bcec 655 /**
rosarium 0:2ddc0583bcec 656 *@}
rosarium 0:2ddc0583bcec 657 */
rosarium 0:2ddc0583bcec 658
rosarium 0:2ddc0583bcec 659
rosarium 0:2ddc0583bcec 660 /**
rosarium 0:2ddc0583bcec 661 * @defgroup PktBasic_Exported_Functions Pkt Basic Exported Functions
rosarium 0:2ddc0583bcec 662 * @{
rosarium 0:2ddc0583bcec 663 */
rosarium 0:2ddc0583bcec 664
rosarium 0:2ddc0583bcec 665 void SpiritPktBasicInit(PktBasicInit* pxPktBasicInit);
rosarium 0:2ddc0583bcec 666 void SpiritPktBasicGetInfo(PktBasicInit* pxPktBasicInit);
rosarium 0:2ddc0583bcec 667 void SpiritPktBasicAddressesInit(PktBasicAddressesInit* pxPktBasicAddresses);
rosarium 0:2ddc0583bcec 668 void SpiritPktBasicGetAddressesInfo(PktBasicAddressesInit* pxPktBasicAddresses);
rosarium 0:2ddc0583bcec 669 void SpiritPktBasicSetFormat(void);
rosarium 0:2ddc0583bcec 670 void SpiritPktBasicAddressField(SpiritFunctionalState xAddressField);
rosarium 0:2ddc0583bcec 671 SpiritFunctionalState SpiritPktBasicGetAddressField(void);
rosarium 0:2ddc0583bcec 672 void SpiritPktBasicSetPayloadLength(uint16_t nPayloadLength);
rosarium 0:2ddc0583bcec 673 uint16_t SpiritPktBasicGetPayloadLength(void);
rosarium 0:2ddc0583bcec 674 uint16_t SpiritPktBasicGetReceivedPktLength(void);
rosarium 0:2ddc0583bcec 675 void SpiritPktBasicSetVarLengthWidth(uint16_t nMaxPayloadLength,SpiritFunctionalState xAddressField, BasicControlLength xControlLength);
rosarium 0:2ddc0583bcec 676
rosarium 0:2ddc0583bcec 677 /**
rosarium 0:2ddc0583bcec 678 *@}
rosarium 0:2ddc0583bcec 679 */
rosarium 0:2ddc0583bcec 680
rosarium 0:2ddc0583bcec 681 /**
rosarium 0:2ddc0583bcec 682 *@}
rosarium 0:2ddc0583bcec 683 */
rosarium 0:2ddc0583bcec 684
rosarium 0:2ddc0583bcec 685
rosarium 0:2ddc0583bcec 686 /**
rosarium 0:2ddc0583bcec 687 *@}
rosarium 0:2ddc0583bcec 688 */
rosarium 0:2ddc0583bcec 689
rosarium 0:2ddc0583bcec 690 #ifdef __cplusplus
rosarium 0:2ddc0583bcec 691 }
rosarium 0:2ddc0583bcec 692 #endif
rosarium 0:2ddc0583bcec 693
rosarium 0:2ddc0583bcec 694 #endif
rosarium 0:2ddc0583bcec 695
rosarium 0:2ddc0583bcec 696 /******************* (C) COPYRIGHT 2015 STMicroelectronics *****END OF FILE****/