aboutsummaryrefslogtreecommitdiff
path: root/cyw43/README.md
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-05-30 22:42:49 +0200
committerDario Nieuwenhuis <[email protected]>2023-05-30 22:42:49 +0200
commitc327c6cd6fc3c11cfaf83cf64591940d401c5f6b (patch)
tree1e9f693a74b01ae930caa145ae282c24276510e3 /cyw43/README.md
parent3cc0ec654a1e46fe7b8fa168942452303343cd84 (diff)
cyw43: move crate to subdir.
Diffstat (limited to 'cyw43/README.md')
-rw-r--r--cyw43/README.md57
1 files changed, 57 insertions, 0 deletions
diff --git a/cyw43/README.md b/cyw43/README.md
new file mode 100644
index 000000000..defea489f
--- /dev/null
+++ b/cyw43/README.md
@@ -0,0 +1,57 @@
1# cyw43
2
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- AP mode (creating an AP)
11- Scanning
12- Sending and receiving Ethernet frames.
13- Using the default MAC address.
14- [`embassy-net`](https://embassy.dev) integration.
15- RP2040 PIO driver for the nonstandard half-duplex SPI used in the Pico W.
16- Using IRQ for device events
17- GPIO support (for LED on the Pico W)
18
19TODO:
20
21- Setting a custom MAC address.
22- Bus sleep (unclear what the benefit is. Is it needed for IRQs? or is it just power consumption optimization?)
23
24## Running the examples
25
26- `cargo install probe-rs-cli`
27- `cd examples/rpi-pico-w`
28### Example 1: Scan the wifi stations
29- `cargo run --release --bin wifi_scan`
30### Example 2: Create an access point (IP and credentials in the code)
31- `cargo run --release --bin tcp_server_ap`
32### Example 3: Connect to an existing network and create a server
33- `WIFI_NETWORK=MyWifiNetwork WIFI_PASSWORD=MyWifiPassword cargo run --release`
34
35After a few seconds, you should see that DHCP picks up an IP address like this
36```
3711.944489 DEBUG Acquired IP configuration:
3811.944517 DEBUG IP address: 192.168.0.250/24
3911.944620 DEBUG Default gateway: 192.168.0.33
4011.944722 DEBUG DNS server 0: 192.168.0.33
41```
42This example implements a TCP echo server on port 1234. You can try connecting to it with:
43```
44nc 192.168.0.250 1234
45```
46Send it some data, you should see it echoed back and printed in the firmware's logs.
47
48## License
49
50This work is licensed under either of
51
52- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or
53 <http://www.apache.org/licenses/LICENSE-2.0>)
54- MIT license ([LICENSE-MIT](LICENSE-MIT) or <http://opensource.org/licenses/MIT>)
55
56at your option.
57