aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2022-07-17 00:34:41 +0200
committerDario Nieuwenhuis <[email protected]>2022-07-17 00:34:41 +0200
commit726d68a706507d3c0a1b7c5a9c76231ccf1dcbcf (patch)
tree1c0acfaa7aa0efa1414d697cadda161d873ea0d2
parent54269a07614105b30e8ea52d424ff417fd9e6e87 (diff)
Add status and instructions in README.
-rw-r--r--README.md45
1 files changed, 44 insertions, 1 deletions
diff --git a/README.md b/README.md
index 7df988b79..8ee0c235d 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,49 @@
1# cyw43 1# cyw43
2 2
3Very WIP driver for the CYW43439 wifi chip, used in the Raspberry Pi Pico W. 3WIP 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
7Working:
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
14TODO:
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
31After a few seconds, you should see that DHCP picks up an IP address like this
32
33```
3411.944489 DEBUG Acquired IP configuration:
3511.944517 DEBUG IP address: 192.168.0.250/24
3611.944620 DEBUG Default gateway: 192.168.0.33
3711.944722 DEBUG DNS server 0: 192.168.0.33
38```
39
40The example implements a TCP echo server on port 1234. You can try connecting to it with:
41
42```
43nc 192.168.0.250 1234
44```
45
46Send it some data, you should see it echoed back and printed in the firmware's logs.
4 47
5## License 48## License
6 49