Skip to content

Commit 70121a4

Browse files
Implement specific pin bindings as subsets of families
1 parent be3604f commit 70121a4

File tree

1 file changed

+74
-61
lines changed

1 file changed

+74
-61
lines changed

src/pin_mappings.rs

Lines changed: 74 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,16 @@ pins! {
5252
PB9 => {AF1: SdaPin<I2C1>}
5353
}
5454

55-
#[cfg(any(feature = "stm32f030", feature = "stm32f042"))]
56-
pins! {
57-
PA11 => {AF5: SclPin<I2C1>},
58-
PA12 => {AF5: SdaPin<I2C1>}
59-
}
60-
61-
#[cfg(any(feature = "stm32f030", feature = "stm32f070"))]
55+
#[cfg(feature = "stm32f030")]
6256
pins! {
6357
PA0 => {AF4: TxPin<USART4>},
6458
PA1 => {AF4: RxPin<USART4>},
59+
PA4 => {AF5: TxPin<USART6>},
60+
PA5 => {AF5: RxPin<USART6>},
61+
PA11 => {AF5: SclPin<I2C1>},
62+
PA12 => {AF5: SdaPin<I2C1>},
63+
PB3 => {AF4: TxPin<USART5>},
64+
PB4 => {AF4: RxPin<USART5>},
6565
PB10 => {
6666
AF4: TxPin<USART3>,
6767
AF5: SckPin<SPI2>
@@ -78,15 +78,7 @@ pins! {
7878
PC11 => {
7979
AF0: RxPin<USART4>,
8080
AF1: RxPin<USART3>
81-
}
82-
}
83-
84-
#[cfg(feature = "stm32f030")]
85-
pins! {
86-
PA4 => {AF5: TxPin<USART6>},
87-
PA5 => {AF5: RxPin<USART6>},
88-
PB3 => {AF4: TxPin<USART5>},
89-
PB4 => {AF4: RxPin<USART5>},
81+
},
9082
PC0 => {AF2: TxPin<USART6>},
9183
PC1 => {AF2: RxPin<USART6>},
9284
PC12 => {AF2: RxPin<USART5>},
@@ -97,78 +89,99 @@ pins! {
9789
pins! {
9890
PA2 => {AF1: TxPin<USART1>},
9991
PA3 => {AF1: RxPin<USART1>},
92+
PA9 => {AF4: SclPin<I2C1>},
93+
PA10 => {AF4: SdaPin<I2C1>},
10094
PA14 => {AF1: TxPin<USART1>},
10195
PA15 => {AF1: RxPin<USART1>},
96+
PB10 => {AF1: SclPin<I2C1>},
97+
PB11 => {AF1: SdaPin<I2C1>},
10298
PB13 => {AF0: SckPin<SPI1>},
10399
PB14 => {AF0: MisoPin<SPI1>},
104100
PB15 => {AF0: MosiPin<SPI1>}
105101
}
106102

107-
#[cfg(any(
108-
feature = "stm32f030x8",
109-
feature = "stm32f030xc",
110-
feature = "stm32f042",
111-
feature = "stm32f070",
112-
))]
103+
#[cfg(any(feature = "stm32f030x8", feature = "stm32f030xc"))]
113104
pins! {
114105
PA2 => {AF1: TxPin<USART2>},
115106
PA3 => {AF1: RxPin<USART2>},
116107
PA14 => {AF1: TxPin<USART2>},
117-
PA15 => {AF1: RxPin<USART2>}
118-
}
119-
#[cfg(any(
120-
feature = "stm32f030x8",
121-
feature = "stm32f030xc",
122-
feature = "stm32f070xb"
123-
))]
124-
pins! {
108+
PA15 => {AF1: RxPin<USART2>},
109+
PB10 => {AF1: SclPin<I2C2>},
110+
PB11 => {AF1: SdaPin<I2C1>},
125111
PB13 => {AF0: SckPin<SPI2>},
126112
PB14 => {AF0: MisoPin<SPI2>},
127113
PB15 => {AF0: MosiPin<SPI2>}
128114
}
129115

