Summary
Port picoruby-ble to ESP32 so that BLE can be used from PicoRuby on R2P2-ESP32, in the same way it is already available on RP2040.
Background
picoruby-ble already has an RP2040 port. ESP32 has its own BLE stack (NimBLE / Bluedroid in ESP-IDF), so a separate platform port is required.
Approach
Add an ESP32 port alongside the existing RP2040 port, by creating a new directory:
mrbgems/picoruby-ble/ports/esp32/
and implementing the platform-specific glue there. The Ruby-side API surface should remain the same as the RP2040 port so that existing picoruby-ble user code runs unchanged on ESP32.
Tasks
References
Summary
Port picoruby-ble to ESP32 so that BLE can be used from PicoRuby on R2P2-ESP32, in the same way it is already available on RP2040.
Background
picoruby-ble already has an RP2040 port. ESP32 has its own BLE stack (NimBLE / Bluedroid in ESP-IDF), so a separate platform port is required.
Approach
Add an ESP32 port alongside the existing RP2040 port, by creating a new directory:
and implementing the platform-specific glue there. The Ruby-side API surface should remain the same as the RP2040 port so that existing picoruby-ble user code runs unchanged on ESP32.
Tasks
mrbgems/picoruby-ble/ports/rp2040) and identify the platform abstraction boundary.mrbgems/picoruby-ble/ports/esp32/and implement the equivalent platform glue on top of the ESP-IDF BLE stack.References