1212//! [examples/can.rs]: https://github.com/stm32-rs/stm32f3xx-hal/blob/v0.8.0/examples/can.rs
1313
1414use crate :: gpio:: { gpioa, gpiob} ;
15- use crate :: gpio:: { PushPull , AF7 , AF9 } ;
15+ use crate :: gpio:: { PushPull , AF9 } ;
1616use crate :: pac;
1717
1818use crate :: rcc:: APB1 ;
@@ -22,33 +22,21 @@ use bxcan::RegisterBlock;
2222
2323use cfg_if:: cfg_if;
2424
25- mod sealed {
26- pub trait Sealed { }
27- }
28-
2925/// Marker trait for pins (with specific AF mode) that can be used as a CAN RX pin.
30- pub trait RxPin : sealed :: Sealed { }
26+ pub trait RxPin : crate :: private :: Sealed { }
3127
3228/// Marker trait for pins (with specific AF mode) that can be used as a CAN TX pin.
33- pub trait TxPin : sealed:: Sealed { }
34-
35- cfg_if ! {
36- if #[ cfg( any( feature = "gpio-f302" , feature = "gpio-f303" ) ) ] {
37- use crate :: gpio:: gpiod;
38-
39- impl sealed:: Sealed for gpioa:: PA11 <AF9 <PushPull >> { }
40- impl RxPin for gpioa:: PA11 <AF9 <PushPull >> { }
41- impl sealed:: Sealed for gpioa:: PA12 <AF9 <PushPull >> { }
42- impl TxPin for gpioa:: PA12 <AF9 <PushPull >> { }
29+ pub trait TxPin : crate :: private:: Sealed { }
4330
44- impl sealed :: Sealed for gpiob :: PB8 <AF9 <PushPull >> { }
45- impl RxPin for gpiob :: PB8 <AF9 <PushPull >> { }
46- impl sealed :: Sealed for gpiob:: PB9 <AF9 <PushPull >> { }
47- impl TxPin for gpiob:: PB9 <AF9 <PushPull >> { }
31+ impl RxPin for gpioa :: PA11 < AF9 < PushPull > > { }
32+ impl TxPin for gpioa :: PA12 < AF9 < PushPull > > { }
33+ impl RxPin for gpiob:: PB8 < AF9 < PushPull > > { }
34+ impl TxPin for gpiob:: PB9 < AF9 < PushPull > > { }
4835
49- impl sealed:: Sealed for gpiod:: PD0 <AF7 <PushPull >> { }
36+ cfg_if ! {
37+ if #[ cfg( any( feature = "gpio-f303" , feature = "gpio-f303e" , feature = "gpio-f373" ) ) ] {
38+ use crate :: gpio:: { gpiod, AF7 } ;
5039 impl RxPin for gpiod:: PD0 <AF7 <PushPull >> { }
51- impl sealed:: Sealed for gpiod:: PD1 <AF7 <PushPull >> { }
5240 impl TxPin for gpiod:: PD1 <AF7 <PushPull >> { }
5341 }
5442}
0 commit comments