aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/spawn_body.rs
diff options
context:
space:
mode:
authorGravatar bors[bot] <26634292+bors[bot]@users.noreply.github.com> 2020-10-15 14:15:35 +0000
committerGravatar GitHub <noreply@github.com> 2020-10-15 14:15:35 +0000
commitee0885063d5b1cc4eddd3918ff425796f6213464 (patch)
tree7073205b076f168b1c6f5782a278abf11eb7746f /macros/src/codegen/spawn_body.rs
parent1db5faad62c89cff19d2a94c8ce7b98bac9439ac (diff)
parent48abc26e8577e6b57c46dce40e63022fac2c9375 (diff)
downloadrtic-ee0885063d5b1cc4eddd3918ff425796f6213464.tar.gz
rtic-ee0885063d5b1cc4eddd3918ff425796f6213464.tar.zst
rtic-ee0885063d5b1cc4eddd3918ff425796f6213464.zip
Merge #394
394: Detect if the rt flag is defined in the PAC/HAL r=AfoHT a=korken89 This stops RTIC applications from compiling if one has forgotten to set the `rt` flag in the PAC/HAL. The error: ``` error[E0433]: failed to resolve: could not find `interrupt` in `you_must_enable_the_rt_feature_for_the_pac_in_your_cargo_toml` --> src/main.rs:8:1 | 8 | #[rtic::app(device = stm32l4xx_hal::pac)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ could not find `interrupt` in `you_must_enable_the_rt_feature_for_the_pac_in_your_cargo_toml` | = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) ``` Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
Diffstat (limited to 'macros/src/codegen/spawn_body.rs')
-rw-r--r--macros/src/codegen/spawn_body.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/macros/src/codegen/spawn_body.rs b/macros/src/codegen/spawn_body.rs
index 4ecd0757..f29393a6 100644
--- a/macros/src/codegen/spawn_body.rs
+++ b/macros/src/codegen/spawn_body.rs
@@ -10,7 +10,7 @@ pub fn codegen(
name: &Ident,
app: &App,
analysis: &Analysis,
- extra: &Extra,
+ _extra: &Extra,
) -> TokenStream2 {
let spawnee = &app.software_tasks[name];
let priority = spawnee.args.priority;
@@ -42,12 +42,11 @@ pub fn codegen(
)
};
- let device = extra.device;
let enum_ = util::interrupt_ident();
let interrupt = &analysis.interrupts.get(&priority);
let pend = {
quote!(
- rtic::pend(#device::#enum_::#interrupt);
+ rtic::pend(you_must_enable_the_rt_feature_for_the_pac_in_your_cargo_toml::#enum_::#interrupt);
)
};