Skip to content

WIP: esp32: enable BLE synchronous events and BLE pairing/boindng (v2) #7156

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

dpgeorge
Copy link
Member

This is an alternative to #7046 that doesn't require threading/the GIL, and would hopefully also work on zephyr when BLE is added there.

If NimBLE runs on another OS thread then synchronous BLE irq callbacks,
which block the NimBLE stack until the callback to Python is complete, must
coordinate with the main MicroPython OS thread.

Signed-off-by: Damien George <damien@micropython.org>
ESP32 generates addresses of the form 0:0:0:0:0:0.

Signed-off-by: Damien George <damien@micropython.org>
Signed-off-by: Damien George <damien@micropython.org>
@dpgeorge
Copy link
Member Author

This has a fundamental problem with deadlocking, when an outstanding BLE event has been queued but not processed, and another event comes along.

@dpgeorge dpgeorge closed this Apr 28, 2021
@dpgeorge dpgeorge deleted the esp32-ble-sync-events-v2 branch April 28, 2021 00:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant