BLE_API wrapper library for STMicroelectronics' BlueNRG Bluetooth Low Energy expansion board shield (Component)

Dependents:   Nucleo_Zumo_BLE_IDB04A1 contest_IOT5 contest_IOT6 contest_IOT_10 ... more

Fork of X_NUCLEO_IDB0XA1 by ST Expansion SW Team

Arduino Connector Compatibility Warning

X-NUCLEO-IDB04A1 and X-NUCLEO-IDB05A1 are Arduino compatible with an exception: instead of using pin D13 for the SPI clock, they use pin D3. The default configuration for this library is having the SPI clock on pin D3.

To be fully Arduino compatible, X-NUCLEO-IDB04A1 and X-NUCLEO-IDB05A1 need a small HW patch.

For X-NUCLEO-IDB04A1 this patch consists in removing zero resistor R10 and instead soldering zero resistor R11. For X-NUCLEO-IDB05A1 this patch consists in removing zero resistor R4 and instead soldering zero resistor R6.

In case you patch your board, then you also have to configure this library to use pin D13 to drive the SPI clock (see macro IDB0XA1_D13_PATCH in file x_nucleo_idb0xa1_targets.h).

If you use pin D13 for the SPI clock, please be aware that on STM32 Nucleo boards you may not drive the LED, otherwise you will get a conflict: the LED on STM32 Nucleo boards is connected to pin D13.

Referring to the current list of tested platforms (see X-NUCLEO-IDB04A1 and X-NUCLEO-IDB05A1 pages), the patch is required by ST-Nucleo-F103RB; ST-Nucleo-F302R8; ST-Nucleo-F411RE; and ST-Nucleo-F446RE.

Committer:
Andrea Palmieri
Date:
Fri Sep 16 12:03:25 2016 +0200
Revision:
307:fa98703ece8e
Parent:
253:9665a6f8bbdb
Sync with 21bfd161ace255bb6214d6b74cae1fd30b3e24c9

