embassy-stm32

Crates

git

Versions

stm32u031g6

Flavors

embassy_stm32::tsc::pin_groups

Struct PinGroupWithRoles

Source
pub struct PinGroupWithRoles<'d, T: Instance, G, R1 = Channel, R2 = Channel, R3 = Channel, R4 = Channel> {
    pub pin_group: PinGroup<'d, T, G>,
    /* private fields */
}
Expand description

Represents a group of TSC pins with their associated roles.

This struct allows for type-safe configuration of TSC pin groups, ensuring that pins are assigned appropriate roles within their group. This type is essentially just a wrapper type around a PinGroup value.

§Type Parameters

  • 'd: Lifetime of the pin group.
  • T: The TSC instance type.
  • G: The group identifier.
  • R1, R2, R3, R4: Role types for each pin in the group, defaulting to Channel.

Fields§

§pin_group: PinGroup<'d, T, G>

The underlying pin group without role information.

Implementations§

Source§

impl<'d, T: Instance, R1: Role, R2: Role, R3: Role, R4: Role> PinGroupWithRoles<'d, T, G1, R1, R2, R3, R4>

Source

pub fn set_io1<Role: Role>( &mut self, pin: impl Peripheral<P = impl G1IO1Pin<T>> + 'd, ) -> IOPinWithRole<G1, Role>

Create a new pin1 for G1 TSC group instance.

Source

pub fn set_io2<Role: Role>( &mut self, pin: impl Peripheral<P = impl G1IO2Pin<T>> + 'd, ) -> IOPinWithRole<G1, Role>

Create a new pin1 for G1 TSC group instance.

Source

pub fn set_io3<Role: Role>( &mut self, pin: impl Peripheral<P = impl G1IO3Pin<T>> + 'd, ) -> IOPinWithRole<G1, Role>

Create a new pin1 for G1 TSC group instance.

Source

pub fn set_io4<Role: Role>( &mut self, pin: impl Peripheral<P = impl G1IO4Pin<T>> + 'd, ) -> IOPinWithRole<G1, Role>

Create a new pin1 for G1 TSC group instance.

Source§

impl<'d, T: Instance, R1: Role, R2: Role, R3: Role, R4: Role> PinGroupWithRoles<'d, T, G2, R1, R2, R3, R4>

Source

pub fn set_io1<Role: Role>( &mut self, pin: impl Peripheral<P = impl G2IO1Pin<T>> + 'd, ) -> IOPinWithRole<G2, Role>

Create a new pin1 for G2 TSC group instance.

Source

pub fn set_io2<Role: Role>( &mut self, pin: impl Peripheral<P = impl G2IO2Pin<T>> + 'd, ) -> IOPinWithRole<G2, Role>

Create a new pin1 for G2 TSC group instance.

Source

pub fn set_io3<Role: Role>( &mut self, pin: impl Peripheral<P = impl G2IO3Pin<T>> + 'd, ) -> IOPinWithRole<G2, Role>

Create a new pin1 for G2 TSC group instance.

Source

pub fn set_io4<Role: Role>( &mut self, pin: impl Peripheral<P = impl G2IO4Pin<T>> + 'd, ) -> IOPinWithRole<G2, Role>

Create a new pin1 for G2 TSC group instance.

Source§

impl<'d, T: Instance, R1: Role, R2: Role, R3: Role, R4: Role> PinGroupWithRoles<'d, T, G3, R1, R2, R3, R4>

Source

pub fn set_io1<Role: Role>( &mut self, pin: impl Peripheral<P = impl G3IO1Pin<T>> + 'd, ) -> IOPinWithRole<G3, Role>

Create a new pin1 for G3 TSC group instance.

Source

pub fn set_io2<Role: Role>( &mut self, pin: impl Peripheral<P = impl G3IO2Pin<T>> + 'd, ) -> IOPinWithRole<G3, Role>

Create a new pin1 for G3 TSC group instance.

Source

pub fn set_io3<Role: Role>( &mut self, pin: impl Peripheral<P = impl G3IO3Pin<T>> + 'd, ) -> IOPinWithRole<G3, Role>

Create a new pin1 for G3 TSC group instance.

Source

pub fn set_io4<Role: Role>( &mut self, pin: impl Peripheral<P = impl G3IO4Pin<T>> + 'd, ) -> IOPinWithRole<G3, Role>

Create a new pin1 for G3 TSC group instance.

Source§

impl<'d, T: Instance, R1: Role, R2: Role, R3: Role, R4: Role> PinGroupWithRoles<'d, T, G4, R1, R2, R3, R4>

Source

pub fn set_io1<Role: Role>( &mut self, pin: impl Peripheral<P = impl G4IO1Pin<T>> + 'd, ) -> IOPinWithRole<G4, Role>

Create a new pin1 for G4 TSC group instance.

Source

pub fn set_io2<Role: Role>( &mut self, pin: impl Peripheral<P = impl G4IO2Pin<T>> + 'd, ) -> IOPinWithRole<G4, Role>

Create a new pin1 for G4 TSC group instance.

Source

pub fn set_io3<Role: Role>( &mut self, pin: impl Peripheral<P = impl G4IO3Pin<T>> + 'd, ) -> IOPinWithRole<G4, Role>

Create a new pin1 for G4 TSC group instance.

Source

pub fn set_io4<Role: Role>( &mut self, pin: impl Peripheral<P = impl G4IO4Pin<T>> + 'd, ) -> IOPinWithRole<G4, Role>

Create a new pin1 for G4 TSC group instance.

Source§

impl<'d, T: Instance, R1: Role, R2: Role, R3: Role, R4: Role> PinGroupWithRoles<'d, T, G5, R1, R2, R3, R4>

Source

pub fn set_io1<Role: Role>( &mut self, pin: impl Peripheral<P = impl G5IO1Pin<T>> + 'd, ) -> IOPinWithRole<G5, Role>

Create a new pin1 for G5 TSC group instance.

Source

pub fn set_io2<Role: Role>( &mut self, pin: impl Peripheral<P = impl G5IO2Pin<T>> + 'd, ) -> IOPinWithRole<G5, Role>

Create a new pin1 for G5 TSC group instance.

Source

pub fn set_io3<Role: Role>( &mut self, pin: impl Peripheral<P = impl G5IO3Pin<T>> + 'd, ) -> IOPinWithRole<G5, Role>

Create a new pin1 for G5 TSC group instance.

Source

pub fn set_io4<Role: Role>( &mut self, pin: impl Peripheral<P = impl G5IO4Pin<T>> + 'd, ) -> IOPinWithRole<G5, Role>

Create a new pin1 for G5 TSC group instance.

Source§

impl<'d, T: Instance, R1: Role, R2: Role, R3: Role, R4: Role> PinGroupWithRoles<'d, T, G6, R1, R2, R3, R4>

Source

pub fn set_io1<Role: Role>( &mut self, pin: impl Peripheral<P = impl G6IO1Pin<T>> + 'd, ) -> IOPinWithRole<G6, Role>

Create a new pin1 for G6 TSC group instance.

Source

pub fn set_io2<Role: Role>( &mut self, pin: impl Peripheral<P = impl G6IO2Pin<T>> + 'd, ) -> IOPinWithRole<G6, Role>

Create a new pin1 for G6 TSC group instance.

Source

pub fn set_io3<Role: Role>( &mut self, pin: impl Peripheral<P = impl G6IO3Pin<T>> + 'd, ) -> IOPinWithRole<G6, Role>

Create a new pin1 for G6 TSC group instance.

Source

pub fn set_io4<Role: Role>( &mut self, pin: impl Peripheral<P = impl G6IO4Pin<T>> + 'd, ) -> IOPinWithRole<G6, Role>

Create a new pin1 for G6 TSC group instance.

Source§

impl<'d, T: Instance, R1: Role, R2: Role, R3: Role, R4: Role> PinGroupWithRoles<'d, T, G7, R1, R2, R3, R4>

Source

pub fn set_io1<Role: Role>( &mut self, pin: impl Peripheral<P = impl G7IO1Pin<T>> + 'd, ) -> IOPinWithRole<G7, Role>

Create a new pin1 for G7 TSC group instance.

Source

pub fn set_io2<Role: Role>( &mut self, pin: impl Peripheral<P = impl G7IO2Pin<T>> + 'd, ) -> IOPinWithRole<G7, Role>

Create a new pin1 for G7 TSC group instance.

Source

pub fn set_io3<Role: Role>( &mut self, pin: impl Peripheral<P = impl G7IO3Pin<T>> + 'd, ) -> IOPinWithRole<G7, Role>

Create a new pin1 for G7 TSC group instance.

Source

pub fn set_io4<Role: Role>( &mut self, pin: impl Peripheral<P = impl G7IO4Pin<T>> + 'd, ) -> IOPinWithRole<G7, Role>

Create a new pin1 for G7 TSC group instance.

Trait Implementations§

Source§

impl<'d, T: Instance, G, R1, R2, R3, R4> Default for PinGroupWithRoles<'d, T, G, R1, R2, R3, R4>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'d, T, G, R1, R2, R3, R4> Freeze for PinGroupWithRoles<'d, T, G, R1, R2, R3, R4>

§

impl<'d, T, G, R1, R2, R3, R4> RefUnwindSafe for PinGroupWithRoles<'d, T, G, R1, R2, R3, R4>

§

impl<'d, T, G, R1, R2, R3, R4> Send for PinGroupWithRoles<'d, T, G, R1, R2, R3, R4>
where R1: Send, R2: Send, R3: Send, R4: Send, T: Send, G: Send,

§

impl<'d, T, G, R1, R2, R3, R4> Sync for PinGroupWithRoles<'d, T, G, R1, R2, R3, R4>
where R1: Sync, R2: Sync, R3: Sync, R4: Sync, T: Sync, G: Sync,

§

impl<'d, T, G, R1, R2, R3, R4> Unpin for PinGroupWithRoles<'d, T, G, R1, R2, R3, R4>
where R1: Unpin, R2: Unpin, R3: Unpin, R4: Unpin, T: Unpin, G: Unpin,

§

impl<'d, T, G, R1 = Channel, R2 = Channel, R3 = Channel, R4 = Channel> !UnwindSafe for PinGroupWithRoles<'d, T, G, R1, R2, R3, R4>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.