diff options
| author | Dario Nieuwenhuis <[email protected]> | 2022-07-17 00:34:41 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2022-07-17 00:34:41 +0200 |
| commit | 726d68a706507d3c0a1b7c5a9c76231ccf1dcbcf (patch) | |
| tree | 1c0acfaa7aa0efa1414d697cadda161d873ea0d2 | |
| parent | 54269a07614105b30e8ea52d424ff417fd9e6e87 (diff) | |
Add status and instructions in README.
| -rw-r--r-- | README.md | 45 |
1 files changed, 44 insertions, 1 deletions
| @@ -1,6 +1,49 @@ | |||
| 1 | # cyw43 | 1 | # cyw43 |
| 2 | 2 | ||
| 3 | Very WIP driver for the CYW43439 wifi chip, used in the Raspberry Pi Pico W. | 3 | WIP driver for the CYW43439 wifi chip, used in the Raspberry Pi Pico W. Implementation based on [Infineon/wifi-host-driver](https://github.com/Infineon/wifi-host-driver). |
| 4 | |||
| 5 | ## Current status | ||
| 6 | |||
| 7 | Working: | ||
| 8 | |||
| 9 | - Station mode (joining an AP). | ||
| 10 | - Sending and receiving Ethernet frames. | ||
| 11 | - Using the default MAC address. | ||
| 12 | - [`embassy-net`](https://embassy.dev) integration. | ||
| 13 | |||
| 14 | TODO: | ||
| 15 | |||
| 16 | - AP mode (creating an AP) | ||
| 17 | - GPIO support (used for the Pico W LED) | ||
| 18 | - Scanning | ||
| 19 | - Setting a custom MAC address. | ||
| 20 | - RP2040 PIO driver for the nonstandard half-duplex SPI used in the Pico W. Probably porting [this](https://github.com/raspberrypi/pico-sdk/tree/master/src/rp2_common/cyw43_driver). (Currently bitbanging is used). | ||
| 21 | - Using the IRQ pin instead of polling the bus. | ||
| 22 | - Bus sleep (unclear what the benefit is. Is it needed for IRQs? or is it just power consumption optimization?) | ||
| 23 | |||
| 24 | ## Running the example | ||
| 25 | |||
| 26 | - `cargo install probe-run` | ||
| 27 | - `cd examples/rpi-pico-w` | ||
| 28 | - Edit `src/main.rs` with your Wifi network's name and password. | ||
| 29 | - `cargo run --release` | ||
| 30 | |||
| 31 | After a few seconds, you should see that DHCP picks up an IP address like this | ||
| 32 | |||
| 33 | ``` | ||
| 34 | 11.944489 DEBUG Acquired IP configuration: | ||
| 35 | 11.944517 DEBUG IP address: 192.168.0.250/24 | ||
| 36 | 11.944620 DEBUG Default gateway: 192.168.0.33 | ||
| 37 | 11.944722 DEBUG DNS server 0: 192.168.0.33 | ||
| 38 | ``` | ||
| 39 | |||
| 40 | The example implements a TCP echo server on port 1234. You can try connecting to it with: | ||
| 41 | |||
| 42 | ``` | ||
| 43 | nc 192.168.0.250 1234 | ||
| 44 | ``` | ||
| 45 | |||
| 46 | Send it some data, you should see it echoed back and printed in the firmware's logs. | ||
| 4 | 47 | ||
| 5 | ## License | 48 | ## License |
| 6 | 49 | ||
