@@ -2,66 +2,11 @@ use crate::afio::MAPR;
2
2
use crate :: gpio:: { self , Alternate , Cr } ;
3
3
use crate :: pac;
4
4
5
- pub trait CPin < REMAP , const C : u8 > { }
6
- pub struct Ch < const C : u8 > ;
7
5
pub const C1 : u8 = 0 ;
8
6
pub const C2 : u8 = 1 ;
9
7
pub const C3 : u8 = 2 ;
10
8
pub const C4 : u8 = 3 ;
11
9
12
- pub ( crate ) mod sealed {
13
- pub trait Remap {
14
- type Periph ;
15
- const REMAP : u8 ;
16
-
17
- fn remap ( mapr : & mut crate :: afio:: MAPR ) ;
18
- }
19
- }
20
-
21
- macro_rules! remap {
22
- ( $( $name: ident: ( $TIMX: ty, $state: literal, $P1: ident, $P2: ident, $P3: ident, $P4: ident, { $remapex: expr } ) , ) +) => {
23
- $(
24
- pub struct $name;
25
- impl sealed:: Remap for $name {
26
- type Periph = $TIMX;
27
- const REMAP : u8 = $state;
28
-
29
- fn remap( mapr: & mut crate :: afio:: MAPR ) {
30
- mapr. modify_mapr( $remapex) ;
31
- }
32
- }
33
- impl <MODE > CPin <$name, 0 > for crate :: gpio:: $P1<MODE > { }
34
- impl <MODE > CPin <$name, 1 > for crate :: gpio:: $P2<MODE > { }
35
- impl <MODE > CPin <$name, 2 > for crate :: gpio:: $P3<MODE > { }
36
- impl <MODE > CPin <$name, 3 > for crate :: gpio:: $P4<MODE > { }
37
- ) +
38
- }
39
- }
40
-
41
- #[ cfg( any( feature = "stm32f100" , feature = "stm32f103" , feature = "connectivity" ) ) ]
42
- remap ! (
43
- Tim1NoRemap : ( pac:: TIM1 , 0b00 , PA8 , PA9 , PA10 , PA11 , { |_, w| unsafe { w. tim1_remap( ) . bits( Self :: REMAP ) } } ) ,
44
- //Tim1PartialRemap: (pac::TIM1, 0b01, PA8, PA9, PA10, PA11),
45
- Tim1FullRemap : ( pac:: TIM1 , 0b11 , PE9 , PE11 , PE13 , PE14 , { |_, w| unsafe { w. tim1_remap( ) . bits( Self :: REMAP ) } } ) ,
46
- ) ;
47
-
48
- remap ! (
49
- Tim2NoRemap : ( pac:: TIM2 , 0b00 , PA0 , PA1 , PA2 , PA3 , { |_, w| unsafe { w. tim2_remap( ) . bits( Self :: REMAP ) } } ) ,
50
- Tim2PartialRemap1 : ( pac:: TIM2 , 0b01 , PA15 , PB3 , PA2 , PA3 , { |_, w| unsafe { w. tim2_remap( ) . bits( Self :: REMAP ) } } ) ,
51
- Tim2PartialRemap2 : ( pac:: TIM2 , 0b10 , PA0 , PA1 , PB10 , PB11 , { |_, w| unsafe { w. tim2_remap( ) . bits( Self :: REMAP ) } } ) ,
52
- Tim2FullRemap : ( pac:: TIM2 , 0b11 , PA15 , PB3 , PB10 , PB11 , { |_, w| unsafe { w. tim2_remap( ) . bits( Self :: REMAP ) } } ) ,
53
-
54
- Tim3NoRemap : ( pac:: TIM3 , 0b00 , PA6 , PA7 , PB0 , PB1 , { |_, w| unsafe { w. tim3_remap( ) . bits( Self :: REMAP ) } } ) ,
55
- Tim3PartialRemap : ( pac:: TIM3 , 0b10 , PB4 , PB5 , PB0 , PB1 , { |_, w| unsafe { w. tim3_remap( ) . bits( Self :: REMAP ) } } ) ,
56
- Tim3FullRemap : ( pac:: TIM3 , 0b11 , PC6 , PC7 , PC8 , PC9 , { |_, w| unsafe { w. tim3_remap( ) . bits( Self :: REMAP ) } } ) ,
57
- ) ;
58
-
59
- #[ cfg( feature = "medium" ) ]
60
- remap ! (
61
- Tim4NoRemap : ( pac:: TIM4 , 0b00 , PB6 , PB7 , PB8 , PB9 , { |_, w| w. tim4_remap( ) . bit( Self :: REMAP == 1 ) } ) ,
62
- Tim4Remap : ( pac:: TIM4 , 0b01 , PD12 , PD13 , PD14 , PD15 , { |_, w| w. tim4_remap( ) . bit( Self :: REMAP == 1 ) } ) ,
63
- ) ;
64
-
65
10
#[ cfg( any( feature = "stm32f100" , feature = "stm32f103" , feature = "connectivity" ) ) ]
66
11
pub mod tim1 {
67
12
use super :: * ;
0 commit comments