aboutsummaryrefslogtreecommitdiff
path: root/examples/full-syntax.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/full-syntax.rs')
-rw-r--r--examples/full-syntax.rs83
1 files changed, 0 insertions, 83 deletions
diff --git a/examples/full-syntax.rs b/examples/full-syntax.rs
deleted file mode 100644
index 9bdcd7b4..00000000
--- a/examples/full-syntax.rs
+++ /dev/null
@@ -1,83 +0,0 @@
-//! A showcase of the `app!` macro syntax
-#![deny(unsafe_code)]
-#![deny(warnings)]
-#![no_std]
-
-extern crate cortex_m_rtfm as rtfm;
-extern crate stm32f103xx;
-
-use rtfm::{app, Threshold};
-
-app! {
- device: stm32f103xx,
-
- resources: {
- static CO_OWNED: u32 = 0;
- static ON: bool = false;
- static OWNED: bool = false;
- static SHARED: bool = false;
- },
-
- init: {
- // This is the path to the `init` function
- //
- // `init` doesn't necessarily has to be in the root of the crate
- path: main::init,
- },
-
- idle: {
- // This is a path to the `idle` function
- //
- // `idle` doesn't necessarily has to be in the root of the crate
- path: main::idle,
- resources: [OWNED, SHARED],
- },
-
- tasks: {
- SYS_TICK: {
- path: sys_tick,
- // If omitted priority is assumed to be 1
- // priority: 1,
- resources: [CO_OWNED, ON, SHARED],
- },
-
- TIM2: {
- // Tasks are enabled, between `init` and `idle`, by default but they
- // can start disabled if `false` is specified here
- enabled: false,
- path: tim2,
- priority: 1,
- resources: [CO_OWNED],
- },
- },
-}
-
-mod main {
- use rtfm::{self, Resource, Threshold};
-
- pub fn init(_p: ::init::Peripherals, _r: ::init::Resources) {}
-
- pub fn idle(t: &mut Threshold, mut r: ::idle::Resources) -> ! {
- loop {
- *r.OWNED = !*r.OWNED;
-
- if *r.OWNED {
- if r.SHARED.claim(t, |shared, _| *shared) {
- rtfm::wfi();
- }
- } else {
- r.SHARED.claim_mut(t, |shared, _| *shared = !*shared);
- }
- }
- }
-}
-
-fn sys_tick(_t: &mut Threshold, mut r: SYS_TICK::Resources) {
- *r.ON = !*r.ON;
-
- *r.CO_OWNED += 1;
-}
-
-fn tim2(_t: &mut Threshold, mut r: TIM2::Resources) {
- *r.CO_OWNED += 1;
-}