Trait Pins

Source
pub trait Pins<REMAP, P> {
    type Channels;

    const C1: bool = false;
    const C2: bool = false;
    const C3: bool = false;
    const C4: bool = false;

    // Required method
    fn split() -> Self::Channels;

    // Provided method
    fn check_used(c: Channel) -> Channel { ... }
}

Provided Associated Constants§

Source

const C1: bool = false

Source

const C2: bool = false

Source

const C3: bool = false

Source

const C4: bool = false

Required Associated Types§

Required Methods§

Source

fn split() -> Self::Channels

Provided Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<TIM, REMAP, OUTMODE, P1, P2> Pins<REMAP, (Ch<$ENCHX>, Ch<$ENCHX>)> for (P1, P2)
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P1: CPin<REMAP, C1> + PinExt<Mode = Alternate<OUTMODE>>, P2: CPin<REMAP, C2> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C1: bool = true

Source§

const C2: bool = true

Source§

type Channels = (PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>)

Source§

fn split() -> Self::Channels

Source§

impl<TIM, REMAP, OUTMODE, P1, P2, P3> Pins<REMAP, (Ch<$ENCHX>, Ch<$ENCHX>, Ch<$ENCHX>)> for (P1, P2, P3)
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P1: CPin<REMAP, C1> + PinExt<Mode = Alternate<OUTMODE>>, P2: CPin<REMAP, C2> + PinExt<Mode = Alternate<OUTMODE>>, P3: CPin<REMAP, C3> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C1: bool = true

Source§

const C2: bool = true

Source§

const C3: bool = true

Source§

type Channels = (PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>)

Source§

fn split() -> Self::Channels

Source§

impl<TIM, REMAP, OUTMODE, P1, P2, P3, P4> Pins<REMAP, (Ch<$ENCHX>, Ch<$ENCHX>, Ch<$ENCHX>, Ch<$ENCHX>)> for (P1, P2, P3, P4)
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P1: CPin<REMAP, C1> + PinExt<Mode = Alternate<OUTMODE>>, P2: CPin<REMAP, C2> + PinExt<Mode = Alternate<OUTMODE>>, P3: CPin<REMAP, C3> + PinExt<Mode = Alternate<OUTMODE>>, P4: CPin<REMAP, C4> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C1: bool = true

Source§

const C2: bool = true

Source§

const C3: bool = true

Source§

const C4: bool = true

Source§

type Channels = (PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>)

Source§

fn split() -> Self::Channels

Source§

impl<TIM, REMAP, OUTMODE, P1, P2, P4> Pins<REMAP, (Ch<$ENCHX>, Ch<$ENCHX>, Ch<$ENCHX>)> for (P1, P2, P4)
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P1: CPin<REMAP, C1> + PinExt<Mode = Alternate<OUTMODE>>, P2: CPin<REMAP, C2> + PinExt<Mode = Alternate<OUTMODE>>, P4: CPin<REMAP, C4> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C1: bool = true

Source§

const C2: bool = true

Source§

const C4: bool = true

Source§

type Channels = (PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>)

Source§

fn split() -> Self::Channels

Source§

impl<TIM, REMAP, OUTMODE, P1, P3> Pins<REMAP, (Ch<$ENCHX>, Ch<$ENCHX>)> for (P1, P3)
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P1: CPin<REMAP, C1> + PinExt<Mode = Alternate<OUTMODE>>, P3: CPin<REMAP, C3> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C1: bool = true

Source§

const C3: bool = true

Source§

type Channels = (PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>)

Source§

fn split() -> Self::Channels

Source§

impl<TIM, REMAP, OUTMODE, P1, P3, P4> Pins<REMAP, (Ch<$ENCHX>, Ch<$ENCHX>, Ch<$ENCHX>)> for (P1, P3, P4)
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P1: CPin<REMAP, C1> + PinExt<Mode = Alternate<OUTMODE>>, P3: CPin<REMAP, C3> + PinExt<Mode = Alternate<OUTMODE>>, P4: CPin<REMAP, C4> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C1: bool = true

