-
Notifications
You must be signed in to change notification settings - Fork 227
feat(bt): Add embassy trouble / bt_hci support #576
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
base: master
Are you sure you want to change the base?
Conversation
esp-idf-svc now provides an implementation of the bt_hci::Transport trait, enabling integration with the embassy-trouble Bluetooth stack. This allows users to construct a ExternalController using the BtDriver and have it work seamlessly with embassy-trouble. Three basic examples where added. For more checkout the examples in embassy-trouble/host
|
Have to investigate why linking against the c6 failes. The vhci api in its form i am using is available in that form through all esp-idf version and targets that have ble radio. A bit busy today, will look deeper at the weekend. |
|
Hmm, to my understanding in the esp32c6/h2 the underlying ble api is quite different. Even if they officially expose the bt hci api, it seams on older ESP_IDF versions not possible to:
That all makes it currently much harder to support c6/h2. So either this PR stays blocked till i find how to fix the above or i simply exlude h2/c6 for now... |
I wonder how |
|
They are not using this api, that i am using, but using a special low level api for the c6/h2. If you have a look here the btdm.rs is basically what we are also using here as an api and that is directly supported by esp-idf. For the h2/c6 they than use the npl.rs api, that i don't have any infos about. |
|
This "controller only" problem, is also only one if you want to use not as an external controller but as a on chip controller not used by uart but via direct "ram" calls, that i seam to encounter on c6/h2. |
esp-idf-svc now provides an implementation of the bt_hci::Transport trait, enabling integration with the embassy-trouble Bluetooth stack.
This allows users to construct a ExternalController using the BtDriver and have it work seamlessly with embassy-trouble.
Three basic examples where added. For more checkout the examples in embassy-trouble/host
Submission Checklist 📝
cargo fmtcommand to ensure that all changed code is formatted correctly.cargo clippycommand to ensure that all changed code passes latest Clippy nightly lints.CHANGELOG.mdin the proper section.