feat(bt): Add embassy trouble / bt_hci support - #576
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.