WIP NimBLE-Arduino -> Arduino "BLE" (3.3.x) migration#9132
Merged
vidplace7 merged 7 commits intoApr 14, 2026
Conversation
34b9010 to
33f28b0
Compare
Contributor
|
Linking upstream issue that causes BLE to not work: |
3 tasks
33f28b0 to
f116f69
Compare
f116f69 to
5885cc7
Compare
Member
Author
Fixed upstream espressif/arduino-esp32#12234. |
e66d87b to
0d077d9
Compare
Just the simple renames for now
0d077d9 to
a3ed9c2
Compare
Contributor
|
FYI build & run tested on Heltec v3
I'm interested in this because NimBLE can unblock --> pioarduino (#9122) --> can unblock setting custom sdkconfig (CONFIG_MBEDTLS_DYNAMIC_BUFFER) --> can maybe fix Chrome web client TLS problems #6960 -- [edit] Comparing heap stats before (master branch) and after (pioarduino branch) master: pioarduino: |
Contributor
|
For the issue with Device Name changing to "nimble" after pairing: vidplace7#2 |
Merged
Device Name is exposed in two places: - Advertisement data: this is set properly in startAdvertising. - GATT attribute Device Name (0x2A00). This one is handled internally in NimBLE and comes from ble_svc_gap_device_name_set. This is set initially, but then BLEDevice::createServer calls ble_svc_gap_init which resets the device name. This causes the device to apparently "change name after pairing": < ACL Data TX:... flags 0x00 dlen 7 meshtastic#113 [hci0] 14.241149 ATT: Read Request (0x0a) len 2 Handle: 0x0003 Type: Device Name (0x2a00) > ACL Data RX: Handle 2048 flags 0x02 dlen 11 meshtastic#115 [hci0] 14.269050 ATT: Read Response (0x0b) len 6 Value[6]: 6e696d626c65 # "nimble" Workaround this by setting the device name once again after BLEDevice::createServer.
Member
Author
|
Moving this to a branch in-org |
d9ee3d6
into
meshtastic:pioarduino-nimble
10 of 19 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
With ESP-IDF 5.5.x NimBLE has been integrated, Arduino-ESP32 exposes this nimble via the BLE API. Needed for Arduino-ESP32 3.x migration.
Existing NimBLE code should be transitioned to the (similar but not identical) BLE API.
This PR attempts to port to the new NimBLE implementation recently integrated in Arduino-ESP32 3.3.x.
Just the simple renames for now, still plenty of failures.