-
Notifications
You must be signed in to change notification settings - Fork 630
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
WIP: cyw43 / Pico W bluetooth, take 2 #2865
base: main
Are you sure you want to change the base?
Conversation
Quick update: i've update the bluetooth_trouble example to use the latest developments from trouble and bt-hci would should simplify the integration quite a bit. |
nie 🚀 (note: when this is finished, we probably want the example to live in the trouble repo. I think that's where most of the "API evolution" will be, so it'll be easier to keep it up to date there. The cyw43 API is just "hci read, hci write" so probably won't change much once done.) |
Would you be interested in merging this (so it doesn't go stale) now and let the "combined WiFi mode" related features sit in a backlog? I'm down to try this part:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
did you want to check this in?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes oops
} | ||
|
||
if bluetooth_enabled { | ||
// TODO: call runner.init_bluetooth somehow and pass it bluetooth_firmware? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this TODO i put still accurate?
|
||
impl embedded_io_async::Read for HciConnector { | ||
async fn read(&mut self, buf: &mut [u8]) -> Result<usize, HciConnectorError> { | ||
// TODO: how to get all the way to runner.hci_read()? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i feel like in the PR description you said HCI read + write is working so this TODO has to be wrong?
let version_length = firmware[0]; | ||
let _version = &firmware[1..=version_length as usize]; | ||
// skip version + 1 extra byte as per cybt_shared_bus_driver.c | ||
let firmware = &firmware[version_length as usize + 2..]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is comment dated? It seems to me this is skipping 2 bytes, not one
edit: ah the first length byte is included in the 2
Based on #1820, rebased and cleaned up a bit.
cc issue #1516
Current status is
Major roadblocks left are:
I don't have the bandwidth to work on this, and probably won't for a while (months). If you want to jump in and carry this over the finish line, ping me on Embassy's Matrix chat.