aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'macros/src/codegen/main.rs')
-rw-r--r--macros/src/codegen/main.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/macros/src/codegen/main.rs b/macros/src/codegen/main.rs
index 90f09ae0..8e7138f4 100644
--- a/macros/src/codegen/main.rs
+++ b/macros/src/codegen/main.rs
@@ -16,11 +16,14 @@ pub fn codegen(app: &App, analysis: &Analysis) -> TokenStream2 {
let name = &idle.name;
quote!(#name(#name::Context::new()))
} else {
- // TODO: No idle defined, check for 0-priority tasks and generate an executor if needed
-
- quote!(loop {
- rtic::export::nop()
- })
+ if analysis.channels.get(&0).is_some() {
+ let dispatcher = util::zero_prio_dispatcher_ident();
+ quote!(#dispatcher();)
+ } else {
+ quote!(loop {
+ rtic::export::nop()
+ })
+ }
};
let main = util::suffixed("main");