Module esp32_hal::gpio[][src]

Expand description

GPIO and pin configuration

ESP32 has very flexible pin assignment via the GPIO mux. It also has a separate RTC mux for low power and analog functions.

To support this flexibility two sets of traits are supported:

The advantage of using the dedicated traits in peripherals is that the configuration of the IO can be done inside the peripheral instead of having to be done upfront.

Re-exports

pub use crate::prelude::*;

Structs

Alternate Function 1

Alternate Function 2

Alternate Function 4

Alternate Function 5

Alternate Function 6

Alternate function (type state)

Analog mode (type state)

Floating input (type state)

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Pin

Input mode (type state)

Open drain input or output (type state)

Output mode (type state)

Collection of all GPIO pins

Pulled down input (type state)

Pulled up input (type state)

Push pull output (type state)

Input mode via RTC (type state)

Output mode via RTC (type state)

Unknown mode (type state)

Enums

Alternative pin functions

Drive strength (values are approximates)

Interrupt events

Peripheral input signals for the GPIO mux

Peripheral output signals for the GPIO mux

Traits

Extension trait to split a GPIO peripheral into independent pins and registers

Functions available on input pins

Functions available on output pins

Functions available on all pins

Functions available on pins with pull up/down resistors

Functions available on RTC input pins

Functions available on RTC output pins

Functions

Connect fixed high to peripheral

Connect fixed low to peripheral