aboutsummaryrefslogtreecommitdiff
path: root/tests/rp/src
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2024-09-11 22:06:26 +0200
committerDario Nieuwenhuis <[email protected]>2024-09-16 21:17:11 +0200
commitbe0d9775e3bcc3c1bd1448e357d7c6cd67b68991 (patch)
tree5e8c444b233a86ade113b096ab1e2934b7bbc7bd /tests/rp/src
parent7648d42b7f23a2caad29ed6e16123b088ccdc8b5 (diff)
net: refactor to simplify lifetimes/generics.
Diffstat (limited to 'tests/rp/src')
-rw-r--r--tests/rp/src/bin/cyw43-perf.rs13
-rw-r--r--tests/rp/src/bin/ethernet_w5100s_perf.rs13
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;
6use cyw43_pio::PioSpi; 6use cyw43_pio::PioSpi;
7use defmt::{panic, *}; 7use defmt::{panic, *};
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_net::{Config, Stack, StackResources}; 9use embassy_net::{Config, StackResources};
10use embassy_rp::gpio::{Level, Output}; 10use embassy_rp::gpio::{Level, Output};
11use embassy_rp::peripherals::{DMA_CH0, PIO0}; 11use embassy_rp::peripherals::{DMA_CH0, PIO0};
12use embassy_rp::pio::{InterruptHandler, Pio}; 12use 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]
33async fn net_task(stack: &'static Stack<cyw43::NetDriver<'static>>) -> ! { 33async 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
6use defmt::*; 6use defmt::*;
7use embassy_executor::Spawner; 7use embassy_executor::Spawner;
8use embassy_net::{Stack, StackResources}; 8use embassy_net::StackResources;
9use embassy_net_wiznet::chip::W5100S; 9use embassy_net_wiznet::chip::W5100S;
10use embassy_net_wiznet::*; 10use embassy_net_wiznet::*;
11use embassy_rp::clocks::RoscRng; 11use embassy_rp::clocks::RoscRng;
@@ -32,8 +32,8 @@ async fn ethernet_task(
32} 32}
33 33
34#[embassy_executor::task] 34#[embassy_executor::task]
35async fn net_task(stack: &'static Stack<Device<'static>>) -> ! { 35async 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,