diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/std/README.md | 14 | ||||
| -rw-r--r-- | examples/std/src/bin/net.rs | 8 | ||||
| -rw-r--r-- | examples/std/tap.sh | 7 |
3 files changed, 18 insertions, 11 deletions
diff --git a/examples/std/README.md b/examples/std/README.md index e3a59d6ea..dcc152fc2 100644 --- a/examples/std/README.md +++ b/examples/std/README.md | |||
| @@ -1,16 +1,12 @@ | |||
| 1 | 1 | ||
| 2 | ## Running the `embassy-net` examples | 2 | ## Running the `embassy-net` examples |
| 3 | 3 | ||
| 4 | First, create the tap0 interface. You only need to do this once. | 4 | First, create the tap99 interface. (The number was chosen to |
| 5 | hopefully not collide with anything.) You only need to do | ||
| 6 | this once. | ||
| 5 | 7 | ||
| 6 | ```sh | 8 | ```sh |
| 7 | sudo ip tuntap add name tap0 mode tap user $USER | 9 | sudo sh tap.sh |
| 8 | sudo ip link set tap0 up | ||
| 9 | sudo ip addr add 192.168.69.100/24 dev tap0 | ||
| 10 | sudo ip -6 addr add fe80::100/64 dev tap0 | ||
| 11 | sudo ip -6 addr add fdaa::100/64 dev tap0 | ||
| 12 | sudo ip -6 route add fe80::/64 dev tap0 | ||
| 13 | sudo ip -6 route add fdaa::/64 dev tap0 | ||
| 14 | ``` | 10 | ``` |
| 15 | 11 | ||
| 16 | Second, have something listening there. For example `nc -lp 8000` | 12 | Second, have something listening there. For example `nc -lp 8000` |
| @@ -19,5 +15,5 @@ Then run the example located in the `examples` folder: | |||
| 19 | 15 | ||
| 20 | ```sh | 16 | ```sh |
| 21 | cd $EMBASSY_ROOT/examples/std/ | 17 | cd $EMBASSY_ROOT/examples/std/ |
| 22 | cargo run --bin net -- --static-ip | 18 | sudo cargo run --bin net -- --tap tap99 --static-ip |
| 23 | ``` | 19 | ``` |
diff --git a/examples/std/src/bin/net.rs b/examples/std/src/bin/net.rs index cefa5448c..6e50b1a01 100644 --- a/examples/std/src/bin/net.rs +++ b/examples/std/src/bin/net.rs | |||
| @@ -1,3 +1,5 @@ | |||
| 1 | use core::fmt::Write as _; | ||
| 2 | |||
| 1 | use clap::Parser; | 3 | use clap::Parser; |
| 2 | use embassy_executor::{Executor, Spawner}; | 4 | use embassy_executor::{Executor, Spawner}; |
| 3 | use embassy_net::tcp::TcpSocket; | 5 | use embassy_net::tcp::TcpSocket; |
| @@ -71,8 +73,10 @@ async fn main_task(spawner: Spawner) { | |||
| 71 | return; | 73 | return; |
| 72 | } | 74 | } |
| 73 | info!("connected!"); | 75 | info!("connected!"); |
| 74 | loop { | 76 | for i in 0.. { |
| 75 | let r = socket.write_all(b"Hello!\n").await; | 77 | let mut buf = heapless::String::<100>::new(); |
| 78 | write!(buf, "Hello! ({})\r\n", i).unwrap(); | ||
| 79 | let r = socket.write_all(buf.as_bytes()).await; | ||
| 76 | if let Err(e) = r { | 80 | if let Err(e) = r { |
| 77 | warn!("write error: {:?}", e); | 81 | warn!("write error: {:?}", e); |
| 78 | return; | 82 | return; |
diff --git a/examples/std/tap.sh b/examples/std/tap.sh new file mode 100644 index 000000000..39d92a099 --- /dev/null +++ b/examples/std/tap.sh | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | ip tuntap add name tap99 mode tap user $USER | ||
| 2 | ip link set tap99 up | ||
| 3 | ip addr add 192.168.69.100/24 dev tap99 | ||
| 4 | ip -6 addr add fe80::100/64 dev tap99 | ||
| 5 | ip -6 addr add fdaa::100/64 dev tap99 | ||
| 6 | ip -6 route add fe80::/64 dev tap99 | ||
| 7 | ip -6 route add fdaa::/64 dev tap99 | ||
