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

CYW43439 adapter cannot be configured in conjunction with WiFi via x/bluetooth API #315

Open
kortschak opened this issue Jan 1, 2025 · 0 comments
Labels
cyw43439 CYW43434 such as on the Pico-W

Comments

@kortschak
Copy link

The CYW43439 adapter can have one of three firmwares flashed: bluetooth, wifi and both. The way that the driver package is written at the moment means that the last call to (*cyw43439.Device).Init wins; the returned device from cyw43439.NewPicoWDevice() is local, but shares the backing flashed firmware, resulting in unexpected behaviour. This mixed scope needs some way to be resolved and this would need to happen in the cyw43439 package, but the issue is surfaced here, so this is why I'm raising it here.

ISTM that the best way to do this would be to expose the firmware flash operation in the API and make it so that multiple calls to flash can only succeed if they flash compatible firmware, subsequent valid flash calls would be no-ops. This would allow the client code to flash the desired firmware and then the flash call that come from calling bluetooth.Default.Adapter would either succeed (if the bluetooth or the wifi+bluetooth firmware had already been flashed, or none had been flashed) or fail (if only the wifi firmware had been flashed).

/cc @soypat

@deadprogram deadprogram added the cyw43439 CYW43434 such as on the Pico-W label Jan 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cyw43439 CYW43434 such as on the Pico-W
Projects
None yet
Development

No branches or pull requests

2 participants