aboutsummaryrefslogtreecommitdiff
path: root/ui/resources-cfg.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-03-04 19:12:35 +0000
committerGitHub <noreply@github.com>2021-03-04 19:12:35 +0000
commit89a5c8004efaa8f42c86a1aedb609f49ec511333 (patch)
tree6db5b553e24a540284edc3f3fbf87043c638defc /ui/resources-cfg.rs
parent81a8a591353b1ea0208c68b28ee81286629039cc (diff)
parent2e4a4ffd87c8a031f27635c060042019511523dc (diff)
Merge #436
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 'ui/resources-cfg.rs')
-rw-r--r--ui/resources-cfg.rs80
1 files changed, 80 insertions, 0 deletions
diff --git a/ui/resources-cfg.rs b/ui/resources-cfg.rs
new file mode 100644
index 0000000..c802a46
--- /dev/null
+++ b/ui/resources-cfg.rs
@@ -0,0 +1,80 @@
+#![no_main]
+
+use panic_semihosting as _;
+
+#[rtic::app(device = lm3s6965)]
+mod app {
+ #[resources]
+ struct Resources {
+ #[cfg(never)]
+ #[init(0)]
+ o1: u32, // init
+
+ #[cfg(never)]
+ #[init(0)]
+ o2: u32, // idle
+
+ #[cfg(never)]
+ #[init(0)]
+ o3: u32, // EXTI0
+
+ #[cfg(never)]
+ #[init(0)]
+ o4: u32, // idle
+
+ #[cfg(never)]
+ #[init(0)]
+ o5: u32, // EXTI1
+
+ #[cfg(never)]
+ #[init(0)]
+ o6: u32, // init
+
+ #[cfg(never)]
+ #[init(0)]
+ s1: u32, // idle & EXTI0
+
+ #[cfg(never)]
+ #[init(0)]
+ s2: u32, // EXTI0 & EXTI1
+
+ #[cfg(never)]
+ #[init(0)]
+ s3: u32,
+ }
+
+ #[init(resources = [o1, o4, o5, o6, s3])]
+ fn init(c: init::Context) -> (init::LateResources, init::Monotonics) {
+ c.resources.o1;
+ c.resources.o4;
+ c.resources.o5;
+ c.resources.o6;
+ c.resources.s3;
+
+ (init::LateResources {}, init::Monotonics())
+ }
+
+ #[idle(resources = [o2, &o4, s1, &s3])]
+ fn idle(c: idle::Context) -> ! {
+ c.resources.o2;
+ c.resources.o4;
+ c.resources.s1;
+ c.resources.s3;
+
+ loop {}
+ }
+
+ #[task(binds = UART0, resources = [o3, s1, s2, &s3])]
+ fn uart0(c: uart0::Context) {
+ c.resources.o3;
+ c.resources.s1;
+ c.resources.s2;
+ c.resources.s3;
+ }
+
+ #[task(binds = UART1, resources = [s2, &o5])]
+ fn uart1(c: uart1::Context) {
+ c.resources.s2;
+ c.resources.o5;
+ }
+}