Added support for the WNC M14A2A Cellular LTE Data Module.

Dependencies:   WNC14A2AInterface

Easy Connect

Easily add all supported connectivity methods to your mbed OS project

This project is derived from https://developer.mbed.org/teams/sandbox/code/simple-mbed-client-example/file/dd6231df71bb/easy-connect.lib. It give user the ability to switch between connectivity methods and includes support for the WNC14A2A Data Module. The `NetworkInterface` API makes this easy, but you still need a mechanism for the user to select the connection method, The selection is made by modifying the `mbed_app.json` file and using `easy_connect()` from your application.

Specifying connectivity method

To add support for the WNC14A2A, add the following to your ``mbed_app.json`` file:

mbed_app.json

{
    "config": {
        "network-interface":{
            "help": "options are ETHERNET,WIFI_ESP8266,WIFI_ODIN,MESH_LOWPAN_ND,MESH_THREAD,WNC14A2A",
            "value": "WNC14A2A"
        }
    },
}

After you choose `WNC14A2A` you'll also need to indicate if you want debug output or not by Enabling (true) or Disabling (false) WNC_DEBUG.

If WNC_DEBUG is enabled, there are 3 different levels of debug output (selected via bit settings). These debug levels are set using the following values:

ValueDescription
1Basic WNC driver debug output
2Comprehensive WNC driver debug output
4Network Layer debug output

You can have any combination of these three bit values for a total value of 0 – 7.

WNC Debug Settings

    "config": {
        "WNC_DEBUG": {
            "value": false
        },
        "WNC_DEBUG_SETTING": {
            "value": 4
        },
    }

Using Easy Connect from your application

Easy Connect has just one function which will either return a `NetworkInterface`-pointer or `NULL`:

Sample Code

#include "easy-connect.h"

int main(int, char**) {
    NetworkInterface* network = easy_connect(true); /* has 1 argument, enable_logging (pass in true to log to serial port) */
    if (!network) {
        printf("Connecting to the network failed... See serial output.\r\n");
        return 1;
    }
 
    // Rest of your program
}

Tested on

  • K64F with Ethernet.
  • AT&T Cellular IoT Starter Kit with WNC M14A2A Cellular Data Module

The WNCInterface class currently supports the following version(s):

  • MPSS: M14A2A_v11.50.164451 APSS: M14A2A_v11.53.164451

License

