aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen.rs
diff options
context:
space:
mode:
Diffstat (limited to 'macros/src/codegen.rs')
-rw-r--r--macros/src/codegen.rs56
1 files changed, 14 insertions, 42 deletions
diff --git a/macros/src/codegen.rs b/macros/src/codegen.rs
index bb1028f7..24e98ce9 100644
--- a/macros/src/codegen.rs
+++ b/macros/src/codegen.rs
@@ -29,21 +29,14 @@ mod main;
pub fn app(app: &App, analysis: &Analysis) -> TokenStream2 {
// Generate the `main` function
let main = main::codegen(app, analysis);
+ let init_codegen = init::codegen(app, analysis);
+ let idle_codegen = idle::codegen(app, analysis);
+ let shared_resources_codegen = shared_resources::codegen(app, analysis);
+ let local_resources_codegen = local_resources::codegen(app, analysis);
+ let hardware_tasks_codegen = hardware_tasks::codegen(app, analysis);
+ let software_tasks_codegen = software_tasks::codegen(app, analysis);
+ let async_dispatchers_codegen = async_dispatchers::codegen(app, analysis);
- let (mod_app_init, root_init, user_init) = init::codegen(app, analysis);
-
- let (mod_app_idle, root_idle, user_idle) = idle::codegen(app, analysis);
-
- let (mod_app_shared_resources, mod_shared_resources) = shared_resources::codegen(app, analysis);
- let (mod_app_local_resources, mod_local_resources) = local_resources::codegen(app, analysis);
-
- let (mod_app_hardware_tasks, root_hardware_tasks, user_hardware_tasks) =
- hardware_tasks::codegen(app, analysis);
-
- let (mod_app_software_tasks, root_software_tasks, user_software_tasks) =
- software_tasks::codegen(app, analysis);
-
- let mod_app_async_dispatchers = async_dispatchers::codegen(app, analysis);
let user_imports = &app.user_imports;
let user_code = &app.user_code;
let name = &app.name;
@@ -59,43 +52,22 @@ pub fn app(app: &App, analysis: &Analysis) -> TokenStream2 {
#(#user_imports)*
- /// User code from within the module
#(#user_code)*
/// User code end
- #(#user_hardware_tasks)*
-
- #(#user_software_tasks)*
-
- #mod_app_init
-
- #(#root_init)*
-
- #user_init
-
- #(#mod_app_idle)*
-
- #(#root_idle)*
-
- #user_idle
-
- #mod_shared_resources
-
- #mod_local_resources
-
- #(#root_hardware_tasks)*
+ #init_codegen
- #(#root_software_tasks)*
+ #idle_codegen
- #(#mod_app_shared_resources)*
+ #hardware_tasks_codegen
- #(#mod_app_local_resources)*
+ #software_tasks_codegen
- #(#mod_app_hardware_tasks)*
+ #shared_resources_codegen
- #(#mod_app_software_tasks)*
+ #local_resources_codegen
- #(#mod_app_async_dispatchers)*
+ #async_dispatchers_codegen
#main
}