|
|
|
@ -7,7 +7,7 @@
|
|
|
|
|
//! usually comprised between 47nF and 100nF. These values are given as reference for an
|
|
|
|
|
//! electrode fitting a human finger tip size across a few millimeters dielectric panel.
|
|
|
|
|
|
|
|
|
|
use crate::gpio::{gpioa, gpiob, Alternate, AF3};
|
|
|
|
|
use crate::gpio::*;
|
|
|
|
|
use crate::pac::TSC;
|
|
|
|
|
use crate::rcc::Rcc;
|
|
|
|
|
|
|
|
|
@ -66,12 +66,34 @@ tsc_pins!(
|
|
|
|
|
gpioa::PA7<Alternate<AF3>> => (2_u8, 4_u8),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// all with a TSC minus 42 and 48
|
|
|
|
|
#[cfg(any(
|
|
|
|
|
feature = "stm32f051",
|
|
|
|
|
feature = "stm32f058",
|
|
|
|
|
feature = "stm32f071",
|
|
|
|
|
feature = "stm32f072",
|
|
|
|
|
feature = "stm32f078",
|
|
|
|
|
feature = "stm32f091",
|
|
|
|
|
feature = "stm32f098"
|
|
|
|
|
))]
|
|
|
|
|
tsc_pins!( gpioc::PC5<Alternate<AF0>> => (3_u8, 1_u8) );
|
|
|
|
|
|
|
|
|
|
tsc_pins!(
|
|
|
|
|
gpiob::PB0<Alternate<AF3>> => (3_u8, 2_u8),
|
|
|
|
|
gpiob::PB1<Alternate<AF3>> => (3_u8, 3_u8),
|
|
|
|
|
gpiob::PB2<Alternate<AF3>> => (3_u8, 4_u8),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// all with a TCS minus 58, 78 and 98
|
|
|
|
|
#[cfg(any(
|
|
|
|
|
feature = "stm32f042",
|
|
|
|
|
feature = "stm32f048",
|
|
|
|
|
feature = "stm32f051",
|
|
|
|
|
feature = "stm32f071",
|
|
|
|
|
feature = "stm32f072",
|
|
|
|
|
feature = "stm32f091"
|
|
|
|
|
))]
|
|
|
|
|
tsc_pins!( gpiob::PB2<Alternate<AF3>> => (3_u8, 4_u8) );
|
|
|
|
|
|
|
|
|
|
tsc_pins!(
|
|
|
|
|
gpioa::PA9<Alternate<AF3>> => (4_u8, 1_u8),
|
|
|
|
|
gpioa::PA10<Alternate<AF3>> => (4_u8, 2_u8),
|
|
|
|
@ -86,6 +108,53 @@ tsc_pins!(
|
|
|
|
|
gpiob::PB7<Alternate<AF3>> => (5_u8, 4_u8),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// all with a TSC minus 42 and 48
|
|
|
|
|
#[cfg(any(
|
|
|
|
|
feature = "stm32f051",
|
|
|
|
|
feature = "stm32f058",
|
|
|
|
|
feature = "stm32f071",
|
|
|
|
|
feature = "stm32f072",
|
|
|
|
|
feature = "stm32f078",
|
|
|
|
|
feature = "stm32f091",
|
|
|
|
|
feature = "stm32f098"
|
|
|
|
|
))]
|
|
|
|
|
tsc_pins!(
|
|
|
|
|
gpiob::PB11<Alternate<AF3>> => (6_u8, 1_u8),
|
|
|
|
|
gpiob::PB12<Alternate<AF3>> => (6_u8, 2_u8),
|
|
|
|
|
gpiob::PB13<Alternate<AF3>> => (6_u8, 3_u8),
|
|
|
|
|
gpiob::PB14<Alternate<AF3>> => (6_u8, 4_u8),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// all with a TSC and gpioe
|
|
|
|
|
#[cfg(any(
|
|
|
|
|
feature = "stm32f071",
|
|
|
|
|
feature = "stm32f072",
|
|
|
|
|
feature = "stm32f078",
|
|
|
|
|
feature = "stm32f091",
|
|
|
|
|
feature = "stm32f098"
|
|
|
|
|
))]
|
|
|
|
|
tsc_pins!(
|
|
|
|
|
gpioe::PE2<Alternate<AF3>> => (7_u8, 1_u8),
|
|
|
|
|
gpioe::PE3<Alternate<AF3>> => (7_u8, 2_u8),
|
|
|
|
|
gpioe::PE4<Alternate<AF3>> => (7_u8, 3_u8),
|
|
|
|
|
gpioe::PE5<Alternate<AF3>> => (7_u8, 4_u8),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// all with a TSC and gpiod
|
|
|
|
|
#[cfg(any(
|
|
|
|
|
feature = "stm32f071",
|
|
|
|
|
feature = "stm32f072",
|
|
|
|
|
feature = "stm32f078",
|
|
|
|
|
feature = "stm32f091",
|
|
|
|
|
feature = "stm32f098"
|
|
|
|
|
))]
|
|
|
|
|
tsc_pins!(
|
|
|
|
|
gpiod::PD12<Alternate<AF3>> => (8_u8, 1_u8),
|
|
|
|
|
gpiod::PD13<Alternate<AF3>> => (8_u8, 2_u8),
|
|
|
|
|
gpiod::PD14<Alternate<AF3>> => (8_u8, 3_u8),
|
|
|
|
|
gpiod::PD15<Alternate<AF3>> => (8_u8, 4_u8),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
pub struct Tsc {
|
|
|
|
|
tsc: TSC,
|
|
|
|
|
}
|
|
|
|
|