use core::ops; use std::collections::{BTreeMap, BTreeSet}; use rtfm_syntax::{ analyze::{self, Priority}, ast::App, Core, P, }; use syn::Ident; /// Extend the upstream `Analysis` struct with our field pub struct Analysis { parent: P, pub interrupts: BTreeMap>, } impl ops::Deref for Analysis { type Target = analyze::Analysis; fn deref(&self) -> &Self::Target { &self.parent } } // Assign an `extern` interrupt to each priority level pub fn app(analysis: P, app: &App) -> P { 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)) .collect::>(); if !priorities.is_empty() { interrupts.insert( core, priorities .iter() .cloned() .rev() .zip(app.extern_interrupts[&core].keys().cloned()) .collect(), ); } } P::new(Analysis { parent: analysis, interrupts, }) } Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)AuthorFilesLines
2023-10-09fix(AbortSignal/fetch) fix AbortSignal.timeout, fetch lock behavior and fetch...Gravatar Ciro Spaciari 29-61/+303
2023-10-09Fix npm tag for canary bun-types, againGravatar Ashcon Partovi 2-56/+10
2023-10-09Add Fedora build instructions to development.md (#6359)Gravatar otterDeveloper 1-0/+10
2023-10-09added commands (#6314)Gravatar babar 1-1/+2
2023-10-09Update README.md (#6291)Gravatar TPLJ 1-1/+1
2023-10-09docs: fixing a couple typos (#6331)Gravatar Michael Di Prisco 2-2/+2
2023-10-09fix: support uint8 exit code range (#6303)Gravatar Liz 2-2/+11
2023-10-09Fix array variables preview in debugger (#6379)Gravatar 2hu 1-1/+4
2023-10-07feat(KeyObject) (#5940)Gravatar Ciro Spaciari 106-67/+9342
2023-10-07Exclude more filesGravatar Jarred Sumner 1-1/+1
2023-10-07Exclude more filesGravatar Jarred Sumner 1-1/+2
2023-10-07Update settings.jsonGravatar Jarred Sumner 1-1/+2
2023-10-07Update settings.jsonGravatar Jarred Sumner 1-2/+3
2023-10-06fix a couple install testsGravatar Dylan Conway 1-8/+8
2023-10-06formatGravatar Dylan Conway 1-1/+2
2023-10-06Fix memory leak in fetch() (#6350)Gravatar Jarred Sumner 1-2/+0
2023-10-06[types] allow onLoad plugin callbacks to return undefined (#6346)Gravatar Silver 1-1/+1
2023-10-06docs: `file.stream()` is not a promise (#6337)Gravatar Paul Nodet 1-1/+1