Clarifications regarding the BLE drama in ESP32-Arduino 3.3.0+ #30
Closed
afpineda
announced in
Announcements
Replies: 1 comment
-
|
This situation is now addressed in version 7.7.9. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Warning
Please, read.
The situation explained here affects the future of this project.
Relevant facts
Espressif chips have support for Bluetooth Low Energy via two stacks: Bluedroid and NimBLE.
This support is available in the underlying ESP-IDF API.
However, Arduino-ESP32 makes the choice for you,
as is this is required to build the Arduino core for ESP32 chips.
Prior to the core version 3.3.0, the choice was Bluedroid for all boards.
Starting with version 3.3.0, the choice is NimBLE for all boards except "pure" ESP32, which sticks to Bluedroid.
The developers announced that starting with version 4.0.0, the choice will be NimBLE for all boards without exception.
The h2zero/NimBLE-Arduino library (used by this project) wraps the NimBLE stack for all boards regardless of the core version.
This project lets you choose which wrapper to use for BLE connectivity: the h2zero wrapper or the built-in Arduino-ESP32 wrapper. This was a precaution against bugs. In practice, this meant that you could choose which stack to use, but this possibility is gone starting with core version 3.3.0.
In previous development cycles, it has been proven that:
Both wrappers showed bugs affecting this project.
The ESP32-Arduino wrapper has been highly unreliable,
no matter which BLE stack it is based on.
At the time of writing, this wrapper does not work despite my efforts to find a workaround.
Having a external dependency with both wrappers is a maintenance nightmare.
Consequences for this project
Beta Was this translation helpful? Give feedback.
All reactions