2016-09-16 11:53:47+02:00: Andrea Palmieri
Get rid of warnings

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wolfgang Betz 130:770ce14d3d15 1 /**
Wolfgang Betz 130:770ce14d3d15 2 ******************************************************************************
Wolfgang Betz 130:770ce14d3d15 3 * @file x_nucleo_idb0xa1_targets.h
Wolfgang Betz 130:770ce14d3d15 4 * @author AST / EST
Wolfgang Betz 130:770ce14d3d15 5 * @version V0.0.1
Wolfgang Betz 130:770ce14d3d15 6 * @date 24-July-2015
Wolfgang Betz 130:770ce14d3d15 7 * @brief This header file is intended to manage the differences between
Wolfgang Betz 130:770ce14d3d15 8 * the different supported base-boards which might mount the
Wolfgang Betz 130:770ce14d3d15 9 * X_NUCLEO_IDB0XA1 BlueNRG BLE Expansion Board.
Wolfgang Betz 130:770ce14d3d15 10 ******************************************************************************
Wolfgang Betz 130:770ce14d3d15 11 * @attention
Wolfgang Betz 130:770ce14d3d15 12 *
Wolfgang Betz 130:770ce14d3d15 13 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
Wolfgang Betz 130:770ce14d3d15 14 *
Wolfgang Betz 130:770ce14d3d15 15 * Redistribution and use in source and binary forms, with or without modification,
Wolfgang Betz 130:770ce14d3d15 16 * are permitted provided that the following conditions are met:
Wolfgang Betz 130:770ce14d3d15 17 * 1. Redistributions of source code must retain the above copyright notice,
Wolfgang Betz 130:770ce14d3d15 18 * this list of conditions and the following disclaimer.
Wolfgang Betz 130:770ce14d3d15 19 * 2. Redistributions in binary form must reproduce the above copyright notice,
Wolfgang Betz 130:770ce14d3d15 20 * this list of conditions and the following disclaimer in the documentation
Wolfgang Betz 130:770ce14d3d15 21 * and/or other materials provided with the distribution.
Wolfgang Betz 130:770ce14d3d15 22 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Wolfgang Betz 130:770ce14d3d15 23 * may be used to endorse or promote products derived from this software
Wolfgang Betz 130:770ce14d3d15 24 * without specific prior written permission.
Wolfgang Betz 130:770ce14d3d15 25 *
Wolfgang Betz 130:770ce14d3d15 26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Wolfgang Betz 130:770ce14d3d15 27 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Wolfgang Betz 130:770ce14d3d15 28 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Wolfgang Betz 130:770ce14d3d15 29 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Wolfgang Betz 130:770ce14d3d15 30 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Wolfgang Betz 130:770ce14d3d15 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Wolfgang Betz 130:770ce14d3d15 32 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Wolfgang Betz 130:770ce14d3d15 33 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Wolfgang Betz 130:770ce14d3d15 34 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Wolfgang Betz 130:770ce14d3d15 35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Wolfgang Betz 130:770ce14d3d15 36 *
Wolfgang Betz 130:770ce14d3d15 37 ******************************************************************************
Wolfgang Betz 130:770ce14d3d15 38 */
Wolfgang Betz 130:770ce14d3d15 39
Wolfgang Betz 130:770ce14d3d15 40 /* Define to prevent from recursive inclusion --------------------------------*/
Wolfgang Betz 130:770ce14d3d15 41 #ifndef _X_NUCLEO_IDB0XA1_TARGETS_H_
Wolfgang Betz 130:770ce14d3d15 42 #define _X_NUCLEO_IDB0XA1_TARGETS_H_
Wolfgang Betz 130:770ce14d3d15 43
Wolfgang Betz 130:770ce14d3d15 44 /*** SPI ***/
Wolfgang Betz 130:770ce14d3d15 45 /* Use Arduino I2C Connectors */
Wolfgang Betz 130:770ce14d3d15 46 #define IDB0XA1_PIN_SPI_MOSI (D11)
Wolfgang Betz 130:770ce14d3d15 47 #define IDB0XA1_PIN_SPI_MISO (D12)
Wolfgang Betz 130:770ce14d3d15 48 #define IDB0XA1_PIN_SPI_nCS (A1)
Wolfgang Betz 130:770ce14d3d15 49 #define IDB0XA1_PIN_SPI_RESET (D7)
Wolfgang Betz 130:770ce14d3d15 50 #define IDB0XA1_PIN_SPI_IRQ (A0)
Wolfgang Betz 130:770ce14d3d15 51
Wolfgang Betz 147:f7d1438acee8 52 /* NOTE: Define macro 'IDB0XA1_D13_PATCH' if you want to compile for a specifically
Wolfgang Betz 130:770ce14d3d15 53 modified version of the X_NUCLEO_IDB0XA1 expansion board in
Wolfgang Betz 130:770ce14d3d15 54 which pin 'D13' (rather than the standard pin 'D3') is used
Wolfgang Betz 130:770ce14d3d15 55 in order to provide the SPI serial clock.
Wolfgang Betz 130:770ce14d3d15 56 Expansion boards modified in this way allow to be used on almost
Wolfgang Betz 130:770ce14d3d15 57 any Arduino-compliant base board.
Wolfgang Betz 130:770ce14d3d15 58 */
Wolfgang Betz 130:770ce14d3d15 59 #if defined(IDB0XA1_D13_PATCH)
Wolfgang Betz 130:770ce14d3d15 60 #define IDB0XA1_PIN_SPI_SCK (D13)
Wolfgang Betz 130:770ce14d3d15 61 #else // !defined(IDB0XA1_D13_PATCH)
Wolfgang Betz 130:770ce14d3d15 62 #define IDB0XA1_PIN_SPI_SCK (D3)
Wolfgang Betz 130:770ce14d3d15 63 #endif // !defined(IDB0XA1_D13_PATCH)
Wolfgang Betz 130:770ce14d3d15 64
Andrea Palmieri 241:c13c2e31316d 65 /* NOTE: Stack Mode 0x04 allows Simultaneous Scanning and Advertisement (SSAdv)
Andrea Palmieri 241:c13c2e31316d 66 Define macro 'SSADV' to enable it
Andrea Palmieri 241:c13c2e31316d 67 */
Vincent Coubard 253:9665a6f8bbdb 68 #define SSADV
Andrea Palmieri 241:c13c2e31316d 69 #if defined(SSADV)
Andrea Palmieri 241:c13c2e31316d 70 #define IDB0XA1_STACK_MODE (0x04)
Andrea Palmieri 241:c13c2e31316d 71 #else
Andrea Palmieri 241:c13c2e31316d 72 #define IDB0XA1_STACK_MODE (0x02)
Andrea Palmieri 241:c13c2e31316d 73 #endif
Andrea Palmieri 241:c13c2e31316d 74
Wolfgang Betz 130:770ce14d3d15 75 #endif // _X_NUCLEO_IDB0XA1_TARGETS_H_