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 hw-config.h
rosarium 0:2ddc0583bcec 4 * @author System LAB
rosarium 0:2ddc0583bcec 5 * @version V1.0.0
rosarium 0:2ddc0583bcec 6 * @date 17-May-2015
rosarium 0:2ddc0583bcec 7 * @brief Header file for Hardware Configuration & Setup
rosarium 0:2ddc0583bcec 8 ******************************************************************************
rosarium 0:2ddc0583bcec 9 * @attention
rosarium 0:2ddc0583bcec 10 *
rosarium 0:2ddc0583bcec 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
rosarium 0:2ddc0583bcec 12 *
rosarium 0:2ddc0583bcec 13 * Redistribution and use in source and binary forms, with or without modification,
rosarium 0:2ddc0583bcec 14 * are permitted provided that the following conditions are met:
rosarium 0:2ddc0583bcec 15 * 1. Redistributions of source code must retain the above copyright notice,
rosarium 0:2ddc0583bcec 16 * this list of conditions and the following disclaimer.
rosarium 0:2ddc0583bcec 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
rosarium 0:2ddc0583bcec 18 * this list of conditions and the following disclaimer in the documentation
rosarium 0:2ddc0583bcec 19 * and/or other materials provided with the distribution.
rosarium 0:2ddc0583bcec 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
rosarium 0:2ddc0583bcec 21 * may be used to endorse or promote products derived from this software
rosarium 0:2ddc0583bcec 22 * without specific prior written permission.
rosarium 0:2ddc0583bcec 23 *
rosarium 0:2ddc0583bcec 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
rosarium 0:2ddc0583bcec 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
rosarium 0:2ddc0583bcec 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
rosarium 0:2ddc0583bcec 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
rosarium 0:2ddc0583bcec 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
rosarium 0:2ddc0583bcec 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
rosarium 0:2ddc0583bcec 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
rosarium 0:2ddc0583bcec 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
rosarium 0:2ddc0583bcec 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
rosarium 0:2ddc0583bcec 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
rosarium 0:2ddc0583bcec 34 *
rosarium 0:2ddc0583bcec 35 ******************************************************************************
rosarium 0:2ddc0583bcec 36 */
rosarium 0:2ddc0583bcec 37 /*---------------------------------------------------------------------------*/
rosarium 0:2ddc0583bcec 38 #ifndef __HW_CONFIG_H
rosarium 0:2ddc0583bcec 39 #define __HW_CONFIG_H
rosarium 0:2ddc0583bcec 40 /*---------------------------------------------------------------------------*/
rosarium 0:2ddc0583bcec 41 #include "stm32l-spirit1-config.h"
rosarium 0:2ddc0583bcec 42 /*---------------------------------------------------------------------------*/
rosarium 0:2ddc0583bcec 43 #define UART_RxBufferSize 512
rosarium 0:2ddc0583bcec 44 /*---------------------------------------------------------------------------*/
rosarium 0:2ddc0583bcec 45 #define I2Cx I2C1
rosarium 0:2ddc0583bcec 46 #define I2Cx_CLK_ENABLE() __I2C1_CLK_ENABLE()
rosarium 0:2ddc0583bcec 47 #define I2Cx_SDA_GPIO_CLK_ENABLE() __GPIOB_CLK_ENABLE()
rosarium 0:2ddc0583bcec 48 #define I2Cx_SCL_GPIO_CLK_ENABLE() __GPIOB_CLK_ENABLE()
rosarium 0:2ddc0583bcec 49 /*---------------------------------------------------------------------------*/
rosarium 0:2ddc0583bcec 50 #define I2Cx_FORCE_RESET() __I2C1_FORCE_RESET()
rosarium 0:2ddc0583bcec 51 #define I2Cx_RELEASE_RESET() __I2C1_RELEASE_RESET()
rosarium 0:2ddc0583bcec 52 /*---------------------------------------------------------------------------*/
rosarium 0:2ddc0583bcec 53 /* Definition for I2Cx Pins */
rosarium 0:2ddc0583bcec 54 #define I2Cx_SCL_PIN GPIO_PIN_8
rosarium 0:2ddc0583bcec 55 #define I2Cx_SCL_GPIO_PORT GPIOB
rosarium 0:2ddc0583bcec 56 #define I2Cx_SDA_PIN GPIO_PIN_9
rosarium 0:2ddc0583bcec 57 #define I2Cx_SDA_GPIO_PORT GPIOB
rosarium 0:2ddc0583bcec 58 #define I2Cx_SCL_SDA_AF GPIO_AF4_I2C1
rosarium 0:2ddc0583bcec 59
rosarium 0:2ddc0583bcec 60 /* Definition for I2Cx's NVIC */
rosarium 0:2ddc0583bcec 61 #define I2Cx_EV_IRQn I2C1_EV_IRQn
rosarium 0:2ddc0583bcec 62 #define I2Cx_ER_IRQn I2C1_ER_IRQn
rosarium 0:2ddc0583bcec 63 #define I2Cx_EV_IRQHandler I2C1_EV_IRQHandler
rosarium 0:2ddc0583bcec 64 #define I2Cx_ER_IRQHandler I2C1_ER_IRQHandler
rosarium 0:2ddc0583bcec 65
rosarium 0:2ddc0583bcec 66
rosarium 0:2ddc0583bcec 67 #define I2Cx I2C1
rosarium 0:2ddc0583bcec 68 #define I2Cx_CLK_ENABLE() __I2C1_CLK_ENABLE()
rosarium 0:2ddc0583bcec 69 #define I2Cx_SDA_GPIO_CLK_ENABLE() __GPIOB_CLK_ENABLE()
rosarium 0:2ddc0583bcec 70 #define I2Cx_SCL_GPIO_CLK_ENABLE() __GPIOB_CLK_ENABLE()
rosarium 0:2ddc0583bcec 71
rosarium 0:2ddc0583bcec 72 #define I2Cx_FORCE_RESET() __I2C1_FORCE_RESET()
rosarium 0:2ddc0583bcec 73 #define I2Cx_RELEASE_RESET() __I2C1_RELEASE_RESET()
rosarium 0:2ddc0583bcec 74
rosarium 0:2ddc0583bcec 75 /* Definition for I2Cx Pins */
rosarium 0:2ddc0583bcec 76 #define I2Cx_SCL_PIN GPIO_PIN_8
rosarium 0:2ddc0583bcec 77 #define I2Cx_SCL_GPIO_PORT GPIOB
rosarium 0:2ddc0583bcec 78 #define I2Cx_SDA_PIN GPIO_PIN_9
rosarium 0:2ddc0583bcec 79 #define I2Cx_SDA_GPIO_PORT GPIOB
rosarium 0:2ddc0583bcec 80 #define I2Cx_SCL_SDA_AF GPIO_AF4_I2C1
rosarium 0:2ddc0583bcec 81
rosarium 0:2ddc0583bcec 82 /* Definition for I2Cx's NVIC */
rosarium 0:2ddc0583bcec 83 #define I2Cx_EV_IRQn I2C1_EV_IRQn
rosarium 0:2ddc0583bcec 84 #define I2Cx_ER_IRQn I2C1_ER_IRQn
rosarium 0:2ddc0583bcec 85 #define I2Cx_EV_IRQHandler I2C1_EV_IRQHandler
rosarium 0:2ddc0583bcec 86 #define I2Cx_ER_IRQHandler I2C1_ER_IRQHandler
rosarium 0:2ddc0583bcec 87
rosarium 0:2ddc0583bcec 88 /* User can use this section to tailor USARTx/UARTx instance used and associated
rosarium 0:2ddc0583bcec 89 resources */
rosarium 0:2ddc0583bcec 90 /* Definition for USARTx clock resources */
rosarium 0:2ddc0583bcec 91 #define USARTx USART2
rosarium 0:2ddc0583bcec 92 #define USARTx_CLK_ENABLE() __USART2_CLK_ENABLE();
rosarium 0:2ddc0583bcec 93 #define DMAx_CLK_ENABLE() __DMA1_CLK_ENABLE()
rosarium 0:2ddc0583bcec 94 #define USARTx_RX_GPIO_CLK_ENABLE() __GPIOA_CLK_ENABLE()
rosarium 0:2ddc0583bcec 95 #define USARTx_TX_GPIO_CLK_ENABLE() __GPIOA_CLK_ENABLE()
rosarium 0:2ddc0583bcec 96
rosarium 0:2ddc0583bcec 97 #define USARTx_FORCE_RESET() __USART2_FORCE_RESET()
rosarium 0:2ddc0583bcec 98 #define USARTx_RELEASE_RESET() __USART2_RELEASE_RESET()
rosarium 0:2ddc0583bcec 99
rosarium 0:2ddc0583bcec 100 /* Definition for USARTx Pins */
rosarium 0:2ddc0583bcec 101 #define USARTx_TX_PIN GPIO_PIN_2
rosarium 0:2ddc0583bcec 102 #define USARTx_TX_GPIO_PORT GPIOA
rosarium 0:2ddc0583bcec 103
rosarium 0:2ddc0583bcec 104 #define USARTx_RX_PIN GPIO_PIN_3
rosarium 0:2ddc0583bcec 105 #define USARTx_RX_GPIO_PORT GPIOA
rosarium 0:2ddc0583bcec 106
rosarium 0:2ddc0583bcec 107 /* Definition for USARTx's NVIC */
rosarium 0:2ddc0583bcec 108 #define USARTx_IRQn USART2_IRQn
rosarium 0:2ddc0583bcec 109 #define USARTx_IRQHandler USART2_IRQHandler
rosarium 0:2ddc0583bcec 110
rosarium 0:2ddc0583bcec 111 #define USARTx_TX_AF GPIO_AF7_USART2
rosarium 0:2ddc0583bcec 112 #define USARTx_RX_AF GPIO_AF7_USART2
rosarium 0:2ddc0583bcec 113
rosarium 0:2ddc0583bcec 114
rosarium 0:2ddc0583bcec 115 /* Enable sensor mask */
rosarium 0:2ddc0583bcec 116 #define PRESSURE_SENSOR 0x00000001
rosarium 0:2ddc0583bcec 117 #define TEMPERATURE_SENSOR 0x00000002
rosarium 0:2ddc0583bcec 118 #define HUMIDITY_SENSOR 0x00000004
rosarium 0:2ddc0583bcec 119 #define UV_SENSOR 0x00000008
rosarium 0:2ddc0583bcec 120 #define ACCELEROMETER_SENSOR 0x00000010
rosarium 0:2ddc0583bcec 121 #define GYROSCOPE_SENSOR 0x00000020
rosarium 0:2ddc0583bcec 122 #define MAGNETIC_SENSOR 0x00000040
rosarium 0:2ddc0583bcec 123 /*---------------------------------------------------------------------------*/
rosarium 0:2ddc0583bcec 124 #endif /*__HW_CONFIG_H*/
rosarium 0:2ddc0583bcec 125 /*---------------------------------------------------------------------------*/