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_DirectRF.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 direct transmission / receive modes.
rosarium 0:2ddc0583bcec 8 * @details
rosarium 0:2ddc0583bcec 9 *
rosarium 0:2ddc0583bcec 10 * This module contains functions to manage the direct Tx/Rx mode.
rosarium 0:2ddc0583bcec 11 * The user can choose the way to send data to Spirit through the
rosarium 0:2ddc0583bcec 12 * enumerative types <i>@ref DirectTx</i>/<i>@ref DirectRx</i>.
rosarium 0:2ddc0583bcec 13 *
rosarium 0:2ddc0583bcec 14 * @attention
rosarium 0:2ddc0583bcec 15 *
rosarium 0:2ddc0583bcec 16 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
rosarium 0:2ddc0583bcec 17 *
rosarium 0:2ddc0583bcec 18 * Redistribution and use in source and binary forms, with or without modification,
rosarium 0:2ddc0583bcec 19 * are permitted provided that the following conditions are met:
rosarium 0:2ddc0583bcec 20 * 1. Redistributions of source code must retain the above copyright notice,
rosarium 0:2ddc0583bcec 21 * this list of conditions and the following disclaimer.
rosarium 0:2ddc0583bcec 22 * 2. Redistributions in binary form must reproduce the above copyright notice,
rosarium 0:2ddc0583bcec 23 * this list of conditions and the following disclaimer in the documentation
rosarium 0:2ddc0583bcec 24 * and/or other materials provided with the distribution.
rosarium 0:2ddc0583bcec 25 * 3. Neither the name of STMicroelectronics nor the names of its contributors
rosarium 0:2ddc0583bcec 26 * may be used to endorse or promote products derived from this software
rosarium 0:2ddc0583bcec 27 * without specific prior written permission.
rosarium 0:2ddc0583bcec 28 *
rosarium 0:2ddc0583bcec 29 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
rosarium 0:2ddc0583bcec 30 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
rosarium 0:2ddc0583bcec 31 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
rosarium 0:2ddc0583bcec 32 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
rosarium 0:2ddc0583bcec 33 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
rosarium 0:2ddc0583bcec 34 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
rosarium 0:2ddc0583bcec 35 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
rosarium 0:2ddc0583bcec 36 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
rosarium 0:2ddc0583bcec 37 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
rosarium 0:2ddc0583bcec 38 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
rosarium 0:2ddc0583bcec 39 *
rosarium 0:2ddc0583bcec 40 ******************************************************************************
rosarium 0:2ddc0583bcec 41 */
rosarium 0:2ddc0583bcec 42
rosarium 0:2ddc0583bcec 43 /* Define to prevent recursive inclusion -------------------------------------*/
rosarium 0:2ddc0583bcec 44 #ifndef __SPIRIT1_DIRECT_RF_H
rosarium 0:2ddc0583bcec 45 #define __SPIRIT1_DIRECT_RF_H
rosarium 0:2ddc0583bcec 46
rosarium 0:2ddc0583bcec 47 /* Includes ------------------------------------------------------------------*/
rosarium 0:2ddc0583bcec 48
rosarium 0:2ddc0583bcec 49 #include "SPIRIT_Regs.h"
rosarium 0:2ddc0583bcec 50 #include "SPIRIT_Types.h"
rosarium 0:2ddc0583bcec 51
rosarium 0:2ddc0583bcec 52
rosarium 0:2ddc0583bcec 53
rosarium 0:2ddc0583bcec 54 #ifdef __cplusplus
rosarium 0:2ddc0583bcec 55 extern "C" {
rosarium 0:2ddc0583bcec 56 #endif
rosarium 0:2ddc0583bcec 57
rosarium 0:2ddc0583bcec 58
rosarium 0:2ddc0583bcec 59 /**
rosarium 0:2ddc0583bcec 60 * @addtogroup SPIRIT_Libraries
rosarium 0:2ddc0583bcec 61 * @{
rosarium 0:2ddc0583bcec 62 */
rosarium 0:2ddc0583bcec 63
rosarium 0:2ddc0583bcec 64
rosarium 0:2ddc0583bcec 65 /**
rosarium 0:2ddc0583bcec 66 * @defgroup SPIRIT_DirectRf Direct RF
rosarium 0:2ddc0583bcec 67 * @brief Configuration and management of SPIRIT direct transmission / receive modes.
rosarium 0:2ddc0583bcec 68 * @details See the file <i>@ref SPIRIT_DirectRF.h</i> for more details.
rosarium 0:2ddc0583bcec 69 * @{
rosarium 0:2ddc0583bcec 70 */
rosarium 0:2ddc0583bcec 71
rosarium 0:2ddc0583bcec 72 /**
rosarium 0:2ddc0583bcec 73 * @defgroup DirectRf_Exported_Types Direct RF Exported Types
rosarium 0:2ddc0583bcec 74 * @{
rosarium 0:2ddc0583bcec 75 */
rosarium 0:2ddc0583bcec 76
rosarium 0:2ddc0583bcec 77 /**
rosarium 0:2ddc0583bcec 78 * @brief Direct transmission mode enumeration for SPIRIT.
rosarium 0:2ddc0583bcec 79 */
rosarium 0:2ddc0583bcec 80 typedef enum
rosarium 0:2ddc0583bcec 81 {
rosarium 0:2ddc0583bcec 82 NORMAL_TX_MODE = 0x00, /*!< Normal mode, no direct transmission is used */
rosarium 0:2ddc0583bcec 83 DIRECT_TX_FIFO_MODE = 0x04, /*!< Source is FIFO: payload bits are continuously read from the TX FIFO */
rosarium 0:2ddc0583bcec 84 DIRECT_TX_GPIO_MODE = 0x08, /*!< Source is GPIO: payload bits are continuously read from one of the GPIO ports and transmitted without any processing */
rosarium 0:2ddc0583bcec 85 PN9_TX_MODE = 0x0C /*!< A pseudorandom binary sequence is generated internally */
rosarium 0:2ddc0583bcec 86 }DirectTx;
rosarium 0:2ddc0583bcec 87
rosarium 0:2ddc0583bcec 88 #define IS_DIRECT_TX(MODE) (((MODE) == NORMAL_TX_MODE) || \
rosarium 0:2ddc0583bcec 89 ((MODE) == DIRECT_TX_FIFO_MODE) || \
rosarium 0:2ddc0583bcec 90 ((MODE) == DIRECT_TX_GPIO_MODE) || \
rosarium 0:2ddc0583bcec 91 ((MODE) == PN9_TX_MODE))
rosarium 0:2ddc0583bcec 92
rosarium 0:2ddc0583bcec 93 /**
rosarium 0:2ddc0583bcec 94 * @brief Direct receive mode enumeration for SPIRIT.
rosarium 0:2ddc0583bcec 95 */
rosarium 0:2ddc0583bcec 96 typedef enum
rosarium 0:2ddc0583bcec 97 {
rosarium 0:2ddc0583bcec 98 NORMAL_RX_MODE = 0x00, /*!< Normal mode, no direct reception is used */
rosarium 0:2ddc0583bcec 99 DIRECT_RX_FIFO_MODE = 0x10, /*!< Destination is FIFO: payload bits are continuously written to the RX FIFO and not subjected to any processing*/
rosarium 0:2ddc0583bcec 100 DIRECT_RX_GPIO_MODE = 0x20 /*!< Destination is GPIO: payload bits are continuously written to one of the GPIO ports and not subjected to any processing*/
rosarium 0:2ddc0583bcec 101 }DirectRx;
rosarium 0:2ddc0583bcec 102
rosarium 0:2ddc0583bcec 103 #define IS_DIRECT_RX(MODE) (((MODE) == NORMAL_RX_MODE) || \
rosarium 0:2ddc0583bcec 104 ((MODE) == DIRECT_RX_FIFO_MODE) || \
rosarium 0:2ddc0583bcec 105 ((MODE) == DIRECT_RX_GPIO_MODE))
rosarium 0:2ddc0583bcec 106
rosarium 0:2ddc0583bcec 107
rosarium 0:2ddc0583bcec 108 /**
rosarium 0:2ddc0583bcec 109 *@}
rosarium 0:2ddc0583bcec 110 */
rosarium 0:2ddc0583bcec 111
rosarium 0:2ddc0583bcec 112
rosarium 0:2ddc0583bcec 113 /**
rosarium 0:2ddc0583bcec 114 * @defgroup DirectRf_Exported_Constants Direct RF Exported Constants
rosarium 0:2ddc0583bcec 115 * @{
rosarium 0:2ddc0583bcec 116 */
rosarium 0:2ddc0583bcec 117
rosarium 0:2ddc0583bcec 118
rosarium 0:2ddc0583bcec 119 /**
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 DirectRf_Exported_Macros Direct RF Exported Macros
rosarium 0:2ddc0583bcec 126 * @{
rosarium 0:2ddc0583bcec 127 */
rosarium 0:2ddc0583bcec 128
rosarium 0:2ddc0583bcec 129
rosarium 0:2ddc0583bcec 130 /**
rosarium 0:2ddc0583bcec 131 *@}
rosarium 0:2ddc0583bcec 132 */
rosarium 0:2ddc0583bcec 133
rosarium 0:2ddc0583bcec 134
rosarium 0:2ddc0583bcec 135 /**
rosarium 0:2ddc0583bcec 136 * @defgroup DirectRf_Exported_Functions Direct RF Exported Functions
rosarium 0:2ddc0583bcec 137 * @{
rosarium 0:2ddc0583bcec 138 */
rosarium 0:2ddc0583bcec 139
rosarium 0:2ddc0583bcec 140 void SpiritDirectRfSetRxMode(DirectRx xDirectRx);
rosarium 0:2ddc0583bcec 141 DirectRx SpiritDirectRfGetRxMode(void);
rosarium 0:2ddc0583bcec 142 void SpiritDirectRfSetTxMode(DirectTx xDirectTx);
rosarium 0:2ddc0583bcec 143 DirectTx SpiritDirectRfGetTxMode(void);
rosarium 0:2ddc0583bcec 144
rosarium 0:2ddc0583bcec 145 /**
rosarium 0:2ddc0583bcec 146 *@}
rosarium 0:2ddc0583bcec 147 */
rosarium 0:2ddc0583bcec 148
rosarium 0:2ddc0583bcec 149 /**
rosarium 0:2ddc0583bcec 150 *@}
rosarium 0:2ddc0583bcec 151 */
rosarium 0:2ddc0583bcec 152
rosarium 0:2ddc0583bcec 153
rosarium 0:2ddc0583bcec 154 /**
rosarium 0:2ddc0583bcec 155 *@}
rosarium 0:2ddc0583bcec 156 */
rosarium 0:2ddc0583bcec 157
rosarium 0:2ddc0583bcec 158
rosarium 0:2ddc0583bcec 159 #ifdef __cplusplus
rosarium 0:2ddc0583bcec 160 }
rosarium 0:2ddc0583bcec 161 #endif
rosarium 0:2ddc0583bcec 162
rosarium 0:2ddc0583bcec 163 #endif
rosarium 0:2ddc0583bcec 164
rosarium 0:2ddc0583bcec 165 /******************* (C) COPYRIGHT 2015 STMicroelectronics *****END OF FILE****/