aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/nrf/src/bin/ethernet_enc28j60_perf.rs11
-rw-r--r--tests/nrf/src/bin/wifi_esp_hosted_perf.rs13
-rw-r--r--tests/perf-client/src/lib.rs9
-rw-r--r--tests/rp/src/bin/cyw43-perf.rs13
-rw-r--r--tests/rp/src/bin/ethernet_w5100s_perf.rs13
-rw-r--r--tests/stm32/src/bin/eth.rs11
6 files changed, 32 insertions, 38 deletions
diff --git a/tests/nrf/src/bin/ethernet_enc28j60_perf.rs b/tests/nrf/src/bin/ethernet_enc28j60_perf.rs
index 304754c0e..ed58627f1 100644
--- a/tests/nrf/src/bin/ethernet_enc28j60_perf.rs
+++ b/tests/nrf/src/bin/ethernet_enc28j60_perf.rs
@@ -6,7 +6,7 @@ teleprobe_meta::timeout!(120);
6 6
7use defmt::{info, unwrap}; 7use defmt::{info, unwrap};
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_net::{Stack, StackResources}; 9use embassy_net::StackResources;
10use embassy_net_enc28j60::Enc28j60; 10use embassy_net_enc28j60::Enc28j60;
11use embassy_nrf::gpio::{Level, Output, OutputDrive}; 11use embassy_nrf::gpio::{Level, Output, OutputDrive};
12use embassy_nrf::rng::Rng; 12use embassy_nrf::rng::Rng;
@@ -25,8 +25,8 @@ bind_interrupts!(struct Irqs {
25type MyDriver = Enc28j60<ExclusiveDevice<Spim<'static, peripherals::SPI3>, Output<'static>, Delay>, Output<'static>>; 25type MyDriver = Enc28j60<ExclusiveDevice<Spim<'static, peripherals::SPI3>, Output<'static>, Delay>, Output<'static>>;
26 26
27#[embassy_executor::task] 27#[embassy_executor::task]
28async fn net_task(stack: &'static Stack<MyDriver>) -> ! { 28async fn net_task(mut runner: embassy_net::Runner<'static, MyDriver>) -> ! {
29 stack.run().await 29 runner.run().await
30} 30}
31 31
32#[embassy_executor::main] 32#[embassy_executor::main]
@@ -65,11 +65,10 @@ async fn main(spawner: Spawner) {
65 let seed = u64::from_le_bytes(seed); 65 let seed = u64::from_le_bytes(seed);
66 66
67 // Init network stack 67 // Init network stack
68 static STACK: StaticCell<Stack<MyDriver>> = StaticCell::new();
69 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); 68 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new();
70 let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); 69 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed);
71 70
72 unwrap!(spawner.spawn(net_task(stack))); 71 unwrap!(spawner.spawn(net_task(runner)));
73 72
74 perf_client::run( 73 perf_client::run(
75 stack, 74 stack,
diff --git a/tests/nrf/src/bin/wifi_esp_hosted_perf.rs b/tests/nrf/src/bin/wifi_esp_hosted_perf.rs
index 6632442f1..34fb8103b 100644
--- a/tests/nrf/src/bin/wifi_esp_hosted_perf.rs
+++ b/tests/nrf/src/bin/wifi_esp_hosted_perf.rs
@@ -6,7 +6,7 @@ teleprobe_meta::timeout!(120);
6 6
7use defmt::{info, unwrap}; 7use defmt::{info, unwrap};
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_net::{Config, Stack, StackResources}; 9use embassy_net::{Config, StackResources};
10use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; 10use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull};
11use embassy_nrf::rng::Rng; 11use embassy_nrf::rng::Rng;
12use embassy_nrf::spim::{self, Spim}; 12use embassy_nrf::spim::{self, Spim};
@@ -40,8 +40,8 @@ async fn wifi_task(
40type MyDriver = hosted::NetDriver<'static>; 40type MyDriver = hosted::NetDriver<'static>;
41 41
42#[embassy_executor::task] 42#[embassy_executor::task]
43async fn net_task(stack: &'static Stack<MyDriver>) -> ! { 43async fn net_task(mut runner: embassy_net::Runner<'static, MyDriver>) -> ! {
44 stack.run().await 44 runner.run().await
45} 45}
46 46
47#[embassy_executor::main] 47#[embassy_executor::main]
@@ -86,16 +86,15 @@ async fn main(spawner: Spawner) {
86 let seed = u64::from_le_bytes(seed); 86 let seed = u64::from_le_bytes(seed);
87 87
88 // Init network stack 88 // Init network stack
89 static STACK: StaticCell<Stack<MyDriver>> = StaticCell::new();
90 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); 89 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new();
91 let stack = &*STACK.init(Stack::new( 90 let (stack, runner) = embassy_net::new(
92 device, 91 device,
93 Config::dhcpv4(Default::default()), 92 Config::dhcpv4(Default::default()),
94 RESOURCES.init(StackResources::new()), 93 RESOURCES.init(StackResources::new()),
95 seed, 94 seed,
96 )); 95 );
97 96
98 unwrap!(spawner.spawn(net_task(stack))); 97 unwrap!(spawner.spawn(net_task(runner)));
99 98
100 perf_client::run( 99 perf_client::run(
101 stack, 100 stack,
diff --git a/tests/perf-client/src/lib.rs b/tests/perf-client/src/lib.rs
index 54762379a..4bd9e5674 100644
--- a/tests/perf-client/src/lib.rs
+++ b/tests/perf-client/src/lib.rs
@@ -2,7 +2,6 @@
2 2
3use defmt::{assert, *}; 3use defmt::{assert, *};
4use embassy_futures::join::join; 4use embassy_futures::join::join;
5use embassy_net::driver::Driver;
6use embassy_net::tcp::TcpSocket; 5use embassy_net::tcp::TcpSocket;
7use embassy_net::{Ipv4Address, Stack}; 6use embassy_net::{Ipv4Address, Stack};
8use embassy_time::{with_timeout, Duration, Timer}; 7use embassy_time::{with_timeout, Duration, Timer};
@@ -13,7 +12,7 @@ pub struct Expected {
13 pub updown_kbps: usize, 12 pub updown_kbps: usize,
14} 13}
15 14
16pub async fn run<D: Driver>(stack: &Stack<D>, expected: Expected) { 15pub async fn run(stack: Stack<'_>, expected: Expected) {
17 info!("Waiting for DHCP up..."); 16 info!("Waiting for DHCP up...");
18 while stack.config_v4().is_none() { 17 while stack.config_v4().is_none() {
19 Timer::after_millis(100).await; 18 Timer::after_millis(100).await;
@@ -38,7 +37,7 @@ const DOWNLOAD_PORT: u16 = 4321;
38const UPLOAD_PORT: u16 = 4322; 37const UPLOAD_PORT: u16 = 4322;
39const UPLOAD_DOWNLOAD_PORT: u16 = 4323; 38const UPLOAD_DOWNLOAD_PORT: u16 = 4323;
40 39
41async fn test_download<D: Driver>(stack: &Stack<D>) -> usize { 40async fn test_download(stack: Stack<'_>) -> usize {
42 info!("Testing download..."); 41 info!("Testing download...");
43 42
44 let mut rx_buffer = [0; RX_BUFFER_SIZE]; 43 let mut rx_buffer = [0; RX_BUFFER_SIZE];
@@ -78,7 +77,7 @@ async fn test_download<D: Driver>(stack: &Stack<D>) -> usize {
78 kbps 77 kbps
79} 78}
80 79
81async fn test_upload<D: Driver>(stack: &Stack<D>) -> usize { 80async fn test_upload(stack: Stack<'_>) -> usize {
82 info!("Testing upload..."); 81 info!("Testing upload...");
83 82
84 let mut rx_buffer = [0; RX_BUFFER_SIZE]; 83 let mut rx_buffer = [0; RX_BUFFER_SIZE];
@@ -118,7 +117,7 @@ async fn test_upload<D: Driver>(stack: &Stack<D>) -> usize {
118 kbps 117 kbps
119} 118}
120 119
121async fn test_upload_download<D: Driver>(stack: &Stack<D>) -> usize { 120async fn test_upload_download(stack: Stack<'_>) -> usize {
122 info!("Testing upload+download..."); 121 info!("Testing upload+download...");
123 122
124 let mut rx_buffer = [0; RX_BUFFER_SIZE]; 123 let mut rx_buffer = [0; RX_BUFFER_SIZE];
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,
diff --git a/tests/stm32/src/bin/eth.rs b/tests/stm32/src/bin/eth.rs
index 9da514881..bf1922dde 100644
--- a/tests/stm32/src/bin/eth.rs
+++ b/tests/stm32/src/bin/eth.rs
@@ -6,7 +6,7 @@
6mod common; 6mod common;
7use common::*; 7use common::*;
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_net::{Stack, StackResources}; 9use embassy_net::StackResources;
10use embassy_stm32::eth::generic_smi::GenericSMI; 10use embassy_stm32::eth::generic_smi::GenericSMI;
11use embassy_stm32::eth::{Ethernet, PacketQueue}; 11use embassy_stm32::eth::{Ethernet, PacketQueue};
12use embassy_stm32::peripherals::ETH; 12use embassy_stm32::peripherals::ETH;
@@ -32,8 +32,8 @@ bind_interrupts!(struct Irqs {
32type Device = Ethernet<'static, ETH, GenericSMI>; 32type Device = Ethernet<'static, ETH, GenericSMI>;
33 33
34#[embassy_executor::task] 34#[embassy_executor::task]
35async fn net_task(stack: &'static Stack<Device>) -> ! { 35async fn net_task(mut runner: embassy_net::Runner<'static, Device>) -> ! {
36 stack.run().await 36 runner.run().await
37} 37}
38 38
39#[embassy_executor::main] 39#[embassy_executor::main]
@@ -99,12 +99,11 @@ async fn main(spawner: Spawner) {
99 //}); 99 //});
100 100
101 // Init network stack 101 // Init network stack
102 static STACK: StaticCell<Stack<Device>> = StaticCell::new();
103 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); 102 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new();
104 let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); 103 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed);
105 104
106 // Launch network task 105 // Launch network task
107 unwrap!(spawner.spawn(net_task(&stack))); 106 unwrap!(spawner.spawn(net_task(runner)));
108 107
109 perf_client::run( 108 perf_client::run(
110 stack, 109 stack,