Skip to content
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

[linux] BLE central implementation #4347

Merged
merged 5 commits into from
Jan 14, 2021

Conversation

Damian-Nordic
Copy link
Contributor

Problem

Linux platform layer provides functions for the BLE peripheral, however the BLE central role is only partially implemented. As a result, Linux native controllers, such as examples/chip-tool cannot initiate a BLE connection and perform Rendezvous over BLE.
Although examples/chip-tool may get deprecated in the future due to #4334, the changes posted here may still be useful if one needs to implement another controller app, or add the controller capabilities to examples/shell.

Summary of Changes

  • For controller applications, configure BLEManagerImpl for Linux as a BLE central device.
  • Implement missing functions needed to discover a device with a specific discriminator and automatically connect to it.
  • Finish implementation of the BleConnectionDelegate to let the application know that the connection has been established.
  • Implement missing pieces needed to communicate over BLE as a BLE central device, such as: sending write request, subscription to a GATT characteristic, indication reception etc.

Fixes #4113, fixes #2791

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants