From f8d63b1f30b8204ef942869f23af18025008ab45 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Thu, 24 Sep 2020 22:04:45 +0200 Subject: Update to static-executor "multi" --- examples/src/bin/gpiote.rs | 13 ++++++++++--- examples/src/bin/qspi.rs | 13 ++++++++++--- examples/src/bin/uart.rs | 13 ++++++++++--- examples/src/example_common.rs | 1 - 4 files changed, 30 insertions(+), 10 deletions(-) (limited to 'examples/src') diff --git a/examples/src/bin/gpiote.rs b/examples/src/bin/gpiote.rs index f55b0386d..b3a391f13 100644 --- a/examples/src/bin/gpiote.rs +++ b/examples/src/bin/gpiote.rs @@ -13,7 +13,10 @@ use embassy_nrf::gpiote; use futures::pin_mut; use nrf52840_hal::gpio; -#[static_executor::task] +use static_executor::{task, Executor}; +static EXECUTOR: Executor = Executor::new(|| cortex_m::asm::sev()); + +#[task] async fn run() { let p = embassy_nrf::pac::Peripherals::take().dewrap(); let port0 = gpio::p0::Parts::new(p.P0); @@ -78,7 +81,11 @@ fn main() -> ! { info!("Hello World!"); unsafe { - run.spawn().dewrap(); - static_executor::run(); + EXECUTOR.spawn(run()).dewrap(); + + loop { + EXECUTOR.run(); + cortex_m::asm::wfe(); + } } } diff --git a/examples/src/bin/qspi.rs b/examples/src/bin/qspi.rs index 395422e7f..4e6ee53ea 100644 --- a/examples/src/bin/qspi.rs +++ b/examples/src/bin/qspi.rs @@ -11,6 +11,9 @@ use embassy::flash::Flash; use embassy_nrf::qspi; use nrf52840_hal::gpio; +use static_executor::{task, Executor}; +static EXECUTOR: Executor = Executor::new(|| cortex_m::asm::sev()); + const PAGE_SIZE: usize = 4096; // Workaround for alignment requirements. @@ -18,7 +21,7 @@ const PAGE_SIZE: usize = 4096; #[repr(C, align(4))] struct AlignedBuf([u8; 4096]); -#[static_executor::task] +#[task] async fn run() { let p = embassy_nrf::pac::Peripherals::take().dewrap(); @@ -117,7 +120,11 @@ fn main() -> ! { info!("Hello World!"); unsafe { - run.spawn().dewrap(); - static_executor::run(); + EXECUTOR.spawn(run()).dewrap(); + + loop { + EXECUTOR.run(); + cortex_m::asm::wfe(); + } } } diff --git a/examples/src/bin/uart.rs b/examples/src/bin/uart.rs index 21e26e3ad..6b9df380a 100644 --- a/examples/src/bin/uart.rs +++ b/examples/src/bin/uart.rs @@ -12,7 +12,10 @@ use embassy_nrf::uarte; use futures::pin_mut; use nrf52840_hal::gpio; -#[static_executor::task] +use static_executor::{task, Executor}; +static EXECUTOR: Executor = Executor::new(|| cortex_m::asm::sev()); + +#[task] async fn run() { let p = embassy_nrf::pac::Peripherals::take().dewrap(); @@ -66,7 +69,11 @@ fn main() -> ! { info!("Hello World!"); unsafe { - run.spawn().dewrap(); - static_executor::run(); + EXECUTOR.spawn(run()).dewrap(); + + loop { + EXECUTOR.run(); + cortex_m::asm::wfe(); + } } } diff --git a/examples/src/example_common.rs b/examples/src/example_common.rs index e9919153c..65bfe6bb1 100644 --- a/examples/src/example_common.rs +++ b/examples/src/example_common.rs @@ -3,7 +3,6 @@ use defmt_rtt as _; // global logger use nrf52840_hal as _; use panic_probe as _; -use static_executor_cortex_m as _; pub use defmt::{info, intern}; -- cgit