Skip to content

Commit 48d1b9a

Browse files
authored
Merge pull request #120 from evils/complete_TscPin
implement TscPin for remaining touch pins
2 parents 0bbb50f + 0246e90 commit 48d1b9a

File tree

2 files changed

+72
-2
lines changed

2 files changed

+72
-2
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
88
## [Unreleased]
99

1010
- Simplify USB PA11/12 remapping for STM32F042x via `usb_bus.usb_remap()` function.
11+
- Complete the `TscPin` trait implementation for all touch pins in the f0 family
1112

1213
## [v0.17.0] - 2020-06-27
1314

src/tsc.rs

+71-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
//! usually comprised between 47nF and 100nF. These values are given as reference for an
88
//! electrode fitting a human finger tip size across a few millimeters dielectric panel.
99
10-
use crate::gpio::{gpioa, gpiob, Alternate, AF3};
10+
use crate::gpio::*;
1111
use crate::pac::TSC;
1212
use crate::rcc::Rcc;
1313

@@ -66,12 +66,34 @@ tsc_pins!(
6666
gpioa::PA7<Alternate<AF3>> => (2_u8, 4_u8),
6767
);
6868

69+
// all with a TSC minus 42 and 48
70+
#[cfg(any(
71+
feature = "stm32f051",
72+
feature = "stm32f058",
73+
feature = "stm32f071",
74+
feature = "stm32f072",
75+
feature = "stm32f078",
76+
feature = "stm32f091",
77+
feature = "stm32f098"
78+
))]
79+
tsc_pins!( gpioc::PC5<Alternate<AF0>> => (3_u8, 1_u8) );
80+
6981
tsc_pins!(
7082
gpiob::PB0<Alternate<AF3>> => (3_u8, 2_u8),
7183
gpiob::PB1<Alternate<AF3>> => (3_u8, 3_u8),
72-
gpiob::PB2<Alternate<AF3>> => (3_u8, 4_u8),
7384
);
7485

86+
// all with a TCS minus 58, 78 and 98
87+
#[cfg(any(
88+
feature = "stm32f042",
89+
feature = "stm32f048",
90+
feature = "stm32f051",
91+
feature = "stm32f071",
92+
feature = "stm32f072",
93+
feature = "stm32f091"
94+
))]
95+
tsc_pins!( gpiob::PB2<Alternate<AF3>> => (3_u8, 4_u8) );
96+
7597
tsc_pins!(
7698
gpioa::PA9<Alternate<AF3>> => (4_u8, 1_u8),
7799
gpioa::PA10<Alternate<AF3>> => (4_u8, 2_u8),
@@ -86,6 +108,53 @@ tsc_pins!(
86108
gpiob::PB7<Alternate<AF3>> => (5_u8, 4_u8),
87109
);
88110

111+
// all with a TSC minus 42 and 48
112+
#[cfg(any(
113+
feature = "stm32f051",
114+
feature = "stm32f058",
115+
feature = "stm32f071",
116+
feature = "stm32f072",
117+
feature = "stm32f078",
118+
feature = "stm32f091",
119+
feature = "stm32f098"
120+
))]
121+
tsc_pins!(
122+
gpiob::PB11<Alternate<AF3>> => (6_u8, 1_u8),
123+
gpiob::PB12<Alternate<AF3>> => (6_u8, 2_u8),
124+
gpiob::PB13<Alternate<AF3>> => (6_u8, 3_u8),
125+
gpiob::PB14<Alternate<AF3>> => (6_u8, 4_u8),
126+
);
127+
128+
// all with a TSC and gpioe
129+
#[cfg(any(
130+
feature = "stm32f071",
131+
feature = "stm32f072",
132+
feature = "stm32f078",
133+
feature = "stm32f091",
134+
feature = "stm32f098"
135+
))]
136+
tsc_pins!(
137+
gpioe::PE2<Alternate<AF3>> => (7_u8, 1_u8),
138+
gpioe::PE3<Alternate<AF3>> => (7_u8, 2_u8),
139+
gpioe::PE4<Alternate<AF3>> => (7_u8, 3_u8),
140+
gpioe::PE5<Alternate<AF3>> => (7_u8, 4_u8),
141+
);
142+
143+
// all with a TSC and gpiod
144+
#[cfg(any(
145+
feature = "stm32f071",
146+
feature = "stm32f072",
147+
feature = "stm32f078",
148+
feature = "stm32f091",
149+
feature = "stm32f098"
150+
))]
151+
tsc_pins!(
152+
gpiod::PD12<Alternate<AF3>> => (8_u8, 1_u8),
153+
gpiod::PD13<Alternate<AF3>> => (8_u8, 2_u8),
154+
gpiod::PD14<Alternate<AF3>> => (8_u8, 3_u8),
155+
gpiod::PD15<Alternate<AF3>> => (8_u8, 4_u8),
156+
);
157+
89158
pub struct Tsc {
90159
tsc: TSC,
91160
}

0 commit comments

Comments
 (0)