Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync to ArduinoBLE master #74

Merged
merged 155 commits into from
Mar 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
2986119
Add enhanced advertising examples
polldo Nov 2, 2020
c663798
Initial - encrypted read
Jan 1, 2021
9cde1de
Merged master
Jan 1, 2021
e5ccd3b
Merge pull request #1 from unknownconstant/pairing
Jan 1, 2021
97571e3
With write encryptionn requirement
Jan 1, 2021
f364628
Merge pull request #2 from unknownconstant/pairing
Jan 1, 2021
fa42bb2
Write encryption & visible LTK / IRK
Jan 2, 2021
065fc1d
Merge pull request #3 from unknownconstant/pairing
Jan 2, 2021
1431f3d
Fixed packet fragmentation
Jan 2, 2021
6b56e82
Merge pull request #4 from unknownconstant/pairing
Jan 2, 2021
6ef59a5
Android bugfix
Jan 3, 2021
7ecf299
Merge pull request #5 from unknownconstant/pairing
Jan 3, 2021
0aa2e87
Handle remote DHKey confirmation before own DHKey
eltos Jan 3, 2021
750b7f1
Actually check remote DHKey
eltos Jan 3, 2021
915e914
Move LTK signaling and confirm to separate method
eltos Jan 4, 2021
f54e7a2
Add method to control and query pairing
eltos Jan 4, 2021
283038f
Merge pull request #6 from eltos/master
Jan 4, 2021
d9fb4bc
Secure random & reject unknown LTK
Jan 4, 2021
fb2b817
Merge branch 'master' into secure-random
Jan 4, 2021
83d11ed
Merge pull request #16 from unknownconstant/secure-random
Jan 4, 2021
e2868a7
Pairing code & binary confirm callbacks
Jan 7, 2021
6b08d21
Updated example sketch
Jan 7, 2021
a429760
Merge pull request #17 from unknownconstant/pairing-code
Jan 7, 2021
3dd53d1
Spellcheck fixes
Jan 24, 2021
55d5bf2
add access to raw advertisement data
tlossen Dec 26, 2020
a9550cf
Saturate length of retrieved advertisement data
polldo Apr 20, 2021
bd492be
Add advertisement data auxiliary functions
polldo Apr 20, 2021
b5d1b73
Add Nano RP2040 Connect to "smoke test" examples compilation CI workflow
per1234 Apr 28, 2021
e080601
Add retrieval of manufacturer data
polldo Apr 20, 2021
3e0cae6
Merge pull request #177 from per1234/ci
per1234 Jun 20, 2021
e1b0d81
moved BLE library to markdown
LiamAljundi Aug 6, 2021
ceb3932
updated content
LiamAljundi Aug 23, 2021
21a332f
fixed suggestions from Karl's review
LiamAljundi Aug 24, 2021
7ed640c
Merge pull request #200 from LiamAljundi/liamAljundi/ble-library-migr…
karlsoderby Aug 24, 2021
236aeda
updated library properties and readme
akash73 Aug 30, 2021
b155246
fix of bad indexing in ATTClass::handleNotifyOrInd which affected BLE…
Lukas-kV Dec 8, 2021
f6b7952
Merge pull request #211 from Lukas-kV/master
facchinm Dec 9, 2021
c8de775
Replace boolean with standard bool (#42)
fpistm Dec 14, 2021
14596d4
Adding sync-labels workflow for sharing one set of labels across all …
aentinger Dec 14, 2021
af4d848
Use major version ref of `carlosperate/download-file-action` (#215)
per1234 Dec 20, 2021
95b2449
Configure Dependabot to check for outdated actions used in workflows …
per1234 Dec 20, 2021
8d4d1dc
fix potential arrary overflow problem of _recvBuffer (#214)
bigbearishappy Dec 22, 2021
ed61a17
Bluetooth trademark fix
karlsoderby Feb 23, 2022
38fe924
Merge pull request #221 from arduino-libraries/karlsoderby/bluetooth-…
karlsoderby Feb 23, 2022
57ce514
Bump actions/checkout from 2 to 3
dependabot[bot] Mar 2, 2022
ca92e1b
Merge pull request #224 from arduino-libraries/dependabot/github_acti…
per1234 Mar 2, 2022
c9bfd21
Update readme.md
bboyho Mar 19, 2022
c925d82
Add compatibility with Nicla Vision
giulcioffi Mar 24, 2022
c12774c
Release 1.2.2
giulcioffi Mar 24, 2022
bfc3202
Update api.md
jacobhylen Mar 31, 2022
b146def
Merge pull request #225 from bboyho/master
karlsoderby Apr 1, 2022
5d5aaaa
Merge pull request #228 from jacobhylen/jacobhylen/change-links
karlsoderby Apr 1, 2022
4cf376e
Unification of documentation
mklemarczyk Apr 7, 2022
da1da57
Merge pull request #231 from mklemarczyk/hotfix/docs-api-fix
facchinm Apr 11, 2022
6438f81
Bump actions/download-artifact from 2 to 3
dependabot[bot] Apr 11, 2022
785ef5c
Bump actions/upload-artifact from 2 to 3
dependabot[bot] Apr 11, 2022
130af4e
Merge pull request #234 from arduino-libraries/dependabot/github_acti…
per1234 Apr 11, 2022
7dc1f79
Merge pull request #233 from arduino-libraries/dependabot/github_acti…
per1234 Apr 11, 2022
b94ff5f
Update api.md
jacobhylen Apr 29, 2022
ad8b870
Merge pull request #235 from jacobhylen/jacobhylen/docs-maintenance
karlsoderby Apr 29, 2022
b39ac7e
Add support for NICLA VISION
giulcioffi Sep 21, 2021
8f9e785
Merge pull request #156 from unknownconstant/master
facchinm May 13, 2022
f107880
Merge pull request #183 from polldo/adv-data-retrieve
facchinm May 13, 2022
f2f73e8
Merge pull request #134 from polldo/example-enhanced-advertising
facchinm May 13, 2022
58136fc
Bugfix: memory leak caused by variables not being deleted in end(). #192
alranel May 12, 2022
3c6a53a
Respect refcounting before freeing dynamically allocated variables
alranel May 12, 2022
1223199
Call end() upon destruction
alranel May 12, 2022
f24ba26
Prevent double object deletion
alranel May 12, 2022
2b72c94
Don't double-free characteristics
facchinm May 23, 2022
afccc49
Don't terminate CordioHCIHook::getDriver() on end() for Murata chips
facchinm May 23, 2022
3003f12
Merge pull request #237 from alranel/bugfix/192-leak
facchinm May 30, 2022
f074724
Release 1.3.0
facchinm May 30, 2022
d5bc5b8
Prepend 'BLE_GATT_' to READ and WRITE enums to avoid clashes with Ard…
giulcioffi May 31, 2022
f24f335
Publish 1.3.1
facchinm May 31, 2022
9bf21b7
Fix Long Term Key Request Negative Reply Command
laviator98 Jun 9, 2022
fae1e36
Change non returning functions to void + spelling (#251)
dominsch Aug 23, 2022
991f076
Support esp32, esp32-C3, esp32-S3 (#252)
dominsch Aug 23, 2022
cd9cbad
Fix hard fault when str is NULL
grobwrk Aug 30, 2022
6e97bf2
Fix memory leak on end() -> begin() -> end()
facchinm Aug 31, 2022
2a1cf72
Merge pull request #259 from grobx/arduino/master
facchinm Aug 31, 2022
b5fc368
fix the potential overflow problem of leAdvertisingReport->eirData
bigbearishappy Aug 31, 2022
5954d96
Merge pull request #260 from facchinm/fix_end_hang
facchinm Sep 5, 2022
dd56eb7
Release 1.3.2
facchinm Sep 5, 2022
07d249a
Fix BLE scanning block after few minutes
sallasia Oct 3, 2022
c928892
Update GAP.cpp
sallasia Oct 3, 2022
ccdca60
Merge pull request #264 from sallasia/steve_allasia
facchinm Oct 10, 2022
1ec7d00
Bump geekyeggo/delete-artifact from 1 to 2
dependabot[bot] Oct 13, 2022
46985b0
Merge pull request #267 from arduino-libraries/dependabot/github_acti…
per1234 Oct 13, 2022
8ae816c
Bump carlosperate/download-file-action from 1 to 2
dependabot[bot] Oct 25, 2022
b40f618
Merge pull request #270 from arduino-libraries/dependabot/github_acti…
per1234 Oct 25, 2022
f852716
Add compatibility with Giga
facchinm Mar 10, 2023
289d3d6
Publish version 1.3.3
facchinm Mar 10, 2023
a263bc7
Restore logic for end() on STM32H7 boards (1DX module)
facchinm Mar 27, 2023
55e7bb6
Publish 1.3.4
facchinm Mar 27, 2023
9aa695e
Fix warnings:
roleroz May 29, 2023
1dfbf62
Remove another unused variable
roleroz May 29, 2023
0ad2d7d
Support C33
facchinm Apr 4, 2023
7e0c757
Merge pull request #303 from facchinm/c33
facchinm Jun 22, 2023
0753ec0
Fix broken image embed in documentation
per1234 Jul 2, 2023
a29f1aa
Fix broken link in documentation
per1234 Jul 2, 2023
726a6c8
Merge pull request #304 from per1234/fix-link
per1234 Jul 2, 2023
8ca5415
Update library.properties
facchinm Jul 11, 2023
675fc91
Merge pull request #302 from roleroz/master
facchinm Aug 4, 2023
c0cd781
Add support for OPTA
manchoz Aug 24, 2023
54d6317
Merge pull request #319 from manchoz/add_opta_support
facchinm Aug 25, 2023
2a35e72
wip: add support for UNO R4 WiFi
facchinm Jul 3, 2023
742ba78
unor4wifi: fix metadata and gh action
facchinm Jul 11, 2023
c05459e
Merge pull request #305 from facchinm/uno_r4_wifi
facchinm Aug 30, 2023
56dbfb3
Publish 1.3.6
facchinm Aug 30, 2023
3043861
Bump actions/checkout from 3 to 4
dependabot[bot] Sep 5, 2023
dff9e41
Merge pull request #323 from arduino-libraries/dependabot/github_acti…
per1234 Sep 5, 2023
de0bcbb
Fix functionality on Giga CM4 core
facchinm Oct 26, 2023
5ba3bda
Merge pull request #331 from facchinm/giga_m4
aentinger Feb 16, 2024
93802d0
Bump actions/download-artifact from 3 to 4 (#336)
dependabot[bot] Feb 16, 2024
416506e
Bump actions/upload-artifact from 3 to 4 (#337)
dependabot[bot] Feb 16, 2024
37337ad
Bump geekyeggo/delete-artifact from 2 to 4 (#340)
dependabot[bot] Feb 16, 2024
99159f0
Portenta_H7_M4: provide the correct define
facchinm Feb 21, 2024
d965fa2
Merge pull request #353 from facchinm/portenta_h7_m4_defines
facchinm Mar 5, 2024
4a85fec
CI: Add arduino/report-size-deltas action. (#354)
aentinger Mar 19, 2024
98ff550
Bump geekyeggo/delete-artifact from 4 to 5 (#356)
dependabot[bot] Mar 19, 2024
93315a9
add support for silabs core
leonardocavagnis Jun 7, 2024
0241703
Merge pull request #363 from leonardocavagnis/ble_hci_silabs
leonardocavagnis Aug 1, 2024
29bef40
Publish 1.3.7
leonardocavagnis Aug 1, 2024
910dd44
clear advertising data when BLE end is called
fabik111 Sep 4, 2024
30e2cac
Merge pull request #373 from fabik111/fix-local-name-end
facchinm Oct 25, 2024
5a53135
Modernize spell checking infrastructure
per1234 Feb 5, 2025
0178fdf
Fix typos
per1234 Feb 5, 2025
baa1370
Merge pull request #382 from per1234/update-spell-check
per1234 Feb 5, 2025
eef16ce
fix crashes on M0 board when assigning the BLE handle from the receiv…
fabik111 Oct 3, 2024
9e523b5
Merge pull request #370 from fabik111/fix-m0-handle-assignment
andreagilardoni Mar 26, 2025
64a9bbc
Merge branch 'main'
fpistm Mar 27, 2025
3fd5a50
feat: add HCISpiTransport
cparata Sep 19, 2019
f5e86b9
chore: moved to STM32duinoBLE
fpistm Mar 26, 2025
197b2a5
feat: ability to define HCI SPI transport configuration
fpistm Mar 18, 2025
5c49886
chore(ci): add build-for-stm32 step
fpistm Feb 17, 2020
94ab67e
feat: add editor config
fpistm Mar 18, 2025
dd9eaa9
feat: add HCISharedMemTransport
FRASTM Mar 18, 2025
93a2652
feat: add the STM32Cube_FW to support stm32wb
FRASTM Mar 18, 2025
5293858
feat: add patch files to be applied on stm32wb Cube update
ABOSTM Mar 18, 2025
0f5ca9f
chore: update with stm32wb
fpistm Mar 26, 2025
da833f6
feat: add possibility to choose the ownAddressType in the Arduino stack
cparata Feb 9, 2021
622497c
fix: HCI only Firmware not supporting ACI_GAP_INIT ACI_GATT_INIT
ABOSTM Oct 24, 2022
a44c940
feat: add API to get random address
Mar 14, 2023
107c7c9
chore(GAP): improve scan
cparata Feb 7, 2020
e24f12c
chore(examples): enhance button support
fpistm Mar 20, 2025
7d735c7
chore(examples): enhance scan management
fpistm Mar 20, 2025
ae6881e
fix(HCI): SetAdvertise only if enabled
cparata Mar 19, 2025
c8997be
fix: for pairing with Static Random Address
AresMaster Mar 18, 2025
33348de
fix(HCI): missing LE_Event_Mask
fpistm Mar 20, 2025
348dc55
fix: wrong Le Event Mask set
fpistm Mar 20, 2025
a35e40b
Reset scan filters when stopScan is called [Fixes #350]
andrewchilds Feb 5, 2024
e76c7d9
Fix for issue #245 - ATT_OP_FIND_INFO_RESP incorrect processing durin…
carterd Sep 25, 2022
45c96af
fix: keywords.txt
fpistm Mar 18, 2025
1a2c1ae
fix: compilation error when using _BLE_TRACE
FidelSch Feb 19, 2025
f892330
fix: signed and init field warnings
fpistm Mar 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/spell-check/.codespellrc
# See: https://github.com/codespell-project/codespell#using-a-config-file
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = ,
skip = ./.git,./.licenses,__pycache__,node_modules,./go.mod,./go.sum,./package-lock.json,./poetry.lock,./yarn.lock,./extras/test
builtin = clear,informal,en-GB_to_en-US
check-filenames =
check-hidden =
28 changes: 0 additions & 28 deletions .github/workflows/codespell.yml

This file was deleted.

29 changes: 23 additions & 6 deletions .github/workflows/compile-examples.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
name: Compile Examples

# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
on:
- push
- pull_request
push:
paths:
- ".github/workflows/compile-examples.yml"
- "examples/**"
- "src/**"
pull_request:
paths:
- ".github/workflows/compile-examples.yml"
- "examples/**"
- "src/**"
workflow_dispatch:

jobs:
build:
build-for-stm32:
runs-on: ubuntu-latest

strategy:
Expand All @@ -17,11 +28,17 @@ jobs:
- STMicroelectronics:stm32:Nucleo_64:pnum=P_NUCLEO_WB55_USB_DONGLE

steps:
- uses: actions/checkout@main
- uses: actions/checkout@v4
- uses: arduino/compile-sketches@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
fqbn: ${{ matrix.fqbn }}
platforms: |
- source-url: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
name: STMicroelectronics:stm32
- name: STMicroelectronics:stm32
source-url: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
sketch-paths: |
- examples
cli-compile-flags: |
- --build-property
- build.extra_flags=-DIDB05A2_SPI_CLOCK_D3

32 changes: 32 additions & 0 deletions .github/workflows/spell-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Source: https://github.com/per1234/.github/blob/main/workflow-templates/spell-check.md
name: Spell Check

# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows
on:
push:
pull_request:
schedule:
# Run every Tuesday at 8 AM UTC to catch new misspelling detections resulting from dictionary updates.
- cron: "0 8 * * TUE"
workflow_dispatch:
repository_dispatch:

jobs:
spellcheck:
runs-on: ubuntu-latest
permissions:
contents: read

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Spell check
uses: codespell-project/actions-codespell@v2
with:
check_filenames: true
check_hidden: true
# In the event of a false positive, add the word in all lower case to this file:
# ignore_words_file: ./extras/codespell-ignore-words-list.txt
skip: src/utility/STM32_WPAN
path: src
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

.DS_Store
7 changes: 2 additions & 5 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
STM32duinoBLE 1.2.0 - 2020.02.17
* Added support to X-NUCLEO-BNRG2A1
* Renamed ArduinoBLE as STM32duinoBLE
* Moved the SPI Transport instance in the application code to improve portability
ArduinoBLE ?.?.? - ????.??.??

ArduinoBLE 1.1.2 - 2019.11.12

* cordio: switch to lower power when polling with timeout
* cordio: switch to lower power when polling with timeout
* Fixed issue with wrong types for disconnection event handling. Thanks @cparata

ArduinoBLE 1.1.1 - 2019.09.05
Expand Down
108 changes: 93 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,95 @@
# STM32duinoBLE

This library is a fork of ArduinoBLE library to add the support of STM32WBxx, SPBTLE-RF and SPBTLE-1S BLE modules.
It was successfully tested with the NUCLEO-WB15CC, P-NUCELO_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 and with STEVAL-MKSBOX1V1.

- In order to use this library with SM32WBxx series, you need to update the STM32WB Copro Wireless Binaries
with stm32wbxx_BLE_HCILayer_fw.bin depending of your mcu:
https://github.com/STMicroelectronics/STM32CubeWB/tree/master/Projects/STM32WB_Copro_Wireless_Binaries
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].

- In order to use this library with SM32WBxx series, you need to update the STM32WB Copro Wireless Binaries with stm32wbxx_BLE_HCILayer_fw.bin depending of your mcu:

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.

- In order to use this library with STEVAL-MKSBOX1V1, you need to update the firmware of the SPBTLE-1S BLE module
mounted on that board as described in the following wiki page:
https://github.com/stm32duino/wiki/wiki/STM32duinoBLE#stm32duinoble-with-steval_mksbox1v1
- In order to use this library with [STEVAL-MKSBOX1V1], you need to update the firmware of the SPBTLE-1S BLE module mounted on that board as described in the following wiki page:

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

- In order to use this library with X-NUCLEO-BNRG2A1, you need to update the firmware of the BLUENRG-M2SP BLE module
mounted on that expansion board as described in the following wiki page:
https://github.com/stm32duino/wiki/wiki/STM32duinoBLE#stm32duinoble-with-x-nucleo-bnrg2a1
- In order to use this library with X-NUCLEO-BNRG2A1, you need to update the firmware of the BLUENRG-M2SP BLE module mounted on that expansion board as described in the following wiki page:

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://github.com/arduino-libraries/ArduinoBLE
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.

### Shield

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

* [X-NUCLEO-IDB05A2]
* `IDB05A2_SPI_CLOCK_D3`: SPI clock on D3
* `IDB05A2_SPI_CLOCK_D13` SPI clock on D13
* [X-NUCLEO-IDB05A1]
* `IDB05A1_SPI_CLOCK_D3`: SPI clock on D3
* `IDB05A1_SPI_CLOCK_D13`: SPI clock on D13
* [X-NUCLEO-BNRG2A1]
* `BNRG2A1_SPI_CLOCK_D3`: SPI clock on D3
* `BNRG2A1_SPI_CLOCK_D13`: SPI clock on D13
* `CUSTOM_BLE_SPI`: define a custom configuration, it requires below definition:
* `BLE_SPI_MISO`: SPI MISO pin
* `BLE_SPI_MOSI`: SPI MOSI pin
* `BLE_SPI_CLK`: SPI CLocK pin
* `BLE_SPI_CS`: SPI Chip Select pin
* `BLE_SPI_IRQ`: SPI IRQ pin
* `BLE_SPI_FREQ`: SPI bus frequency
* `BLE_SPI_MODE`: can be one of the below `SPIMode`:
* `SPI_MODE0`
* `SPI_MODE1`
* `SPI_MODE2`
* `SPI_MODE0`
* `BLE_CHIP_TYPE`: can be one of the below `BLEChip_t`:
* `SPBTLE_RF`
* `SPBTLE_1S`
* `BLUENRG_M2SP`
* `BLUENRG_M0`
* `BLUENRG_LP`
* `BLE_RESET`: BLE reset pin

#### Examples

To use the [X-NUCLEO-IDB05A2] with SPI clock on D3, define in `ble_spi_conf.h`:
```C
#define IDB05A2_SPI_CLOCK_D3
```
This is equivalent to the below configuration using the `CUSTOM_BLE_SPI`:
```C
#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

```
Expand All @@ -48,3 +110,19 @@ 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
```


B-L475E-IOT01A: https://www.st.com/en/evaluation-tools/b-l475e-iot01a.html
B-L4S5I-IOT01A: https://www.st.com/en/evaluation-tools/b-l4s5i-iot01a.html
NUCLEO-F401RE: https://www.st.com/en/evaluation-tools/nucleo-f401re.html
NUCLEO-L053R8: https://www.st.com/en/evaluation-tools/nucleo-l053r8.html
NUCLEO-L476RG: https://www.st.com/en/evaluation-tools/nucleo-l476rg.html
NUCLEO-WB15CC: https://www.st.com/en/evaluation-tools/nucleo-wb15cc.html
P-NUCLEO-WB55RG: https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html
STEVAL-MKSBOX1V1: https://www.st.com/en/evaluation-tools/steval-mksbox1v1.html
STEVAL-MKBOXPRO: https://www.st.com/en/evaluation-tools/steval-mkboxpro.html
STM32L562E-DK: https://www.st.com/en/evaluation-tools/stm32l562e-dk.html
STM32WB5MM-DK: https://www.st.com/en/evaluation-tools/stm32wb5mm-dk.html
X-NUCLEO-BNRG2A1: https://www.st.com/en/ecosystems/x-nucleo-bnrg2a1.html
X-NUCLEO-IDB05A2: https://www.st.com/en/ecosystems/x-nucleo-idb05a2.html
X-NUCLEO-IDB05A1: https://www.st.com/en/ecosystems/x-nucleo-idb05a1.html
Loading