diff options
author | 2022-09-21 21:33:31 +0200 | |
---|---|---|
committer | 2022-09-24 14:07:33 +0200 | |
commit | 1341cc5bbe912d3cafcdd87f30ff75627829f0f5 (patch) | |
tree | d0a9569a2cf34cb59c0932709d219ecfac56cfad /macros/src/codegen/shared_resources.rs | |
parent | b1d499a74416ce03bde2d88b6944f64a5cd55f26 (diff) | |
download | rtic-1341cc5bbe912d3cafcdd87f30ff75627829f0f5.tar.gz rtic-1341cc5bbe912d3cafcdd87f30ff75627829f0f5.tar.zst rtic-1341cc5bbe912d3cafcdd87f30ff75627829f0f5.zip |
Broke out async dispatchers into their own place
Diffstat (limited to 'macros/src/codegen/shared_resources.rs')
-rw-r--r-- | macros/src/codegen/shared_resources.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/macros/src/codegen/shared_resources.rs b/macros/src/codegen/shared_resources.rs index 4a750070..f964f467 100644 --- a/macros/src/codegen/shared_resources.rs +++ b/macros/src/codegen/shared_resources.rs @@ -112,7 +112,11 @@ pub fn codegen( }; // Computing mapping of used interrupts to masks - let interrupt_ids = analysis.interrupts.iter().map(|(p, (id, _))| (p, id)); + let interrupt_ids = analysis + .interrupts_normal + .iter() + .map(|(p, (id, _))| (p, id)) + .chain(analysis.interrupts_async.iter().map(|(p, (id, _))| (p, id))); let mut prio_to_masks = HashMap::new(); let device = &extra.device; @@ -147,7 +151,7 @@ pub fn codegen( None } })) { - let v = prio_to_masks.entry(priority - 1).or_insert(Vec::new()); + let v: &mut Vec<_> = prio_to_masks.entry(priority - 1).or_default(); v.push(quote!(#device::Interrupt::#name as u32)); mask_ids.push(quote!(#device::Interrupt::#name as u32)); } |