aboutsummaryrefslogtreecommitdiff
path: root/macros/src/analyze.rs
diff options
context:
space:
mode:
Diffstat (limited to 'macros/src/analyze.rs')
-rw-r--r--macros/src/analyze.rs20
1 files changed, 6 insertions, 14 deletions
diff --git a/macros/src/analyze.rs b/macros/src/analyze.rs
index af6811fa..c81c186d 100644
--- a/macros/src/analyze.rs
+++ b/macros/src/analyze.rs
@@ -4,14 +4,14 @@ use std::collections::{BTreeMap, BTreeSet};
use rtic_syntax::{
analyze::{self, Priority},
ast::App,
- Core, P,
+ P,
};
use syn::Ident;
/// Extend the upstream `Analysis` struct with our field
pub struct Analysis {
parent: P<analyze::Analysis>,
- pub interrupts: BTreeMap<Core, BTreeMap<Priority, Ident>>,
+ pub interrupts: BTreeMap<Priority, Ident>,
}
impl ops::Deref for Analysis {
@@ -25,32 +25,24 @@ impl ops::Deref for Analysis {
// Assign an `extern` interrupt to each priority level
pub fn app(analysis: P<analyze::Analysis>, app: &App) -> P<Analysis> {
let mut interrupts = BTreeMap::new();
- for core in 0..app.args.cores {
let priorities = app
.software_tasks
.values()
.filter_map(|task| {
- if task.args.core == core {
Some(task.args.priority)
- } else {
- None
- }
})
- .chain(analysis.timer_queues.get(&core).map(|tq| tq.priority))
+ .chain(analysis.timer_queues.first().map(|tq| tq.priority))
.collect::<BTreeSet<_>>();
if !priorities.is_empty() {
- interrupts.insert(
- core,
+ interrupts =
priorities
.iter()
.cloned()
.rev()
- .zip(app.extern_interrupts[&core].keys().cloned())
- .collect(),
- );
+ .zip(app.extern_interrupts.keys().cloned())
+ .collect();
}
- }
P::new(Analysis {
parent: analysis,