Use correct borrowing kind when initializing timer
diff --git a/examples/adc.rs b/examples/adc.rs index 2304889..8aaf194 100644 --- a/examples/adc.rs +++ b/examples/adc.rs
@@ -9,7 +9,7 @@ async fn main() -> TockResult<()> { let Drivers { mut adc_driver_factory, - timer_context, + mut timer_context, console_driver, .. } = libtock::retrieve_drivers()?;
diff --git a/examples/blink.rs b/examples/blink.rs index adc1ef3..8d6f6da 100644 --- a/examples/blink.rs +++ b/examples/blink.rs
@@ -8,7 +8,7 @@ async fn main() -> TockResult<()> { let Drivers { mut leds_driver_factory, - timer_context, + mut timer_context, .. } = libtock::retrieve_drivers()?;
diff --git a/examples/blink_random.rs b/examples/blink_random.rs index 10e368c..985746d 100644 --- a/examples/blink_random.rs +++ b/examples/blink_random.rs
@@ -10,7 +10,7 @@ let Drivers { mut leds_driver_factory, mut rng_driver, - timer_context, + mut timer_context, .. } = libtock::retrieve_drivers()?;
diff --git a/examples/button_read.rs b/examples/button_read.rs index 23e0418..252493b 100644 --- a/examples/button_read.rs +++ b/examples/button_read.rs
@@ -9,7 +9,7 @@ async fn main() -> TockResult<()> { let Drivers { mut buttons_driver_factory, - timer_context, + mut timer_context, console_driver, .. } = libtock::retrieve_drivers()?;
diff --git a/examples/button_subscribe.rs b/examples/button_subscribe.rs index 07dced4..9fd64f4 100644 --- a/examples/button_subscribe.rs +++ b/examples/button_subscribe.rs
@@ -11,7 +11,7 @@ async fn main() -> TockResult<()> { let Drivers { mut buttons_driver_factory, - timer_context, + mut timer_context, console_driver, .. } = libtock::retrieve_drivers()?;
diff --git a/examples/gpio.rs b/examples/gpio.rs index 9ef489c..2f2c94f 100644 --- a/examples/gpio.rs +++ b/examples/gpio.rs
@@ -9,7 +9,7 @@ async fn main() -> TockResult<()> { let Drivers { mut gpio_driver_factory, - timer_context, + mut timer_context, .. } = libtock::retrieve_drivers()?;
diff --git a/examples/gpio_read.rs b/examples/gpio_read.rs index e9e14f1..88e723d 100644 --- a/examples/gpio_read.rs +++ b/examples/gpio_read.rs
@@ -11,7 +11,7 @@ async fn main() -> TockResult<()> { let Drivers { mut gpio_driver_factory, - timer_context, + mut timer_context, console_driver, .. } = libtock::retrieve_drivers()?;
diff --git a/examples/sensors.rs b/examples/sensors.rs index 4e72c8c..afe365c 100644 --- a/examples/sensors.rs +++ b/examples/sensors.rs
@@ -9,17 +9,18 @@ #[libtock::main] async fn main() -> TockResult<()> { let Drivers { - console_driver, - timer_context, mut temperature_sensor, mut humidity_sensor, mut ambient_light_sensor, mut ninedof_driver, + mut timer_context, + console_driver, .. } = libtock::retrieve_drivers()?; + + let mut timer_driver = timer_context.create_timer_driver(); + let timer_driver = timer_driver.activate()?; let mut console = console_driver.create_console(); - let mut driver = timer_context.create_timer_driver(); - let timer_driver = driver.activate()?; loop { writeln!(console, "Humidity: {}\n", humidity_sensor.read()?)?;
diff --git a/examples/seven_segment.rs b/examples/seven_segment.rs index 316cf1c..5637497 100644 --- a/examples/seven_segment.rs +++ b/examples/seven_segment.rs
@@ -26,7 +26,7 @@ async fn main() -> TockResult<()> { let Drivers { mut gpio_driver_factory, - timer_context, + mut timer_context, .. } = libtock::retrieve_drivers()?;
diff --git a/examples/simple_ble.rs b/examples/simple_ble.rs index 89d4e6e..a6e5289 100644 --- a/examples/simple_ble.rs +++ b/examples/simple_ble.rs
@@ -19,7 +19,7 @@ let Drivers { mut leds_driver_factory, mut ble_advertising_driver, - timer_context, + mut timer_context, .. } = libtock::retrieve_drivers()?;
diff --git a/examples/temperature.rs b/examples/temperature.rs index 624a296..aa868ff 100644 --- a/examples/temperature.rs +++ b/examples/temperature.rs
@@ -9,7 +9,7 @@ async fn main() -> TockResult<()> { let Drivers { mut temperature_driver_factory, - timer_context, + mut timer_context, console_driver, .. } = libtock::retrieve_drivers()?;
diff --git a/examples/timer.rs b/examples/timer.rs index 9ed0112..bb6d862 100644 --- a/examples/timer.rs +++ b/examples/timer.rs
@@ -19,6 +19,7 @@ console_driver, .. } = libtock::retrieve_drivers()?; + let mut console = console_driver.create_console(); let mut previous_ticks = None;
diff --git a/examples/timer_subscribe.rs b/examples/timer_subscribe.rs index f7e158c..6f7ec1b 100644 --- a/examples/timer_subscribe.rs +++ b/examples/timer_subscribe.rs
@@ -9,11 +9,13 @@ #[libtock::main] async fn main() -> TockResult<()> { let Drivers { - console_driver, mut timer_context, + console_driver, .. } = libtock::retrieve_drivers()?; + let mut console = console_driver.create_console(); + let mut with_callback = timer_context.with_callback(|_, _| { writeln!( console,
diff --git a/src/timer.rs b/src/timer.rs index 34316f5..d93198e 100644 --- a/src/timer.rs +++ b/src/timer.rs
@@ -299,10 +299,10 @@ impl DriverContext { /// Create a driver timer from a context. - pub fn create_timer_driver(&self) -> TimerDriver<'_> { + pub fn create_timer_driver(&mut self) -> TimerDriver { TimerDriver { callback: Callback, - context: &self, + context: self, } }