diff options
| author | klownfish <[email protected]> | 2024-09-11 11:55:50 +0200 |
|---|---|---|
| committer | klownfish <[email protected]> | 2024-09-11 11:55:50 +0200 |
| commit | f0a86d1a344eac1528ce8653c573d1fe840b4083 (patch) | |
| tree | 426b03be0f9306261c8d12e75d58a1fcafcbf2e7 /tests | |
| parent | 0ba91ca555efc75dca603adbb51355c92b2fdb80 (diff) | |
| parent | 7648d42b7f23a2caad29ed6e16123b088ccdc8b5 (diff) | |
Merge branch 'main' of github.com:embassy-rs/embassy
Diffstat (limited to 'tests')
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 | ||
| 10 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 10 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 11 | embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt", ] } | 11 | embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt", ] } |
| 12 | embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "task-arena-size-16384", "integrated-timers"] } | 12 | embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "task-arena-size-16384", "integrated-timers"] } |
| 13 | embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } | 13 | embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } |
| 14 | embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "time-driver-rtc1", "gpiote", "unstable-pac"] } | 14 | embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "time-driver-rtc1", "gpiote", "unstable-pac"] } |
| 15 | embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } | 15 | embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } |
| 16 | embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } | 16 | embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } |
| 17 | embassy-net-esp-hosted = { version = "0.1.0", path = "../../embassy-net-esp-hosted", features = ["defmt"] } | 17 | embassy-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] |
| 7 | embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4"] } | 7 | embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4"] } |
| 8 | embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", ] } | 8 | embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", ] } |
| 9 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 9 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 10 | defmt = "0.3.0" | 10 | defmt = "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] |
| 8 | critical-section = { version = "1.1.1", features = ["restore-state-bool"] } | 8 | critical-section = { version = "1.1.1", features = ["restore-state-bool"] } |
| 9 | embassy-sync = { version = "0.6.0", path = "../../embassy-sync" } | 9 | embassy-sync = { version = "0.6.0", path = "../../embassy-sync" } |
| 10 | embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-riscv32", "executor-thread"] } | 10 | embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-riscv32", "executor-thread"] } |
| 11 | embassy-time = { version = "0.3.1", path = "../../embassy-time" } | 11 | embassy-time = { version = "0.3.2", path = "../../embassy-time" } |
| 12 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 12 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 13 | 13 | ||
| 14 | riscv-rt = "0.12.2" | 14 | riscv-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" | |||
| 8 | teleprobe-meta = "1.1" | 8 | teleprobe-meta = "1.1" |
| 9 | 9 | ||
| 10 | embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } | 10 | embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } | 11 | embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } |
| 12 | embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", ] } | 12 | embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", ] } |
| 13 | embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = [ "defmt", "unstable-pac", "time-driver", "critical-section-impl", "intrinsics", "rom-v2-intrinsics", "run-from-ram"] } | 13 | embassy-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"] } |
| 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 14 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 15 | embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "dhcpv4", "medium-ethernet"] } | 15 | embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "dhcpv4", "medium-ethernet"] } |
| 16 | embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } | 16 | embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } |
| 17 | embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal/"} | 17 | embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal/"} |
| 18 | cyw43 = { path = "../../cyw43", features = ["defmt", "firmware-logs"] } | 18 | cyw43 = { path = "../../cyw43", features = ["defmt", "firmware-logs"] } |
| 19 | cyw43-pio = { path = "../../cyw43-pio", features = ["defmt", "overclock"] } | 19 | cyw43-pio = { path = "../../cyw43-pio", features = ["defmt", "overclock"] } |
| 20 | perf-client = { path = "../perf-client" } | 20 | perf-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] |
| 3 | teleprobe_meta::target!(b"rpi-pico"); | 3 | teleprobe_meta::target!(b"rpi-pico"); |
| 4 | 4 | ||
| 5 | use cyw43::JoinOptions; | ||
| 5 | use cyw43_pio::PioSpi; | 6 | use cyw43_pio::PioSpi; |
| 6 | use defmt::{panic, *}; | 7 | use defmt::{panic, *}; |
| 7 | use embassy_executor::Spawner; | 8 | use 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] | ||
| 3 | teleprobe_meta::target!(b"rpi-pico"); | ||
| 4 | |||
| 5 | use defmt::{assert, *}; | ||
| 6 | use embassy_executor::Spawner; | ||
| 7 | use embassy_time::{Instant, Timer}; | ||
| 8 | use {defmt_rtt as _, panic_probe as _}; | ||
| 9 | |||
| 10 | #[embassy_executor::main] | ||
| 11 | async 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"] | |||
| 60 | teleprobe-meta = "1" | 60 | teleprobe-meta = "1" |
| 61 | 61 | ||
| 62 | embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } | 62 | embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } |
| 63 | embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } | 63 | embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } |
| 64 | embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "tick-hz-131_072", "defmt-timestamp-uptime"] } | 64 | embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "tick-hz-131_072", "defmt-timestamp-uptime"] } |
| 65 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "memory-x", "time-driver-any"] } | 65 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "memory-x", "time-driver-any"] } |
| 66 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 66 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 67 | embassy-stm32-wpan = { version = "0.1.0", path = "../../embassy-stm32-wpan", optional = true, features = ["defmt", "stm32wb55rg", "ble"] } | 67 | embassy-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] |
| 29 | async fn main(_spawner: Spawner) { | 29 | async 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] |
| 31 | async fn main(_spawner: Spawner) { | 31 | async 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] |
| 22 | async fn main(_spawner: Spawner) { | 22 | async 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] |
| 21 | async fn main(_spawner: Spawner) { | 21 | async 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] |
| 26 | async fn main(_spawner: Spawner) { | 26 | async 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] |
| 40 | async fn main(spawner: Spawner) { | 40 | async 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] |
| 104 | async fn main(_spawner: Spawner) { | 104 | async 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] |
| 12 | async fn main(_spawner: Spawner) { | 12 | async 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] |
| 37 | async fn main(_spawner: Spawner) { | 37 | async 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] |
| 43 | async fn main(_spawner: Spawner) { | 43 | async 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 { | |||
| 20 | async fn main(_spawner: Spawner) { | 20 | async 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] |
| 14 | async fn main(_spawner: Spawner) { | 14 | async 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] |
| 14 | async fn main(_spawner: Spawner) { | 14 | async 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] |
| 12 | async fn main(_spawner: Spawner) { | 12 | async 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] |
| 104 | async fn main(_spawner: Spawner) { | 104 | async 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] |
| 13 | async fn main(_spawner: Spawner) { | 13 | async 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] |
| 13 | async fn main(_spawner: Spawner) { | 13 | async 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] |
| 20 | async fn main(spawner: Spawner) { | 20 | async 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)] | ||
| 704 | pub fn init() -> embassy_stm32::Peripherals { | ||
| 705 | init_with_config(config()) | ||
| 706 | } | ||
| 707 | |||
| 708 | #[allow(unused)] | ||
| 709 | pub 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 | } | ||
