diff options
Diffstat (limited to 'examples/std/src/bin/tick.rs')
| -rw-r--r-- | examples/std/src/bin/tick.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/examples/std/src/bin/tick.rs b/examples/std/src/bin/tick.rs new file mode 100644 index 000000000..6f30edb34 --- /dev/null +++ b/examples/std/src/bin/tick.rs | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | #![feature(min_type_alias_impl_trait)] | ||
| 2 | #![feature(impl_trait_in_bindings)] | ||
| 3 | #![feature(type_alias_impl_trait)] | ||
| 4 | #![allow(incomplete_features)] | ||
| 5 | |||
| 6 | use embassy::time::{Duration, Timer}; | ||
| 7 | use embassy::util::Forever; | ||
| 8 | use embassy_std::Executor; | ||
| 9 | use log::*; | ||
| 10 | |||
| 11 | #[embassy::task] | ||
| 12 | async fn run() { | ||
| 13 | loop { | ||
| 14 | info!("tick"); | ||
| 15 | Timer::after(Duration::from_secs(1)).await; | ||
| 16 | } | ||
| 17 | } | ||
| 18 | |||
| 19 | static EXECUTOR: Forever<Executor> = Forever::new(); | ||
| 20 | |||
| 21 | fn main() { | ||
| 22 | env_logger::builder() | ||
| 23 | .filter_level(log::LevelFilter::Debug) | ||
| 24 | .format_timestamp_nanos() | ||
| 25 | .init(); | ||
| 26 | |||
| 27 | let executor = EXECUTOR.put(Executor::new()); | ||
| 28 | executor.run(|spawner| { | ||
| 29 | spawner.spawn(run()).unwrap(); | ||
| 30 | }); | ||
| 31 | } | ||
