Restore timer_subscribe and delete hello example
diff --git a/examples/hello.rs b/examples/hello.rs deleted file mode 100644 index 3cbaf2f..0000000 --- a/examples/hello.rs +++ /dev/null
@@ -1,25 +0,0 @@ -#![no_std] - -use core::fmt::Write; -use libtock::result::TockResult; -use libtock::timer::Duration; -use libtock::Drivers; - -#[libtock::main] -async fn main() -> TockResult<()> { - let Drivers { - console_driver, - timer_context, - .. - } = libtock::retrieve_drivers()?; - let mut console = console_driver.create_console(); - let mut driver = timer_context.create_timer_driver(); - let timer_driver = driver.activate()?; - - for i in 0.. { - writeln!(console, "Hello world! {}", i)?; - timer_driver.sleep(Duration::from_ms(500)).await?; - } - - Ok(()) -}
diff --git a/examples/timer_subscribe.rs b/examples/timer_subscribe.rs new file mode 100644 index 0000000..f7e158c --- /dev/null +++ b/examples/timer_subscribe.rs
@@ -0,0 +1,29 @@ +#![no_std] + +use core::fmt::Write; +use futures::future; +use libtock::result::TockResult; +use libtock::timer::Duration; +use libtock::Drivers; + +#[libtock::main] +async fn main() -> TockResult<()> { + let Drivers { + console_driver, + mut timer_context, + .. + } = libtock::retrieve_drivers()?; + let mut console = console_driver.create_console(); + let mut with_callback = timer_context.with_callback(|_, _| { + writeln!( + console, + "This line is printed 2 seconds after the start of the program.", + ) + .unwrap(); + }); + + let mut timer = with_callback.init()?; + timer.set_alarm(Duration::from_ms(2000))?; + + future::pending().await +}