mirror of
https://github.com/rtic-rs/rtic.git
synced 2024-12-01 16:04:33 +01:00
Removed same prio spawn
This commit is contained in:
parent
2ad36a6efe
commit
fe2b5cc52e
5 changed files with 0 additions and 49 deletions
|
@ -25,7 +25,6 @@ type CodegenResult = (
|
|||
/// Generates support code for `#[init]` functions
|
||||
pub fn codegen(app: &App, analysis: &Analysis) -> CodegenResult {
|
||||
let init = &app.init;
|
||||
let mut local_needs_lt = false;
|
||||
let name = &init.name;
|
||||
|
||||
let mut root_init = vec![];
|
||||
|
|
|
@ -224,9 +224,6 @@ pub struct SoftwareTaskArgs {
|
|||
|
||||
/// Shared resources that can be accessed from this context
|
||||
pub shared_resources: SharedResources,
|
||||
|
||||
/// Only same priority tasks can spawn this task
|
||||
pub only_same_priority_spawn: bool,
|
||||
}
|
||||
|
||||
impl Default for SoftwareTaskArgs {
|
||||
|
@ -235,7 +232,6 @@ impl Default for SoftwareTaskArgs {
|
|||
priority: 1,
|
||||
local_resources: LocalResources::new(),
|
||||
shared_resources: SharedResources::new(),
|
||||
only_same_priority_spawn: false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -196,8 +196,6 @@ fn task_args(tokens: TokenStream2) -> parse::Result<Either<HardwareTaskArgs, Sof
|
|||
let mut shared_resources = None;
|
||||
let mut local_resources = None;
|
||||
let mut prio_span = None;
|
||||
let mut only_same_priority_spawn = false;
|
||||
let mut only_same_prio_span = None;
|
||||
|
||||
let content;
|
||||
parenthesized!(content in input);
|
||||
|
@ -210,27 +208,6 @@ fn task_args(tokens: TokenStream2) -> parse::Result<Either<HardwareTaskArgs, Sof
|
|||
let ident: Ident = content.parse()?;
|
||||
let ident_s = ident.to_string();
|
||||
|
||||
if ident_s == "only_same_priority_spawn_please_fix_me" {
|
||||
if only_same_priority_spawn {
|
||||
return Err(parse::Error::new(
|
||||
ident.span(),
|
||||
"argument appears more than once",
|
||||
));
|
||||
}
|
||||
|
||||
only_same_priority_spawn = true;
|
||||
only_same_prio_span = Some(ident.span());
|
||||
|
||||
if content.is_empty() {
|
||||
break;
|
||||
}
|
||||
|
||||
// Handle comma: ,
|
||||
let _: Token![,] = content.parse()?;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
// Handle equal sign
|
||||
let _: Token![=] = content.parse()?;
|
||||
|
||||
|
@ -344,7 +321,6 @@ fn task_args(tokens: TokenStream2) -> parse::Result<Either<HardwareTaskArgs, Sof
|
|||
local_resources = Some(util::parse_local_resources(&content)?);
|
||||
}
|
||||
|
||||
|
||||
_ => {
|
||||
return Err(parse::Error::new(ident.span(), "unexpected argument"));
|
||||
}
|
||||
|
@ -369,13 +345,6 @@ fn task_args(tokens: TokenStream2) -> parse::Result<Either<HardwareTaskArgs, Sof
|
|||
));
|
||||
}
|
||||
|
||||
if only_same_priority_spawn {
|
||||
return Err(parse::Error::new(
|
||||
only_same_prio_span.unwrap(),
|
||||
"hardware tasks are not allowed to be spawned, `only_same_priority_spawn_please_fix_me` is only for software tasks",
|
||||
));
|
||||
}
|
||||
|
||||
Either::Left(HardwareTaskArgs {
|
||||
binds,
|
||||
priority,
|
||||
|
@ -387,7 +356,6 @@ fn task_args(tokens: TokenStream2) -> parse::Result<Either<HardwareTaskArgs, Sof
|
|||
priority,
|
||||
shared_resources,
|
||||
local_resources,
|
||||
only_same_priority_spawn,
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
#![no_main]
|
||||
|
||||
#[rtic_macros::mock_app(device = mock)]
|
||||
mod app {
|
||||
#[task(binds = SysTick, only_same_priority_spawn_please_fix_me)]
|
||||
fn foo(_: foo::Context) {}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
error: hardware tasks are not allowed to be spawned, `only_same_priority_spawn_please_fix_me` is only for software tasks
|
||||
--> ui/task-interrupt-same-prio-spawn.rs:5:29
|
||||
|
|
||||
5 | #[task(binds = SysTick, only_same_priority_spawn_please_fix_me)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Loading…
Reference in a new issue