diff options
author | 2020-09-25 12:56:46 +0000 | |
---|---|---|
committer | 2020-09-25 12:56:46 +0000 | |
commit | 4d61437bb4debea5adc578ee072bff3619d8077b (patch) | |
tree | 9299d307d87dec6863df13df1e04f0ff6a3258cb /examples/double_schedule.rs | |
parent | c054231823a997a1c473549cc3ef20463ca47317 (diff) | |
parent | 7ff35bd0419eb470440527fd0bb81ee16ed46a9d (diff) | |
download | rtic-4d61437bb4debea5adc578ee072bff3619d8077b.tar.gz rtic-4d61437bb4debea5adc578ee072bff3619d8077b.tar.zst rtic-4d61437bb4debea5adc578ee072bff3619d8077b.zip |
Merge #365
365: Regression in master on double schedule example r=AfoHT a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
Diffstat (limited to 'examples/double_schedule.rs')
-rw-r--r-- | examples/double_schedule.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/examples/double_schedule.rs b/examples/double_schedule.rs new file mode 100644 index 00000000..6b3aec8f --- /dev/null +++ b/examples/double_schedule.rs @@ -0,0 +1,37 @@ +//! examples/double_schedule.rs + +#![deny(unsafe_code)] +#![deny(warnings)] +#![no_main] +#![no_std] + +use panic_semihosting as _; +use rtic::cyccnt::U32Ext; + +#[rtic::app(device = lm3s6965, monotonic = rtic::cyccnt::CYCCNT)] +const APP: () = { + struct Resources { + nothing: (), + } + + #[init(spawn = [task1])] + fn init(cx: init::Context) -> init::LateResources { + cx.spawn.task1().ok(); + + init::LateResources { nothing: () } + } + + #[task(schedule = [task2])] + fn task1(_cx: task1::Context) { + _cx.schedule.task2(_cx.scheduled + 100.cycles()).ok(); + } + + #[task(schedule = [task1])] + fn task2(_cx: task2::Context) { + _cx.schedule.task1(_cx.scheduled + 100.cycles()).ok(); + } + + extern "C" { + fn SSI0(); + } +}; |