diff options
author | 2020-10-14 10:15:35 +0000 | |
---|---|---|
committer | 2020-10-15 15:56:20 +0000 | |
commit | 37ee3a47afbbbf57751243d6d32aaac78073780c (patch) | |
tree | af4eaf935f3c9c9a8c56039400e856da7928f668 /macros/src/codegen.rs | |
parent | 6c1f4a7b5d30502e7d7d66e4a9235c7933cf825d (diff) | |
download | rtic-37ee3a47afbbbf57751243d6d32aaac78073780c.tar.gz rtic-37ee3a47afbbbf57751243d6d32aaac78073780c.tar.zst rtic-37ee3a47afbbbf57751243d6d32aaac78073780c.zip |
Create Enum containing all tasks
Diffstat (limited to 'macros/src/codegen.rs')
-rw-r--r-- | macros/src/codegen.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/macros/src/codegen.rs b/macros/src/codegen.rs index f230d395..a44266ad 100644 --- a/macros/src/codegen.rs +++ b/macros/src/codegen.rs @@ -126,6 +126,20 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { let user_code = app.user_code.clone(); let name = &app.name; let device = extra.device; + + // Get the list of all tasks + // Currently unused, might be useful + let task_list = analysis.tasks.clone(); + + let mut tasks = vec![]; + if !task_list.is_empty() { + tasks.push(quote!( + enum Tasks { + #(#task_list),* + } + )); + } + quote!( #(#user)* @@ -141,6 +155,9 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { #(#root_software_tasks)* + /// Unused + #(#tasks)* + /// Implementation details mod #name { /// Always include the device crate which contains the vector table |