From 487fea45ce15ea375192f72ddb148dda8414873b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Tj=C3=A4der?= Date: Thu, 4 Jun 2020 15:43:16 +0000 Subject: Keep user code as-is within the module, add example --- macros/src/codegen.rs | 6 ++++++ macros/src/lib.rs | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'macros/src') diff --git a/macros/src/codegen.rs b/macros/src/codegen.rs index e45f1a3..f97f841 100644 --- a/macros/src/codegen.rs +++ b/macros/src/codegen.rs @@ -123,6 +123,7 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { let const_app_schedule = schedule::codegen(app, extra); let user_imports = app.user_imports.clone(); + let user_code = app.user_code.clone(); let name = &app.name; let device = extra.device; quote!( @@ -148,6 +149,11 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { #(#imports)* #(#user_imports)* + /// User code from within the module + #(#user_code)* + /// User code end + + #(#user_hardware_tasks_imports)* #(#user_software_tasks_imports)* diff --git a/macros/src/lib.rs b/macros/src/lib.rs index 2a439e1..94e7eec 100644 --- a/macros/src/lib.rs +++ b/macros/src/lib.rs @@ -35,7 +35,8 @@ mod tests; /// /// The items allowed in the module block are specified below: /// -/// # 1. `struct Resources` +/// # 1. `#[resources] +/// struct ` /// /// This structure contains the declaration of all the resources used by the application. Each field /// in this structure corresponds to a different resource. Each resource may optionally be given an -- cgit v1.2.3