GitHub - stm32duino/STM32duinoBLE: ArduinoBLE library fork to support ST BLE modules (original) (raw)

STM32duinoBLE

This library is a fork of ArduinoBLE library to add the support of STM32WB, SPBTLE-RF, SPBTLE-1S, BLUENRG-M2SP, BLUENRG-LP and BLUENRG-M0 BLE modules.

It was successfully tested with the NUCLEO-WB15CC, P-NUCLEO-WB55RG, STM32WB5MM-DK, X-NUCLEO-IDB05A2 or X-NUCLEO-IDB05A1 or X-NUCLEO-BNRG2A1 expansion board and a NUCLEO-F401RE or NUCLEO-L476RG or NUCLEO-L053R8, with B-L475E-IOT01A, B-L4S5I-IOT01A, STEVAL-MKSBOX1V1, STEVAL-MKBOXPRO and with STM32L562E-DK.

https://github.com/STMicroelectronics/STM32CubeWB/tree/master/Projects/STM32WB_Copro_Wireless_Binaries

Each subdirectories contains binaries and Release_Notes.html which explain how to update it.

https://github.com/stm32duino/Arduino_Core_STM32/wiki/STM32duinoBLE#stm32duinoble-with-steval_mksbox1v1

https://github.com/stm32duino/Arduino_Core_STM32/wiki/STM32duinoBLE#stm32duinoble-with-x-nucleo-bnrg2a1

For more information about ArduinoBLE library please visit the official web page at:https://www.arduino.cc/en/Reference/ArduinoBLE

Configuration

STM32WB

STM32Cube_WPAN has several configuration options, which are set in the app_conf.h. This package has a default configuration named app_conf_default.h. The user can include the file app_conf_custom.h to customize the BLE application. Options wrapped in #ifndef, #endif in app_conf_default.h can be overwritten. Additional options can be added.

The user can refer to AN5270

Examples

The user can change the Tx Power by redefining CFG_TX_POWER using the build_opt.h file. Possible values are listed in the chapter4.2 Tx power level, default value is 0x18(-0.15dBm). To set it at +1dBm, CFG_TX_POWER have to be defined at 0x1A:

Shield

The user can include the file ble_spi_conf.h to define which shield and configuration to use from the following list:

Examples

To use the X-NUCLEO-IDB05A2 with SPI clock on D3, define in ble_spi_conf.h:

#define IDB05A2_SPI_CLOCK_D3

This is equivalent to the below configuration using the CUSTOM_BLE_SPI:

#define CUSTOM_BLE_SPI #define BLE_SPI_MISO D12 #define BLE_SPI_MOSI D11 #define BLE_SPI_CLK D3 #define BLE_SPI_CS A1 #define BLE_SPI_IRQ A0 #define BLE_SPI_FREQ 8000000 #define BLE_SPI_MODE SPI_MODE0 #define BLE_CHIP_TYPE BLUENRG_M0 #define BLE_RESET D7

Using a SPI BLE module on STM32WB

If required, user can use a compatible BLE module over SPI.

In the ble_spi_conf.h, define USE_BLE_SPI.

License

Copyright (c) 2019 STMicroelectronics. All rights reserved.
Copyright (c) 2019 Arduino SA. All rights reserved.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA