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:: * ;
1111use crate :: pac:: TSC ;
1212use 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+
6981tsc_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+
7597tsc_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+
89158pub struct Tsc {
90159 tsc : TSC ,
91160}
0 commit comments