aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32/src/macros.rs
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2024-04-18 19:08:24 +0200
committerDario Nieuwenhuis <[email protected]>2024-05-20 23:43:10 +0200
commitca2eef5387b521a0ea95f26bae530d9bdfbba4d7 (patch)
treee593f3d75210fdb159b216496983dddd6def7154 /embassy-stm32/src/macros.rs
parenteeb6ffce4cfa0e0055da8d6738f6d28c3fa43f15 (diff)
stm32/spi: remove peripheral generic param.
Diffstat (limited to 'embassy-stm32/src/macros.rs')
-rw-r--r--embassy-stm32/src/macros.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/embassy-stm32/src/macros.rs b/embassy-stm32/src/macros.rs
index 02dce1266..9c459a932 100644
--- a/embassy-stm32/src/macros.rs
+++ b/embassy-stm32/src/macros.rs
@@ -1,5 +1,30 @@
1#![macro_use] 1#![macro_use]
2 2
3macro_rules! peri_trait {
4 () => {
5 #[allow(private_interfaces)]
6 pub(crate) trait SealedInstance {
7 const INFO: Info;
8 const STATE: &'static State;
9 }
10
11 /// SPI instance trait.
12 #[allow(private_bounds)]
13 pub trait Instance: Peripheral<P = Self> + SealedInstance + RccPeripheral {}
14 };
15}
16
17macro_rules! peri_trait_impl {
18 ($instance:ident, $info:expr) => {
19 #[allow(private_interfaces)]
20 impl SealedInstance for crate::peripherals::$instance {
21 const INFO: Info = $info;
22 const STATE: &'static State = &State::new();
23 }
24 impl Instance for crate::peripherals::$instance {}
25 };
26}
27
3macro_rules! pin_trait { 28macro_rules! pin_trait {
4 ($signal:ident, $instance:path $(, $mode:path)?) => { 29 ($signal:ident, $instance:path $(, $mode:path)?) => {
5 #[doc = concat!(stringify!($signal), " pin trait")] 30 #[doc = concat!(stringify!($signal), " pin trait")]