arduino BLE on ESP32
Posted: Tue May 07, 2024 8:48 am
Hi, regarding arduino BLE
(I have put the same question some time ago on the arduino forum, but unfortunately with no answers)
I have read that
1 BLE is run on core 0, and Arduino is run on core 1
2 “most likely bluetooth is running on core 0 (even if you create and run BLE library on core 1).
Remember that BLE library is only wrapper for esp-idf and bluedroid driver.” From Running BLE_server on core 1 affects timing of measurements on core 0 · Issue #937 · nkolban/esp32-snippets · GitHub https://github.com/nkolban/esp32-snippets/issues/937
Q1. Would it make any sense to run my BLE task pinned to core 0? To give my other task running on core 1 (is priority 2 and must run every 2 ms via notification from ISR) and the arduino loop task on core 1 more time/resources? Or does this happen automatically that BLE functions are run on core 0?
Q2. Is calling the BLE.poll function continuously still necessary on the nano esp32?
I had problems keeping the BLE connection alive on the nano 33 IoT and DFRobot nRF52840, and found that this was the solution,
BluetoothLE-Examples
ArduinoBLE Examples
BluetoothLE Examples of various platfoms
https://tigoe.github.io/BluetoothLE-Exa ... _examples/
“Timing is important when managing a BLE connection. Avoid long delays between calls to ble.poll() or to BLE.central() or central.connected().”
(I have put the same question some time ago on the arduino forum, but unfortunately with no answers)
I have read that
1 BLE is run on core 0, and Arduino is run on core 1
2 “most likely bluetooth is running on core 0 (even if you create and run BLE library on core 1).
Remember that BLE library is only wrapper for esp-idf and bluedroid driver.” From Running BLE_server on core 1 affects timing of measurements on core 0 · Issue #937 · nkolban/esp32-snippets · GitHub https://github.com/nkolban/esp32-snippets/issues/937
Q1. Would it make any sense to run my BLE task pinned to core 0? To give my other task running on core 1 (is priority 2 and must run every 2 ms via notification from ISR) and the arduino loop task on core 1 more time/resources? Or does this happen automatically that BLE functions are run on core 0?
Q2. Is calling the BLE.poll function continuously still necessary on the nano esp32?
I had problems keeping the BLE connection alive on the nano 33 IoT and DFRobot nRF52840, and found that this was the solution,
BluetoothLE-Examples
ArduinoBLE Examples
BluetoothLE Examples of various platfoms
https://tigoe.github.io/BluetoothLE-Exa ... _examples/
“Timing is important when managing a BLE connection. Avoid long delays between calls to ble.poll() or to BLE.central() or central.connected().”