diff options
| author | Dario Nieuwenhuis <[email protected]> | 2024-09-11 22:06:26 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2024-09-16 21:17:11 +0200 |
| commit | be0d9775e3bcc3c1bd1448e357d7c6cd67b68991 (patch) | |
| tree | 5e8c444b233a86ade113b096ab1e2934b7bbc7bd /tests/rp/src | |
| parent | 7648d42b7f23a2caad29ed6e16123b088ccdc8b5 (diff) | |
net: refactor to simplify lifetimes/generics.
Diffstat (limited to 'tests/rp/src')
| -rw-r--r-- | tests/rp/src/bin/cyw43-perf.rs | 13 | ||||
| -rw-r--r-- | tests/rp/src/bin/ethernet_w5100s_perf.rs | 13 |
2 files changed, 12 insertions, 14 deletions
diff --git a/tests/rp/src/bin/cyw43-perf.rs b/tests/rp/src/bin/cyw43-perf.rs index 11c8aa58c..30e4afb07 100644 --- a/tests/rp/src/bin/cyw43-perf.rs +++ b/tests/rp/src/bin/cyw43-perf.rs | |||
| @@ -6,7 +6,7 @@ use cyw43::JoinOptions; | |||
| 6 | use cyw43_pio::PioSpi; | 6 | use cyw43_pio::PioSpi; |
| 7 | use defmt::{panic, *}; | 7 | use defmt::{panic, *}; |
| 8 | use embassy_executor::Spawner; | 8 | use embassy_executor::Spawner; |
| 9 | use embassy_net::{Config, Stack, StackResources}; | 9 | use embassy_net::{Config, StackResources}; |
| 10 | use embassy_rp::gpio::{Level, Output}; | 10 | use embassy_rp::gpio::{Level, Output}; |
| 11 | use embassy_rp::peripherals::{DMA_CH0, PIO0}; | 11 | use embassy_rp::peripherals::{DMA_CH0, PIO0}; |
| 12 | use embassy_rp::pio::{InterruptHandler, Pio}; | 12 | use embassy_rp::pio::{InterruptHandler, Pio}; |
| @@ -30,8 +30,8 @@ async fn wifi_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'stati | |||
| 30 | } | 30 | } |
| 31 | 31 | ||
| 32 | #[embassy_executor::task] | 32 | #[embassy_executor::task] |
| 33 | async fn net_task(stack: &'static Stack<cyw43::NetDriver<'static>>) -> ! { | 33 | async fn net_task(mut runner: embassy_net::Runner<'static, cyw43::NetDriver<'static>>) -> ! { |
| 34 | stack.run().await | 34 | runner.run().await |
| 35 | } | 35 | } |
| 36 | 36 | ||
| 37 | #[embassy_executor::main] | 37 | #[embassy_executor::main] |
| @@ -70,16 +70,15 @@ async fn main(spawner: Spawner) { | |||
| 70 | let seed = 0x0123_4567_89ab_cdef; // chosen by fair dice roll. guarenteed to be random. | 70 | let seed = 0x0123_4567_89ab_cdef; // chosen by fair dice roll. guarenteed to be random. |
| 71 | 71 | ||
| 72 | // Init network stack | 72 | // Init network stack |
| 73 | static STACK: StaticCell<Stack<cyw43::NetDriver<'static>>> = StaticCell::new(); | ||
| 74 | static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); | 73 | static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); |
| 75 | let stack = &*STACK.init(Stack::new( | 74 | let (stack, runner) = embassy_net::new( |
| 76 | net_device, | 75 | net_device, |
| 77 | Config::dhcpv4(Default::default()), | 76 | Config::dhcpv4(Default::default()), |
| 78 | RESOURCES.init(StackResources::new()), | 77 | RESOURCES.init(StackResources::new()), |
| 79 | seed, | 78 | seed, |
| 80 | )); | 79 | ); |
| 81 | 80 | ||
| 82 | unwrap!(spawner.spawn(net_task(stack))); | 81 | unwrap!(spawner.spawn(net_task(runner))); |
| 83 | 82 | ||
| 84 | loop { | 83 | loop { |
| 85 | match control | 84 | match control |
diff --git a/tests/rp/src/bin/ethernet_w5100s_perf.rs b/tests/rp/src/bin/ethernet_w5100s_perf.rs index f15f33743..ae2adfa55 100644 --- a/tests/rp/src/bin/ethernet_w5100s_perf.rs +++ b/tests/rp/src/bin/ethernet_w5100s_perf.rs | |||
| @@ -5,7 +5,7 @@ teleprobe_meta::timeout!(120); | |||
| 5 | 5 | ||
| 6 | use defmt::*; | 6 | use defmt::*; |
| 7 | use embassy_executor::Spawner; | 7 | use embassy_executor::Spawner; |
| 8 | use embassy_net::{Stack, StackResources}; | 8 | use embassy_net::StackResources; |
| 9 | use embassy_net_wiznet::chip::W5100S; | 9 | use embassy_net_wiznet::chip::W5100S; |
| 10 | use embassy_net_wiznet::*; | 10 | use embassy_net_wiznet::*; |
| 11 | use embassy_rp::clocks::RoscRng; | 11 | use embassy_rp::clocks::RoscRng; |
| @@ -32,8 +32,8 @@ async fn ethernet_task( | |||
| 32 | } | 32 | } |
| 33 | 33 | ||
| 34 | #[embassy_executor::task] | 34 | #[embassy_executor::task] |
| 35 | async fn net_task(stack: &'static Stack<Device<'static>>) -> ! { | 35 | async fn net_task(mut runner: embassy_net::Runner<'static, Device<'static>>) -> ! { |
| 36 | stack.run().await | 36 | runner.run().await |
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | #[embassy_executor::main] | 39 | #[embassy_executor::main] |
| @@ -67,17 +67,16 @@ async fn main(spawner: Spawner) { | |||
| 67 | let seed = rng.next_u64(); | 67 | let seed = rng.next_u64(); |
| 68 | 68 | ||
| 69 | // Init network stack | 69 | // Init network stack |
| 70 | static STACK: StaticCell<Stack<Device<'static>>> = StaticCell::new(); | ||
| 71 | static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); | 70 | static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); |
| 72 | let stack = &*STACK.init(Stack::new( | 71 | let (stack, runner) = embassy_net::new( |
| 73 | device, | 72 | device, |
| 74 | embassy_net::Config::dhcpv4(Default::default()), | 73 | embassy_net::Config::dhcpv4(Default::default()), |
| 75 | RESOURCES.init(StackResources::new()), | 74 | RESOURCES.init(StackResources::new()), |
| 76 | seed, | 75 | seed, |
| 77 | )); | 76 | ); |
| 78 | 77 | ||
| 79 | // Launch network task | 78 | // Launch network task |
| 80 | unwrap!(spawner.spawn(net_task(&stack))); | 79 | unwrap!(spawner.spawn(net_task(runner))); |
| 81 | 80 | ||
| 82 | perf_client::run( | 81 | perf_client::run( |
| 83 | stack, | 82 | stack, |
