pub trait Pins<TIM> {
type Channels;
const REMAP: u8;
const C1: bool;
const C2: bool;
const C3: bool;
const C4: bool;
}
const C1: bool
const C2: bool
const C3: bool
const C4: bool
impl Pins<TIM2> for (PA0<Alternate<PushPull>>, PA1<Alternate<PushPull>>, PA2<Alternate<PushPull>>, PA3<Alternate<PushPull>>) type Channels = (Pwm<TIM2, C1>, Pwm<TIM2, C2>, Pwm<TIM2, C3>, Pwm<TIM2, C4>);
impl Pins<TIM2> for PA0<Alternate<PushPull>> type Channels = Pwm<TIM2, C1>;
impl Pins<TIM3> for (PA6<Alternate<PushPull>>, PA7<Alternate<PushPull>>, PB0<Alternate<PushPull>>, PB1<Alternate<PushPull>>) type Channels = (Pwm<TIM3, C1>, Pwm<TIM3, C2>, Pwm<TIM3, C3>, Pwm<TIM3, C4>);
impl Pins<TIM3> for (PB0<Alternate<PushPull>>, PB1<Alternate<PushPull>>) type Channels = (Pwm<TIM3, C3>, Pwm<TIM3, C4>);
impl Pins<TIM4> for (PB6<Alternate<PushPull>>, PB7<Alternate<PushPull>>, PB8<Alternate<PushPull>>, PB9<Alternate<PushPull>>) type Channels = (Pwm<TIM4, C1>, Pwm<TIM4, C2>, Pwm<TIM4, C3>, Pwm<TIM4, C4>);