aboutsummaryrefslogtreecommitdiff
path: root/macros/src/analyze.rs
diff options
context:
space:
mode:
authorEmil Fresk <emil.fresk@gmail.com>2023-01-03 15:10:59 +0100
committerHenrik Tjäder <henrik@tjaders.com>2023-03-01 00:31:04 +0100
commitf8352122a301c30db7c7851ebf50ad1608ebdad3 (patch)
tree54f836f8d055ea8b8bef0c1b7c6a59794b99fc3e /macros/src/analyze.rs
parentd7ed7a8b9f78344f6855fa1c2655ae0d85e44068 (diff)
Min codegen
Diffstat (limited to 'macros/src/analyze.rs')
-rw-r--r--macros/src/analyze.rs23
1 files changed, 3 insertions, 20 deletions
diff --git a/macros/src/analyze.rs b/macros/src/analyze.rs
index ec12cfb..cb42ad6 100644
--- a/macros/src/analyze.rs
+++ b/macros/src/analyze.rs
@@ -10,8 +10,7 @@ use syn::Ident;
/// Extend the upstream `Analysis` struct with our field
pub struct Analysis {
parent: analyze::Analysis,
- pub interrupts_normal: BTreeMap<Priority, (Ident, Dispatcher)>,
- pub interrupts_async: BTreeMap<Priority, (Ident, Dispatcher)>,
+ pub interrupts: BTreeMap<Priority, (Ident, Dispatcher)>,
}
impl ops::Deref for Analysis {
@@ -30,27 +29,12 @@ pub fn app(analysis: analyze::Analysis, app: &App) -> Analysis {
let priorities = app
.software_tasks
.values()
- .filter(|task| !task.is_async)
- .map(|task| task.args.priority)
- .collect::<BTreeSet<_>>();
-
- let priorities_async = app
- .software_tasks
- .values()
- .filter(|task| task.is_async)
.map(|task| task.args.priority)
.collect::<BTreeSet<_>>();
// map from priorities to interrupts (holding name and attributes)
- let interrupts_normal: BTreeMap<Priority, _> = priorities
- .iter()
- .copied()
- .rev()
- .map(|p| (p, available_interrupt.pop().expect("UNREACHABLE")))
- .collect();
-
- let interrupts_async: BTreeMap<Priority, _> = priorities_async
+ let interrupts: BTreeMap<Priority, _> = priorities
.iter()
.copied()
.rev()
@@ -59,7 +43,6 @@ pub fn app(analysis: analyze::Analysis, app: &App) -> Analysis {
Analysis {
parent: analysis,
- interrupts_normal,
- interrupts_async,
+ interrupts,
}
}