espressif / arduino-esp32

Arduino core for the ESP32

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ESP32 Arduino BLE Refactoring

SuGlider opened this issue · comments

Related area

BLE refactoring using NimBLE

Hardware specification

Any

Is your feature request related to a problem?

This is part of an effort to improve ESP32 Arduino.

Describe the solution you'd like

Starting point for a BLE refactoring Plan.
Targets:

  • Move from Blueroid to NimBLE library.
  • Redesign the Arduino BLE interface to make it more Arduino API alike.

Suggestion:

Examples:

Describe alternatives you've considered

None.

Additional context

None.

I have checked existing list of Feature requests and the Contribution Guide

  • I confirm I have checked existing list of Feature requests and Contribution Guide.

ArduinoBLE already supports esp32. Only change to do here would be to configure BLE to be controller only and import the ArduinoBLE library, no Bluedroid or NimBLE required.

ArduinoBLE already supports esp32. Only change to do here would be to configure BLE to be controller only and import the ArduinoBLE library, no Bluedroid or NimBLE required.

Yes, it supports the ESP32-S3 module from the UNO R4 board and the boards that use Nina-W102 that has an ESP32 module.
But those are used as WiFi/Bluetooth modem using AT commands.

The idea here is to implement the ArduinoBLE API as part of ESP32 Arduino BLE Library as direct ESP-IDF calls, instead of using a UART to send and receive AT commands.

@h2zero - Thanks for the information!

It also has the VHCI driver here: https://github.com/arduino-libraries/ArduinoBLE/blob/98ff550988912ffbaeb1d877970e9e05f1de0599/src/utility/HCIVirtualTransport.cpp#L138

I see, this is way to implement it with internal channel AT commands.
I'll try it.

Added in [arduino-libraries/ArduinoBLE#252](arduino-libraries/ArduinoBLE#25

I like the table showing resource utilization after compiling the different libraries' respective scan example!