embassy-stm32

Crates

git

Versions

stm32h7s3v8

Flavors

embassy_stm32::gpio

Trait Pin

Source
pub trait Pin:
    Peripheral<P = Self>
    + Into<AnyPin>
    + SealedPin
    + Sized
    + 'static {
    type ExtiChannel: Channel;

    // Provided methods
    fn pin(&self) -> u8 { ... }
    fn port(&self) -> u8 { ... }
    fn degrade(self) -> AnyPin { ... }
}
Expand description

GPIO pin trait.

Required Associated Types§

Source

type ExtiChannel: Channel

EXTI channel assigned to this pin.

For example, PC4 uses EXTI4.

Provided Methods§

Source

fn pin(&self) -> u8

Number of the pin within the port (0..31)

Source

fn port(&self) -> u8

Port of the pin

Source

fn degrade(self) -> AnyPin

Type-erase (degrade) this pin into an AnyPin.

This converts pin singletons (PA5, PB6, …), which are all different types, into the same type. It is useful for creating arrays of pins, or avoiding generics.

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.

Implementors§

Source§

impl Pin for PA0

Source§

impl Pin for PA1

Source§

impl Pin for PA2

Source§

impl Pin for PA3

Source§

impl Pin for PA4

Source§

impl Pin for PA5

Source§

impl Pin for PA6

Source§

impl Pin for PA7

Source§

impl Pin for PA8

Source§

impl Pin for PA9

Source§

impl Pin for PA10

Source§

impl Pin for PA11

Source§

impl Pin for PA12

Source§

impl Pin for PA13

Source§

impl Pin for PA14

Source§

impl Pin for PA15

Source§

impl Pin for PB0

Source§

impl Pin for PB1

Source§

impl Pin for PB2

Source§

impl Pin for PB3

Source§

impl Pin for PB4

Source§

impl Pin for PB5

Source§

impl Pin for PB6

Source§

impl Pin for PB7

Source§

impl Pin for PB8

Source§

impl Pin for PB9

Source§

impl Pin for PB10

Source§

impl Pin for PB11

Source§

impl Pin for PB12

Source§

impl Pin for PB13

Source§

impl Pin for PB14

Source§

impl Pin for PB15

Source§

impl Pin for PC0

Source§

impl Pin for PC1

Source§

impl Pin for PC10

Source§

impl Pin for PC11

Source§

impl Pin for PC12

Source§

impl Pin for PC13

Source§

impl Pin for PC14

Source§

impl Pin for PC15

Source§

impl Pin for PD7

Source§

impl Pin for PD12

Source§

impl Pin for PH0

Source§

impl Pin for PH1

Source§

impl Pin for PM0

Source§

impl Pin for PM1

Source§

impl Pin for PM2

Source§

impl Pin for PM3

Source§

impl Pin for PM5

Source§

impl Pin for PM6

Source§

impl Pin for PM8

Source§

impl Pin for PM9

Source§

impl Pin for PM11

Source§

impl Pin for PM12

Source§

impl Pin for PM13

Source§

impl Pin for PM14

Source§

impl Pin for PO0

Source§

impl Pin for PO1

Source§

impl Pin for PO2

Source§

impl Pin for PO4

Source§

impl Pin for PO5

Source§

impl Pin for PP0

Source§

impl Pin for PP1

Source§

impl Pin for PP2

Source§

impl Pin for PP3

Source§

impl Pin for PP4

Source§

impl Pin for PP5

Source§

impl Pin for PP6

Source§

impl Pin for PP7

Source§

impl Pin for AnyPin