130-
#[cfg(any(
131-
feature = "stm32f030x6",
132-
feature = "stm32f030xc",
133-
feature = "stm32f042",
134-
feature = "stm32f070x6"
135-
))]
116+
#[cfg(any(feature = "stm32f030xc",))]
136117
pins! {
137118
PA9 => {AF4: SclPin<I2C1>},
138-
PA10 => {AF4: SdaPin<I2C1>}
119+
PA10 => {AF4: SdaPin<I2C1>},
120+
PB13 => {AF5: SclPin<I2C1>},
121+
PB14 => {AF5: SdaPin<I2C1>},
122+
PF0 => {AF1: SdaPin<I2C1>},
123+
PF1 => {AF1: SclPin<I2C1>}
139124
}
140125

141-
#[cfg(any(
142-
feature = "stm32f030x6",
143-
feature = "stm32f042",
144-
feature = "stm32f070xb"
145-
))]
126+
#[cfg(feature = "stm32f042")]
146127
pins! {
128+
PA11 => {AF5: SclPin<I2C1>},
129+
PA12 => {AF5: SdaPin<I2C1>},
130+
PA2 => {AF1: TxPin<USART2>},
131+
PA3 => {AF1: RxPin<USART2>},
132+
PA9 => {AF4: SclPin<I2C1>},
133+
PA10 => {AF4: SdaPin<I2C1>},
134+
PA14 => {AF1: TxPin<USART2>},
135+
PA15 => {AF1: RxPin<USART2>},
147136
PB10 => {AF1: SclPin<I2C1>},
148-
PB11 => {AF1: SdaPin<I2C1>}
137+
PB11 => {AF1: SdaPin<I2C1>},
138+
PB13 => {AF5: SclPin<I2C1>},
139+
PB14 => {AF5: SdaPin<I2C1>},
140+
PF0 => {AF1: SdaPin<I2C1>},
141+
PF1 => {AF1: SclPin<I2C1>}
149142
}
150143

151-
#[cfg(any(feature = "stm32f030x8", feature = "stm32f030xc"))]
144+
#[cfg(feature = "stm32f070")]
152145
pins! {
153-
PB10 => {AF1: SclPin<I2C2>},
154-
PB11 => {AF1: SdaPin<I2C1>}
155-
}
156-
#[cfg(any(
157-
feature = "stm32f042",
158-
feature = "stm32f030xc",
159-
feature = "stm32f070x6",
160-
))]
161-
pins! {
162-
PF0 => {AF1: SdaPin<I2C1>}
163-
PF1 => {AF1: SclPin<I2C1>},
146+
PA0 => {AF4: TxPin<USART4>},
147+
PA1 => {AF4: RxPin<USART4>},
148+
PA2 => {AF1: TxPin<USART2>},
149+
PA3 => {AF1: RxPin<USART2>},
150+
PA14 => {AF1: TxPin<USART2>},
151+
PA15 => {AF1: RxPin<USART2>},
152+
PB10 => {
153+
AF4: TxPin<USART3>,
154+
AF5: SckPin<SPI2>
155+
},
156+
PB11 => {AF4: RxPin<USART3>},
157+
PC2 => {AF1: MisoPin<SPI2>},
158+
PC3 => {AF1: MosiPin<SPI2>},
159+
PC4 => {AF1: TxPin<USART3>},
160+
PC5 => {AF1: RxPin<USART3>},
161+
PC10 => {
162+
AF0: TxPin<USART4>,
163+
AF1: TxPin<USART3>
164+
},
165+
PC11 => {
166+
AF0: RxPin<USART4>,
167+
AF1: RxPin<USART3>
168+
}
164169
}
165170

166-
#[cfg(any(
167-
feature = "stm32f042",
168-
feature = "stm32f030xc",
169-
feature = "stm32f070xb"
170-
))]
171+
#[cfg(feature = "stm32f070xb")]
171172
pins! {
173+
PB10 => {AF1: SclPin<I2C1>},
174+
PB11 => {AF1: SdaPin<I2C1>},
175+
PB13 => {AF0: SckPin<SPI2>},
176+
PB14 => {AF0: MisoPin<SPI2>},
172177
PB13 => {AF5: SclPin<I2C1>},
173-
PB14 => {AF5: SdaPin<I2C1>}
178+
PB14 => {AF5: SdaPin<I2C1>},
179+
PB15 => {AF0: MosiPin<SPI2>}
180+
}
181+
#[cfg(feature = "stm32f070x6")]
182+
pins! {
183+
PA9 => {AF4: SclPin<I2C1>},
184+
PA10 => {AF4: SdaPin<I2C1>},
185+
PF0 => {AF1: SdaPin<I2C1>},
186+
PF1 => {AF1: SclPin<I2C1>}
174187
}

0 commit comments

Comments
 (0)