HelloWorld_IDS01A4 mbed application for Spirit1 P2P demo.
Dependencies: mbed
Fork of HelloWorld_IDS01A5_Program by
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
X_NUCLEO_IDS01A5/Components/stm-spirit1-rf-driver/libs/spirit1/SPIRIT1_Library/Inc/SPIRIT_PktStack.h@0:2ddc0583bcec, 2017-05-25 (annotated)
- 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?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| rosarium | 0:2ddc0583bcec | 1 | /** |
| rosarium | 0:2ddc0583bcec | 2 | ****************************************************************************** |
| rosarium | 0:2ddc0583bcec | 3 | * @file SPIRIT_PktStack.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 STack 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 STack |
| rosarium | 0:2ddc0583bcec | 12 | * packets, and it is quite similar to the Basic packets one since the |
| rosarium | 0:2ddc0583bcec | 13 | * STack packets can be considered an extension of Basic. |
| rosarium | 0:2ddc0583bcec | 14 | * The user can obtain a packet configuration filling the structure |
| rosarium | 0:2ddc0583bcec | 15 | * <i>@ref PktStackInit</i>, defining in it some general parameters |
| rosarium | 0:2ddc0583bcec | 16 | * for the Spirit STack packet format. |
| rosarium | 0:2ddc0583bcec | 17 | * Another structure the user can fill is <i>@ref PktStackAddressesInit</i> |
| rosarium | 0:2ddc0583bcec | 18 | * to define the addresses which will be used during the communication. |
| rosarium | 0:2ddc0583bcec | 19 | * The structure <i>@ref PktStackLlpInit</i> is provided in order to configure |
| rosarium | 0:2ddc0583bcec | 20 | * the link layer protocol features like autoack, autoretransmission |
| rosarium | 0:2ddc0583bcec | 21 | * or piggybacking. |
| rosarium | 0:2ddc0583bcec | 22 | * Moreover, functions to set the payload length and the destination address |
| rosarium | 0:2ddc0583bcec | 23 | * are provided. |
| rosarium | 0:2ddc0583bcec | 24 | * |
| rosarium | 0:2ddc0583bcec | 25 | * <b>Example:</b> |
| rosarium | 0:2ddc0583bcec | 26 | * @code |
| rosarium | 0:2ddc0583bcec | 27 | * |
| rosarium | 0:2ddc0583bcec | 28 | * PktStackInit stackInit={ |
| rosarium | 0:2ddc0583bcec | 29 | * PKT_PREAMBLE_LENGTH_08BYTES, // preamble length in bytes |
| rosarium | 0:2ddc0583bcec | 30 | * PKT_SYNC_LENGTH_4BYTES, // sync word length in bytes |
| rosarium | 0:2ddc0583bcec | 31 | * 0x1A2635A8, // sync word |
| rosarium | 0:2ddc0583bcec | 32 | * PKT_LENGTH_VAR, // variable or fixed payload length |
| rosarium | 0:2ddc0583bcec | 33 | * 7, // length field width in bits (used only for variable length) |
| rosarium | 0:2ddc0583bcec | 34 | * PKT_NO_CRC, // CRC mode |
| rosarium | 0:2ddc0583bcec | 35 | * PKT_CONTROL_LENGTH_0BYTES, // control field length |
| rosarium | 0:2ddc0583bcec | 36 | * S_DISABLE, // FEC |
| rosarium | 0:2ddc0583bcec | 37 | * S_ENABLE // whitening |
| rosarium | 0:2ddc0583bcec | 38 | * }; |
| rosarium | 0:2ddc0583bcec | 39 | * |
| rosarium | 0:2ddc0583bcec | 40 | * PktStackAddressesInit addressInit={ |
| rosarium | 0:2ddc0583bcec | 41 | * S_ENABLE, // enable/disable filtering on my address |
| rosarium | 0:2ddc0583bcec | 42 | * 0x34, // my address (address of the current node) |
| rosarium | 0:2ddc0583bcec | 43 | * S_DISABLE, // enable/disable filtering on multicast address |
| rosarium | 0:2ddc0583bcec | 44 | * 0xEE, // multicast address |
| rosarium | 0:2ddc0583bcec | 45 | * S_DISABLE, // enable/disable filtering on broadcast address |
| rosarium | 0:2ddc0583bcec | 46 | * 0xFF // broadcast address |
| rosarium | 0:2ddc0583bcec | 47 | * }; |
| rosarium | 0:2ddc0583bcec | 48 | * |
| rosarium | 0:2ddc0583bcec | 49 | * PktStackLlpInit stackLLPInit ={ |
| rosarium | 0:2ddc0583bcec | 50 | * S_DISABLE, // enable/disable the autoack feature |
| rosarium | 0:2ddc0583bcec | 51 | * S_DISABLE, // enable/disable the piggybacking feature |
| rosarium | 0:2ddc0583bcec | 52 | * PKT_DISABLE_RETX // set the max number of retransmissions or disable them |
| rosarium | 0:2ddc0583bcec | 53 | * }; |
| rosarium | 0:2ddc0583bcec | 54 | * ... |
| rosarium | 0:2ddc0583bcec | 55 | * |
| rosarium | 0:2ddc0583bcec | 56 | * SpiritPktStackInit(&stackInit); |
| rosarium | 0:2ddc0583bcec | 57 | * SpiritPktStackAddressesInit(&addressInit); |
| rosarium | 0:2ddc0583bcec | 58 | * SpiritPktStackLlpInit(&stackLLPInit); |
| rosarium | 0:2ddc0583bcec | 59 | * |
| rosarium | 0:2ddc0583bcec | 60 | * ... |
| rosarium | 0:2ddc0583bcec | 61 | * |
| rosarium | 0:2ddc0583bcec | 62 | * SpiritPktStackSetPayloadLength(20); |
| rosarium | 0:2ddc0583bcec | 63 | * SpiritPktStackSetDestinationAddress(0x44); |
| rosarium | 0:2ddc0583bcec | 64 | * |
| rosarium | 0:2ddc0583bcec | 65 | * ... |
| rosarium | 0:2ddc0583bcec | 66 | * |
| rosarium | 0:2ddc0583bcec | 67 | * @endcode |
| rosarium | 0:2ddc0583bcec | 68 | * |
| rosarium | 0:2ddc0583bcec | 69 | * The module provides some other functions that can be used to modify |
| rosarium | 0:2ddc0583bcec | 70 | * or read only some configuration parameters. |
| rosarium | 0:2ddc0583bcec | 71 | * |
| rosarium | 0:2ddc0583bcec | 72 | * |
| rosarium | 0:2ddc0583bcec | 73 | * @attention |
| rosarium | 0:2ddc0583bcec | 74 | * |
| rosarium | 0:2ddc0583bcec | 75 | * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> |
| rosarium | 0:2ddc0583bcec | 76 | * |
| rosarium | 0:2ddc0583bcec | 77 | * Redistribution and use in source and binary forms, with or without modification, |
| rosarium | 0:2ddc0583bcec | 78 | * are permitted provided that the following conditions are met: |
| rosarium | 0:2ddc0583bcec | 79 | * 1. Redistributions of source code must retain the above copyright notice, |
| rosarium | 0:2ddc0583bcec | 80 | * this list of conditions and the following disclaimer. |
| rosarium | 0:2ddc0583bcec | 81 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
| rosarium | 0:2ddc0583bcec | 82 | * this list of conditions and the following disclaimer in the documentation |
| rosarium | 0:2ddc0583bcec | 83 | * and/or other materials provided with the distribution. |
| rosarium | 0:2ddc0583bcec | 84 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
| rosarium | 0:2ddc0583bcec | 85 | * may be used to endorse or promote products derived from this software |
| rosarium | 0:2ddc0583bcec | 86 | * without specific prior written permission. |
| rosarium | 0:2ddc0583bcec | 87 | * |
| rosarium | 0:2ddc0583bcec | 88 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| rosarium | 0:2ddc0583bcec | 89 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| rosarium | 0:2ddc0583bcec | 90 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| rosarium | 0:2ddc0583bcec | 91 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
| rosarium | 0:2ddc0583bcec | 92 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| rosarium | 0:2ddc0583bcec | 93 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
| rosarium | 0:2ddc0583bcec | 94 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
| rosarium | 0:2ddc0583bcec | 95 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
| rosarium | 0:2ddc0583bcec | 96 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| rosarium | 0:2ddc0583bcec | 97 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| rosarium | 0:2ddc0583bcec | 98 | * |
| rosarium | 0:2ddc0583bcec | 99 | ****************************************************************************** |
| rosarium | 0:2ddc0583bcec | 100 | */ |
| rosarium | 0:2ddc0583bcec | 101 | |
| rosarium | 0:2ddc0583bcec | 102 | /* Define to prevent recursive inclusion -------------------------------------*/ |
| rosarium | 0:2ddc0583bcec | 103 | #ifndef __SPIRIT_PKT_STACK_H |
| rosarium | 0:2ddc0583bcec | 104 | #define __SPIRIT_PKT_STACK_H |
| rosarium | 0:2ddc0583bcec | 105 | |
| rosarium | 0:2ddc0583bcec | 106 | /* Includes ------------------------------------------------------------------*/ |
| rosarium | 0:2ddc0583bcec | 107 | |
| rosarium | 0:2ddc0583bcec | 108 | #include "SPIRIT_Regs.h" |
| rosarium | 0:2ddc0583bcec | 109 | #include "SPIRIT_Types.h" |
| rosarium | 0:2ddc0583bcec | 110 | #include "SPIRIT_PktCommon.h" |
| rosarium | 0:2ddc0583bcec | 111 | |
| rosarium | 0:2ddc0583bcec | 112 | #ifdef __cplusplus |
| rosarium | 0:2ddc0583bcec | 113 | extern "C" { |
| rosarium | 0:2ddc0583bcec | 114 | #endif |
| rosarium | 0:2ddc0583bcec | 115 | |
| rosarium | 0:2ddc0583bcec | 116 | |
| rosarium | 0:2ddc0583bcec | 117 | |
| rosarium | 0:2ddc0583bcec | 118 | /** |
| rosarium | 0:2ddc0583bcec | 119 | * @addtogroup SPIRIT_Libraries |
| rosarium | 0:2ddc0583bcec | 120 | * @{ |
| rosarium | 0:2ddc0583bcec | 121 | */ |
| rosarium | 0:2ddc0583bcec | 122 | |
| rosarium | 0:2ddc0583bcec | 123 | |
| rosarium | 0:2ddc0583bcec | 124 | /** |
| rosarium | 0:2ddc0583bcec | 125 | * @defgroup SPIRIT_PktStack Pkt STack |
| rosarium | 0:2ddc0583bcec | 126 | * @brief Configuration and management of SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 127 | * @details See the file <i>@ref SPIRIT_PktStack.h</i> for more details. |
| rosarium | 0:2ddc0583bcec | 128 | * @{ |
| rosarium | 0:2ddc0583bcec | 129 | */ |
| rosarium | 0:2ddc0583bcec | 130 | |
| rosarium | 0:2ddc0583bcec | 131 | /** |
| rosarium | 0:2ddc0583bcec | 132 | * @defgroup PktStack_Exported_Types Pkt STack Exported Types |
| rosarium | 0:2ddc0583bcec | 133 | * @{ |
| rosarium | 0:2ddc0583bcec | 134 | */ |
| rosarium | 0:2ddc0583bcec | 135 | |
| rosarium | 0:2ddc0583bcec | 136 | /** |
| rosarium | 0:2ddc0583bcec | 137 | * @brief Preamble length in bytes enumeration. |
| rosarium | 0:2ddc0583bcec | 138 | */ |
| rosarium | 0:2ddc0583bcec | 139 | typedef PktPreambleLength StackPreambleLength; |
| rosarium | 0:2ddc0583bcec | 140 | |
| rosarium | 0:2ddc0583bcec | 141 | #define IS_STACK_PREAMBLE_LENGTH IS_PKT_PREAMBLE_LENGTH |
| rosarium | 0:2ddc0583bcec | 142 | |
| rosarium | 0:2ddc0583bcec | 143 | /** |
| rosarium | 0:2ddc0583bcec | 144 | * @brief Sync length in bytes enumeration. |
| rosarium | 0:2ddc0583bcec | 145 | */ |
| rosarium | 0:2ddc0583bcec | 146 | typedef PktSyncLength StackSyncLength; |
| rosarium | 0:2ddc0583bcec | 147 | |
| rosarium | 0:2ddc0583bcec | 148 | #define IS_STACK_SYNC_LENGTH IS_PKT_SYNC_LENGTH |
| rosarium | 0:2ddc0583bcec | 149 | |
| rosarium | 0:2ddc0583bcec | 150 | |
| rosarium | 0:2ddc0583bcec | 151 | |
| rosarium | 0:2ddc0583bcec | 152 | /** |
| rosarium | 0:2ddc0583bcec | 153 | * @brief CRC length in bytes enumeration. |
| rosarium | 0:2ddc0583bcec | 154 | */ |
| rosarium | 0:2ddc0583bcec | 155 | typedef PktCrcMode StackCrcMode; |
| rosarium | 0:2ddc0583bcec | 156 | |
| rosarium | 0:2ddc0583bcec | 157 | #define IS_STACK_CRC_MODE IS_PKT_CRC_MODE |
| rosarium | 0:2ddc0583bcec | 158 | |
| rosarium | 0:2ddc0583bcec | 159 | |
| rosarium | 0:2ddc0583bcec | 160 | /** |
| rosarium | 0:2ddc0583bcec | 161 | * @brief Fixed or variable payload length enumeration. |
| rosarium | 0:2ddc0583bcec | 162 | */ |
| rosarium | 0:2ddc0583bcec | 163 | typedef PktFixVarLength StackFixVarLength; |
| rosarium | 0:2ddc0583bcec | 164 | |
| rosarium | 0:2ddc0583bcec | 165 | #define IS_STACK_FIX_VAR_LENGTH IS_PKT_FIX_VAR_LENGTH |
| rosarium | 0:2ddc0583bcec | 166 | |
| rosarium | 0:2ddc0583bcec | 167 | /** |
| rosarium | 0:2ddc0583bcec | 168 | * @brief Control length in bytes enumeration for SPIRIT. |
| rosarium | 0:2ddc0583bcec | 169 | */ |
| rosarium | 0:2ddc0583bcec | 170 | typedef PktControlLength StackControlLength; |
| rosarium | 0:2ddc0583bcec | 171 | |
| rosarium | 0:2ddc0583bcec | 172 | #define IS_STACK_CONTROL_LENGTH IS_PKT_CONTROL_LENGTH |
| rosarium | 0:2ddc0583bcec | 173 | |
| rosarium | 0:2ddc0583bcec | 174 | /** |
| rosarium | 0:2ddc0583bcec | 175 | * @brief Sync words enumeration for SPIRIT. |
| rosarium | 0:2ddc0583bcec | 176 | */ |
| rosarium | 0:2ddc0583bcec | 177 | typedef PktSyncX StackSyncX; |
| rosarium | 0:2ddc0583bcec | 178 | |
| rosarium | 0:2ddc0583bcec | 179 | #define IS_STACK_SYNCx IS_PKT_SYNCx |
| rosarium | 0:2ddc0583bcec | 180 | |
| rosarium | 0:2ddc0583bcec | 181 | /** |
| rosarium | 0:2ddc0583bcec | 182 | * @brief Max retransmission number enumeration for SPIRIT. |
| rosarium | 0:2ddc0583bcec | 183 | */ |
| rosarium | 0:2ddc0583bcec | 184 | typedef PktNMaxReTx StackNMaxReTx; |
| rosarium | 0:2ddc0583bcec | 185 | |
| rosarium | 0:2ddc0583bcec | 186 | #define IS_STACK_NMAX_RETX IS_PKT_NMAX_RETX |
| rosarium | 0:2ddc0583bcec | 187 | |
| rosarium | 0:2ddc0583bcec | 188 | |
| rosarium | 0:2ddc0583bcec | 189 | /** |
| rosarium | 0:2ddc0583bcec | 190 | * @brief SPIRIT STack Packet Init structure definition. This structure allows users to set the main options |
| rosarium | 0:2ddc0583bcec | 191 | * for the STack packet. |
| rosarium | 0:2ddc0583bcec | 192 | */ |
| rosarium | 0:2ddc0583bcec | 193 | typedef struct |
| rosarium | 0:2ddc0583bcec | 194 | { |
| rosarium | 0:2ddc0583bcec | 195 | |
| rosarium | 0:2ddc0583bcec | 196 | StackPreambleLength xPreambleLength; /*!< Specifies the preamble length of packet. |
| rosarium | 0:2ddc0583bcec | 197 | This parameter can be any value of @ref StackPreambleLength */ |
| rosarium | 0:2ddc0583bcec | 198 | StackSyncLength xSyncLength; /*!< Specifies the sync word length of packet. |
| rosarium | 0:2ddc0583bcec | 199 | This parameter can be any value of @ref StackSyncLength */ |
| rosarium | 0:2ddc0583bcec | 200 | uint32_t lSyncWords; /*!< Specifies the sync words. |
| rosarium | 0:2ddc0583bcec | 201 | This parameter is a uint32_t word with format: 0x|SYNC1|SYNC2|SYNC3|SYNC4| */ |
| rosarium | 0:2ddc0583bcec | 202 | StackFixVarLength xFixVarLength; /*!< Specifies if a fixed length of packet has to be used. |
| rosarium | 0:2ddc0583bcec | 203 | This parameter can be any value of @ref StackFixVarLength */ |
| rosarium | 0:2ddc0583bcec | 204 | uint8_t cPktLengthWidth; /*!< Specifies the size of the length of packet in bits. This field is useful only if |
| rosarium | 0:2ddc0583bcec | 205 | the field xFixVarLength is set to STACK_LENGTH_VAR. For STack packets the length width |
| rosarium | 0:2ddc0583bcec | 206 | is log2( max payload length + control length (0 to 4) + address length (always 2)). |
| rosarium | 0:2ddc0583bcec | 207 | This parameter is an uint8_t */ |
| rosarium | 0:2ddc0583bcec | 208 | StackCrcMode xCrcMode; /*!< Specifies the CRC word length of packet. |
| rosarium | 0:2ddc0583bcec | 209 | This parameter can be any value of @ref StackCrcMode */ |
| rosarium | 0:2ddc0583bcec | 210 | StackControlLength xControlLength; /*!< Specifies the length of a control field to be sent. |
| rosarium | 0:2ddc0583bcec | 211 | This parameter can be any value of @ref StackControlLength */ |
| rosarium | 0:2ddc0583bcec | 212 | SpiritFunctionalState xFec; /*!< Specifies if FEC has to be enabled. |
| rosarium | 0:2ddc0583bcec | 213 | This parameter can be any value of @ref SpiritFunctionalState */ |
| rosarium | 0:2ddc0583bcec | 214 | SpiritFunctionalState xDataWhitening; /*!< Specifies if data whitening has to be enabled. |
| rosarium | 0:2ddc0583bcec | 215 | This parameter can be any value of @ref SpiritFunctionalState */ |
| rosarium | 0:2ddc0583bcec | 216 | |
| rosarium | 0:2ddc0583bcec | 217 | }PktStackInit; |
| rosarium | 0:2ddc0583bcec | 218 | |
| rosarium | 0:2ddc0583bcec | 219 | |
| rosarium | 0:2ddc0583bcec | 220 | /** |
| rosarium | 0:2ddc0583bcec | 221 | * @brief SPIRIT STack packet address structure definition. This structure allows users to specify |
| rosarium | 0:2ddc0583bcec | 222 | * the node/multicast/broadcast addresses and the correspondent filtering options. |
| rosarium | 0:2ddc0583bcec | 223 | */ |
| rosarium | 0:2ddc0583bcec | 224 | typedef struct |
| rosarium | 0:2ddc0583bcec | 225 | { |
| rosarium | 0:2ddc0583bcec | 226 | |
| rosarium | 0:2ddc0583bcec | 227 | SpiritFunctionalState xFilterOnMyAddress; /*!< If set RX packet is accepted if its destination address matches with cMyAddress. |
| rosarium | 0:2ddc0583bcec | 228 | This parameter can be S_ENABLE or S_DISABLE */ |
| rosarium | 0:2ddc0583bcec | 229 | uint8_t cMyAddress; /*!< Specifies the TX packet source address (address of this node). |
| rosarium | 0:2ddc0583bcec | 230 | This parameter is an uint8_t */ |
| rosarium | 0:2ddc0583bcec | 231 | SpiritFunctionalState xFilterOnMulticastAddress; /*!< If set RX packet is accepted if its destination address matches with cMulticastAddress. |
| rosarium | 0:2ddc0583bcec | 232 | This parameter can be S_ENABLE or S_DISABLE */ |
| rosarium | 0:2ddc0583bcec | 233 | uint8_t cMulticastAddress; /*!< Specifies the Multicast group address for this node. |
| rosarium | 0:2ddc0583bcec | 234 | This parameter is an uint8_t */ |
| rosarium | 0:2ddc0583bcec | 235 | SpiritFunctionalState xFilterOnBroadcastAddress; /*!< If set RX packet is accepted if its destination address matches with cBroadcastAddress. |
| rosarium | 0:2ddc0583bcec | 236 | This parameter can be S_ENABLE or S_DISABLE */ |
| rosarium | 0:2ddc0583bcec | 237 | uint8_t cBroadcastAddress; /*!< Specifies the Broadcast address for this node. |
| rosarium | 0:2ddc0583bcec | 238 | This parameter is an uint8_t */ |
| rosarium | 0:2ddc0583bcec | 239 | }PktStackAddressesInit; |
| rosarium | 0:2ddc0583bcec | 240 | |
| rosarium | 0:2ddc0583bcec | 241 | |
| rosarium | 0:2ddc0583bcec | 242 | /** |
| rosarium | 0:2ddc0583bcec | 243 | * @brief SPIRIT STack packet LLP structure definition. This structure allows users to configure |
| rosarium | 0:2ddc0583bcec | 244 | * all the LLP options for STack packets. |
| rosarium | 0:2ddc0583bcec | 245 | */ |
| rosarium | 0:2ddc0583bcec | 246 | typedef struct |
| rosarium | 0:2ddc0583bcec | 247 | { |
| rosarium | 0:2ddc0583bcec | 248 | |
| rosarium | 0:2ddc0583bcec | 249 | SpiritFunctionalState xAutoAck; /*!< Specifies if the auto ACK feature is used or not. |
| rosarium | 0:2ddc0583bcec | 250 | This parameter can be a value of @ref SpiritFunctionalState */ |
| rosarium | 0:2ddc0583bcec | 251 | SpiritFunctionalState xPiggybacking; /*!< Specifies if the piggybacking feature is used or not. |
| rosarium | 0:2ddc0583bcec | 252 | This parameter can be a value of @ref SpiritFunctionalState */ |
| rosarium | 0:2ddc0583bcec | 253 | StackNMaxReTx xNMaxRetx; /*!< Specifies the number of MAX-Retransmissions. |
| rosarium | 0:2ddc0583bcec | 254 | This parameter can be a value of @ref StackNMaxReTx */ |
| rosarium | 0:2ddc0583bcec | 255 | }PktStackLlpInit; |
| rosarium | 0:2ddc0583bcec | 256 | |
| rosarium | 0:2ddc0583bcec | 257 | |
| rosarium | 0:2ddc0583bcec | 258 | |
| rosarium | 0:2ddc0583bcec | 259 | /** |
| rosarium | 0:2ddc0583bcec | 260 | *@} |
| rosarium | 0:2ddc0583bcec | 261 | */ |
| rosarium | 0:2ddc0583bcec | 262 | |
| rosarium | 0:2ddc0583bcec | 263 | |
| rosarium | 0:2ddc0583bcec | 264 | /** |
| rosarium | 0:2ddc0583bcec | 265 | * @defgroup PktStack_Exported_Constants Pkt STack Exported Constants |
| rosarium | 0:2ddc0583bcec | 266 | * @{ |
| rosarium | 0:2ddc0583bcec | 267 | */ |
| rosarium | 0:2ddc0583bcec | 268 | |
| rosarium | 0:2ddc0583bcec | 269 | #define IS_STACK_LENGTH_WIDTH_BITS IS_PKT_LENGTH_WIDTH_BITS |
| rosarium | 0:2ddc0583bcec | 270 | |
| rosarium | 0:2ddc0583bcec | 271 | /** |
| rosarium | 0:2ddc0583bcec | 272 | *@} |
| rosarium | 0:2ddc0583bcec | 273 | */ |
| rosarium | 0:2ddc0583bcec | 274 | |
| rosarium | 0:2ddc0583bcec | 275 | |
| rosarium | 0:2ddc0583bcec | 276 | /** |
| rosarium | 0:2ddc0583bcec | 277 | * @defgroup PktStack_Exported_Macros Pkt STack Exported Macros |
| rosarium | 0:2ddc0583bcec | 278 | * @{ |
| rosarium | 0:2ddc0583bcec | 279 | */ |
| rosarium | 0:2ddc0583bcec | 280 | |
| rosarium | 0:2ddc0583bcec | 281 | /** |
| rosarium | 0:2ddc0583bcec | 282 | * @brief Macro used to compute the lower part of the packet length |
| rosarium | 0:2ddc0583bcec | 283 | * for Spirit STack packets, to write in the PCKTLEN0 register. |
| rosarium | 0:2ddc0583bcec | 284 | * @param nLength length of the packet payload. |
| rosarium | 0:2ddc0583bcec | 285 | * This parameter is an uint16_t. |
| rosarium | 0:2ddc0583bcec | 286 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 287 | */ |
| rosarium | 0:2ddc0583bcec | 288 | #define STACK_BUILD_PCKTLEN0(nLength) BUILD_PCKTLEN0(nLength) |
| rosarium | 0:2ddc0583bcec | 289 | |
| rosarium | 0:2ddc0583bcec | 290 | |
| rosarium | 0:2ddc0583bcec | 291 | /** |
| rosarium | 0:2ddc0583bcec | 292 | * @brief Macro used to compute the upper part of the packet length |
| rosarium | 0:2ddc0583bcec | 293 | * for Spirit STack packets, to write the PCKTLEN1 register. |
| rosarium | 0:2ddc0583bcec | 294 | * @param nLength length of the packet payload. |
| rosarium | 0:2ddc0583bcec | 295 | * This parameter is an uint16_t. |
| rosarium | 0:2ddc0583bcec | 296 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 297 | */ |
| rosarium | 0:2ddc0583bcec | 298 | #define STACK_BUILD_PCKTLEN1(nLength) BUILD_PCKTLEN1(nLength) |
| rosarium | 0:2ddc0583bcec | 299 | |
| rosarium | 0:2ddc0583bcec | 300 | |
| rosarium | 0:2ddc0583bcec | 301 | /** |
| rosarium | 0:2ddc0583bcec | 302 | * @brief Sets the CONTROL length for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 303 | * @param xControlLength length of CONTROL field in bytes. |
| rosarium | 0:2ddc0583bcec | 304 | * This parameter can be any value of @ref StackControlLength. |
| rosarium | 0:2ddc0583bcec | 305 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 306 | */ |
| rosarium | 0:2ddc0583bcec | 307 | #define SpiritPktStackSetControlLength(xControlLength) SpiritPktCommonSetControlLength(xControlLength) |
| rosarium | 0:2ddc0583bcec | 308 | |
| rosarium | 0:2ddc0583bcec | 309 | |
| rosarium | 0:2ddc0583bcec | 310 | /** |
| rosarium | 0:2ddc0583bcec | 311 | * @brief Returns the CONTROL length for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 312 | * @param None. |
| rosarium | 0:2ddc0583bcec | 313 | * @retval Control length. |
| rosarium | 0:2ddc0583bcec | 314 | */ |
| rosarium | 0:2ddc0583bcec | 315 | #define SpiritPktStackGetControlLength() SpiritPktCommonGetControlLength() |
| rosarium | 0:2ddc0583bcec | 316 | |
| rosarium | 0:2ddc0583bcec | 317 | |
| rosarium | 0:2ddc0583bcec | 318 | /** |
| rosarium | 0:2ddc0583bcec | 319 | * @brief Sets the PREAMBLE Length mode for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 320 | * @param xPreambleLength length of PREAMBLE field in bytes. |
| rosarium | 0:2ddc0583bcec | 321 | * This parameter can be any value of @ref StackPreambleLength. |
| rosarium | 0:2ddc0583bcec | 322 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 323 | */ |
| rosarium | 0:2ddc0583bcec | 324 | #define SpiritPktStackSetPreambleLength(xPreambleLength) SpiritPktCommonSetPreambleLength((PktPreambleLength)xPreambleLength) |
| rosarium | 0:2ddc0583bcec | 325 | |
| rosarium | 0:2ddc0583bcec | 326 | |
| rosarium | 0:2ddc0583bcec | 327 | /** |
| rosarium | 0:2ddc0583bcec | 328 | * @brief Returns the PREAMBLE Length mode for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 329 | * @param None. |
| rosarium | 0:2ddc0583bcec | 330 | * @retval uint8_t Preamble length in bytes. |
| rosarium | 0:2ddc0583bcec | 331 | */ |
| rosarium | 0:2ddc0583bcec | 332 | #define SpiritPktStackGetPreambleLength() SpiritPktCommonGetPreambleLength() |
| rosarium | 0:2ddc0583bcec | 333 | |
| rosarium | 0:2ddc0583bcec | 334 | |
| rosarium | 0:2ddc0583bcec | 335 | /** |
| rosarium | 0:2ddc0583bcec | 336 | * @brief Sets the SYNC Length for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 337 | * @param xSyncLength length of SYNC field in bytes. |
| rosarium | 0:2ddc0583bcec | 338 | * This parameter can be any value of @ref StackSyncLength. |
| rosarium | 0:2ddc0583bcec | 339 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 340 | */ |
| rosarium | 0:2ddc0583bcec | 341 | #define SpiritPktStackSetSyncLength(xSyncLength) SpiritPktCommonSetSyncLength((PktSyncLength)xSyncLength) |
| rosarium | 0:2ddc0583bcec | 342 | |
| rosarium | 0:2ddc0583bcec | 343 | |
| rosarium | 0:2ddc0583bcec | 344 | /** |
| rosarium | 0:2ddc0583bcec | 345 | * @brief Returns the SYNC Length for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 346 | * @param None. |
| rosarium | 0:2ddc0583bcec | 347 | * @retval uint8_t Sync length in bytes. |
| rosarium | 0:2ddc0583bcec | 348 | */ |
| rosarium | 0:2ddc0583bcec | 349 | #define SpiritPktStackGetSyncLength() SpiritPktCommonGetSyncLength() |
| rosarium | 0:2ddc0583bcec | 350 | |
| rosarium | 0:2ddc0583bcec | 351 | |
| rosarium | 0:2ddc0583bcec | 352 | /** |
| rosarium | 0:2ddc0583bcec | 353 | * @brief Sets fixed or variable payload length mode for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 354 | * @param xFixVarLength variable or fixed length. |
| rosarium | 0:2ddc0583bcec | 355 | * PKT_FIXED_LENGTH_VAR -> variable (the length is extracted from the received packet). |
| rosarium | 0:2ddc0583bcec | 356 | * PKT_FIXED_LENGTH_FIX -> fix (the length is set by PCKTLEN0 and PCKTLEN1). |
| rosarium | 0:2ddc0583bcec | 357 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 358 | */ |
| rosarium | 0:2ddc0583bcec | 359 | #define SpiritPktStackSetFixVarLength(xFixVarLength) SpiritPktCommonSetFixVarLength((PktFixVarLength)xFixVarLength) |
| rosarium | 0:2ddc0583bcec | 360 | |
| rosarium | 0:2ddc0583bcec | 361 | |
| rosarium | 0:2ddc0583bcec | 362 | /** |
| rosarium | 0:2ddc0583bcec | 363 | * @brief Enables or Disables the CRC filtering. |
| rosarium | 0:2ddc0583bcec | 364 | * @param xNewState new state for CRC_CHECK. |
| rosarium | 0:2ddc0583bcec | 365 | * This parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 366 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 367 | */ |
| rosarium | 0:2ddc0583bcec | 368 | #define SpiritPktStackFilterOnCrc(xNewState) SpiritPktCommonFilterOnCrc(xNewState) |
| rosarium | 0:2ddc0583bcec | 369 | |
| rosarium | 0:2ddc0583bcec | 370 | |
| rosarium | 0:2ddc0583bcec | 371 | /** |
| rosarium | 0:2ddc0583bcec | 372 | * @brief Returns the CRC filtering bit. |
| rosarium | 0:2ddc0583bcec | 373 | * @param None. |
| rosarium | 0:2ddc0583bcec | 374 | * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 375 | */ |
| rosarium | 0:2ddc0583bcec | 376 | #define SpiritPktStackGetFilterOnCrc() SpiritPktCommonGetFilterOnCrc() |
| rosarium | 0:2ddc0583bcec | 377 | |
| rosarium | 0:2ddc0583bcec | 378 | |
| rosarium | 0:2ddc0583bcec | 379 | /** |
| rosarium | 0:2ddc0583bcec | 380 | * @brief Sets the CRC mode for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 381 | * @param xCrcMode CRC mode. |
| rosarium | 0:2ddc0583bcec | 382 | * This parameter can be any value of @ref StackCrcMode. |
| rosarium | 0:2ddc0583bcec | 383 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 384 | */ |
| rosarium | 0:2ddc0583bcec | 385 | #define SpiritPktStackSetCrcMode(xCrcMode) SpiritPktCommonSetCrcMode((PktCrcMode)xCrcMode) |
| rosarium | 0:2ddc0583bcec | 386 | |
| rosarium | 0:2ddc0583bcec | 387 | |
| rosarium | 0:2ddc0583bcec | 388 | /** |
| rosarium | 0:2ddc0583bcec | 389 | * @brief Returns the CRC mode for SPIRIT packets. |
| rosarium | 0:2ddc0583bcec | 390 | * @param None. |
| rosarium | 0:2ddc0583bcec | 391 | * @retval StackCrcMode Crc mode. |
| rosarium | 0:2ddc0583bcec | 392 | */ |
| rosarium | 0:2ddc0583bcec | 393 | #define SpiritPktStackGetCrcMode() (StackCrcMode)SpiritPktCommonGetCrcMode() |
| rosarium | 0:2ddc0583bcec | 394 | |
| rosarium | 0:2ddc0583bcec | 395 | |
| rosarium | 0:2ddc0583bcec | 396 | /** |
| rosarium | 0:2ddc0583bcec | 397 | * @brief Enables or Disables WHITENING for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 398 | * @param xNewState new state for WHITENING mode. |
| rosarium | 0:2ddc0583bcec | 399 | * This parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 400 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 401 | */ |
| rosarium | 0:2ddc0583bcec | 402 | #define SpiritPktStackWhitening(xNewState) SpiritPktCommonWhitening(xNewState) |
| rosarium | 0:2ddc0583bcec | 403 | |
| rosarium | 0:2ddc0583bcec | 404 | |
| rosarium | 0:2ddc0583bcec | 405 | /** |
| rosarium | 0:2ddc0583bcec | 406 | * @brief Enables or Disables FEC for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 407 | * @param xNewState new state for FEC mode. |
| rosarium | 0:2ddc0583bcec | 408 | * This parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 409 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 410 | */ |
| rosarium | 0:2ddc0583bcec | 411 | #define SpiritPktStackFec(xNewState) SpiritPktCommonFec(xNewState) |
| rosarium | 0:2ddc0583bcec | 412 | |
| rosarium | 0:2ddc0583bcec | 413 | |
| rosarium | 0:2ddc0583bcec | 414 | /** |
| rosarium | 0:2ddc0583bcec | 415 | * @brief Sets a specific SYNC word for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 416 | * @param xSyncX SYNC word number to be set. |
| rosarium | 0:2ddc0583bcec | 417 | * This parameter can be any value of @ref StackSyncX. |
| rosarium | 0:2ddc0583bcec | 418 | * @param cSyncWord SYNC word. |
| rosarium | 0:2ddc0583bcec | 419 | * This parameter is an uint8_t. |
| rosarium | 0:2ddc0583bcec | 420 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 421 | */ |
| rosarium | 0:2ddc0583bcec | 422 | #define SpiritPktStackSetSyncxWord(xSyncX, cSyncWord) SpiritPktCommonSetSyncxWord((PktSyncX)xSyncX,cSyncWord) |
| rosarium | 0:2ddc0583bcec | 423 | |
| rosarium | 0:2ddc0583bcec | 424 | |
| rosarium | 0:2ddc0583bcec | 425 | /** |
| rosarium | 0:2ddc0583bcec | 426 | * @brief Returns a specific SYNC word for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 427 | * @param xSyncX SYNC word number to be get. |
| rosarium | 0:2ddc0583bcec | 428 | * This parameter can be any value of @ref StackSyncX. |
| rosarium | 0:2ddc0583bcec | 429 | * @retval uint8_t Sync word x. |
| rosarium | 0:2ddc0583bcec | 430 | */ |
| rosarium | 0:2ddc0583bcec | 431 | #define SpiritPktStackGetSyncxWord(xSyncX) SpiritPktCommonGetSyncxWord(xSyncX) |
| rosarium | 0:2ddc0583bcec | 432 | |
| rosarium | 0:2ddc0583bcec | 433 | |
| rosarium | 0:2ddc0583bcec | 434 | /** |
| rosarium | 0:2ddc0583bcec | 435 | * @brief Sets multiple SYNC words for SPIRIT STack packets. |
| rosarium | 0:2ddc0583bcec | 436 | * @param lSyncWords SYNC words to be set with format: 0x|SYNC1|SYNC2|SYNC3|SYNC4|. |
| rosarium | 0:2ddc0583bcec | 437 | * This parameter is a uint32_t. |
| rosarium | 0:2ddc0583bcec | 438 | * @param xSyncLength SYNC length in bytes. The 32bit word passed will be stored in the SYNCx registers from the MSb |
| rosarium | 0:2ddc0583bcec | 439 | * until the number of bytes in xSyncLength has been stored. |
| rosarium | 0:2ddc0583bcec | 440 | * This parameter is a @ref StackSyncLength. |
| rosarium | 0:2ddc0583bcec | 441 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 442 | */ |
| rosarium | 0:2ddc0583bcec | 443 | #define SpiritPktStackSetSyncWords(lSyncWords, xSyncLength) SpiritPktCommonSetSyncWords(lSyncWords,(PktSyncLength)xSyncLength) |
| rosarium | 0:2ddc0583bcec | 444 | |
| rosarium | 0:2ddc0583bcec | 445 | |
| rosarium | 0:2ddc0583bcec | 446 | /** |
| rosarium | 0:2ddc0583bcec | 447 | * @brief Returns multiple SYNC words for SPIRIT packets. |
| rosarium | 0:2ddc0583bcec | 448 | * @param xSyncLength SYNC length in bytes. The 32bit word passed will be stored in the SYNCx registers from the MSb |
| rosarium | 0:2ddc0583bcec | 449 | * until the number of bytes in xSyncLength has been stored. |
| rosarium | 0:2ddc0583bcec | 450 | * This parameter is a pointer to @ref StackSyncLength. |
| rosarium | 0:2ddc0583bcec | 451 | * @retval uint32_t Sync words. The format of the read 32 bit word is 0x|SYNC1|SYNC2|SYNC3|SYNC4|. |
| rosarium | 0:2ddc0583bcec | 452 | */ |
| rosarium | 0:2ddc0583bcec | 453 | #define SpiritPktStackGetSyncWords(xSyncLength) SpiritPktCommonGetSyncWords((PktSyncLength)xSyncLength) |
| rosarium | 0:2ddc0583bcec | 454 | |
| rosarium | 0:2ddc0583bcec | 455 | |
| rosarium | 0:2ddc0583bcec | 456 | /** |
| rosarium | 0:2ddc0583bcec | 457 | * @brief Returns the SPIRIT variable length width (in number of bits). |
| rosarium | 0:2ddc0583bcec | 458 | * @param None. |
| rosarium | 0:2ddc0583bcec | 459 | * @retval uint8_t Variable length width in bits. |
| rosarium | 0:2ddc0583bcec | 460 | */ |
| rosarium | 0:2ddc0583bcec | 461 | #define SpiritPktStackGetVarLengthWidth() SpiritPktCommonGetVarLengthWidth() |
| rosarium | 0:2ddc0583bcec | 462 | |
| rosarium | 0:2ddc0583bcec | 463 | |
| rosarium | 0:2ddc0583bcec | 464 | /** |
| rosarium | 0:2ddc0583bcec | 465 | * @brief Sets the destination address for the Tx packet. |
| rosarium | 0:2ddc0583bcec | 466 | * @param cAddress destination address. |
| rosarium | 0:2ddc0583bcec | 467 | * This parameter is an uint8_t. |
| rosarium | 0:2ddc0583bcec | 468 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 469 | */ |
| rosarium | 0:2ddc0583bcec | 470 | #define SpiritPktStackSetDestinationAddress(cAddress) SpiritPktCommonSetDestinationAddress(cAddress) |
| rosarium | 0:2ddc0583bcec | 471 | |
| rosarium | 0:2ddc0583bcec | 472 | |
| rosarium | 0:2ddc0583bcec | 473 | /** |
| rosarium | 0:2ddc0583bcec | 474 | * @brief Sets the Rx packet reference source address. The source address extracted from the received packet is masked |
| rosarium | 0:2ddc0583bcec | 475 | * with the source reference mask and then compared to the masked reference value. |
| rosarium | 0:2ddc0583bcec | 476 | * @param cAddress Reference source address. |
| rosarium | 0:2ddc0583bcec | 477 | * This parameter is an uint8_t. |
| rosarium | 0:2ddc0583bcec | 478 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 479 | */ |
| rosarium | 0:2ddc0583bcec | 480 | #define SpiritPktStackSetSourceReferenceAddress(cAddress) SpiritPktCommonSetDestinationAddress(cAddress) |
| rosarium | 0:2ddc0583bcec | 481 | |
| rosarium | 0:2ddc0583bcec | 482 | |
| rosarium | 0:2ddc0583bcec | 483 | /** |
| rosarium | 0:2ddc0583bcec | 484 | * @brief Returns the Rx packet reference source address. The source address extracted from the received packet is masked |
| rosarium | 0:2ddc0583bcec | 485 | * with the source reference mask and then compared to the masked reference value. |
| rosarium | 0:2ddc0583bcec | 486 | * @param cAddress Reference source address. |
| rosarium | 0:2ddc0583bcec | 487 | * This parameter is an uint8_t. |
| rosarium | 0:2ddc0583bcec | 488 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 489 | */ |
| rosarium | 0:2ddc0583bcec | 490 | #define SpiritPktStackGetSourceReferenceAddress() SpiritPktCommonGetTransmittedDestAddress() |
| rosarium | 0:2ddc0583bcec | 491 | |
| rosarium | 0:2ddc0583bcec | 492 | |
| rosarium | 0:2ddc0583bcec | 493 | /** |
| rosarium | 0:2ddc0583bcec | 494 | * @brief Returns the settled destination address. |
| rosarium | 0:2ddc0583bcec | 495 | * @param None. |
| rosarium | 0:2ddc0583bcec | 496 | * @retval uint8_t Transmitted destination address. |
| rosarium | 0:2ddc0583bcec | 497 | */ |
| rosarium | 0:2ddc0583bcec | 498 | #define SpiritPktStackGetTransmittedDestAddress() SpiritPktCommonGetTransmittedDestAddress() |
| rosarium | 0:2ddc0583bcec | 499 | |
| rosarium | 0:2ddc0583bcec | 500 | |
| rosarium | 0:2ddc0583bcec | 501 | /** |
| rosarium | 0:2ddc0583bcec | 502 | * @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 | 503 | * my address, then the packet is accepted (this is the address of the node). |
| rosarium | 0:2ddc0583bcec | 504 | * @param cAddress Address of the present node. |
| rosarium | 0:2ddc0583bcec | 505 | * This parameter is an uint8_t. |
| rosarium | 0:2ddc0583bcec | 506 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 507 | */ |
| rosarium | 0:2ddc0583bcec | 508 | #define SpiritPktStackSetMyAddress(cAddress) SpiritPktCommonSetMyAddress(cAddress) |
| rosarium | 0:2ddc0583bcec | 509 | |
| rosarium | 0:2ddc0583bcec | 510 | |
| rosarium | 0:2ddc0583bcec | 511 | /** |
| rosarium | 0:2ddc0583bcec | 512 | * @brief Returns the address of the present node. |
| rosarium | 0:2ddc0583bcec | 513 | * @param None. |
| rosarium | 0:2ddc0583bcec | 514 | * @retval uint8_t My address (address of this node). |
| rosarium | 0:2ddc0583bcec | 515 | */ |
| rosarium | 0:2ddc0583bcec | 516 | #define SpiritPktStackGetMyAddress() SpiritPktCommonGetMyAddress() |
| rosarium | 0:2ddc0583bcec | 517 | |
| rosarium | 0:2ddc0583bcec | 518 | |
| rosarium | 0:2ddc0583bcec | 519 | /** |
| rosarium | 0:2ddc0583bcec | 520 | * @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 | 521 | * BROADCAST_ADDR register, then the packet is accepted. |
| rosarium | 0:2ddc0583bcec | 522 | * @param cAddress Broadcast address. |
| rosarium | 0:2ddc0583bcec | 523 | * This parameter is an uint8_t. |
| rosarium | 0:2ddc0583bcec | 524 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 525 | */ |
| rosarium | 0:2ddc0583bcec | 526 | #define SpiritPktStackSetBroadcastAddress(cAddress) SpiritPktCommonSetBroadcastAddress(cAddress) |
| rosarium | 0:2ddc0583bcec | 527 | |
| rosarium | 0:2ddc0583bcec | 528 | |
| rosarium | 0:2ddc0583bcec | 529 | /** |
| rosarium | 0:2ddc0583bcec | 530 | * @brief Returns the broadcast address. |
| rosarium | 0:2ddc0583bcec | 531 | * @param None. |
| rosarium | 0:2ddc0583bcec | 532 | * @retval uint8_t Broadcast address. |
| rosarium | 0:2ddc0583bcec | 533 | */ |
| rosarium | 0:2ddc0583bcec | 534 | #define SpiritPktStackGetBroadcastAddress() SpiritPktCommonGetBroadcastAddress() |
| rosarium | 0:2ddc0583bcec | 535 | |
| rosarium | 0:2ddc0583bcec | 536 | |
| rosarium | 0:2ddc0583bcec | 537 | /** |
| rosarium | 0:2ddc0583bcec | 538 | * @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 | 539 | * MULTICAST_ADDR register, then the packet is accepted. |
| rosarium | 0:2ddc0583bcec | 540 | * @param cAddress Multicast address. |
| rosarium | 0:2ddc0583bcec | 541 | * This parameter is an uint8_t. |
| rosarium | 0:2ddc0583bcec | 542 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 543 | */ |
| rosarium | 0:2ddc0583bcec | 544 | #define SpiritPktStackSetMulticastAddress(cAddress) SpiritPktCommonSetMulticastAddress(cAddress) |
| rosarium | 0:2ddc0583bcec | 545 | |
| rosarium | 0:2ddc0583bcec | 546 | |
| rosarium | 0:2ddc0583bcec | 547 | /** |
| rosarium | 0:2ddc0583bcec | 548 | * @brief Returns the multicast address. |
| rosarium | 0:2ddc0583bcec | 549 | * @param None. |
| rosarium | 0:2ddc0583bcec | 550 | * @retval uint8_t Multicast address. |
| rosarium | 0:2ddc0583bcec | 551 | */ |
| rosarium | 0:2ddc0583bcec | 552 | #define SpiritPktStackGetMulticastAddress() SpiritPktCommonGetMulticastAddress() |
| rosarium | 0:2ddc0583bcec | 553 | |
| rosarium | 0:2ddc0583bcec | 554 | |
| rosarium | 0:2ddc0583bcec | 555 | /** |
| rosarium | 0:2ddc0583bcec | 556 | * @brief Sets the control mask. The 1 bits of the CONTROL_MASK indicate the |
| rosarium | 0:2ddc0583bcec | 557 | * bits to be used in filtering. (All 0s no filtering) |
| rosarium | 0:2ddc0583bcec | 558 | * @param lMask Control mask. |
| rosarium | 0:2ddc0583bcec | 559 | * This parameter is an uint32_t. |
| rosarium | 0:2ddc0583bcec | 560 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 561 | */ |
| rosarium | 0:2ddc0583bcec | 562 | #define SpiritPktStackSetCtrlMask(lMask) SpiritPktCommonSetCtrlMask(lMask) |
| rosarium | 0:2ddc0583bcec | 563 | |
| rosarium | 0:2ddc0583bcec | 564 | |
| rosarium | 0:2ddc0583bcec | 565 | /** |
| rosarium | 0:2ddc0583bcec | 566 | * @brief Returns the control mask. The 1 bits of the CONTROL_MASK indicate the |
| rosarium | 0:2ddc0583bcec | 567 | * bits to be used in filtering. (All 0s no filtering) |
| rosarium | 0:2ddc0583bcec | 568 | * @param None. |
| rosarium | 0:2ddc0583bcec | 569 | * @retval uint32_t Control mask. |
| rosarium | 0:2ddc0583bcec | 570 | */ |
| rosarium | 0:2ddc0583bcec | 571 | #define SpiritPktStackGetCtrlMask() SpiritPktCommonGetCtrlMask() |
| rosarium | 0:2ddc0583bcec | 572 | |
| rosarium | 0:2ddc0583bcec | 573 | |
| rosarium | 0:2ddc0583bcec | 574 | /** |
| rosarium | 0:2ddc0583bcec | 575 | * @brief Sets the control field reference. If the bits enabled by the |
| rosarium | 0:2ddc0583bcec | 576 | * CONTROL_MASK match the ones of the control fields extracted from the received packet |
| rosarium | 0:2ddc0583bcec | 577 | * then the packet is accepted. |
| rosarium | 0:2ddc0583bcec | 578 | * @param lReference Control reference. |
| rosarium | 0:2ddc0583bcec | 579 | * This parameter is an uint32_t. |
| rosarium | 0:2ddc0583bcec | 580 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 581 | */ |
| rosarium | 0:2ddc0583bcec | 582 | #define SpiritPktStackSetCtrlReference(lReference) SpiritPktCommonSetCtrlReference(lReference) |
| rosarium | 0:2ddc0583bcec | 583 | |
| rosarium | 0:2ddc0583bcec | 584 | |
| rosarium | 0:2ddc0583bcec | 585 | /** |
| rosarium | 0:2ddc0583bcec | 586 | * @brief Returns the control field reference. |
| rosarium | 0:2ddc0583bcec | 587 | * @param None. |
| rosarium | 0:2ddc0583bcec | 588 | * @retval uint32_t Control reference. |
| rosarium | 0:2ddc0583bcec | 589 | */ |
| rosarium | 0:2ddc0583bcec | 590 | #define SpiritPktStackGetCtrlReference() SpiritPktCommonGetCtrlReference() |
| rosarium | 0:2ddc0583bcec | 591 | |
| rosarium | 0:2ddc0583bcec | 592 | |
| rosarium | 0:2ddc0583bcec | 593 | /** |
| rosarium | 0:2ddc0583bcec | 594 | * @brief Sets the TX control field. |
| rosarium | 0:2ddc0583bcec | 595 | * @param lField TX CONTROL FIELD. |
| rosarium | 0:2ddc0583bcec | 596 | * This parameter is an uint32_t. |
| rosarium | 0:2ddc0583bcec | 597 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 598 | */ |
| rosarium | 0:2ddc0583bcec | 599 | #define SpiritPktStackSetTransmittedCtrlField(lField) SpiritPktCommonSetTransmittedCtrlField(lField) |
| rosarium | 0:2ddc0583bcec | 600 | |
| rosarium | 0:2ddc0583bcec | 601 | |
| rosarium | 0:2ddc0583bcec | 602 | /** |
| rosarium | 0:2ddc0583bcec | 603 | * @brief Returns the TX control field. |
| rosarium | 0:2ddc0583bcec | 604 | * @param None. |
| rosarium | 0:2ddc0583bcec | 605 | * @retval uint32_t Control field of the transmitted packet. |
| rosarium | 0:2ddc0583bcec | 606 | */ |
| rosarium | 0:2ddc0583bcec | 607 | #define SpiritPktStackGetTransmittedCtrlField() SpiritPktCommonGetTransmittedCtrlField() |
| rosarium | 0:2ddc0583bcec | 608 | |
| rosarium | 0:2ddc0583bcec | 609 | |
| rosarium | 0:2ddc0583bcec | 610 | /** |
| rosarium | 0:2ddc0583bcec | 611 | * @brief If enabled RX packet is accepted if its destination address matches with TX_SOURCE_ADDRESS. |
| rosarium | 0:2ddc0583bcec | 612 | * @param xNewState new state for DEST_VS_SOURCE_ADDRESS. |
| rosarium | 0:2ddc0583bcec | 613 | * This parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 614 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 615 | */ |
| rosarium | 0:2ddc0583bcec | 616 | #define SpiritPktStackFilterOnMyAddress(xNewState) SpiritPktCommonFilterOnMyAddress(xNewState) |
| rosarium | 0:2ddc0583bcec | 617 | |
| rosarium | 0:2ddc0583bcec | 618 | |
| rosarium | 0:2ddc0583bcec | 619 | /** |
| rosarium | 0:2ddc0583bcec | 620 | * @brief If enabled RX packet is accepted if its destination address matches with MULTICAST_ADDRESS. |
| rosarium | 0:2ddc0583bcec | 621 | * @param xNewState new state for DEST_VS_MULTICAST_ADDRESS. |
| rosarium | 0:2ddc0583bcec | 622 | * This parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 623 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 624 | */ |
| rosarium | 0:2ddc0583bcec | 625 | #define SpiritPktStackFilterOnMulticastAddress(xNewState) SpiritPktCommonFilterOnMulticastAddress(xNewState) |
| rosarium | 0:2ddc0583bcec | 626 | |
| rosarium | 0:2ddc0583bcec | 627 | |
| rosarium | 0:2ddc0583bcec | 628 | /** |
| rosarium | 0:2ddc0583bcec | 629 | * @brief If enabled RX packet is accepted if its destination address matches with BROADCAST_ADDRESS. |
| rosarium | 0:2ddc0583bcec | 630 | * @param xNewState new state for DEST_VS_BROADCAST_ADDRESS. |
| rosarium | 0:2ddc0583bcec | 631 | * This parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 632 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 633 | */ |
| rosarium | 0:2ddc0583bcec | 634 | #define SpiritPktStackFilterOnBroadcastAddress(xNewState) SpiritPktCommonFilterOnBroadcastAddress(xNewState) |
| rosarium | 0:2ddc0583bcec | 635 | |
| rosarium | 0:2ddc0583bcec | 636 | |
| rosarium | 0:2ddc0583bcec | 637 | /** |
| rosarium | 0:2ddc0583bcec | 638 | * @brief Returns the enable bit of the my address filtering. |
| rosarium | 0:2ddc0583bcec | 639 | * @param None. |
| rosarium | 0:2ddc0583bcec | 640 | * @retval SpiritFunctionalStateThis parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 641 | */ |
| rosarium | 0:2ddc0583bcec | 642 | #define SpiritPktStackGetFilterOnMyAddress() SpiritPktCommonGetFilterOnMyAddress(); |
| rosarium | 0:2ddc0583bcec | 643 | |
| rosarium | 0:2ddc0583bcec | 644 | |
| rosarium | 0:2ddc0583bcec | 645 | /** |
| rosarium | 0:2ddc0583bcec | 646 | * @brief Returns the enable bit of the multicast address filtering. |
| rosarium | 0:2ddc0583bcec | 647 | * @param None. |
| rosarium | 0:2ddc0583bcec | 648 | * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 649 | */ |
| rosarium | 0:2ddc0583bcec | 650 | #define SpiritPktStackGetFilterOnMulticastAddress() SpiritPktCommonGetFilterOnMulticastAddress(); |
| rosarium | 0:2ddc0583bcec | 651 | |
| rosarium | 0:2ddc0583bcec | 652 | |
| rosarium | 0:2ddc0583bcec | 653 | /** |
| rosarium | 0:2ddc0583bcec | 654 | * @brief Returns the enable bit of the broadcast address filtering. |
| rosarium | 0:2ddc0583bcec | 655 | * @param None. |
| rosarium | 0:2ddc0583bcec | 656 | * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 657 | */ |
| rosarium | 0:2ddc0583bcec | 658 | #define SpiritPktStackGetFilterOnBroadcastAddress() SpiritPktCommonGetFilterOnBroadcastAddress(); |
| rosarium | 0:2ddc0583bcec | 659 | |
| rosarium | 0:2ddc0583bcec | 660 | |
| rosarium | 0:2ddc0583bcec | 661 | /** |
| rosarium | 0:2ddc0583bcec | 662 | * @brief Returns the control field of the received packet. |
| rosarium | 0:2ddc0583bcec | 663 | * @param None. |
| rosarium | 0:2ddc0583bcec | 664 | * @retval uint32_t Received control field. |
| rosarium | 0:2ddc0583bcec | 665 | */ |
| rosarium | 0:2ddc0583bcec | 666 | #define SpiritPktStackGetReceivedCtrlField() SpiritPktCommonGetReceivedCtrlField() |
| rosarium | 0:2ddc0583bcec | 667 | |
| rosarium | 0:2ddc0583bcec | 668 | |
| rosarium | 0:2ddc0583bcec | 669 | /** |
| rosarium | 0:2ddc0583bcec | 670 | * @brief Returns the CRC field of the received packet. |
| rosarium | 0:2ddc0583bcec | 671 | * @param cCrcFieldVect array in which the CRC field has to be stored. |
| rosarium | 0:2ddc0583bcec | 672 | * This parameter is an uint8_t array of 3 elements. |
| rosarium | 0:2ddc0583bcec | 673 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 674 | */ |
| rosarium | 0:2ddc0583bcec | 675 | #define SpiritPktStackGetReceivedCrcField(cCrcFieldVect) SpiritPktCommonGetReceivedCrcField(cCrcFieldVect) |
| rosarium | 0:2ddc0583bcec | 676 | |
| rosarium | 0:2ddc0583bcec | 677 | /** |
| rosarium | 0:2ddc0583bcec | 678 | * @brief Sets the AUTO ACKNOLEDGEMENT mechanism on the receiver. When the feature is enabled and |
| rosarium | 0:2ddc0583bcec | 679 | * a data packet has been correctly received, then an acknowledgement packet is sent back to the originator of the received |
| rosarium | 0:2ddc0583bcec | 680 | * packet. If the PIGGYBACKING bit is also set, payload data will be read from the FIFO; otherwise an empty packet is sent |
| rosarium | 0:2ddc0583bcec | 681 | * only containing the source and destination addresses and the sequence number of the packet being acknowledged. |
| rosarium | 0:2ddc0583bcec | 682 | * @param xAutoAck new state for autoack. |
| rosarium | 0:2ddc0583bcec | 683 | * This parameter can be: S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 684 | * @param xPiggybacking new state for autoack. |
| rosarium | 0:2ddc0583bcec | 685 | * This parameter can be: S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 686 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 687 | */ |
| rosarium | 0:2ddc0583bcec | 688 | #define SpiritPktStackAutoAck(xAutoAck, xPiggybacking) SpiritPktCommonAutoAck(xAutoAck, xPiggybacking) |
| rosarium | 0:2ddc0583bcec | 689 | |
| rosarium | 0:2ddc0583bcec | 690 | |
| rosarium | 0:2ddc0583bcec | 691 | /** |
| rosarium | 0:2ddc0583bcec | 692 | * @brief Sets the AUTO ACKNOLEDGEMENT mechanism on the transmitter. On the transmitter side, the NACK_TX field can be used to require or not an acknowledgment for each individual packet: if |
| rosarium | 0:2ddc0583bcec | 693 | * NACK_TX is set to "1" then acknowledgment will not be required; if NACK_TX is set to "0" then acknowledgment will be |
| rosarium | 0:2ddc0583bcec | 694 | * required. |
| rosarium | 0:2ddc0583bcec | 695 | * @param xNewState new state for TX_AUTOACK. |
| rosarium | 0:2ddc0583bcec | 696 | * This parameter can be: S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 697 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 698 | */ |
| rosarium | 0:2ddc0583bcec | 699 | #define SpiritPktStackRequireAck(xNewState) SpiritPktCommonRequireAck(xNewState) |
| rosarium | 0:2ddc0583bcec | 700 | |
| rosarium | 0:2ddc0583bcec | 701 | |
| rosarium | 0:2ddc0583bcec | 702 | /** |
| rosarium | 0:2ddc0583bcec | 703 | * @brief Sets the TX sequence number to be used to start counting. |
| rosarium | 0:2ddc0583bcec | 704 | * @param cSeqNumberReload new value for Tx seq number reload. |
| rosarium | 0:2ddc0583bcec | 705 | * This parameter can be: S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 706 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 707 | */ |
| rosarium | 0:2ddc0583bcec | 708 | #define SpiritPktStackSetTransmittedSeqNumberReload(cSeqNumberReload) SpiritPktCommonSetTransmittedSeqNumberReload(cSeqNumberReload) |
| rosarium | 0:2ddc0583bcec | 709 | |
| rosarium | 0:2ddc0583bcec | 710 | |
| rosarium | 0:2ddc0583bcec | 711 | /** |
| rosarium | 0:2ddc0583bcec | 712 | * @brief Sets the max number of automatic retransmission. |
| rosarium | 0:2ddc0583bcec | 713 | * @param xNMaxReTx max number of retransmission. |
| rosarium | 0:2ddc0583bcec | 714 | * This parameter can be any value of @ref PktNMaxReTx. |
| rosarium | 0:2ddc0583bcec | 715 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 716 | */ |
| rosarium | 0:2ddc0583bcec | 717 | #define SpiritPktStackSetNMaxReTx(xNMaxReTx) SpiritPktCommonSetNMaxReTx((PktNMaxReTx)xNMaxReTx) |
| rosarium | 0:2ddc0583bcec | 718 | |
| rosarium | 0:2ddc0583bcec | 719 | |
| rosarium | 0:2ddc0583bcec | 720 | /** |
| rosarium | 0:2ddc0583bcec | 721 | * @brief Returns the max number of automatic retransmission. |
| rosarium | 0:2ddc0583bcec | 722 | * @param None. |
| rosarium | 0:2ddc0583bcec | 723 | * @retval uint8_t Max number of retransmissions. |
| rosarium | 0:2ddc0583bcec | 724 | */ |
| rosarium | 0:2ddc0583bcec | 725 | #define SpiritPktStackGetNMaxReTx() SpiritPktCommonGetNMaxReTx() |
| rosarium | 0:2ddc0583bcec | 726 | |
| rosarium | 0:2ddc0583bcec | 727 | |
| rosarium | 0:2ddc0583bcec | 728 | /** |
| rosarium | 0:2ddc0583bcec | 729 | * @brief Returns the TX ACK request. |
| rosarium | 0:2ddc0583bcec | 730 | * @param None. |
| rosarium | 0:2ddc0583bcec | 731 | * @retval SpiritFunctionalState. |
| rosarium | 0:2ddc0583bcec | 732 | */ |
| rosarium | 0:2ddc0583bcec | 733 | #define SpiritPktStackGetGetTxAckRequest() SpiritPktCommonGetTxAckRequest() |
| rosarium | 0:2ddc0583bcec | 734 | |
| rosarium | 0:2ddc0583bcec | 735 | /** |
| rosarium | 0:2ddc0583bcec | 736 | * @brief Returns the destination address of the received packet. |
| rosarium | 0:2ddc0583bcec | 737 | * @param None. |
| rosarium | 0:2ddc0583bcec | 738 | * @retval uint8_t Destination address of the received packet. |
| rosarium | 0:2ddc0583bcec | 739 | */ |
| rosarium | 0:2ddc0583bcec | 740 | #define SpiritPktStackGetReceivedDestAddress() SpiritPktCommonGetReceivedDestAddress() |
| rosarium | 0:2ddc0583bcec | 741 | |
| rosarium | 0:2ddc0583bcec | 742 | |
| rosarium | 0:2ddc0583bcec | 743 | /** |
| rosarium | 0:2ddc0583bcec | 744 | * @brief Returns the source address of the received packet. |
| rosarium | 0:2ddc0583bcec | 745 | * @param None. |
| rosarium | 0:2ddc0583bcec | 746 | * @retval uint8_t Source address of the received packet. |
| rosarium | 0:2ddc0583bcec | 747 | */ |
| rosarium | 0:2ddc0583bcec | 748 | #define SpiritPktStackGetReceivedSourceAddress() SpiritPktCommonGetReceivedSourceAddress() |
| rosarium | 0:2ddc0583bcec | 749 | |
| rosarium | 0:2ddc0583bcec | 750 | |
| rosarium | 0:2ddc0583bcec | 751 | /** |
| rosarium | 0:2ddc0583bcec | 752 | * @brief Returns the sequence number of the received packet. |
| rosarium | 0:2ddc0583bcec | 753 | * @param None. |
| rosarium | 0:2ddc0583bcec | 754 | * @retval uint8_t Received Sequence number. |
| rosarium | 0:2ddc0583bcec | 755 | */ |
| rosarium | 0:2ddc0583bcec | 756 | #define SpiritPktStackGetReceivedSeqNumber() SpiritPktCommonGetReceivedSeqNumber() |
| rosarium | 0:2ddc0583bcec | 757 | |
| rosarium | 0:2ddc0583bcec | 758 | |
| rosarium | 0:2ddc0583bcec | 759 | /** |
| rosarium | 0:2ddc0583bcec | 760 | * @brief Returns the Nack bit of the received packet |
| rosarium | 0:2ddc0583bcec | 761 | * @param None. |
| rosarium | 0:2ddc0583bcec | 762 | * @retval uint8_t Value of the NAck bit. |
| rosarium | 0:2ddc0583bcec | 763 | */ |
| rosarium | 0:2ddc0583bcec | 764 | #define SpiritPktStackGetReceivedNackRx() SpiritPktCommonGetReceivedNackRx() |
| rosarium | 0:2ddc0583bcec | 765 | |
| rosarium | 0:2ddc0583bcec | 766 | |
| rosarium | 0:2ddc0583bcec | 767 | /** |
| rosarium | 0:2ddc0583bcec | 768 | * @brief Returns the sequence number of the transmitted packet. |
| rosarium | 0:2ddc0583bcec | 769 | * @param None. |
| rosarium | 0:2ddc0583bcec | 770 | * @retval uint8_t Sequence number of the transmitted packet. |
| rosarium | 0:2ddc0583bcec | 771 | */ |
| rosarium | 0:2ddc0583bcec | 772 | #define SpiritPktStackGetTransmittedSeqNumber() SpiritPktCommonGetTransmittedSeqNumber() |
| rosarium | 0:2ddc0583bcec | 773 | |
| rosarium | 0:2ddc0583bcec | 774 | |
| rosarium | 0:2ddc0583bcec | 775 | /** |
| rosarium | 0:2ddc0583bcec | 776 | * @brief Returns the number of retransmission done on the transmitted packet. |
| rosarium | 0:2ddc0583bcec | 777 | * @param None. |
| rosarium | 0:2ddc0583bcec | 778 | * @retval uint8_t Number of retransmissions done until now. |
| rosarium | 0:2ddc0583bcec | 779 | */ |
| rosarium | 0:2ddc0583bcec | 780 | #define SpiritPktStackGetNReTx() SpiritPktCommonGetNReTx() |
| rosarium | 0:2ddc0583bcec | 781 | |
| rosarium | 0:2ddc0583bcec | 782 | |
| rosarium | 0:2ddc0583bcec | 783 | /** |
| rosarium | 0:2ddc0583bcec | 784 | * @brief If enabled RX packet is accepted only if the masked control field matches the |
| rosarium | 0:2ddc0583bcec | 785 | * masked control field reference (CONTROL_MASK & CONTROL_FIELD_REF == CONTROL_MASK & RX_CONTROL_FIELD). |
| rosarium | 0:2ddc0583bcec | 786 | * @param xNewState new state for Control filtering enable bit. |
| rosarium | 0:2ddc0583bcec | 787 | * This parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 788 | * @retval None. |
| rosarium | 0:2ddc0583bcec | 789 | * @note This filtering control is enabled by default but the control mask is by default set to 0. |
| rosarium | 0:2ddc0583bcec | 790 | * As a matter of fact the user has to enable the control filtering bit after the packet initialization |
| rosarium | 0:2ddc0583bcec | 791 | * because the PktInit routine disables it. |
| rosarium | 0:2ddc0583bcec | 792 | */ |
| rosarium | 0:2ddc0583bcec | 793 | #define SpiritPktStackFilterOnControlField(xNewState) SpiritPktCommonFilterOnControlField(xNewState) |
| rosarium | 0:2ddc0583bcec | 794 | |
| rosarium | 0:2ddc0583bcec | 795 | |
| rosarium | 0:2ddc0583bcec | 796 | /** |
| rosarium | 0:2ddc0583bcec | 797 | * @brief Returns the enable bit of the control field filtering. |
| rosarium | 0:2ddc0583bcec | 798 | * @param None. |
| rosarium | 0:2ddc0583bcec | 799 | * @retval SpiritFunctionalState This parameter can be S_ENABLE or S_DISABLE. |
| rosarium | 0:2ddc0583bcec | 800 | */ |
| rosarium | 0:2ddc0583bcec | 801 | #define SpiritPktStackGetFilterOnControlField() SpiritPktCommonGetFilterOnControlField(); |
| rosarium | 0:2ddc0583bcec | 802 | |
| rosarium | 0:2ddc0583bcec | 803 | |
| rosarium | 0:2ddc0583bcec | 804 | /** |
| rosarium | 0:2ddc0583bcec | 805 | *@} |
| rosarium | 0:2ddc0583bcec | 806 | */ |
| rosarium | 0:2ddc0583bcec | 807 | |
| rosarium | 0:2ddc0583bcec | 808 | |
| rosarium | 0:2ddc0583bcec | 809 | /** |
| rosarium | 0:2ddc0583bcec | 810 | * @defgroup PktStack_Exported_Functions Pkt STack Exported Functions |
| rosarium | 0:2ddc0583bcec | 811 | * @{ |
| rosarium | 0:2ddc0583bcec | 812 | */ |
| rosarium | 0:2ddc0583bcec | 813 | |
| rosarium | 0:2ddc0583bcec | 814 | void SpiritPktStackInit(PktStackInit* pxPktStackInit); |
| rosarium | 0:2ddc0583bcec | 815 | void SpiritPktStackGetInfo(PktStackInit* pxPktStackInit); |
| rosarium | 0:2ddc0583bcec | 816 | void SpiritPktStackAddressesInit(PktStackAddressesInit* pxPktStackAddresses); |
| rosarium | 0:2ddc0583bcec | 817 | void SpiritPktStackGetAddressesInfo(PktStackAddressesInit* pxPktStackAddresses); |
| rosarium | 0:2ddc0583bcec | 818 | void SpiritPktStackLlpInit(PktStackLlpInit* pxPktStackLlpInit); |
| rosarium | 0:2ddc0583bcec | 819 | void SpiritPktStackLlpGetInfo(PktStackLlpInit* pxPktStackLlpInit); |
| rosarium | 0:2ddc0583bcec | 820 | void SpiritPktStackSetFormat(void); |
| rosarium | 0:2ddc0583bcec | 821 | void SpiritPktStackSetPayloadLength(uint16_t nPayloadLength); |
| rosarium | 0:2ddc0583bcec | 822 | uint16_t SpiritPktStackGetPayloadLength(void); |
| rosarium | 0:2ddc0583bcec | 823 | void SpiritPktStackSetVarLengthWidth(uint16_t nMaxPayloadLength, StackControlLength xControlLength); |
| rosarium | 0:2ddc0583bcec | 824 | void SpiritPktStackSetRxSourceMask(uint8_t cMask); |
| rosarium | 0:2ddc0583bcec | 825 | uint8_t SpiritPktStackGetRxSourceMask(void); |
| rosarium | 0:2ddc0583bcec | 826 | uint16_t SpiritPktStackGetReceivedPktLength(void); |
| rosarium | 0:2ddc0583bcec | 827 | void SpiritPktStackFilterOnSourceAddress(SpiritFunctionalState xNewState); |
| rosarium | 0:2ddc0583bcec | 828 | void SpiritPktStackSetAddressLength(void); |
| rosarium | 0:2ddc0583bcec | 829 | |
| rosarium | 0:2ddc0583bcec | 830 | /** |
| rosarium | 0:2ddc0583bcec | 831 | *@} |
| rosarium | 0:2ddc0583bcec | 832 | */ |
| rosarium | 0:2ddc0583bcec | 833 | |
| rosarium | 0:2ddc0583bcec | 834 | /** |
| rosarium | 0:2ddc0583bcec | 835 | *@} |
| rosarium | 0:2ddc0583bcec | 836 | */ |
| rosarium | 0:2ddc0583bcec | 837 | |
| rosarium | 0:2ddc0583bcec | 838 | |
| rosarium | 0:2ddc0583bcec | 839 | /** |
| rosarium | 0:2ddc0583bcec | 840 | *@} |
| rosarium | 0:2ddc0583bcec | 841 | */ |
| rosarium | 0:2ddc0583bcec | 842 | |
| rosarium | 0:2ddc0583bcec | 843 | #ifdef __cplusplus |
| rosarium | 0:2ddc0583bcec | 844 | } |
| rosarium | 0:2ddc0583bcec | 845 | #endif |
| rosarium | 0:2ddc0583bcec | 846 | |
| rosarium | 0:2ddc0583bcec | 847 | #endif |
| rosarium | 0:2ddc0583bcec | 848 | |
| rosarium | 0:2ddc0583bcec | 849 | /******************* (C) COPYRIGHT 2015 STMicroelectronics *****END OF FILE****/ |

X-NUCLEO-IDS01A4 Sub-1GHz RF Expansion Board