Source§

const C3: bool = true

Source§

const C4: bool = true

Source§

type Channels = (PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>)

Source§

fn split() -> Self::Channels

Source§

impl<TIM, REMAP, OUTMODE, P1, P4> Pins<REMAP, (Ch<$ENCHX>, Ch<$ENCHX>)> for (P1, P4)
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P1: CPin<REMAP, C1> + PinExt<Mode = Alternate<OUTMODE>>, P4: CPin<REMAP, C4> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C1: bool = true

Source§

const C4: bool = true

Source§

type Channels = (PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>)

Source§

fn split() -> Self::Channels

Source§

impl<TIM, REMAP, OUTMODE, P2, P3> Pins<REMAP, (Ch<$ENCHX>, Ch<$ENCHX>)> for (P2, P3)
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P2: CPin<REMAP, C2> + PinExt<Mode = Alternate<OUTMODE>>, P3: CPin<REMAP, C3> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C2: bool = true

Source§

const C3: bool = true

Source§

type Channels = (PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>)

Source§

fn split() -> Self::Channels

Source§

impl<TIM, REMAP, OUTMODE, P2, P3, P4> Pins<REMAP, (Ch<$ENCHX>, Ch<$ENCHX>, Ch<$ENCHX>)> for (P2, P3, P4)
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P2: CPin<REMAP, C2> + PinExt<Mode = Alternate<OUTMODE>>, P3: CPin<REMAP, C3> + PinExt<Mode = Alternate<OUTMODE>>, P4: CPin<REMAP, C4> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C2: bool = true

Source§

const C3: bool = true

Source§

const C4: bool = true

Source§

type Channels = (PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>)

Source§

fn split() -> Self::Channels

Source§

impl<TIM, REMAP, OUTMODE, P2, P4> Pins<REMAP, (Ch<$ENCHX>, Ch<$ENCHX>)> for (P2, P4)
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P2: CPin<REMAP, C2> + PinExt<Mode = Alternate<OUTMODE>>, P4: CPin<REMAP, C4> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C2: bool = true

Source§

const C4: bool = true

Source§

type Channels = (PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>)

Source§

fn split() -> Self::Channels

Source§

impl<TIM, REMAP, OUTMODE, P3, P4> Pins<REMAP, (Ch<$ENCHX>, Ch<$ENCHX>)> for (P3, P4)
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P3: CPin<REMAP, C3> + PinExt<Mode = Alternate<OUTMODE>>, P4: CPin<REMAP, C4> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C3: bool = true

Source§

const C4: bool = true

Source§

type Channels = (PwmChannel<TIM, $ENCHX>, PwmChannel<TIM, $ENCHX>)

Source§

fn split() -> Self::Channels

Implementors§

Source§

impl<TIM, REMAP, OUTMODE, P1> Pins<REMAP, Ch<$ENCHX>> for P1
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P1: CPin<REMAP, C1> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C1: bool = true

Source§

type Channels = PwmChannel<TIM, $ENCHX>

Source§

impl<TIM, REMAP, OUTMODE, P2> Pins<REMAP, Ch<$ENCHX>> for P2
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P2: CPin<REMAP, C2> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C2: bool = true

Source§

type Channels = PwmChannel<TIM, $ENCHX>

Source§

impl<TIM, REMAP, OUTMODE, P3> Pins<REMAP, Ch<$ENCHX>> for P3
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P3: CPin<REMAP, C3> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C3: bool = true

Source§

type Channels = PwmChannel<TIM, $ENCHX>

Source§

impl<TIM, REMAP, OUTMODE, P4> Pins<REMAP, Ch<$ENCHX>> for P4
where TIM: Instance + WithPwm, REMAP: Remap<Periph = TIM>, P4: CPin<REMAP, C4> + PinExt<Mode = Alternate<OUTMODE>>,

Source§

const C4: bool = true

Source§

type Channels = PwmChannel<TIM, $ENCHX>