diff options
| author | bors[bot] <bors[bot]@users.noreply.github.com> | 2018-11-03 16:31:11 +0000 |
|---|---|---|
| committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2018-11-03 16:31:11 +0000 |
| commit | 777765e522949ebf84d05d4db075132172d81494 (patch) | |
| tree | 41bc00739da8f832eb5ba68ef99ec8b9d06111a4 /examples/full-syntax.rs | |
| parent | 653338e7997a0cdc5deaed98b1bb5f60006717ed (diff) | |
| parent | 3a867e70c3b1afc4943ec597e4f188432fba5a8b (diff) | |
Merge #97
97: v0.4.0 r=japaric a=japaric
closes #32
closes #33
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
Diffstat (limited to 'examples/full-syntax.rs')
| -rw-r--r-- | examples/full-syntax.rs | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/examples/full-syntax.rs b/examples/full-syntax.rs deleted file mode 100644 index 9bdcd7b..0000000 --- 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; -} |
