summaryrefslogtreecommitdiff
path: root/extmod/btstack/modbluetooth_btstack.h
AgeCommit message (Collapse)Author
2023-04-26extmod/btstack: Include value handle in client read/write events.Jim Mussared
This replaces the previous pending operation queue (that used to also be shared with pending server notify/indicate ops) with a single pending operation per connection. This allows the value handle to be correctly passed to the Python-level events. Also re-structure GATT client event handling to simplify the packet handler functions. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2020-09-08extmod/modbluetooth: Refactor stack/hci/driver/port bindings.Jim Mussared
Previously the interaction between the different layers of the Bluetooth stack was different on each port and each stack. This commit defines common interfaces between them and implements them for cyw43, btstack, nimble, stm32, unix.
2020-07-20extmod/modbluetooth: Fix so it builds in peripheral-only mode.Jim Mussared
2020-07-18extmod/btstack: Schedule notify/indicate/write ops for bg completion.Jim Mussared
The goal of this commit is to allow using ble.gatts_notify() at any time, even if the stack is not ready to send the notification right now. It also addresses the same issue for ble.gatts_indicate() and ble.gattc_write() (without response). In addition this commit fixes the case where the buffer passed to write-with-response wasn't copied, meaning it could be modified by the caller, affecting the in-progress write. The changes are: - gatts_notify/indicate will now run in the background if the ACL buffer is currently full, meaning that notify/indicate can be called at any time. - gattc_write(mode=0) (no response) will now allow for one outstanding write. - gattc_write(mode=1) (with response) will now copy the buffer so that it can't be modified by the caller while the write is in progress. All four paths also now track the buffer while the operation is in progress, which prevents the GC free'ing the buffer while it's still needed.
2020-04-29extmod/btstack: Implement more robust init/deinit sequencing.Jim Mussared
2020-03-10extmod/btstack: Implement notifications/indications for GATT clients.Damien George
Work done in collaboration with Jim Mussared aka @jimmo.
2020-03-10extmod/btstack: Implement gatts_db for btstack.Damien George
Work done in collaboration with Jim Mussared aka @jimmo.
2020-03-10extmod/btstack: Implement advertising.Damien George
Work done in collaboration with Jim Mussared aka @jimmo.
2020-03-10extmod/btstack: Add empty modbluetooth implementation.Damien George
Work done in collaboration with Jim Mussared aka @jimmo.