diff options
Diffstat (limited to 'tests/stm32/src')
| -rw-r--r-- | tests/stm32/src/bin/eth.rs | 14 | ||||
| -rw-r--r-- | tests/stm32/src/bin/gpio.rs | 12 | ||||
| -rw-r--r-- | tests/stm32/src/bin/stop.rs | 6 |
3 files changed, 17 insertions, 15 deletions
diff --git a/tests/stm32/src/bin/eth.rs b/tests/stm32/src/bin/eth.rs index 754354944..7c02f0354 100644 --- a/tests/stm32/src/bin/eth.rs +++ b/tests/stm32/src/bin/eth.rs | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | // required-features: eth | 1 | // required-features: eth |
| 2 | #![no_std] | 2 | #![no_std] |
| 3 | #![no_main] | 3 | #![no_main] |
| 4 | #![feature(type_alias_impl_trait)] | ||
| 5 | 4 | ||
| 6 | #[path = "../common.rs"] | 5 | #[path = "../common.rs"] |
| 7 | mod common; | 6 | mod common; |
| @@ -14,7 +13,7 @@ use embassy_stm32::peripherals::ETH; | |||
| 14 | use embassy_stm32::rng::Rng; | 13 | use embassy_stm32::rng::Rng; |
| 15 | use embassy_stm32::{bind_interrupts, eth, peripherals, rng}; | 14 | use embassy_stm32::{bind_interrupts, eth, peripherals, rng}; |
| 16 | use rand_core::RngCore; | 15 | use rand_core::RngCore; |
| 17 | use static_cell::make_static; | 16 | use static_cell::StaticCell; |
| 18 | use {defmt_rtt as _, panic_probe as _}; | 17 | use {defmt_rtt as _, panic_probe as _}; |
| 19 | 18 | ||
| 20 | teleprobe_meta::timeout!(120); | 19 | teleprobe_meta::timeout!(120); |
| @@ -71,8 +70,9 @@ async fn main(spawner: Spawner) { | |||
| 71 | #[cfg(not(feature = "stm32f207zg"))] | 70 | #[cfg(not(feature = "stm32f207zg"))] |
| 72 | const PACKET_QUEUE_SIZE: usize = 4; | 71 | const PACKET_QUEUE_SIZE: usize = 4; |
| 73 | 72 | ||
| 73 | static PACKETS: StaticCell<PacketQueue<PACKET_QUEUE_SIZE, PACKET_QUEUE_SIZE>> = StaticCell::new(); | ||
| 74 | let device = Ethernet::new( | 74 | let device = Ethernet::new( |
| 75 | make_static!(PacketQueue::<PACKET_QUEUE_SIZE, PACKET_QUEUE_SIZE>::new()), | 75 | PACKETS.init(PacketQueue::<PACKET_QUEUE_SIZE, PACKET_QUEUE_SIZE>::new()), |
| 76 | p.ETH, | 76 | p.ETH, |
| 77 | Irqs, | 77 | Irqs, |
| 78 | p.PA1, | 78 | p.PA1, |
| @@ -99,11 +99,13 @@ async fn main(spawner: Spawner) { | |||
| 99 | //}); | 99 | //}); |
| 100 | 100 | ||
| 101 | // Init network stack | 101 | // Init network stack |
| 102 | let stack = &*make_static!(Stack::new( | 102 | static STACK: StaticCell<Stack<Device>> = StaticCell::new(); |
| 103 | static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); | ||
| 104 | let stack = &*STACK.init(Stack::new( | ||
| 103 | device, | 105 | device, |
| 104 | config, | 106 | config, |
| 105 | make_static!(StackResources::<2>::new()), | 107 | RESOURCES.init(StackResources::<2>::new()), |
| 106 | seed | 108 | seed, |
| 107 | )); | 109 | )); |
| 108 | 110 | ||
| 109 | // Launch network task | 111 | // Launch network task |
diff --git a/tests/stm32/src/bin/gpio.rs b/tests/stm32/src/bin/gpio.rs index c4e2fe161..9f1993024 100644 --- a/tests/stm32/src/bin/gpio.rs +++ b/tests/stm32/src/bin/gpio.rs | |||
| @@ -20,10 +20,10 @@ async fn main(_spawner: Spawner) { | |||
| 20 | 20 | ||
| 21 | // Test initial output | 21 | // Test initial output |
| 22 | { | 22 | { |
| 23 | let b = Input::new(&mut b, Pull::None); | 23 | let mut b = Input::new(&mut b, Pull::None); |
| 24 | 24 | ||
| 25 | { | 25 | { |
| 26 | let a = Output::new(&mut a, Level::Low, Speed::Low); | 26 | let mut a = Output::new(&mut a, Level::Low, Speed::Low); |
| 27 | delay(); | 27 | delay(); |
| 28 | assert!(b.is_low()); | 28 | assert!(b.is_low()); |
| 29 | assert!(!b.is_high()); | 29 | assert!(!b.is_high()); |
| @@ -68,7 +68,7 @@ async fn main(_spawner: Spawner) { | |||
| 68 | 68 | ||
| 69 | // Test input no pull | 69 | // Test input no pull |
| 70 | { | 70 | { |
| 71 | let b = Input::new(&mut b, Pull::None); | 71 | let mut b = Input::new(&mut b, Pull::None); |
| 72 | // no pull, the status is undefined | 72 | // no pull, the status is undefined |
| 73 | 73 | ||
| 74 | let mut a = Output::new(&mut a, Level::Low, Speed::Low); | 74 | let mut a = Output::new(&mut a, Level::Low, Speed::Low); |
| @@ -81,7 +81,7 @@ async fn main(_spawner: Spawner) { | |||
| 81 | 81 | ||
| 82 | // Test input pulldown | 82 | // Test input pulldown |
| 83 | { | 83 | { |
| 84 | let b = Input::new(&mut b, Pull::Down); | 84 | let mut b = Input::new(&mut b, Pull::Down); |
| 85 | delay(); | 85 | delay(); |
| 86 | assert!(b.is_low()); | 86 | assert!(b.is_low()); |
| 87 | 87 | ||
| @@ -95,7 +95,7 @@ async fn main(_spawner: Spawner) { | |||
| 95 | 95 | ||
| 96 | // Test input pullup | 96 | // Test input pullup |
| 97 | { | 97 | { |
| 98 | let b = Input::new(&mut b, Pull::Up); | 98 | let mut b = Input::new(&mut b, Pull::Up); |
| 99 | delay(); | 99 | delay(); |
| 100 | assert!(b.is_high()); | 100 | assert!(b.is_high()); |
| 101 | 101 | ||
| @@ -109,7 +109,7 @@ async fn main(_spawner: Spawner) { | |||
| 109 | 109 | ||
| 110 | // Test output open drain | 110 | // Test output open drain |
| 111 | { | 111 | { |
| 112 | let b = Input::new(&mut b, Pull::Down); | 112 | let mut b = Input::new(&mut b, Pull::Down); |
| 113 | // no pull, the status is undefined | 113 | // no pull, the status is undefined |
| 114 | 114 | ||
| 115 | let mut a = OutputOpenDrain::new(&mut a, Level::Low, Speed::Low, Pull::None); | 115 | let mut a = OutputOpenDrain::new(&mut a, Level::Low, Speed::Low, Pull::None); |
diff --git a/tests/stm32/src/bin/stop.rs b/tests/stm32/src/bin/stop.rs index b9810673a..000296d46 100644 --- a/tests/stm32/src/bin/stop.rs +++ b/tests/stm32/src/bin/stop.rs | |||
| @@ -2,7 +2,6 @@ | |||
| 2 | 2 | ||
| 3 | #![no_std] | 3 | #![no_std] |
| 4 | #![no_main] | 4 | #![no_main] |
| 5 | #![feature(type_alias_impl_trait)] | ||
| 6 | #[path = "../common.rs"] | 5 | #[path = "../common.rs"] |
| 7 | mod common; | 6 | mod common; |
| 8 | 7 | ||
| @@ -15,7 +14,7 @@ use embassy_stm32::rcc::LsConfig; | |||
| 15 | use embassy_stm32::rtc::{Rtc, RtcConfig}; | 14 | use embassy_stm32::rtc::{Rtc, RtcConfig}; |
| 16 | use embassy_stm32::Config; | 15 | use embassy_stm32::Config; |
| 17 | use embassy_time::Timer; | 16 | use embassy_time::Timer; |
| 18 | use static_cell::make_static; | 17 | use static_cell::StaticCell; |
| 19 | 18 | ||
| 20 | #[entry] | 19 | #[entry] |
| 21 | fn main() -> ! { | 20 | fn main() -> ! { |
| @@ -64,7 +63,8 @@ async fn async_main(spawner: Spawner) { | |||
| 64 | 63 | ||
| 65 | rtc.set_datetime(now.into()).expect("datetime not set"); | 64 | rtc.set_datetime(now.into()).expect("datetime not set"); |
| 66 | 65 | ||
| 67 | let rtc = make_static!(rtc); | 66 | static RTC: StaticCell<Rtc> = StaticCell::new(); |
| 67 | let rtc = RTC.init(rtc); | ||
| 68 | 68 | ||
| 69 | stop_with_rtc(rtc); | 69 | stop_with_rtc(rtc); |
| 70 | 70 | ||