This library is released under the Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License and may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Committer:
group-Avnet
Date:
Wed Apr 19 01:08:11 2017 +0000
Revision:
0:478cfd88041f
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-Avnet 0:478cfd88041f 1 /**
group-Avnet 0:478cfd88041f 2 ******************************************************************************
group-Avnet 0:478cfd88041f 3 * @file SPIRIT_Commands.h
group-Avnet 0:478cfd88041f 4 * @author VMA division - AMS
group-Avnet 0:478cfd88041f 5 * @version 3.2.2
group-Avnet 0:478cfd88041f 6 * @date 08-July-2015
group-Avnet 0:478cfd88041f 7 * @brief Management of SPIRIT Commands.
group-Avnet 0:478cfd88041f 8 *
group-Avnet 0:478cfd88041f 9 * @details
group-Avnet 0:478cfd88041f 10 *
group-Avnet 0:478cfd88041f 11 * In this module can be found all the API used to strobe commands to
group-Avnet 0:478cfd88041f 12 * Spirit.
group-Avnet 0:478cfd88041f 13 * Every command strobe is an SPI transaction with a specific command code.
group-Avnet 0:478cfd88041f 14 *
group-Avnet 0:478cfd88041f 15 * <b>Example:</b>
group-Avnet 0:478cfd88041f 16 * @code
group-Avnet 0:478cfd88041f 17 * ...
group-Avnet 0:478cfd88041f 18 *
group-Avnet 0:478cfd88041f 19 * SpiritCmdStrobeRx();
group-Avnet 0:478cfd88041f 20 *
group-Avnet 0:478cfd88041f 21 * ...
group-Avnet 0:478cfd88041f 22 * @endcode
group-Avnet 0:478cfd88041f 23 *
group-Avnet 0:478cfd88041f 24 *
group-Avnet 0:478cfd88041f 25 * @attention
group-Avnet 0:478cfd88041f 26 *
group-Avnet 0:478cfd88041f 27 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
group-Avnet 0:478cfd88041f 28 *
group-Avnet 0:478cfd88041f 29 * Redistribution and use in source and binary forms, with or without modification,
group-Avnet 0:478cfd88041f 30 * are permitted provided that the following conditions are met:
group-Avnet 0:478cfd88041f 31 * 1. Redistributions of source code must retain the above copyright notice,
group-Avnet 0:478cfd88041f 32 * this list of conditions and the following disclaimer.
group-Avnet 0:478cfd88041f 33 * 2. Redistributions in binary form must reproduce the above copyright notice,
group-Avnet 0:478cfd88041f 34 * this list of conditions and the following disclaimer in the documentation
group-Avnet 0:478cfd88041f 35 * and/or other materials provided with the distribution.
group-Avnet 0:478cfd88041f 36 * 3. Neither the name of STMicroelectronics nor the names of its contributors
group-Avnet 0:478cfd88041f 37 * may be used to endorse or promote products derived from this software
group-Avnet 0:478cfd88041f 38 * without specific prior written permission.
group-Avnet 0:478cfd88041f 39 *
group-Avnet 0:478cfd88041f 40 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
group-Avnet 0:478cfd88041f 41 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
group-Avnet 0:478cfd88041f 42 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
group-Avnet 0:478cfd88041f 43 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
group-Avnet 0:478cfd88041f 44 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
group-Avnet 0:478cfd88041f 45 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
group-Avnet 0:478cfd88041f 46 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
group-Avnet 0:478cfd88041f 47 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
group-Avnet 0:478cfd88041f 48 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
group-Avnet 0:478cfd88041f 49 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
group-Avnet 0:478cfd88041f 50 *
group-Avnet 0:478cfd88041f 51 ******************************************************************************
group-Avnet 0:478cfd88041f 52 */
group-Avnet 0:478cfd88041f 53
group-Avnet 0:478cfd88041f 54 /* Define to prevent recursive inclusion -------------------------------------*/
group-Avnet 0:478cfd88041f 55 #ifndef __SPIRIT_COMMANDS_H
group-Avnet 0:478cfd88041f 56 #define __SPIRIT_COMMANDS_H
group-Avnet 0:478cfd88041f 57
group-Avnet 0:478cfd88041f 58
group-Avnet 0:478cfd88041f 59 /* Includes ------------------------------------------------------------------*/
group-Avnet 0:478cfd88041f 60
group-Avnet 0:478cfd88041f 61 #include "SPIRIT_Regs.h"
group-Avnet 0:478cfd88041f 62 #include "SPIRIT_Types.h"
group-Avnet 0:478cfd88041f 63
group-Avnet 0:478cfd88041f 64
group-Avnet 0:478cfd88041f 65 #ifdef __cplusplus
group-Avnet 0:478cfd88041f 66 extern "C" {
group-Avnet 0:478cfd88041f 67 #endif
group-Avnet 0:478cfd88041f 68
group-Avnet 0:478cfd88041f 69
group-Avnet 0:478cfd88041f 70 /**
group-Avnet 0:478cfd88041f 71 * @addtogroup SPIRIT_Libraries
group-Avnet 0:478cfd88041f 72 * @{
group-Avnet 0:478cfd88041f 73 */
group-Avnet 0:478cfd88041f 74
group-Avnet 0:478cfd88041f 75
group-Avnet 0:478cfd88041f 76 /**
group-Avnet 0:478cfd88041f 77 * @defgroup SPIRIT_Commands Commands
group-Avnet 0:478cfd88041f 78 * @brief Management of SPIRIT Commands.
group-Avnet 0:478cfd88041f 79 * @details See the file <i>@ref SPIRIT_Commands.h</i> for more details.
group-Avnet 0:478cfd88041f 80 * @{
group-Avnet 0:478cfd88041f 81 */
group-Avnet 0:478cfd88041f 82
group-Avnet 0:478cfd88041f 83 /**
group-Avnet 0:478cfd88041f 84 * @defgroup Commands_Exported_Types Commands Exported Types
group-Avnet 0:478cfd88041f 85 * @{
group-Avnet 0:478cfd88041f 86 */
group-Avnet 0:478cfd88041f 87
group-Avnet 0:478cfd88041f 88 /**
group-Avnet 0:478cfd88041f 89 * @brief SPIRIT Commands codes enumeration
group-Avnet 0:478cfd88041f 90 */
group-Avnet 0:478cfd88041f 91 typedef enum
group-Avnet 0:478cfd88041f 92 {
group-Avnet 0:478cfd88041f 93 CMD_TX = COMMAND_TX, /*!< Start to transmit; valid only from READY */
group-Avnet 0:478cfd88041f 94 CMD_RX = COMMAND_RX, /*!< Start to receive; valid only from READY */
group-Avnet 0:478cfd88041f 95 CMD_READY = COMMAND_READY, /*!< Go to READY; valid only from STANDBY or SLEEP or LOCK */
group-Avnet 0:478cfd88041f 96 CMD_STANDBY = COMMAND_STANDBY, /*!< Go to STANDBY; valid only from READY */
group-Avnet 0:478cfd88041f 97 CMD_SLEEP = COMMAND_SLEEP, /*!< Go to SLEEP; valid only from READY */
group-Avnet 0:478cfd88041f 98 CMD_LOCKRX = COMMAND_LOCKRX, /*!< Go to LOCK state by using the RX configuration of the synth; valid only from READY */
group-Avnet 0:478cfd88041f 99 CMD_LOCKTX = COMMAND_LOCKTX, /*!< Go to LOCK state by using the TX configuration of the synth; valid only from READY */
group-Avnet 0:478cfd88041f 100 CMD_SABORT = COMMAND_SABORT, /*!< Force exit form TX or RX states and go to READY state; valid only from TX or RX */
group-Avnet 0:478cfd88041f 101 CMD_LDC_RELOAD = COMMAND_LDC_RELOAD, /*!< LDC Mode: Reload the LDC timer with the value stored in the LDC_PRESCALER / COUNTER registers; valid from all states */
group-Avnet 0:478cfd88041f 102 CMD_SEQUENCE_UPDATE = COMMAND_SEQUENCE_UPDATE, /*!< Autoretransmission: Reload the Packet sequence counter with the value stored in the PROTOCOL[2] register valid from all states */
group-Avnet 0:478cfd88041f 103 CMD_AES_ENC = COMMAND_AES_ENC, /*!< Commands: Start the encryption routine; valid from all states; valid from all states */
group-Avnet 0:478cfd88041f 104 CMD_AES_KEY = COMMAND_AES_KEY, /*!< Commands: Start the procedure to compute the key for the decryption; valid from all states */
group-Avnet 0:478cfd88041f 105 CMD_AES_DEC = COMMAND_AES_DEC, /*!< Commands: Start the decryption routine using the current key; valid from all states */
group-Avnet 0:478cfd88041f 106 CMD_AES_KEY_DEC = COMMAND_AES_KEY_DEC, /*!< Commands: Compute the key and start the decryption; valid from all states */
group-Avnet 0:478cfd88041f 107 CMD_SRES = COMMAND_SRES, /*!< Reset of all digital part, except SPI registers */
group-Avnet 0:478cfd88041f 108 CMD_FLUSHRXFIFO = COMMAND_FLUSHRXFIFO, /*!< Clean the RX FIFO; valid from all states */
group-Avnet 0:478cfd88041f 109 CMD_FLUSHTXFIFO = COMMAND_FLUSHTXFIFO, /*!< Clean the TX FIFO; valid from all states */
group-Avnet 0:478cfd88041f 110 } SpiritCmd;
group-Avnet 0:478cfd88041f 111
group-Avnet 0:478cfd88041f 112 #define IS_SPIRIT_CMD(CMD) (CMD == CMD_TX || \
group-Avnet 0:478cfd88041f 113 CMD == CMD_RX || \
group-Avnet 0:478cfd88041f 114 CMD == CMD_READY || \
group-Avnet 0:478cfd88041f 115 CMD == CMD_STANDBY || \
group-Avnet 0:478cfd88041f 116 CMD == CMD_SLEEP || \
group-Avnet 0:478cfd88041f 117 CMD == CMD_LOCKRX || \
group-Avnet 0:478cfd88041f 118 CMD == CMD_LOCKTX || \
group-Avnet 0:478cfd88041f 119 CMD == CMD_SABORT || \
group-Avnet 0:478cfd88041f 120 CMD == CMD_LDC_RELOAD || \
group-Avnet 0:478cfd88041f 121 CMD == CMD_SEQUENCE_UPDATE || \
group-Avnet 0:478cfd88041f 122 CMD == CMD_AES_ENC || \
group-Avnet 0:478cfd88041f 123 CMD == CMD_AES_KEY || \
group-Avnet 0:478cfd88041f 124 CMD == CMD_AES_DEC || \
group-Avnet 0:478cfd88041f 125 CMD == CMD_AES_KEY_DEC || \
group-Avnet 0:478cfd88041f 126 CMD == CMD_SRES || \
group-Avnet 0:478cfd88041f 127 CMD == CMD_FLUSHRXFIFO || \
group-Avnet 0:478cfd88041f 128 CMD == CMD_FLUSHTXFIFO \
group-Avnet 0:478cfd88041f 129 )
group-Avnet 0:478cfd88041f 130
group-Avnet 0:478cfd88041f 131 /**
group-Avnet 0:478cfd88041f 132 * @}
group-Avnet 0:478cfd88041f 133 */
group-Avnet 0:478cfd88041f 134
group-Avnet 0:478cfd88041f 135
group-Avnet 0:478cfd88041f 136 /**
group-Avnet 0:478cfd88041f 137 * @defgroup Commands_Exported_Constants Commands Exported Constants
group-Avnet 0:478cfd88041f 138 * @{
group-Avnet 0:478cfd88041f 139 */
group-Avnet 0:478cfd88041f 140
group-Avnet 0:478cfd88041f 141
group-Avnet 0:478cfd88041f 142 /**
group-Avnet 0:478cfd88041f 143 * @}
group-Avnet 0:478cfd88041f 144 */
group-Avnet 0:478cfd88041f 145
group-Avnet 0:478cfd88041f 146
group-Avnet 0:478cfd88041f 147 /**
group-Avnet 0:478cfd88041f 148 * @defgroup Commands_Exported_Macros Commands Exported Macros
group-Avnet 0:478cfd88041f 149 * @{
group-Avnet 0:478cfd88041f 150 */
group-Avnet 0:478cfd88041f 151
group-Avnet 0:478cfd88041f 152 /**
group-Avnet 0:478cfd88041f 153 * @brief Sends the TX command to SPIRIT. Start to transmit.
group-Avnet 0:478cfd88041f 154 * @param None.
group-Avnet 0:478cfd88041f 155 * @retval None.
group-Avnet 0:478cfd88041f 156 */
group-Avnet 0:478cfd88041f 157 #define SpiritCmdStrobeTx() {SpiritManagementWaCmdStrobeTx(); \
group-Avnet 0:478cfd88041f 158 SpiritCmdStrobeCommand(CMD_TX);}
group-Avnet 0:478cfd88041f 159
group-Avnet 0:478cfd88041f 160
group-Avnet 0:478cfd88041f 161 /**
group-Avnet 0:478cfd88041f 162 * @brief Sends the RX command to SPIRIT. Start to receive.
group-Avnet 0:478cfd88041f 163 * @param None.
group-Avnet 0:478cfd88041f 164 * @retval None.
group-Avnet 0:478cfd88041f 165 */
group-Avnet 0:478cfd88041f 166 #define SpiritCmdStrobeRx() {SpiritManagementWaCmdStrobeRx(); \
group-Avnet 0:478cfd88041f 167 SpiritCmdStrobeCommand(CMD_RX); \
group-Avnet 0:478cfd88041f 168 }
group-Avnet 0:478cfd88041f 169
group-Avnet 0:478cfd88041f 170
group-Avnet 0:478cfd88041f 171 /**
group-Avnet 0:478cfd88041f 172 * @brief Sends the Ready state command to SPIRIT. Go to READY.
group-Avnet 0:478cfd88041f 173 * @param None.
group-Avnet 0:478cfd88041f 174 * @retval None.
group-Avnet 0:478cfd88041f 175 */
group-Avnet 0:478cfd88041f 176 #define SpiritCmdStrobeReady() SpiritCmdStrobeCommand(CMD_READY)
group-Avnet 0:478cfd88041f 177
group-Avnet 0:478cfd88041f 178
group-Avnet 0:478cfd88041f 179
group-Avnet 0:478cfd88041f 180 /**
group-Avnet 0:478cfd88041f 181 * @brief Sends the Standby command to SPIRIT. Go to STANDBY.
group-Avnet 0:478cfd88041f 182 * @param None.
group-Avnet 0:478cfd88041f 183 * @retval None.
group-Avnet 0:478cfd88041f 184 */
group-Avnet 0:478cfd88041f 185 #define SpiritCmdStrobeStandby() SpiritCmdStrobeCommand(CMD_STANDBY)
group-Avnet 0:478cfd88041f 186
group-Avnet 0:478cfd88041f 187
group-Avnet 0:478cfd88041f 188
group-Avnet 0:478cfd88041f 189 /**
group-Avnet 0:478cfd88041f 190 * @brief Sends the Sleep command to SPIRIT. Go to SLEEP.
group-Avnet 0:478cfd88041f 191 * @param None.
group-Avnet 0:478cfd88041f 192 * @retval None.
group-Avnet 0:478cfd88041f 193 */
group-Avnet 0:478cfd88041f 194 #define SpiritCmdStrobeSleep() SpiritCmdStrobeCommand(CMD_SLEEP)
group-Avnet 0:478cfd88041f 195
group-Avnet 0:478cfd88041f 196
group-Avnet 0:478cfd88041f 197
group-Avnet 0:478cfd88041f 198 /**
group-Avnet 0:478cfd88041f 199 * @brief Sends the LOCK_RX command to SPIRIT. Go to the LOCK state by using the RX configuration of the synthesizer.
group-Avnet 0:478cfd88041f 200 * @param None.
group-Avnet 0:478cfd88041f 201 * @retval None.
group-Avnet 0:478cfd88041f 202 */
group-Avnet 0:478cfd88041f 203 #define SpiritCmdStrobeLockRx() SpiritCmdStrobeCommand(CMD_LOCKRX)
group-Avnet 0:478cfd88041f 204
group-Avnet 0:478cfd88041f 205
group-Avnet 0:478cfd88041f 206
group-Avnet 0:478cfd88041f 207 /**
group-Avnet 0:478cfd88041f 208 * @brief Sends the LOCK_TX command to SPIRIT. Go to the LOCK state by using the TX configuration of the synthesizer.
group-Avnet 0:478cfd88041f 209 * @param None.
group-Avnet 0:478cfd88041f 210 * @retval None.
group-Avnet 0:478cfd88041f 211 */
group-Avnet 0:478cfd88041f 212 #define SpiritCmdStrobeLockTx() SpiritCmdStrobeCommand(CMD_LOCKTX)
group-Avnet 0:478cfd88041f 213
group-Avnet 0:478cfd88041f 214
group-Avnet 0:478cfd88041f 215
group-Avnet 0:478cfd88041f 216 /**
group-Avnet 0:478cfd88041f 217 * @brief Sends the SABORT command to SPIRIT. Exit from TX or RX states and go to READY state.
group-Avnet 0:478cfd88041f 218 * @param None.
group-Avnet 0:478cfd88041f 219 * @retval None.
group-Avnet 0:478cfd88041f 220 */
group-Avnet 0:478cfd88041f 221 #define SpiritCmdStrobeSabort() SpiritCmdStrobeCommand(CMD_SABORT)
group-Avnet 0:478cfd88041f 222
group-Avnet 0:478cfd88041f 223
group-Avnet 0:478cfd88041f 224 /**
group-Avnet 0:478cfd88041f 225 * @brief Sends the LDC_RELOAD command to SPIRIT. Reload the LDC timer with the value stored in the LDC_PRESCALER / COUNTER registers.
group-Avnet 0:478cfd88041f 226 * @param None.
group-Avnet 0:478cfd88041f 227 * @retval None.
group-Avnet 0:478cfd88041f 228 */
group-Avnet 0:478cfd88041f 229 #define SpiritCmdStrobeLdcReload() SpiritCmdStrobeCommand(CMD_LDC_RELOAD)
group-Avnet 0:478cfd88041f 230
group-Avnet 0:478cfd88041f 231
group-Avnet 0:478cfd88041f 232
group-Avnet 0:478cfd88041f 233 /**
group-Avnet 0:478cfd88041f 234 * @brief Sends the SEQUENCE_UPDATE command to SPIRIT. Reload the Packet sequence counter with the value stored in the PROTOCOL[2] register.
group-Avnet 0:478cfd88041f 235 * @param None.
group-Avnet 0:478cfd88041f 236 * @retval None.
group-Avnet 0:478cfd88041f 237 */
group-Avnet 0:478cfd88041f 238 #define SpiritCmdStrobeSequenceUpdate() SpiritCmdStrobeCommand(CMD_SEQUENCE_UPDATE)
group-Avnet 0:478cfd88041f 239
group-Avnet 0:478cfd88041f 240
group-Avnet 0:478cfd88041f 241
group-Avnet 0:478cfd88041f 242 /**
group-Avnet 0:478cfd88041f 243 * @brief Sends the AES_ENC command to SPIRIT. Starts the encryption routine.
group-Avnet 0:478cfd88041f 244 * @param None.
group-Avnet 0:478cfd88041f 245 * @retval None.
group-Avnet 0:478cfd88041f 246 */
group-Avnet 0:478cfd88041f 247 #define SpiritCmdStrobeAesEnc() SpiritCmdStrobeCommand(CMD_AES_ENC)
group-Avnet 0:478cfd88041f 248
group-Avnet 0:478cfd88041f 249
group-Avnet 0:478cfd88041f 250
group-Avnet 0:478cfd88041f 251 /**
group-Avnet 0:478cfd88041f 252 * @brief Sends the AES_KEY command to SPIRIT. Starts the procedure to compute the key for the decryption.
group-Avnet 0:478cfd88041f 253 * @param None.
group-Avnet 0:478cfd88041f 254 * @retval None.
group-Avnet 0:478cfd88041f 255 */
group-Avnet 0:478cfd88041f 256 #define SpiritCmdStrobeAesKey() SpiritCmdStrobeCommand(CMD_AES_KEY)
group-Avnet 0:478cfd88041f 257
group-Avnet 0:478cfd88041f 258
group-Avnet 0:478cfd88041f 259
group-Avnet 0:478cfd88041f 260 /**
group-Avnet 0:478cfd88041f 261 * @brief Sends the AES_DEC command to SPIRIT. Starts the decryption using the current key.
group-Avnet 0:478cfd88041f 262 * @param None.
group-Avnet 0:478cfd88041f 263 * @retval None.
group-Avnet 0:478cfd88041f 264 */
group-Avnet 0:478cfd88041f 265 #define SpiritCmdStrobeAesDec() SpiritCmdStrobeCommand(CMD_AES_DEC)
group-Avnet 0:478cfd88041f 266
group-Avnet 0:478cfd88041f 267
group-Avnet 0:478cfd88041f 268
group-Avnet 0:478cfd88041f 269 /**
group-Avnet 0:478cfd88041f 270 * @brief Sends the KEY_DEC command to SPIRIT. Computes the key derivation and start the decryption.
group-Avnet 0:478cfd88041f 271 * @param None.
group-Avnet 0:478cfd88041f 272 * @retval None.
group-Avnet 0:478cfd88041f 273 */
group-Avnet 0:478cfd88041f 274 #define SpiritCmdStrobeAesKeyDec() SpiritCmdStrobeCommand(CMD_AES_KEY_DEC)
group-Avnet 0:478cfd88041f 275
group-Avnet 0:478cfd88041f 276 /**
group-Avnet 0:478cfd88041f 277 * @brief Sends the SRES command to SPIRIT. Partial reset: all digital circuit will be reset (exception for SPI only).
group-Avnet 0:478cfd88041f 278 * @param None.
group-Avnet 0:478cfd88041f 279 * @retval None.
group-Avnet 0:478cfd88041f 280 */
group-Avnet 0:478cfd88041f 281 #define SpiritCmdStrobeSres() SpiritCmdStrobeCommand(CMD_SRES)
group-Avnet 0:478cfd88041f 282
group-Avnet 0:478cfd88041f 283
group-Avnet 0:478cfd88041f 284 /**
group-Avnet 0:478cfd88041f 285 * @brief Sends the FLUSHRXFIFO command to SPIRIT. Clean the RX FIFO.
group-Avnet 0:478cfd88041f 286 * @param None.
group-Avnet 0:478cfd88041f 287 * @retval None.
group-Avnet 0:478cfd88041f 288 */
group-Avnet 0:478cfd88041f 289 #define SpiritCmdStrobeFlushRxFifo() SpiritCmdStrobeCommand(CMD_FLUSHRXFIFO)
group-Avnet 0:478cfd88041f 290
group-Avnet 0:478cfd88041f 291
group-Avnet 0:478cfd88041f 292
group-Avnet 0:478cfd88041f 293 /**
group-Avnet 0:478cfd88041f 294 * @brief Sends the FLUSHTXFIFO command to SPIRIT. Clean the TX FIFO.
group-Avnet 0:478cfd88041f 295 * @param None.
group-Avnet 0:478cfd88041f 296 * @retval None.
group-Avnet 0:478cfd88041f 297 */
group-Avnet 0:478cfd88041f 298 #define SpiritCmdStrobeFlushTxFifo() SpiritCmdStrobeCommand(CMD_FLUSHTXFIFO)
group-Avnet 0:478cfd88041f 299
group-Avnet 0:478cfd88041f 300
group-Avnet 0:478cfd88041f 301
group-Avnet 0:478cfd88041f 302 /**
group-Avnet 0:478cfd88041f 303 * @}
group-Avnet 0:478cfd88041f 304 */
group-Avnet 0:478cfd88041f 305
group-Avnet 0:478cfd88041f 306
group-Avnet 0:478cfd88041f 307 /**
group-Avnet 0:478cfd88041f 308 * @defgroup Commands_Exported_Functions Commands Exported Functions
group-Avnet 0:478cfd88041f 309 * @{
group-Avnet 0:478cfd88041f 310 */
group-Avnet 0:478cfd88041f 311 void SpiritCmdStrobeCommand(SpiritCmd xCommandCode);
group-Avnet 0:478cfd88041f 312
group-Avnet 0:478cfd88041f 313
group-Avnet 0:478cfd88041f 314 /**
group-Avnet 0:478cfd88041f 315 * @}
group-Avnet 0:478cfd88041f 316 */
group-Avnet 0:478cfd88041f 317
group-Avnet 0:478cfd88041f 318 /**
group-Avnet 0:478cfd88041f 319 * @}
group-Avnet 0:478cfd88041f 320 */
group-Avnet 0:478cfd88041f 321
group-Avnet 0:478cfd88041f 322
group-Avnet 0:478cfd88041f 323 /**
group-Avnet 0:478cfd88041f 324 * @}
group-Avnet 0:478cfd88041f 325 */
group-Avnet 0:478cfd88041f 326
group-Avnet 0:478cfd88041f 327
group-Avnet 0:478cfd88041f 328
group-Avnet 0:478cfd88041f 329
group-Avnet 0:478cfd88041f 330 #ifdef __cplusplus
group-Avnet 0:478cfd88041f 331 }
group-Avnet 0:478cfd88041f 332 #endif
group-Avnet 0:478cfd88041f 333
group-Avnet 0:478cfd88041f 334 #endif
group-Avnet 0:478cfd88041f 335
group-Avnet 0:478cfd88041f 336 /******************* (C) COPYRIGHT 2015 STMicroelectronics *****END OF FILE****/