diff options
Diffstat (limited to 'macros/src/codegen.rs')
-rw-r--r-- | macros/src/codegen.rs | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/macros/src/codegen.rs b/macros/src/codegen.rs index 113d17f9..6920031a 100644 --- a/macros/src/codegen.rs +++ b/macros/src/codegen.rs @@ -9,17 +9,17 @@ mod dispatchers; mod hardware_tasks; mod idle; mod init; -mod locals; +mod local_resources; +mod local_resources_struct; mod module; mod post_init; mod pre_init; -mod resources; -mod resources_struct; +mod shared_resources; +mod shared_resources_struct; mod software_tasks; mod timer_queue; mod util; -// TODO document the syntax here or in `rtic-syntax` pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { let mut mod_app = vec![]; let mut mains = vec![]; @@ -52,7 +52,7 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { mod_app.push(quote!( #mod_app_init - #mod_app_idle + #(#mod_app_idle)* )); let main = util::suffixed("main"); @@ -83,7 +83,10 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { } )); - let (mod_app_resources, mod_resources) = resources::codegen(app, analysis, extra); + let (mod_app_shared_resources, mod_shared_resources) = + shared_resources::codegen(app, analysis, extra); + let (mod_app_local_resources, mod_local_resources) = + local_resources::codegen(app, analysis, extra); let (mod_app_hardware_tasks, root_hardware_tasks, user_hardware_tasks) = hardware_tasks::codegen(app, analysis, extra); @@ -185,7 +188,9 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { #(#root)* - #mod_resources + #mod_shared_resources + + #mod_local_resources #(#root_hardware_tasks)* @@ -194,7 +199,9 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { /// app module #(#mod_app)* - #(#mod_app_resources)* + #(#mod_app_shared_resources)* + + #(#mod_app_local_resources)* #(#mod_app_hardware_tasks)* |