diff options
| author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2023-03-04 21:10:24 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-04 21:10:24 +0000 |
| commit | 7c7d6558f6d9c50fbb4d2487c98c9a5be15f2f7b (patch) | |
| tree | 80a47f0dc40059014e9448c4c2eb34c54dff45fe /macros/src/analyze.rs | |
| parent | 1c5db277e4161470136dbd2a11e914ff1d383581 (diff) | |
| parent | 98c5490d94950608d31cd5ad9dd260f2f853735c (diff) | |
Merge #694
694: RTIC 2 r=AfoHT a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
Diffstat (limited to 'macros/src/analyze.rs')
| -rw-r--r-- | macros/src/analyze.rs | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/macros/src/analyze.rs b/macros/src/analyze.rs deleted file mode 100644 index d255b7f..0000000 --- a/macros/src/analyze.rs +++ /dev/null @@ -1,47 +0,0 @@ -use core::ops; -use std::collections::{BTreeMap, BTreeSet}; - -use rtic_syntax::{ - analyze::{self, Priority}, - ast::{App, ExternInterrupt}, - P, -}; -use syn::Ident; - -/// Extend the upstream `Analysis` struct with our field -pub struct Analysis { - parent: P<analyze::Analysis>, - pub interrupts: BTreeMap<Priority, (Ident, ExternInterrupt)>, -} - -impl ops::Deref for Analysis { - type Target = analyze::Analysis; - - fn deref(&self) -> &Self::Target { - &self.parent - } -} - -// Assign an interrupt to each priority level -pub fn app(analysis: P<analyze::Analysis>, app: &App) -> P<Analysis> { - // the set of priorities (each priority only once) - let priorities = app - .software_tasks - .values() - .map(|task| task.args.priority) - .collect::<BTreeSet<_>>(); - - // map from priorities to interrupts (holding name and attributes) - let interrupts: BTreeMap<Priority, _> = priorities - .iter() - .copied() - .rev() - .zip(&app.args.extern_interrupts) - .map(|(p, (id, ext))| (p, (id.clone(), ext.clone()))) - .collect(); - - P::new(Analysis { - parent: analysis, - interrupts, - }) -} |
