aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorklownfish <[email protected]>2024-09-11 11:55:50 +0200
committerklownfish <[email protected]>2024-09-11 11:55:50 +0200
commitf0a86d1a344eac1528ce8653c573d1fe840b4083 (patch)
tree426b03be0f9306261c8d12e75d58a1fcafcbf2e7 /tests
parent0ba91ca555efc75dca603adbb51355c92b2fdb80 (diff)
parent7648d42b7f23a2caad29ed6e16123b088ccdc8b5 (diff)
Merge branch 'main' of github.com:embassy-rs/embassy
Diffstat (limited to 'tests')
-rw-r--r--tests/nrf/Cargo.toml6
-rw-r--r--tests/nrf/src/bin/ethernet_enc28j60_perf.rs7
-rw-r--r--tests/nrf/src/bin/wifi_esp_hosted_perf.rs2
-rw-r--r--tests/perf-client/Cargo.toml2
-rw-r--r--tests/riscv32/Cargo.toml4
-rw-r--r--tests/rp/Cargo.toml8
-rw-r--r--tests/rp/src/bin/cyw43-perf.rs8
-rw-r--r--tests/rp/src/bin/ethernet_w5100s_perf.rs2
-rw-r--r--tests/rp/src/bin/timer.rs25
-rw-r--r--tests/stm32/Cargo.toml4
-rw-r--r--tests/stm32/src/bin/can.rs2
-rw-r--r--tests/stm32/src/bin/cordic.rs2
-rw-r--r--tests/stm32/src/bin/cryp.rs2
-rw-r--r--tests/stm32/src/bin/dac.rs2
-rw-r--r--tests/stm32/src/bin/dac_l1.rs2
-rw-r--r--tests/stm32/src/bin/eth.rs9
-rw-r--r--tests/stm32/src/bin/fdcan.rs4
-rw-r--r--tests/stm32/src/bin/gpio.rs2
-rw-r--r--tests/stm32/src/bin/hash.rs2
-rw-r--r--tests/stm32/src/bin/rng.rs2
-rw-r--r--tests/stm32/src/bin/rtc.rs2
-rw-r--r--tests/stm32/src/bin/sdmmc.rs2
-rw-r--r--tests/stm32/src/bin/spi.rs2
-rw-r--r--tests/stm32/src/bin/spi_dma.rs2
-rw-r--r--tests/stm32/src/bin/stop.rs2
-rw-r--r--tests/stm32/src/bin/timer.rs2
-rw-r--r--tests/stm32/src/bin/ucpd.rs6
-rw-r--r--tests/stm32/src/bin/usart.rs2
-rw-r--r--tests/stm32/src/bin/usart_dma.rs2
-rw-r--r--tests/stm32/src/bin/usart_rx_ringbuffered.rs2
-rw-r--r--tests/stm32/src/bin/wpan_ble.rs2
-rw-r--r--tests/stm32/src/bin/wpan_mac.rs2
-rw-r--r--tests/stm32/src/common.rs18
33 files changed, 90 insertions, 53 deletions
diff --git a/tests/nrf/Cargo.toml b/tests/nrf/Cargo.toml
index c714e8f7e..f666634d5 100644
--- a/tests/nrf/Cargo.toml
+++ b/tests/nrf/Cargo.toml
@@ -9,9 +9,9 @@ teleprobe-meta = "1"
9 9
10embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } 10embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
11embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt", ] } 11embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt", ] }
12embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "task-arena-size-16384", "integrated-timers"] } 12embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "task-arena-size-16384", "integrated-timers"] }
13embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } 13embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
14embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "time-driver-rtc1", "gpiote", "unstable-pac"] } 14embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "time-driver-rtc1", "gpiote", "unstable-pac"] }
15embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } 15embedded-io-async = { version = "0.6.1", features = ["defmt-03"] }
16embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } 16embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] }
17embassy-net-esp-hosted = { version = "0.1.0", path = "../../embassy-net-esp-hosted", features = ["defmt"] } 17embassy-net-esp-hosted = { version = "0.1.0", path = "../../embassy-net-esp-hosted", features = ["defmt"] }
diff --git a/tests/nrf/src/bin/ethernet_enc28j60_perf.rs b/tests/nrf/src/bin/ethernet_enc28j60_perf.rs
index 5f4220b1e..304754c0e 100644
--- a/tests/nrf/src/bin/ethernet_enc28j60_perf.rs
+++ b/tests/nrf/src/bin/ethernet_enc28j60_perf.rs
@@ -67,12 +67,7 @@ async fn main(spawner: Spawner) {
67 // Init network stack 67 // Init network stack
68 static STACK: StaticCell<Stack<MyDriver>> = StaticCell::new(); 68 static STACK: StaticCell<Stack<MyDriver>> = StaticCell::new();
69 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); 69 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new();
70 let stack = &*STACK.init(Stack::new( 70 let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed));
71 device,
72 config,
73 RESOURCES.init(StackResources::<2>::new()),
74 seed,
75 ));
76 71
77 unwrap!(spawner.spawn(net_task(stack))); 72 unwrap!(spawner.spawn(net_task(stack)));
78 73
diff --git a/tests/nrf/src/bin/wifi_esp_hosted_perf.rs b/tests/nrf/src/bin/wifi_esp_hosted_perf.rs
index a6c93c8a6..6632442f1 100644
--- a/tests/nrf/src/bin/wifi_esp_hosted_perf.rs
+++ b/tests/nrf/src/bin/wifi_esp_hosted_perf.rs
@@ -91,7 +91,7 @@ async fn main(spawner: Spawner) {
91 let stack = &*STACK.init(Stack::new( 91 let stack = &*STACK.init(Stack::new(
92 device, 92 device,
93 Config::dhcpv4(Default::default()), 93 Config::dhcpv4(Default::default()),
94 RESOURCES.init(StackResources::<2>::new()), 94 RESOURCES.init(StackResources::new()),
95 seed, 95 seed,
96 )); 96 ));
97 97
diff --git a/tests/perf-client/Cargo.toml b/tests/perf-client/Cargo.toml
index 6ecc2d5e1..eb2a33a30 100644
--- a/tests/perf-client/Cargo.toml
+++ b/tests/perf-client/Cargo.toml
@@ -5,6 +5,6 @@ edition = "2021"
5 5
6[dependencies] 6[dependencies]
7embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4"] } 7embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4"] }
8embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", ] } 8embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", ] }
9embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } 9embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
10defmt = "0.3.0" 10defmt = "0.3.0"
diff --git a/tests/riscv32/Cargo.toml b/tests/riscv32/Cargo.toml
index 4f1d3e5c6..ae2b0e180 100644
--- a/tests/riscv32/Cargo.toml
+++ b/tests/riscv32/Cargo.toml
@@ -7,8 +7,8 @@ license = "MIT OR Apache-2.0"
7[dependencies] 7[dependencies]
8critical-section = { version = "1.1.1", features = ["restore-state-bool"] } 8critical-section = { version = "1.1.1", features = ["restore-state-bool"] }
9embassy-sync = { version = "0.6.0", path = "../../embassy-sync" } 9embassy-sync = { version = "0.6.0", path = "../../embassy-sync" }
10embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-riscv32", "executor-thread"] } 10embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-riscv32", "executor-thread"] }
11embassy-time = { version = "0.3.1", path = "../../embassy-time" } 11embassy-time = { version = "0.3.2", path = "../../embassy-time" }
12embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } 12embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
13 13
14riscv-rt = "0.12.2" 14riscv-rt = "0.12.2"
diff --git a/tests/rp/Cargo.toml b/tests/rp/Cargo.toml
index 45050ee0e..12f1ec3ce 100644
--- a/tests/rp/Cargo.toml
+++ b/tests/rp/Cargo.toml
@@ -8,13 +8,13 @@ license = "MIT OR Apache-2.0"
8teleprobe-meta = "1.1" 8teleprobe-meta = "1.1"
9 9
10embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } 10embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] }
11embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } 11embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] }
12embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", ] } 12embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", ] }
13embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = [ "defmt", "unstable-pac", "time-driver", "critical-section-impl", "intrinsics", "rom-v2-intrinsics", "run-from-ram"] } 13embassy-rp = { version = "0.2.0", path = "../../embassy-rp", features = [ "defmt", "unstable-pac", "time-driver", "critical-section-impl", "intrinsics", "rom-v2-intrinsics", "run-from-ram", "rp2040"] }
14embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } 14embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
15embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "dhcpv4", "medium-ethernet"] } 15embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "dhcpv4", "medium-ethernet"] }
16embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } 16embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] }
17embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal/"} 17embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal/"}
18cyw43 = { path = "../../cyw43", features = ["defmt", "firmware-logs"] } 18cyw43 = { path = "../../cyw43", features = ["defmt", "firmware-logs"] }
19cyw43-pio = { path = "../../cyw43-pio", features = ["defmt", "overclock"] } 19cyw43-pio = { path = "../../cyw43-pio", features = ["defmt", "overclock"] }
20perf-client = { path = "../perf-client" } 20perf-client = { path = "../perf-client" }
diff --git a/tests/rp/src/bin/cyw43-perf.rs b/tests/rp/src/bin/cyw43-perf.rs
index 53c84e711..11c8aa58c 100644
--- a/tests/rp/src/bin/cyw43-perf.rs
+++ b/tests/rp/src/bin/cyw43-perf.rs
@@ -2,6 +2,7 @@
2#![no_main] 2#![no_main]
3teleprobe_meta::target!(b"rpi-pico"); 3teleprobe_meta::target!(b"rpi-pico");
4 4
5use cyw43::JoinOptions;
5use cyw43_pio::PioSpi; 6use cyw43_pio::PioSpi;
6use defmt::{panic, *}; 7use defmt::{panic, *};
7use embassy_executor::Spawner; 8use embassy_executor::Spawner;
@@ -74,14 +75,17 @@ async fn main(spawner: Spawner) {
74 let stack = &*STACK.init(Stack::new( 75 let stack = &*STACK.init(Stack::new(
75 net_device, 76 net_device,
76 Config::dhcpv4(Default::default()), 77 Config::dhcpv4(Default::default()),
77 RESOURCES.init(StackResources::<2>::new()), 78 RESOURCES.init(StackResources::new()),
78 seed, 79 seed,
79 )); 80 ));
80 81
81 unwrap!(spawner.spawn(net_task(stack))); 82 unwrap!(spawner.spawn(net_task(stack)));
82 83
83 loop { 84 loop {
84 match control.join_wpa2(WIFI_NETWORK, WIFI_PASSWORD).await { 85 match control
86 .join(WIFI_NETWORK, JoinOptions::new(WIFI_PASSWORD.as_bytes()))
87 .await
88 {
85 Ok(_) => break, 89 Ok(_) => break,
86 Err(err) => { 90 Err(err) => {
87 panic!("join failed with status={}", err.status); 91 panic!("join failed with status={}", err.status);
diff --git a/tests/rp/src/bin/ethernet_w5100s_perf.rs b/tests/rp/src/bin/ethernet_w5100s_perf.rs
index 4b04571bd..f15f33743 100644
--- a/tests/rp/src/bin/ethernet_w5100s_perf.rs
+++ b/tests/rp/src/bin/ethernet_w5100s_perf.rs
@@ -72,7 +72,7 @@ async fn main(spawner: Spawner) {
72 let stack = &*STACK.init(Stack::new( 72 let stack = &*STACK.init(Stack::new(
73 device, 73 device,
74 embassy_net::Config::dhcpv4(Default::default()), 74 embassy_net::Config::dhcpv4(Default::default()),
75 RESOURCES.init(StackResources::<2>::new()), 75 RESOURCES.init(StackResources::new()),
76 seed, 76 seed,
77 )); 77 ));
78 78
diff --git a/tests/rp/src/bin/timer.rs b/tests/rp/src/bin/timer.rs
new file mode 100644
index 000000000..be9242144
--- /dev/null
+++ b/tests/rp/src/bin/timer.rs
@@ -0,0 +1,25 @@
1#![no_std]
2#![no_main]
3teleprobe_meta::target!(b"rpi-pico");
4
5use defmt::{assert, *};
6use embassy_executor::Spawner;
7use embassy_time::{Instant, Timer};
8use {defmt_rtt as _, panic_probe as _};
9
10#[embassy_executor::main]
11async fn main(_spawner: Spawner) {
12 let _p = embassy_rp::init(Default::default());
13 info!("Hello World!");
14
15 let start = Instant::now();
16 Timer::after_millis(100).await;
17 let end = Instant::now();
18 let ms = (end - start).as_millis();
19 info!("slept for {} ms", ms);
20 assert!(ms >= 99);
21 assert!(ms < 110);
22
23 info!("Test OK");
24 cortex_m::asm::bkpt();
25}
diff --git a/tests/stm32/Cargo.toml b/tests/stm32/Cargo.toml
index f94814e70..2eac636e5 100644
--- a/tests/stm32/Cargo.toml
+++ b/tests/stm32/Cargo.toml
@@ -60,8 +60,8 @@ cm0 = ["portable-atomic/unsafe-assume-single-core"]
60teleprobe-meta = "1" 60teleprobe-meta = "1"
61 61
62embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } 62embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] }
63embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } 63embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] }
64embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "tick-hz-131_072", "defmt-timestamp-uptime"] } 64embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "tick-hz-131_072", "defmt-timestamp-uptime"] }
65embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "memory-x", "time-driver-any"] } 65embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "memory-x", "time-driver-any"] }
66embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } 66embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
67embassy-stm32-wpan = { version = "0.1.0", path = "../../embassy-stm32-wpan", optional = true, features = ["defmt", "stm32wb55rg", "ble"] } 67embassy-stm32-wpan = { version = "0.1.0", path = "../../embassy-stm32-wpan", optional = true, features = ["defmt", "stm32wb55rg", "ble"] }
diff --git a/tests/stm32/src/bin/can.rs b/tests/stm32/src/bin/can.rs
index ba8a33e34..85a5f8d83 100644
--- a/tests/stm32/src/bin/can.rs
+++ b/tests/stm32/src/bin/can.rs
@@ -27,7 +27,7 @@ bind_interrupts!(struct Irqs {
27 27
28#[embassy_executor::main] 28#[embassy_executor::main]
29async fn main(_spawner: Spawner) { 29async fn main(_spawner: Spawner) {
30 let p = embassy_stm32::init(config()); 30 let p = init();
31 info!("Hello World!"); 31 info!("Hello World!");
32 32
33 let options = TestOptions { 33 let options = TestOptions {
diff --git a/tests/stm32/src/bin/cordic.rs b/tests/stm32/src/bin/cordic.rs
index e09226de8..879ad56b6 100644
--- a/tests/stm32/src/bin/cordic.rs
+++ b/tests/stm32/src/bin/cordic.rs
@@ -29,7 +29,7 @@ const OUTPUT_LENGTH: usize = (INPUT_U32_COUNT - 1) * 2;
29 29
30#[embassy_executor::main] 30#[embassy_executor::main]
31async fn main(_spawner: Spawner) { 31async fn main(_spawner: Spawner) {
32 let dp = embassy_stm32::init(config()); 32 let dp = init();
33 33
34 // 34 //
35 // use RNG generate random Q1.31 value 35 // use RNG generate random Q1.31 value
diff --git a/tests/stm32/src/bin/cryp.rs b/tests/stm32/src/bin/cryp.rs
index 60778bdaa..028775ac8 100644
--- a/tests/stm32/src/bin/cryp.rs
+++ b/tests/stm32/src/bin/cryp.rs
@@ -20,7 +20,7 @@ bind_interrupts!(struct Irqs {
20 20
21#[embassy_executor::main] 21#[embassy_executor::main]
22async fn main(_spawner: Spawner) { 22async fn main(_spawner: Spawner) {
23 let p: embassy_stm32::Peripherals = embassy_stm32::init(config()); 23 let p: embassy_stm32::Peripherals = init();
24 24
25 const PAYLOAD1: &[u8] = b"payload data 1 ;zdfhzdfhS;GKJASBDG;ASKDJBAL,zdfhzdfhzdfhzdfhvljhb,jhbjhb,sdhsdghsdhsfhsghzdfhzdfhzdfhzdfdhsdthsthsdhsgaadfhhgkdgfuoyguoft6783567"; 25 const PAYLOAD1: &[u8] = b"payload data 1 ;zdfhzdfhS;GKJASBDG;ASKDJBAL,zdfhzdfhzdfhzdfhvljhb,jhbjhb,sdhsdghsdhsfhsghzdfhzdfhzdfhzdfdhsdthsthsdhsgaadfhhgkdgfuoyguoft6783567";
26 const PAYLOAD2: &[u8] = b"payload data 2 ;SKEzdfhzdfhzbhgvljhb,jhbjhb,sdhsdghsdhsfhsghshsfhshstsdthadfhsdfjhsfgjsfgjxfgjzdhgDFghSDGHjtfjtjszftjzsdtjhstdsdhsdhsdhsdhsdthsthsdhsgfh"; 26 const PAYLOAD2: &[u8] = b"payload data 2 ;SKEzdfhzdfhzbhgvljhb,jhbjhb,sdhsdghsdhsfhsghshsfhshstsdthadfhsdfjhsfgjsfgjxfgjzdhgDFghSDGHjtfjtjszftjzsdtjhstdsdhsdhsdhsdhsdthsthsdhsgfh";
diff --git a/tests/stm32/src/bin/dac.rs b/tests/stm32/src/bin/dac.rs
index 86a68c530..88e661525 100644
--- a/tests/stm32/src/bin/dac.rs
+++ b/tests/stm32/src/bin/dac.rs
@@ -20,7 +20,7 @@ use {defmt_rtt as _, panic_probe as _};
20#[embassy_executor::main] 20#[embassy_executor::main]
21async fn main(_spawner: Spawner) { 21async fn main(_spawner: Spawner) {
22 // Initialize the board and obtain a Peripherals instance 22 // Initialize the board and obtain a Peripherals instance
23 let p: embassy_stm32::Peripherals = embassy_stm32::init(config()); 23 let p: embassy_stm32::Peripherals = init();
24 24
25 let adc = peri!(p, ADC); 25 let adc = peri!(p, ADC);
26 let dac = peri!(p, DAC); 26 let dac = peri!(p, DAC);
diff --git a/tests/stm32/src/bin/dac_l1.rs b/tests/stm32/src/bin/dac_l1.rs
index d5e9c9722..925db617d 100644
--- a/tests/stm32/src/bin/dac_l1.rs
+++ b/tests/stm32/src/bin/dac_l1.rs
@@ -25,7 +25,7 @@ bind_interrupts!(struct Irqs {
25#[embassy_executor::main] 25#[embassy_executor::main]
26async fn main(_spawner: Spawner) { 26async fn main(_spawner: Spawner) {
27 // Initialize the board and obtain a Peripherals instance 27 // Initialize the board and obtain a Peripherals instance
28 let p: embassy_stm32::Peripherals = embassy_stm32::init(config()); 28 let p: embassy_stm32::Peripherals = init();
29 29
30 let adc = peri!(p, ADC); 30 let adc = peri!(p, ADC);
31 let dac = peri!(p, DAC); 31 let dac = peri!(p, DAC);
diff --git a/tests/stm32/src/bin/eth.rs b/tests/stm32/src/bin/eth.rs
index 7c02f0354..9da514881 100644
--- a/tests/stm32/src/bin/eth.rs
+++ b/tests/stm32/src/bin/eth.rs
@@ -38,7 +38,7 @@ async fn net_task(stack: &'static Stack<Device>) -> ! {
38 38
39#[embassy_executor::main] 39#[embassy_executor::main]
40async fn main(spawner: Spawner) { 40async fn main(spawner: Spawner) {
41 let p = embassy_stm32::init(config()); 41 let p = init();
42 info!("Hello World!"); 42 info!("Hello World!");
43 43
44 // Generate random seed. 44 // Generate random seed.
@@ -101,12 +101,7 @@ async fn main(spawner: Spawner) {
101 // Init network stack 101 // Init network stack
102 static STACK: StaticCell<Stack<Device>> = StaticCell::new(); 102 static STACK: StaticCell<Stack<Device>> = StaticCell::new();
103 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); 103 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new();
104 let stack = &*STACK.init(Stack::new( 104 let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed));
105 device,
106 config,
107 RESOURCES.init(StackResources::<2>::new()),
108 seed,
109 ));
110 105
111 // Launch network task 106 // Launch network task
112 unwrap!(spawner.spawn(net_task(&stack))); 107 unwrap!(spawner.spawn(net_task(&stack)));
diff --git a/tests/stm32/src/bin/fdcan.rs b/tests/stm32/src/bin/fdcan.rs
index bc2b7edd4..83d7eca85 100644
--- a/tests/stm32/src/bin/fdcan.rs
+++ b/tests/stm32/src/bin/fdcan.rs
@@ -102,10 +102,10 @@ fn options() -> (Config, TestOptions) {
102 102
103#[embassy_executor::main] 103#[embassy_executor::main]
104async fn main(_spawner: Spawner) { 104async fn main(_spawner: Spawner) {
105 //let peripherals = embassy_stm32::init(config()); 105 //let peripherals = init();
106 106
107 let (config, options) = options(); 107 let (config, options) = options();
108 let peripherals = embassy_stm32::init(config); 108 let peripherals = init_with_config(config);
109 109
110 let mut can = can::CanConfigurator::new(peripherals.FDCAN1, peripherals.PB8, peripherals.PB9, Irqs1); 110 let mut can = can::CanConfigurator::new(peripherals.FDCAN1, peripherals.PB8, peripherals.PB9, Irqs1);
111 let mut can2 = can::CanConfigurator::new(peripherals.FDCAN2, peripherals.PB12, peripherals.PB13, Irqs2); 111 let mut can2 = can::CanConfigurator::new(peripherals.FDCAN2, peripherals.PB12, peripherals.PB13, Irqs2);
diff --git a/tests/stm32/src/bin/gpio.rs b/tests/stm32/src/bin/gpio.rs
index 1d1018c5c..4a2584b4e 100644
--- a/tests/stm32/src/bin/gpio.rs
+++ b/tests/stm32/src/bin/gpio.rs
@@ -10,7 +10,7 @@ use embassy_stm32::gpio::{Flex, Input, Level, Output, OutputOpenDrain, Pull, Spe
10 10
11#[embassy_executor::main] 11#[embassy_executor::main]
12async fn main(_spawner: Spawner) { 12async fn main(_spawner: Spawner) {
13 let p = embassy_stm32::init(config()); 13 let p = init();
14 info!("Hello World!"); 14 info!("Hello World!");
15 15
16 // Arduino pins D0 and D1 16 // Arduino pins D0 and D1
diff --git a/tests/stm32/src/bin/hash.rs b/tests/stm32/src/bin/hash.rs
index 5f54ea435..bdb3c9a69 100644
--- a/tests/stm32/src/bin/hash.rs
+++ b/tests/stm32/src/bin/hash.rs
@@ -35,7 +35,7 @@ bind_interrupts!(struct Irqs {
35 35
36#[embassy_executor::main] 36#[embassy_executor::main]
37async fn main(_spawner: Spawner) { 37async fn main(_spawner: Spawner) {
38 let p: embassy_stm32::Peripherals = embassy_stm32::init(config()); 38 let p: embassy_stm32::Peripherals = init();
39 let mut hw_hasher = Hash::new(p.HASH, NoDma, Irqs); 39 let mut hw_hasher = Hash::new(p.HASH, NoDma, Irqs);
40 40
41 let test_1: &[u8] = b"as;dfhaslfhas;oifvnasd;nifvnhasd;nifvhndlkfghsd;nvfnahssdfgsdafgsasdfasdfasdfasdfasdfghjklmnbvcalskdjghalskdjgfbaslkdjfgbalskdjgbalskdjbdfhsdfhsfghsfghfgh"; 41 let test_1: &[u8] = b"as;dfhaslfhas;oifvnasd;nifvnhasd;nifvhndlkfghsd;nvfnahssdfgsdafgsasdfasdfasdfasdfasdfghjklmnbvcalskdjghalskdjgfbaslkdjfgbalskdjgbalskdjbdfhsdfhsfghsfghfgh";
diff --git a/tests/stm32/src/bin/rng.rs b/tests/stm32/src/bin/rng.rs
index 15ef4fb60..8438353a8 100644
--- a/tests/stm32/src/bin/rng.rs
+++ b/tests/stm32/src/bin/rng.rs
@@ -41,7 +41,7 @@ bind_interrupts!(struct Irqs {
41 41
42#[embassy_executor::main] 42#[embassy_executor::main]
43async fn main(_spawner: Spawner) { 43async fn main(_spawner: Spawner) {
44 let p: embassy_stm32::Peripherals = embassy_stm32::init(config()); 44 let p: embassy_stm32::Peripherals = init();
45 45
46 let mut rng = Rng::new(p.RNG, Irqs); 46 let mut rng = Rng::new(p.RNG, Irqs);
47 47
diff --git a/tests/stm32/src/bin/rtc.rs b/tests/stm32/src/bin/rtc.rs
index c04d616ac..5fe98d807 100644
--- a/tests/stm32/src/bin/rtc.rs
+++ b/tests/stm32/src/bin/rtc.rs
@@ -18,7 +18,7 @@ async fn main(_spawner: Spawner) {
18 let mut config = config(); 18 let mut config = config();
19 config.rcc.ls = LsConfig::default_lse(); 19 config.rcc.ls = LsConfig::default_lse();
20 20
21 let p = embassy_stm32::init(config); 21 let p = init_with_config(config);
22 info!("Hello World!"); 22 info!("Hello World!");
23 23
24 let now = NaiveDate::from_ymd_opt(2020, 5, 15) 24 let now = NaiveDate::from_ymd_opt(2020, 5, 15)
diff --git a/tests/stm32/src/bin/sdmmc.rs b/tests/stm32/src/bin/sdmmc.rs
index 54f55d2d6..a6bc117c0 100644
--- a/tests/stm32/src/bin/sdmmc.rs
+++ b/tests/stm32/src/bin/sdmmc.rs
@@ -20,7 +20,7 @@ bind_interrupts!(struct Irqs {
20async fn main(_spawner: Spawner) { 20async fn main(_spawner: Spawner) {
21 info!("Hello World!"); 21 info!("Hello World!");
22 22
23 let p = embassy_stm32::init(config()); 23 let p = init();
24 24
25 let (mut sdmmc, mut dma, mut clk, mut cmd, mut d0, mut d1, mut d2, mut d3) = 25 let (mut sdmmc, mut dma, mut clk, mut cmd, mut d0, mut d1, mut d2, mut d3) =
26 (p.SDIO, p.DMA2_CH3, p.PC12, p.PD2, p.PC8, p.PC9, p.PC10, p.PC11); 26 (p.SDIO, p.DMA2_CH3, p.PC12, p.PD2, p.PC8, p.PC9, p.PC10, p.PC11);
diff --git a/tests/stm32/src/bin/spi.rs b/tests/stm32/src/bin/spi.rs
index 0ffd0f653..53d44a94a 100644
--- a/tests/stm32/src/bin/spi.rs
+++ b/tests/stm32/src/bin/spi.rs
@@ -12,7 +12,7 @@ use embassy_stm32::time::Hertz;
12 12
13#[embassy_executor::main] 13#[embassy_executor::main]
14async fn main(_spawner: Spawner) { 14async fn main(_spawner: Spawner) {
15 let p = embassy_stm32::init(config()); 15 let p = init();
16 info!("Hello World!"); 16 info!("Hello World!");
17 17
18 let mut spi_peri = peri!(p, SPI); 18 let mut spi_peri = peri!(p, SPI);
diff --git a/tests/stm32/src/bin/spi_dma.rs b/tests/stm32/src/bin/spi_dma.rs
index fd26d3f71..a1cbc0ed1 100644
--- a/tests/stm32/src/bin/spi_dma.rs
+++ b/tests/stm32/src/bin/spi_dma.rs
@@ -12,7 +12,7 @@ use embassy_stm32::time::Hertz;
12 12
13#[embassy_executor::main] 13#[embassy_executor::main]
14async fn main(_spawner: Spawner) { 14async fn main(_spawner: Spawner) {
15 let p = embassy_stm32::init(config()); 15 let p = init();
16 info!("Hello World!"); 16 info!("Hello World!");
17 17
18 let mut spi_peri = peri!(p, SPI); 18 let mut spi_peri = peri!(p, SPI);
diff --git a/tests/stm32/src/bin/stop.rs b/tests/stm32/src/bin/stop.rs
index c1106bb2f..772bc527c 100644
--- a/tests/stm32/src/bin/stop.rs
+++ b/tests/stm32/src/bin/stop.rs
@@ -58,7 +58,7 @@ async fn async_main(spawner: Spawner) {
58 config.rcc.hsi = Some(HSIPrescaler::DIV4); // 64 MHz HSI will need a /4 58 config.rcc.hsi = Some(HSIPrescaler::DIV4); // 64 MHz HSI will need a /4
59 } 59 }
60 60
61 let p = embassy_stm32::init(config); 61 let p = init_with_config(config);
62 info!("Hello World!"); 62 info!("Hello World!");
63 63
64 let now = NaiveDate::from_ymd_opt(2020, 5, 15) 64 let now = NaiveDate::from_ymd_opt(2020, 5, 15)
diff --git a/tests/stm32/src/bin/timer.rs b/tests/stm32/src/bin/timer.rs
index d86f54ad2..8719e7670 100644
--- a/tests/stm32/src/bin/timer.rs
+++ b/tests/stm32/src/bin/timer.rs
@@ -10,7 +10,7 @@ use embassy_time::{Instant, Timer};
10 10
11#[embassy_executor::main] 11#[embassy_executor::main]
12async fn main(_spawner: Spawner) { 12async fn main(_spawner: Spawner) {
13 let _p = embassy_stm32::init(config()); 13 let _p = init();
14 info!("Hello World!"); 14 info!("Hello World!");
15 15
16 let start = Instant::now(); 16 let start = Instant::now();
diff --git a/tests/stm32/src/bin/ucpd.rs b/tests/stm32/src/bin/ucpd.rs
index c09334ec8..bd7b35d6b 100644
--- a/tests/stm32/src/bin/ucpd.rs
+++ b/tests/stm32/src/bin/ucpd.rs
@@ -102,12 +102,12 @@ async fn sink(
102 102
103#[embassy_executor::main] 103#[embassy_executor::main]
104async fn main(_spawner: Spawner) { 104async fn main(_spawner: Spawner) {
105 let p = embassy_stm32::init(config()); 105 let p = init();
106 info!("Hello World!"); 106 info!("Hello World!");
107 107
108 // Wire between PD0 and PA8 108 // Wire between PD0 and PA8
109 let ucpd1 = Ucpd::new(p.UCPD1, Irqs {}, p.PA8, p.PB15); 109 let ucpd1 = Ucpd::new(p.UCPD1, Irqs {}, p.PA8, p.PB15, Default::default());
110 let ucpd2 = Ucpd::new(p.UCPD2, Irqs {}, p.PD0, p.PD2); 110 let ucpd2 = Ucpd::new(p.UCPD2, Irqs {}, p.PD0, p.PD2, Default::default());
111 111
112 join( 112 join(
113 source(ucpd1, p.DMA1_CH1, p.DMA1_CH2), 113 source(ucpd1, p.DMA1_CH1, p.DMA1_CH2),
diff --git a/tests/stm32/src/bin/usart.rs b/tests/stm32/src/bin/usart.rs
index a6e34674d..53da30fff 100644
--- a/tests/stm32/src/bin/usart.rs
+++ b/tests/stm32/src/bin/usart.rs
@@ -11,7 +11,7 @@ use embassy_time::{block_for, Duration, Instant};
11 11
12#[embassy_executor::main] 12#[embassy_executor::main]
13async fn main(_spawner: Spawner) { 13async fn main(_spawner: Spawner) {
14 let p = embassy_stm32::init(config()); 14 let p = init();
15 info!("Hello World!"); 15 info!("Hello World!");
16 16
17 // Arduino pins D0 and D1 17 // Arduino pins D0 and D1
diff --git a/tests/stm32/src/bin/usart_dma.rs b/tests/stm32/src/bin/usart_dma.rs
index 24e2b2896..266b81809 100644
--- a/tests/stm32/src/bin/usart_dma.rs
+++ b/tests/stm32/src/bin/usart_dma.rs
@@ -11,7 +11,7 @@ use embassy_stm32::usart::{Config, Uart};
11 11
12#[embassy_executor::main] 12#[embassy_executor::main]
13async fn main(_spawner: Spawner) { 13async fn main(_spawner: Spawner) {
14 let p = embassy_stm32::init(config()); 14 let p = init();
15 info!("Hello World!"); 15 info!("Hello World!");
16 16
17 // Arduino pins D0 and D1 17 // Arduino pins D0 and D1
diff --git a/tests/stm32/src/bin/usart_rx_ringbuffered.rs b/tests/stm32/src/bin/usart_rx_ringbuffered.rs
index ea1e52358..98c7ef312 100644
--- a/tests/stm32/src/bin/usart_rx_ringbuffered.rs
+++ b/tests/stm32/src/bin/usart_rx_ringbuffered.rs
@@ -18,7 +18,7 @@ const DMA_BUF_SIZE: usize = 256;
18 18
19#[embassy_executor::main] 19#[embassy_executor::main]
20async fn main(spawner: Spawner) { 20async fn main(spawner: Spawner) {
21 let p = embassy_stm32::init(config()); 21 let p = init();
22 info!("Hello World!"); 22 info!("Hello World!");
23 23
24 // Arduino pins D0 and D1 24 // Arduino pins D0 and D1
diff --git a/tests/stm32/src/bin/wpan_ble.rs b/tests/stm32/src/bin/wpan_ble.rs
index 82a540d45..fde1dfa9b 100644
--- a/tests/stm32/src/bin/wpan_ble.rs
+++ b/tests/stm32/src/bin/wpan_ble.rs
@@ -41,7 +41,7 @@ async fn main(spawner: Spawner) {
41 let mut config = config(); 41 let mut config = config();
42 config.rcc = WPAN_DEFAULT; 42 config.rcc = WPAN_DEFAULT;
43 43
44 let p = embassy_stm32::init(config); 44 let p = init_with_config(config);
45 info!("Hello World!"); 45 info!("Hello World!");
46 46
47 let config = Config::default(); 47 let config = Config::default();
diff --git a/tests/stm32/src/bin/wpan_mac.rs b/tests/stm32/src/bin/wpan_mac.rs
index fe53b8786..b65ace40f 100644
--- a/tests/stm32/src/bin/wpan_mac.rs
+++ b/tests/stm32/src/bin/wpan_mac.rs
@@ -34,7 +34,7 @@ async fn main(spawner: Spawner) {
34 let mut config = config(); 34 let mut config = config();
35 config.rcc = WPAN_DEFAULT; 35 config.rcc = WPAN_DEFAULT;
36 36
37 let p = embassy_stm32::init(config); 37 let p = init_with_config(config);
38 info!("Hello World!"); 38 info!("Hello World!");
39 39
40 let config = Config::default(); 40 let config = Config::default();
diff --git a/tests/stm32/src/common.rs b/tests/stm32/src/common.rs
index 4e0231858..935a41ed2 100644
--- a/tests/stm32/src/common.rs
+++ b/tests/stm32/src/common.rs
@@ -699,3 +699,21 @@ pub fn config() -> Config {
699 699
700 config 700 config
701} 701}
702
703#[allow(unused)]
704pub fn init() -> embassy_stm32::Peripherals {
705 init_with_config(config())
706}
707
708#[allow(unused)]
709pub fn init_with_config(config: Config) -> embassy_stm32::Peripherals {
710 #[cfg(any(feature = "stm32wl55jc", feature = "stm32h755zi"))]
711 {
712 // Not in shared memory, but we're not running the second core, so it's fine
713 static SHARED_DATA: core::mem::MaybeUninit<embassy_stm32::SharedData> = core::mem::MaybeUninit::uninit();
714 embassy_stm32::init_primary(config, &SHARED_DATA)
715 }
716
717 #[cfg(not(any(feature = "stm32wl55jc", feature = "stm32h755zi")))]
718 embassy_stm32::init(config)
719}