aboutsummaryrefslogtreecommitdiff
path: root/examples/double_schedule.rs
diff options
context:
space:
mode:
authorGravatar bors[bot] <26634292+bors[bot]@users.noreply.github.com> 2020-09-25 12:56:46 +0000
committerGravatar GitHub <noreply@github.com> 2020-09-25 12:56:46 +0000
commit4d61437bb4debea5adc578ee072bff3619d8077b (patch)
tree9299d307d87dec6863df13df1e04f0ff6a3258cb /examples/double_schedule.rs
parentc054231823a997a1c473549cc3ef20463ca47317 (diff)
parent7ff35bd0419eb470440527fd0bb81ee16ed46a9d (diff)
downloadrtic-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.rs37
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();
+ }
+};