From 6c925b2342708266f24d58020e89786811531d47 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 11 Feb 2022 23:25:30 +0100 Subject: blocking_mutex: refactor to work on stable. No GATs, and can be constructed in const. --- examples/nrf/src/bin/mpsc.rs | 6 +++--- examples/nrf/src/bin/uart_split.rs | 6 +++--- examples/stm32f3/src/bin/button_events.rs | 11 +++++++---- 3 files changed, 13 insertions(+), 10 deletions(-) (limited to 'examples') diff --git a/examples/nrf/src/bin/mpsc.rs b/examples/nrf/src/bin/mpsc.rs index 454fb9541..d50736d82 100644 --- a/examples/nrf/src/bin/mpsc.rs +++ b/examples/nrf/src/bin/mpsc.rs @@ -6,7 +6,7 @@ mod example_common; use defmt::unwrap; -use embassy::blocking_mutex::kind::Noop; +use embassy::blocking_mutex::raw::NoopRawMutex; use embassy::channel::mpsc::{self, Channel, Sender, TryRecvError}; use embassy::executor::Spawner; use embassy::time::{Duration, Timer}; @@ -19,10 +19,10 @@ enum LedState { Off, } -static CHANNEL: Forever> = Forever::new(); +static CHANNEL: Forever> = Forever::new(); #[embassy::task(pool_size = 1)] -async fn my_task(sender: Sender<'static, Noop, LedState, 1>) { +async fn my_task(sender: Sender<'static, NoopRawMutex, LedState, 1>) { loop { let _ = sender.send(LedState::On).await; Timer::after(Duration::from_secs(1)).await; diff --git a/examples/nrf/src/bin/uart_split.rs b/examples/nrf/src/bin/uart_split.rs index a9c02e796..9a9bad3e9 100644 --- a/examples/nrf/src/bin/uart_split.rs +++ b/examples/nrf/src/bin/uart_split.rs @@ -6,7 +6,7 @@ mod example_common; use example_common::*; -use embassy::blocking_mutex::kind::Noop; +use embassy::blocking_mutex::raw::NoopRawMutex; use embassy::channel::mpsc::{self, Channel, Sender}; use embassy::executor::Spawner; use embassy::util::Forever; @@ -15,7 +15,7 @@ use embassy_nrf::peripherals::UARTE0; use embassy_nrf::uarte::UarteRx; use embassy_nrf::{interrupt, uarte, Peripherals}; -static CHANNEL: Forever> = Forever::new(); +static CHANNEL: Forever> = Forever::new(); #[embassy::main] async fn main(spawner: Spawner, p: Peripherals) { @@ -57,7 +57,7 @@ async fn main(spawner: Spawner, p: Peripherals) { } #[embassy::task] -async fn reader(mut rx: UarteRx<'static, UARTE0>, s: Sender<'static, Noop, [u8; 8], 1>) { +async fn reader(mut rx: UarteRx<'static, UARTE0>, s: Sender<'static, NoopRawMutex, [u8; 8], 1>) { let mut buf = [0; 8]; loop { info!("reading..."); diff --git a/examples/stm32f3/src/bin/button_events.rs b/examples/stm32f3/src/bin/button_events.rs index 720ed9d11..1218edd2b 100644 --- a/examples/stm32f3/src/bin/button_events.rs +++ b/examples/stm32f3/src/bin/button_events.rs @@ -12,7 +12,7 @@ #[path = "../example_common.rs"] mod example_common; -use embassy::blocking_mutex::kind::Noop; +use embassy::blocking_mutex::raw::NoopRawMutex; use embassy::channel::mpsc::{self, Channel, Receiver, Sender}; use embassy::executor::Spawner; use embassy::time::{with_timeout, Duration, Timer}; @@ -77,7 +77,7 @@ enum ButtonEvent { Hold, } -static BUTTON_EVENTS_QUEUE: Forever> = Forever::new(); +static BUTTON_EVENTS_QUEUE: Forever> = Forever::new(); #[embassy::main] async fn main(spawner: Spawner, p: Peripherals) { @@ -103,7 +103,10 @@ async fn main(spawner: Spawner, p: Peripherals) { } #[embassy::task] -async fn led_blinker(mut leds: Leds<'static>, queue: Receiver<'static, Noop, ButtonEvent, 4>) { +async fn led_blinker( + mut leds: Leds<'static>, + queue: Receiver<'static, NoopRawMutex, ButtonEvent, 4>, +) { loop { leds.blink().await; match queue.try_recv() { @@ -121,7 +124,7 @@ async fn led_blinker(mut leds: Leds<'static>, queue: Receiver<'static, Noop, But #[embassy::task] async fn button_waiter( mut button: ExtiInput<'static, PA0>, - queue: Sender<'static, Noop, ButtonEvent, 4>, + queue: Sender<'static, NoopRawMutex, ButtonEvent, 4>, ) { const DOUBLE_CLICK_DELAY: u64 = 250; const HOLD_DELAY: u64 = 1000; -- cgit From 20e14b8edbbf067ab683ffdb170938838d9167b3 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Sat, 12 Feb 2022 00:24:04 +0100 Subject: embassy, embassy-nrf: add `nightly` Cargo feature to gate nightly-only features. --- examples/nrf/Cargo.toml | 3 +++ examples/std/Cargo.toml | 2 +- examples/wasm/Cargo.toml | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/nrf/Cargo.toml b/examples/nrf/Cargo.toml index da16bcbaf..2d9c99530 100644 --- a/examples/nrf/Cargo.toml +++ b/examples/nrf/Cargo.toml @@ -4,6 +4,9 @@ edition = "2018" name = "embassy-nrf-examples" version = "0.1.0" +[features] +default = ["nightly"] +nightly = ["embassy-nrf/nightly"] [dependencies] embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } diff --git a/examples/std/Cargo.toml b/examples/std/Cargo.toml index 450911fa1..ef60fe992 100644 --- a/examples/std/Cargo.toml +++ b/examples/std/Cargo.toml @@ -5,7 +5,7 @@ name = "embassy-std-examples" version = "0.1.0" [dependencies] -embassy = { version = "0.1.0", path = "../../embassy", features = ["log", "std", "time"] } +embassy = { version = "0.1.0", path = "../../embassy", features = ["log", "std", "time", "nightly"] } embassy-net = { version = "0.1.0", path = "../../embassy-net", features=["std", "log", "medium-ethernet", "tcp", "dhcpv4"] } async-io = "1.6.0" diff --git a/examples/wasm/Cargo.toml b/examples/wasm/Cargo.toml index c6218a805..6750f6a6c 100644 --- a/examples/wasm/Cargo.toml +++ b/examples/wasm/Cargo.toml @@ -8,7 +8,7 @@ version = "0.1.0" crate-type = ["cdylib"] [dependencies] -embassy = { version = "0.1.0", path = "../../embassy", features = ["log", "wasm"] } +embassy = { version = "0.1.0", path = "../../embassy", features = ["log", "wasm", "nightly"] } wasm-logger = "0.2.0" wasm-bindgen = "0.2" -- cgit