aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2021-03-29 03:00:48 +0200
committerDario Nieuwenhuis <[email protected]>2021-03-29 03:00:48 +0200
commitd7c3a38efceacbd5a326c84c6e0bbef44b06e97c (patch)
tree710b6553a45b99719288ab9de9084e0a93554cee
parentd5ab02792c5489668bd399ac094900f5e26b3420 (diff)
Reexport macros at root, use eveywhere as `#[embassy::task]`
-rw-r--r--embassy-macros/src/lib.rs2
-rw-r--r--embassy-nrf-examples/src/bin/executor_fairness_test.rs8
-rw-r--r--embassy-nrf-examples/src/bin/multiprio.rs8
-rw-r--r--embassy-nrf-examples/src/bin/timer.rs6
-rw-r--r--embassy-std-examples/src/bin/serial.rs3
-rw-r--r--embassy-std-examples/src/bin/tick.rs3
-rw-r--r--embassy-stm32f4-examples/src/bin/can.rs4
-rw-r--r--embassy-stm32f4-examples/src/bin/exti.rs4
-rw-r--r--embassy-stm32f4-examples/src/bin/rtc_async.rs5
-rw-r--r--embassy-stm32f4-examples/src/bin/serial.rs4
-rw-r--r--embassy-stm32f4-examples/src/bin/usb_serial.rs4
-rw-r--r--embassy/src/executor/mod.rs2
-rw-r--r--embassy/src/executor/timer.rs6
-rw-r--r--embassy/src/lib.rs2
-rw-r--r--embassy/src/util/signal.rs2
15 files changed, 29 insertions, 34 deletions
diff --git a/embassy-macros/src/lib.rs b/embassy-macros/src/lib.rs
index 26b49b2e4..145714f22 100644
--- a/embassy-macros/src/lib.rs
+++ b/embassy-macros/src/lib.rs
@@ -256,7 +256,7 @@ pub fn main(args: TokenStream, item: TokenStream) -> TokenStream {
256 let chip_setup = chip::generate(macro_args); 256 let chip_setup = chip::generate(macro_args);
257 257
258 let result = quote! { 258 let result = quote! {
259 #[embassy::executor::task] 259 #[embassy::task]
260 async fn __embassy_main(#args) { 260 async fn __embassy_main(#args) {
261 #task_fn_body 261 #task_fn_body
262 } 262 }
diff --git a/embassy-nrf-examples/src/bin/executor_fairness_test.rs b/embassy-nrf-examples/src/bin/executor_fairness_test.rs
index e82e5475b..3ea74316e 100644
--- a/embassy-nrf-examples/src/bin/executor_fairness_test.rs
+++ b/embassy-nrf-examples/src/bin/executor_fairness_test.rs
@@ -11,11 +11,11 @@ use example_common::*;
11 11
12use core::task::Poll; 12use core::task::Poll;
13use defmt::panic; 13use defmt::panic;
14use embassy::executor::{task, Spawner}; 14use embassy::executor::Spawner;
15use embassy::time::{Duration, Instant, Timer}; 15use embassy::time::{Duration, Instant, Timer};
16use embassy_nrf::interrupt; 16use embassy_nrf::interrupt;
17 17
18#[task] 18#[embassy::task]
19async fn run1() { 19async fn run1() {
20 loop { 20 loop {
21 info!("DING DONG"); 21 info!("DING DONG");
@@ -23,14 +23,14 @@ async fn run1() {
23 } 23 }
24} 24}
25 25
26#[task] 26#[embassy::task]
27async fn run2() { 27async fn run2() {
28 loop { 28 loop {
29 Timer::at(Instant::from_ticks(0)).await; 29 Timer::at(Instant::from_ticks(0)).await;
30 } 30 }
31} 31}
32 32
33#[task] 33#[embassy::task]
34async fn run3() { 34async fn run3() {
35 futures::future::poll_fn(|cx| { 35 futures::future::poll_fn(|cx| {
36 cx.waker().wake_by_ref(); 36 cx.waker().wake_by_ref();
diff --git a/embassy-nrf-examples/src/bin/multiprio.rs b/embassy-nrf-examples/src/bin/multiprio.rs
index aa2824f6b..c6228a1ea 100644
--- a/embassy-nrf-examples/src/bin/multiprio.rs
+++ b/embassy-nrf-examples/src/bin/multiprio.rs
@@ -66,13 +66,13 @@ use example_common::*;
66 66
67use cortex_m_rt::entry; 67use cortex_m_rt::entry;
68use defmt::panic; 68use defmt::panic;
69use embassy::executor::{task, Executor, InterruptExecutor}; 69use embassy::executor::{Executor, InterruptExecutor};
70use embassy::interrupt::InterruptExt; 70use embassy::interrupt::InterruptExt;
71use embassy::time::{Duration, Instant, Timer}; 71use embassy::time::{Duration, Instant, Timer};
72use embassy::util::Forever; 72use embassy::util::Forever;
73use embassy_nrf::{interrupt, peripherals, rtc}; 73use embassy_nrf::{interrupt, peripherals, rtc};
74 74
75#[task] 75#[embassy::task]
76async fn run_high() { 76async fn run_high() {
77 loop { 77 loop {
78 info!(" [high] tick!"); 78 info!(" [high] tick!");
@@ -80,7 +80,7 @@ async fn run_high() {
80 } 80 }
81} 81}
82 82
83#[task] 83#[embassy::task]
84async fn run_med() { 84async fn run_med() {
85 loop { 85 loop {
86 let start = Instant::now(); 86 let start = Instant::now();
@@ -97,7 +97,7 @@ async fn run_med() {
97 } 97 }
98} 98}
99 99
100#[task] 100#[embassy::task]
101async fn run_low() { 101async fn run_low() {
102 loop { 102 loop {
103 let start = Instant::now(); 103 let start = Instant::now();
diff --git a/embassy-nrf-examples/src/bin/timer.rs b/embassy-nrf-examples/src/bin/timer.rs
index 6116aa60d..a2b717bc1 100644
--- a/embassy-nrf-examples/src/bin/timer.rs
+++ b/embassy-nrf-examples/src/bin/timer.rs
@@ -10,10 +10,10 @@ mod example_common;
10use example_common::*; 10use example_common::*;
11 11
12use defmt::panic; 12use defmt::panic;
13use embassy::executor::{task, Spawner}; 13use embassy::executor::Spawner;
14use embassy::time::{Duration, Timer}; 14use embassy::time::{Duration, Timer};
15 15
16#[task] 16#[embassy::task]
17async fn run1() { 17async fn run1() {
18 loop { 18 loop {
19 info!("BIG INFREQUENT TICK"); 19 info!("BIG INFREQUENT TICK");
@@ -21,7 +21,7 @@ async fn run1() {
21 } 21 }
22} 22}
23 23
24#[task] 24#[embassy::task]
25async fn run2() { 25async fn run2() {
26 loop { 26 loop {
27 info!("tick"); 27 info!("tick");
diff --git a/embassy-std-examples/src/bin/serial.rs b/embassy-std-examples/src/bin/serial.rs
index 6d628fe14..79f10c418 100644
--- a/embassy-std-examples/src/bin/serial.rs
+++ b/embassy-std-examples/src/bin/serial.rs
@@ -6,7 +6,6 @@
6mod serial_port; 6mod serial_port;
7 7
8use async_io::Async; 8use async_io::Async;
9use embassy::executor::task;
10use embassy::io::AsyncBufReadExt; 9use embassy::io::AsyncBufReadExt;
11use embassy::util::Forever; 10use embassy::util::Forever;
12use embassy_std::Executor; 11use embassy_std::Executor;
@@ -15,7 +14,7 @@ use nix::sys::termios;
15 14
16use self::serial_port::SerialPort; 15use self::serial_port::SerialPort;
17 16
18#[task] 17#[embassy::task]
19async fn run() { 18async fn run() {
20 // Open the serial port. 19 // Open the serial port.
21 let baudrate = termios::BaudRate::B115200; 20 let baudrate = termios::BaudRate::B115200;
diff --git a/embassy-std-examples/src/bin/tick.rs b/embassy-std-examples/src/bin/tick.rs
index 96eef067c..47713f7ba 100644
--- a/embassy-std-examples/src/bin/tick.rs
+++ b/embassy-std-examples/src/bin/tick.rs
@@ -2,13 +2,12 @@
2#![feature(impl_trait_in_bindings)] 2#![feature(impl_trait_in_bindings)]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5use embassy::executor::task;
6use embassy::time::{Duration, Timer}; 5use embassy::time::{Duration, Timer};
7use embassy::util::Forever; 6use embassy::util::Forever;
8use embassy_std::Executor; 7use embassy_std::Executor;
9use log::*; 8use log::*;
10 9
11#[task] 10#[embassy::task]
12async fn run() { 11async fn run() {
13 loop { 12 loop {
14 info!("tick"); 13 info!("tick");
diff --git a/embassy-stm32f4-examples/src/bin/can.rs b/embassy-stm32f4-examples/src/bin/can.rs
index 5ffde2471..c34c0a2a4 100644
--- a/embassy-stm32f4-examples/src/bin/can.rs
+++ b/embassy-stm32f4-examples/src/bin/can.rs
@@ -11,13 +11,13 @@ use example_common::{panic, *};
11 11
12use bxcan::filter::Mask32; 12use bxcan::filter::Mask32;
13use cortex_m_rt::entry; 13use cortex_m_rt::entry;
14use embassy::executor::{task, Executor}; 14use embassy::executor::Executor;
15use embassy::util::Forever; 15use embassy::util::Forever;
16use embassy_stm32f4::{can, interrupt}; 16use embassy_stm32f4::{can, interrupt};
17use stm32f4xx_hal::prelude::*; 17use stm32f4xx_hal::prelude::*;
18use stm32f4xx_hal::{can::Can, stm32}; 18use stm32f4xx_hal::{can::Can, stm32};
19 19
20#[task] 20#[embassy::task]
21async fn run(dp: stm32::Peripherals, _cp: cortex_m::Peripherals) { 21async fn run(dp: stm32::Peripherals, _cp: cortex_m::Peripherals) {
22 let gpioa = dp.GPIOA.split(); 22 let gpioa = dp.GPIOA.split();
23 23
diff --git a/embassy-stm32f4-examples/src/bin/exti.rs b/embassy-stm32f4-examples/src/bin/exti.rs
index 9b2535b1c..9879de408 100644
--- a/embassy-stm32f4-examples/src/bin/exti.rs
+++ b/embassy-stm32f4-examples/src/bin/exti.rs
@@ -10,7 +10,7 @@ mod example_common;
10use example_common::{panic, *}; 10use example_common::{panic, *};
11 11
12use cortex_m_rt::entry; 12use cortex_m_rt::entry;
13use embassy::executor::{task, Executor}; 13use embassy::executor::Executor;
14use embassy::traits::gpio::*; 14use embassy::traits::gpio::*;
15use embassy::util::Forever; 15use embassy::util::Forever;
16use embassy_stm32f4::exti::ExtiPin; 16use embassy_stm32f4::exti::ExtiPin;
@@ -19,7 +19,7 @@ use futures::pin_mut;
19use stm32f4xx_hal::prelude::*; 19use stm32f4xx_hal::prelude::*;
20use stm32f4xx_hal::stm32; 20use stm32f4xx_hal::stm32;
21 21
22#[task] 22#[embassy::task]
23async fn run(dp: stm32::Peripherals, _cp: cortex_m::Peripherals) { 23async fn run(dp: stm32::Peripherals, _cp: cortex_m::Peripherals) {
24 let gpioa = dp.GPIOA.split(); 24 let gpioa = dp.GPIOA.split();
25 25
diff --git a/embassy-stm32f4-examples/src/bin/rtc_async.rs b/embassy-stm32f4-examples/src/bin/rtc_async.rs
index 1927d01bf..f2757294d 100644
--- a/embassy-stm32f4-examples/src/bin/rtc_async.rs
+++ b/embassy-stm32f4-examples/src/bin/rtc_async.rs
@@ -11,12 +11,11 @@ use example_common::*;
11use defmt::panic; 11use defmt::panic;
12use embassy; 12use embassy;
13use embassy::executor::Spawner; 13use embassy::executor::Spawner;
14use embassy::task;
15use embassy::time::{Duration, Timer}; 14use embassy::time::{Duration, Timer};
16use embassy_stm32f4; 15use embassy_stm32f4;
17use embassy_stm32f4::hal; 16use embassy_stm32f4::hal;
18 17
19#[task] 18#[embassy::task]
20async fn run1() { 19async fn run1() {
21 loop { 20 loop {
22 info!("BIG INFREQUENT TICK"); 21 info!("BIG INFREQUENT TICK");
@@ -24,7 +23,7 @@ async fn run1() {
24 } 23 }
25} 24}
26 25
27#[task] 26#[embassy::task]
28async fn run2() { 27async fn run2() {
29 loop { 28 loop {
30 info!("tick"); 29 info!("tick");
diff --git a/embassy-stm32f4-examples/src/bin/serial.rs b/embassy-stm32f4-examples/src/bin/serial.rs
index c8e7f288f..925fd68ff 100644
--- a/embassy-stm32f4-examples/src/bin/serial.rs
+++ b/embassy-stm32f4-examples/src/bin/serial.rs
@@ -11,7 +11,7 @@ use example_common::{panic, *};
11 11
12use cortex_m::singleton; 12use cortex_m::singleton;
13use cortex_m_rt::entry; 13use cortex_m_rt::entry;
14use embassy::executor::{task, Executor}; 14use embassy::executor::Executor;
15use embassy::traits::uart::{Read, Write}; 15use embassy::traits::uart::{Read, Write};
16use embassy::util::Forever; 16use embassy::util::Forever;
17use embassy_stm32f4::interrupt; 17use embassy_stm32f4::interrupt;
@@ -22,7 +22,7 @@ use stm32f4xx_hal::prelude::*;
22use stm32f4xx_hal::serial::config::Config; 22use stm32f4xx_hal::serial::config::Config;
23use stm32f4xx_hal::stm32; 23use stm32f4xx_hal::stm32;
24 24
25#[task] 25#[embassy::task]
26async fn run(dp: stm32::Peripherals, _cp: cortex_m::Peripherals) { 26async fn run(dp: stm32::Peripherals, _cp: cortex_m::Peripherals) {
27 dp.DBGMCU.cr.modify(|_, w| { 27 dp.DBGMCU.cr.modify(|_, w| {
28 w.dbg_sleep().set_bit(); 28 w.dbg_sleep().set_bit();
diff --git a/embassy-stm32f4-examples/src/bin/usb_serial.rs b/embassy-stm32f4-examples/src/bin/usb_serial.rs
index f1c4631d7..6d3b2cc14 100644
--- a/embassy-stm32f4-examples/src/bin/usb_serial.rs
+++ b/embassy-stm32f4-examples/src/bin/usb_serial.rs
@@ -10,7 +10,7 @@ use example_common::*;
10 10
11use cortex_m_rt::entry; 11use cortex_m_rt::entry;
12use defmt::panic; 12use defmt::panic;
13use embassy::executor::{task, Executor}; 13use embassy::executor::Executor;
14use embassy::interrupt::InterruptExt; 14use embassy::interrupt::InterruptExt;
15use embassy::io::{AsyncBufReadExt, AsyncWriteExt}; 15use embassy::io::{AsyncBufReadExt, AsyncWriteExt};
16use embassy::time::{Duration, Timer}; 16use embassy::time::{Duration, Timer};
@@ -25,7 +25,7 @@ use stm32f4xx_hal::prelude::*;
25use usb_device::bus::UsbBusAllocator; 25use usb_device::bus::UsbBusAllocator;
26use usb_device::prelude::*; 26use usb_device::prelude::*;
27 27
28#[task] 28#[embassy::task]
29async fn run1(bus: &'static mut UsbBusAllocator<UsbBus<USB>>) { 29async fn run1(bus: &'static mut UsbBusAllocator<UsbBus<USB>>) {
30 info!("Async task"); 30 info!("Async task");
31 31
diff --git a/embassy/src/executor/mod.rs b/embassy/src/executor/mod.rs
index b2c42190f..8a3a8991a 100644
--- a/embassy/src/executor/mod.rs
+++ b/embassy/src/executor/mod.rs
@@ -1,5 +1,3 @@
1pub use embassy_macros::{main, task};
2
3use core::marker::PhantomData; 1use core::marker::PhantomData;
4use core::ptr::NonNull; 2use core::ptr::NonNull;
5use core::{mem, ptr}; 3use core::{mem, ptr};
diff --git a/embassy/src/executor/timer.rs b/embassy/src/executor/timer.rs
index 541f96f59..774613ebf 100644
--- a/embassy/src/executor/timer.rs
+++ b/embassy/src/executor/timer.rs
@@ -60,7 +60,7 @@ impl Timer {
60 /// use embassy::executor::task; 60 /// use embassy::executor::task;
61 /// use embassy::time::{Duration, Timer}; 61 /// use embassy::time::{Duration, Timer};
62 /// 62 ///
63 /// #[task] 63 /// #[embassy::task]
64 /// async fn demo_sleep_seconds() { 64 /// async fn demo_sleep_seconds() {
65 /// // suspend this task for one second. 65 /// // suspend this task for one second.
66 /// Timer::after(Duration::from_secs(1)).await; 66 /// Timer::after(Duration::from_secs(1)).await;
@@ -104,7 +104,7 @@ impl Future for Timer {
104/// use embassy::time::{Duration, Timer}; 104/// use embassy::time::{Duration, Timer};
105/// # fn foo() {} 105/// # fn foo() {}
106/// 106///
107/// #[task] 107/// #[embassy::task]
108/// async fn ticker_example_0() { 108/// async fn ticker_example_0() {
109/// loop { 109/// loop {
110/// foo(); 110/// foo();
@@ -129,7 +129,7 @@ impl Future for Timer {
129/// use futures::StreamExt; 129/// use futures::StreamExt;
130/// # fn foo(){} 130/// # fn foo(){}
131/// 131///
132/// #[task] 132/// #[embassy::task]
133/// async fn ticker_example_1() { 133/// async fn ticker_example_1() {
134/// let mut ticker = Ticker::every(Duration::from_secs(1)); 134/// let mut ticker = Ticker::every(Duration::from_secs(1));
135/// loop { 135/// loop {
diff --git a/embassy/src/lib.rs b/embassy/src/lib.rs
index 482d5b367..af05a794b 100644
--- a/embassy/src/lib.rs
+++ b/embassy/src/lib.rs
@@ -17,8 +17,8 @@ pub mod io;
17pub mod time; 17pub mod time;
18pub mod util; 18pub mod util;
19 19
20pub use embassy_macros::*;
20pub use embassy_traits as traits; 21pub use embassy_traits as traits;
21pub use executor::{main, task};
22 22
23#[doc(hidden)] 23#[doc(hidden)]
24/// Implementation details for embassy macros. DO NOT USE. 24/// Implementation details for embassy macros. DO NOT USE.
diff --git a/embassy/src/util/signal.rs b/embassy/src/util/signal.rs
index 749b32247..e4629bf9f 100644
--- a/embassy/src/util/signal.rs
+++ b/embassy/src/util/signal.rs
@@ -122,7 +122,7 @@ unsafe impl cortex_m::interrupt::Nr for NrWrap {
122/// use embassy::util::InterruptFuture; 122/// use embassy::util::InterruptFuture;
123/// use embassy::executor::task; 123/// use embassy::executor::task;
124/// use embassy_stm32f4::interrupt; // Adjust this to your MCU's embassy HAL. 124/// use embassy_stm32f4::interrupt; // Adjust this to your MCU's embassy HAL.
125/// #[task] 125/// #[embassy::task]
126/// async fn demo_interrupt_future() { 126/// async fn demo_interrupt_future() {
127/// // Using STM32f446 interrupt names, adjust this to your application as necessary. 127/// // Using STM32f446 interrupt names, adjust this to your application as necessary.
128/// // Wait for TIM2 to tick. 128/// // Wait for TIM2 to tick.