Skip to content

Bluetooth HCI redesign #88048

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

Open
4 tasks
jhedberg opened this issue Apr 2, 2025 · 0 comments
Open
4 tasks

Bluetooth HCI redesign #88048

jhedberg opened this issue Apr 2, 2025 · 0 comments
Assignees
Labels
area: Bluetooth HCI Bluetooth HCI Driver area: Bluetooth Enhancement Changes/Updates/Additions to existing features

Comments

@jhedberg
Copy link
Member

jhedberg commented Apr 2, 2025

Bluetooth HCI redesign ideas discussed at Bluetooth WG F2F meeting.

  • Use H:4 encoding instead of bt_buf_{set,get}_type(), or rather make bt_buf_set_type() insert the value into the payload rather than user data, so we're API backwards compatible. Bluetooth: HCI: Use H:4 encoding for buffers #88710
  • Do all buffer allocation management on the driver API user side. Possible options:
    • vtable struct to open() instead of just a recv callback
    • proactively have the API user "push" available buffers to the driver
  • Thread separation, two options:
    • k_fifo (i.e. net_buf)
    • Flat buffers where sending side indicates availability of data and receiving side requests it. Likely requires an additional copy.
  • Move setup() callback away from drivers and into an optional extension of the host (how does the user select which extension to use with the configured HCI instance?)
@jhedberg jhedberg added the Enhancement Changes/Updates/Additions to existing features label Apr 2, 2025
@jhedberg jhedberg added the area: Bluetooth HCI Bluetooth HCI Driver label Apr 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Bluetooth HCI Bluetooth HCI Driver area: Bluetooth Enhancement Changes/Updates/Additions to existing features
Projects
None yet
Development

No branches or pull requests

3 participants