aboutsummaryrefslogtreecommitdiff
path: root/examples/types.rs
diff options
context:
space:
mode:
authorGravatar bors[bot] <26634292+bors[bot]@users.noreply.github.com> 2021-03-04 19:12:35 +0000
committerGravatar GitHub <noreply@github.com> 2021-03-04 19:12:35 +0000
commit89a5c8004efaa8f42c86a1aedb609f49ec511333 (patch)
tree6db5b553e24a540284edc3f3fbf87043c638defc /examples/types.rs
parent81a8a591353b1ea0208c68b28ee81286629039cc (diff)
parent2e4a4ffd87c8a031f27635c060042019511523dc (diff)
downloadrtic-89a5c8004efaa8f42c86a1aedb609f49ec511333.tar.gz
rtic-89a5c8004efaa8f42c86a1aedb609f49ec511333.tar.zst
rtic-89a5c8004efaa8f42c86a1aedb609f49ec511333.zip
Merge #436v0.6.0-alpha.1
436: New monotonic r=AfoHT a=korken89 Design document: https://hackmd.io/vWa9GvssR8qBfUYgMZm0CQ Closes #433 Closes #432 Closes #427 Closes #426 Closes #403 Closes #332 Closes #312 Closes #309 Closes #299 Closes #292 Closes #247 Closes #219 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
Diffstat (limited to 'examples/types.rs')
-rw-r--r--examples/types.rs25
1 files changed, 17 insertions, 8 deletions
diff --git a/examples/types.rs b/examples/types.rs
index bcdd30a9..ff7deb84 100644
--- a/examples/types.rs
+++ b/examples/types.rs
@@ -7,10 +7,16 @@
use panic_semihosting as _;
-#[rtic::app(device = lm3s6965, peripherals = true, monotonic = rtic::cyccnt::CYCCNT, dispatchers = [SSI0])]
+#[rtic::app(device = lm3s6965, peripherals = true, dispatchers = [SSI0])]
mod app {
use cortex_m_semihosting::debug;
- use rtic::cyccnt;
+ use dwt_systick_monotonic::{
+ consts::{U0, U8},
+ DwtSystick,
+ };
+
+ #[monotonic(binds = SysTick, default = true)]
+ type MyMono = DwtSystick<U8, U0, U0>; // 8 MHz
#[resources]
struct Resources {
@@ -19,14 +25,19 @@ mod app {
}
#[init]
- fn init(cx: init::Context) -> init::LateResources {
- let _: cyccnt::Instant = cx.start;
- let _: rtic::Peripherals = cx.core;
+ fn init(cx: init::Context) -> (init::LateResources, init::Monotonics) {
+ let _: cortex_m::Peripherals = cx.core;
let _: lm3s6965::Peripherals = cx.device;
debug::exit(debug::EXIT_SUCCESS);
- init::LateResources {}
+ let mut dcb = cx.core.DCB;
+ let dwt = cx.core.DWT;
+ let systick = cx.core.SYST;
+
+ let mono = DwtSystick::new(&mut dcb, dwt, systick, 8_000_000);
+
+ (init::LateResources {}, init::Monotonics(mono))
}
#[idle]
@@ -38,13 +49,11 @@ mod app {
#[task(binds = UART0, resources = [shared])]
fn uart0(cx: uart0::Context) {
- let _: cyccnt::Instant = cx.start;
let _: resources::shared = cx.resources.shared;
}
#[task(priority = 2, resources = [shared])]
fn foo(cx: foo::Context) {
- let _: cyccnt::Instant = cx.scheduled;
let _: resources::shared = cx.resources.shared;
let _: foo::Resources = cx.resources;
}