Skip to content

Commit c6b4406

Browse files
authored
Merge pull request #176 from Sh3Rm4n/small-things
Use paste! in dma module
2 parents 835bd85 + c84c425 commit c6b4406

File tree

1 file changed

+26
-22
lines changed

1 file changed

+26
-22
lines changed

src/dma.rs

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -492,20 +492,33 @@ macro_rules! dma {
492492
)+
493493
}
494494
};
495+
496+
( $X:literal: {$($C:literal),+} ) => {
497+
paste::paste! {
498+
dma!(
499+
[<DMA $X>], [<dma $X>], [<dma $X en>],
500+
channels: {
501+
$(
502+
[<C $C>]:
503+
(
504+
[<ch $C>],
505+
[<htif $C>],
506+
[<tcif $C>],
507+
[<teif $C>],
508+
[<gif $C>],
509+
[<chtif $C>],
510+
[<ctcif $C>],
511+
[<cteif $C>],
512+
[<cgif $C>]
513+
),
514+
)+
515+
},
516+
);
517+
}
518+
};
495519
}
496520

497-
dma!(
498-
DMA1, dma1, dma1en,
499-
channels: {
500-
C1: (ch1, htif1, tcif1, teif1, gif1, chtif1, ctcif1, cteif1, cgif1),
501-
C2: (ch2, htif2, tcif2, teif2, gif2, chtif2, ctcif2, cteif2, cgif2),
502-
C3: (ch3, htif3, tcif3, teif3, gif3, chtif3, ctcif3, cteif3, cgif3),
503-
C4: (ch4, htif4, tcif4, teif4, gif4, chtif4, ctcif4, cteif4, cgif4),
504-
C5: (ch5, htif5, tcif5, teif5, gif5, chtif5, ctcif5, cteif5, cgif5),
505-
C6: (ch6, htif6, tcif6, teif6, gif6, chtif6, ctcif6, cteif6, cgif6),
506-
C7: (ch7, htif7, tcif7, teif7, gif7, chtif7, ctcif7, cteif7, cgif7),
507-
},
508-
);
521+
dma!( 1: { 1,2,3,4,5,6,7 } );
509522

510523
#[cfg(any(
511524
feature = "stm32f302xb",
@@ -517,16 +530,7 @@ dma!(
517530
feature = "stm32f303xd",
518531
feature = "stm32f303xe",
519532
))]
520-
dma!(
521-
DMA2, dma2, dma2en,
522-
channels: {
523-
C1: (ch1, htif1, tcif1, teif1, gif1, chtif1, ctcif1, cteif1, cgif1),
524-
C2: (ch2, htif2, tcif2, teif2, gif2, chtif2, ctcif2, cteif2, cgif2),
525-
C3: (ch3, htif3, tcif3, teif3, gif3, chtif3, ctcif3, cteif3, cgif3),
526-
C4: (ch4, htif4, tcif4, teif4, gif4, chtif4, ctcif4, cteif4, cgif4),
527-
C5: (ch5, htif5, tcif5, teif5, gif5, chtif5, ctcif5, cteif5, cgif5),
528-
},
529-
);
533+
dma!( 2: { 1,2,3,4,5 } );
530534

531535
/// Marker trait mapping DMA targets to their channels
532536
///

0 commit comments

Comments
 (0)