diff options
author | 2023-01-07 14:26:55 +0100 | |
---|---|---|
committer | 2023-03-01 00:31:08 +0100 | |
commit | 76595b7aedd2a14aea8569b75fabe62120f93230 (patch) | |
tree | 5b94ff5b348a57347066e97f1bac8dda1d716b80 /macros/src/codegen.rs | |
parent | b054e871d486e8eb35e3c98a73652640238c5e7d (diff) | |
download | rtic-76595b7aedd2a14aea8569b75fabe62120f93230.tar.gz rtic-76595b7aedd2a14aea8569b75fabe62120f93230.tar.zst rtic-76595b7aedd2a14aea8569b75fabe62120f93230.zip |
All codegen is now explicit
Diffstat (limited to 'macros/src/codegen.rs')
-rw-r--r-- | macros/src/codegen.rs | 56 |
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 } |