aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/resources.rs
diff options
context:
space:
mode:
authorGravatar Henrik Tjäder <henrik@tjaders.com> 2020-05-19 19:03:19 +0000
committerGravatar Henrik Tjäder <henrik@tjaders.com> 2020-09-25 14:29:34 +0000
commit46bf583cc21bd8fa34e3163149b4327fcc08057e (patch)
treefc95b5becb044b01fc59aaf27edf5f49ce063b49 /macros/src/codegen/resources.rs
parent5cfd9b92384a6e2d352e35de9da1b7a2b53cc2ea (diff)
downloadrtic-46bf583cc21bd8fa34e3163149b4327fcc08057e.tar.gz
rtic-46bf583cc21bd8fa34e3163149b4327fcc08057e.tar.zst
rtic-46bf583cc21bd8fa34e3163149b4327fcc08057e.zip
Handle user hardware and software tasks and some resources
Diffstat (limited to 'macros/src/codegen/resources.rs')
-rw-r--r--macros/src/codegen/resources.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/macros/src/codegen/resources.rs b/macros/src/codegen/resources.rs
index 4196ee7a..80e63c79 100644
--- a/macros/src/codegen/resources.rs
+++ b/macros/src/codegen/resources.rs
@@ -14,9 +14,12 @@ pub fn codegen(
Vec<TokenStream2>,
// mod_resources -- the `resources` module
TokenStream2,
+ // mod_resources_imports -- the `resources` module imports
+ Vec<TokenStream2>,
) {
let mut const_app = vec![];
let mut mod_resources = vec![];
+ let mut mod_resources_imports = vec![];
for (name, res, expr, _) in app.resources(analysis) {
let cfgs = &res.cfgs;
@@ -82,6 +85,13 @@ pub fn codegen(
)
};
+ mod_resources_imports.push(quote!(
+ #[allow(non_camel_case_types)]
+ #(#cfgs)*
+ #cfg_core
+ use super::#name;
+ ));
+
const_app.push(util::impl_mutex(
extra,
cfgs,
@@ -104,5 +114,5 @@ pub fn codegen(
})
};
- (const_app, mod_resources)
+ (const_app, mod_resources, mod_resources_imports)
}