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

Add pico-w BSP #380

Draft
wants to merge 30 commits into
base: main
Choose a base branch
from
Draft

Add pico-w BSP #380

wants to merge 30 commits into from

Conversation

jannic
Copy link
Member

@jannic jannic commented Jul 9, 2022

This is very much a WIP - don't take anything for granted.

boards/rp-pico-w/Cargo.toml Outdated Show resolved Hide resolved
boards/rp-pico-w/README.md Outdated Show resolved Hide resolved
boards/rp-pico-w/README.md Outdated Show resolved Hide resolved
boards/rp-pico-w/examples/pico_w_blinky.rs Outdated Show resolved Hide resolved
@DavidBChristensen
Copy link

@jannic Great start! Are you developing the WiFi Driver, or are you looking for contributors?

@9names
Copy link
Member

9names commented Jul 17, 2022

@DavidBChristensen there is already a wifi driver that is working with embassy-rp
https://github.com/embassy-rs/cyw43
It currently uses gpio bitbanging to talk to the wifi chip. We need to bring that up with rp-hal, port the PIO driver from pico-sdk, and hook that in.
If you think you can do any of those tasks, feel free to do so.

@jannic
Copy link
Member Author

jannic commented Jul 17, 2022

I definitely plan to somehow integrate the driver into the pico-w BSP, but I didn't start yet. Any help is appreciated!

@jannic jannic force-pushed the pico-w branch 4 times, most recently from 228edeb to a3279bd Compare September 5, 2022 22:03
@jannic
Copy link
Member Author

jannic commented Sep 5, 2022

The version in this branch is now able to join a wireless network. It does respond to pings!

Probably other smoltcp features work as well, I just didn't test them yet. However, it's not yet stable: Bombarding the device with IP packets quickly leads to error messages from the cyw43 driver and subsequent firmware crashes.

@FireAndIceFrog
Copy link

Is this still active? What happened here?

@jannic
Copy link
Member Author

jannic commented Nov 9, 2022

It's currently on hold because I want rp-hal to work on stable rust, and some of the dependencies from embassy are still nightly-only. It might be possible to fork them and build a less ergonomic variant which works on stable. However, I don't have time to do that.
Sooner or later, either rustc will stabilize the needed features, or somebody (perhaps me) will become so impatient that a port to stable rust will be done :-)
If you want to use the pico-w with rust now, your best bet is using embassy.

@9names
Copy link
Member

9names commented Nov 11, 2022

What do we need in the HAL to support this that requires nightly?
If it's just because they're in the same workspace (or because it will make our CI messy), can put it in a repo by itself for the time being?

@jannic
Copy link
Member Author

jannic commented Nov 17, 2022

What do we need in the HAL to support this that requires nightly? If it's just because they're in the same workspace (or because it will make our CI messy), can put it in a repo by itself for the time being?

In fact I misremembered, the nightly requirement was already solved. pico_w_blinky compiles on stable rust and works.
What's preventing a release to crates.io are some unreleased dependencies:

  • cyw43
  • embassy-net
  • embassy-executor

@carloo1
Copy link

carloo1 commented May 15, 2024

some unreleased dependencies

Now that the embassy crates have been released, can this PR be completed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants