esp_hal::peripherals

Struct Peripherals

Source
pub struct Peripherals {
Show 98 fields pub I2C0: I2C0, pub I2C1: I2C1, pub SPI2: SPI2, pub SPI3: SPI3, pub UART0: UART0, pub UART1: UART1, pub ADC1: ADC1, pub ADC2: ADC2, pub AES: AES, pub APB_SARADC: APB_SARADC, pub DAC1: DAC1, pub DAC2: DAC2, pub CRYPTO_DMA: CRYPTO_DMA, pub DEDICATED_GPIO: DEDICATED_GPIO, pub DS: DS, pub EFUSE: EFUSE, pub EXTMEM: EXTMEM, pub GPIO: GPIO, pub GPIO_SD: GPIO_SD, pub HMAC: HMAC, pub I2S0: I2S0, pub INTERRUPT_CORE0: INTERRUPT_CORE0, pub IO_MUX: IO_MUX, pub LEDC: LEDC, pub LPWR: LPWR, pub PCNT: PCNT, pub PMS: PMS, pub PSRAM: PSRAM, pub RADIO_CLK: RADIO_CLK, pub RMT: RMT, pub RNG: RNG, pub RSA: RSA, pub RTC_IO: RTC_IO, pub RTC_I2C: RTC_I2C, pub SENS: SENS, pub SHA: SHA, pub SPI0: SPI0, pub SPI1: SPI1, pub SYSCON: SYSCON, pub SYSTEM: SYSTEM, pub SYSTIMER: SYSTIMER, pub SW_INTERRUPT: SW_INTERRUPT, pub TIMG0: TIMG0, pub TIMG1: TIMG1, pub TWAI0: TWAI0, pub UHCI0: UHCI0, pub ULP_RISCV_CORE: ULP_RISCV_CORE, pub USB0: USB0, pub USB_WRAP: USB_WRAP, pub WIFI: WIFI, pub XTS_AES: XTS_AES, pub GPIO0: GpioPin<0>, pub GPIO1: GpioPin<1>, pub GPIO2: GpioPin<2>, pub GPIO3: GpioPin<3>, pub GPIO4: GpioPin<4>, pub GPIO5: GpioPin<5>, pub GPIO6: GpioPin<6>, pub GPIO7: GpioPin<7>, pub GPIO8: GpioPin<8>, pub GPIO9: GpioPin<9>, pub GPIO10: GpioPin<10>, pub GPIO11: GpioPin<11>, pub GPIO12: GpioPin<12>, pub GPIO13: GpioPin<13>, pub GPIO14: GpioPin<14>, pub GPIO15: GpioPin<15>, pub GPIO16: GpioPin<16>, pub GPIO17: GpioPin<17>, pub GPIO18: GpioPin<18>, pub GPIO19: GpioPin<19>, pub GPIO20: GpioPin<20>, pub GPIO21: GpioPin<21>, pub GPIO26: GpioPin<26>, pub GPIO27: GpioPin<27>, pub GPIO28: GpioPin<28>, pub GPIO29: GpioPin<29>, pub GPIO30: GpioPin<30>, pub GPIO31: GpioPin<31>, pub GPIO32: GpioPin<32>, pub GPIO33: GpioPin<33>, pub GPIO34: GpioPin<34>, pub GPIO35: GpioPin<35>, pub GPIO36: GpioPin<36>, pub GPIO37: GpioPin<37>, pub GPIO38: GpioPin<38>, pub GPIO39: GpioPin<39>, pub GPIO40: GpioPin<40>, pub GPIO41: GpioPin<41>, pub GPIO42: GpioPin<42>, pub GPIO43: GpioPin<43>, pub GPIO44: GpioPin<44>, pub GPIO45: GpioPin<45>, pub GPIO46: GpioPin<46>, pub DMA_SPI2: Spi2DmaChannel, pub DMA_SPI3: Spi3DmaChannel, pub DMA_I2S0: I2s0DmaChannel, pub DMA_CRYPTO: CryptoDmaChannel,
}
Expand description

The Peripherals struct provides access to all of the hardware peripherals on the chip.

Fields§

§I2C0: I2C0

The I2C0 peripheral.

§I2C1: I2C1

The I2C1 peripheral.

§SPI2: SPI2

The SPI2 peripheral.

§SPI3: SPI3

The SPI3 peripheral.

§UART0: UART0

The UART0 peripheral.

§UART1: UART1

The UART1 peripheral.

§ADC1: ADC1
Available on crate feature unstable only.

The ADC1 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§ADC2: ADC2
Available on crate feature unstable only.

The ADC2 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§AES: AES
Available on crate feature unstable only.

The AES peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§APB_SARADC: APB_SARADC
Available on crate feature unstable only.

The APB_SARADC peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§DAC1: DAC1
Available on crate feature unstable only.

The DAC1 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§DAC2: DAC2
Available on crate feature unstable only.

The DAC2 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§CRYPTO_DMA: CRYPTO_DMA
Available on crate feature unstable only.

The CRYPTO_DMA peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§DEDICATED_GPIO: DEDICATED_GPIO
Available on crate feature unstable only.

The DEDICATED_GPIO peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§DS: DS
Available on crate feature unstable only.

The DS peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§EFUSE: EFUSE
Available on crate feature unstable only.

The EFUSE peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§EXTMEM: EXTMEM
Available on crate feature unstable only.

The EXTMEM peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§GPIO: GPIO
Available on crate feature unstable only.

The GPIO peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§GPIO_SD: GPIO_SD
Available on crate feature unstable only.

The GPIO_SD peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§HMAC: HMAC
Available on crate feature unstable only.

The HMAC peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§I2S0: I2S0
Available on crate feature unstable only.

The I2S0 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§INTERRUPT_CORE0: INTERRUPT_CORE0
Available on crate feature unstable only.

The INTERRUPT_CORE0 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§IO_MUX: IO_MUX
Available on crate feature unstable only.

The IO_MUX peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§LEDC: LEDC
Available on crate feature unstable only.

The LEDC peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§LPWR: LPWR
Available on crate feature unstable only.

The LPWR peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§PCNT: PCNT
Available on crate feature unstable only.

The PCNT peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§PMS: PMS
Available on crate feature unstable only.

The PMS peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§PSRAM: PSRAM
Available on crate feature unstable only.

The PSRAM peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§RADIO_CLK: RADIO_CLK
Available on crate feature unstable only.

The RADIO_CLK peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§RMT: RMT
Available on crate feature unstable only.

The RMT peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§RNG: RNG
Available on crate feature unstable only.

The RNG peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§RSA: RSA
Available on crate feature unstable only.

The RSA peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§RTC_IO: RTC_IO
Available on crate feature unstable only.

The RTC_IO peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§RTC_I2C: RTC_I2C
Available on crate feature unstable only.

The RTC_I2C peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§SENS: SENS
Available on crate feature unstable only.

The SENS peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§SHA: SHA
Available on crate feature unstable only.

The SHA peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§SPI0: SPI0
Available on crate feature unstable only.

The SPI0 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§SPI1: SPI1
Available on crate feature unstable only.

The SPI1 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§SYSCON: SYSCON
Available on crate feature unstable only.

The SYSCON peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§SYSTEM: SYSTEM
Available on crate feature unstable only.

The SYSTEM peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§SYSTIMER: SYSTIMER
Available on crate feature unstable only.

The SYSTIMER peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§SW_INTERRUPT: SW_INTERRUPT
Available on crate feature unstable only.

The SW_INTERRUPT peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§TIMG0: TIMG0
Available on crate feature unstable only.

The TIMG0 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§TIMG1: TIMG1
Available on crate feature unstable only.

The TIMG1 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§TWAI0: TWAI0
Available on crate feature unstable only.

The TWAI0 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§UHCI0: UHCI0
Available on crate feature unstable only.

The UHCI0 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§ULP_RISCV_CORE: ULP_RISCV_CORE
Available on crate feature unstable only.

The ULP_RISCV_CORE peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§USB0: USB0
Available on crate feature unstable only.

The USB0 peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§USB_WRAP: USB_WRAP
Available on crate feature unstable only.

The USB_WRAP peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§WIFI: WIFI
Available on crate feature unstable only.

The WIFI peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§XTS_AES: XTS_AES
Available on crate feature unstable only.

The XTS_AES peripheral. This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

§GPIO0: GpioPin<0>

GPIO0

§GPIO1: GpioPin<1>

GPIO1

§GPIO2: GpioPin<2>

GPIO2

§GPIO3: GpioPin<3>

GPIO3

§GPIO4: GpioPin<4>

GPIO4

§GPIO5: GpioPin<5>

GPIO5

§GPIO6: GpioPin<6>

GPIO6

§GPIO7: GpioPin<7>

GPIO7

§GPIO8: GpioPin<8>

GPIO8

§GPIO9: GpioPin<9>

GPIO9

§GPIO10: GpioPin<10>

GPIO10

§GPIO11: GpioPin<11>

GPIO11

§GPIO12: GpioPin<12>

GPIO12

§GPIO13: GpioPin<13>

GPIO13

§GPIO14: GpioPin<14>

GPIO14

§GPIO15: GpioPin<15>

GPIO15

§GPIO16: GpioPin<16>

GPIO16

§GPIO17: GpioPin<17>

GPIO17

§GPIO18: GpioPin<18>

GPIO18

§GPIO19: GpioPin<19>

GPIO19

§GPIO20: GpioPin<20>

GPIO20

§GPIO21: GpioPin<21>

GPIO21

§GPIO26: GpioPin<26>

GPIO26

§GPIO27: GpioPin<27>

GPIO27

§GPIO28: GpioPin<28>

GPIO28

§GPIO29: GpioPin<29>

GPIO29

§GPIO30: GpioPin<30>

GPIO30

§GPIO31: GpioPin<31>

GPIO31

§GPIO32: GpioPin<32>

GPIO32

§GPIO33: GpioPin<33>

GPIO33

§GPIO34: GpioPin<34>

GPIO34

§GPIO35: GpioPin<35>

GPIO35

§GPIO36: GpioPin<36>

GPIO36

§GPIO37: GpioPin<37>

GPIO37

§GPIO38: GpioPin<38>

GPIO38

§GPIO39: GpioPin<39>

GPIO39

§GPIO40: GpioPin<40>

GPIO40

§GPIO41: GpioPin<41>

GPIO41

§GPIO42: GpioPin<42>

GPIO42

§GPIO43: GpioPin<43>

GPIO43

§GPIO44: GpioPin<44>

GPIO44

§GPIO45: GpioPin<45>

GPIO45

§GPIO46: GpioPin<46>

GPIO46

§DMA_SPI2: Spi2DmaChannel

DMA_SPI2 DMA channel.

§DMA_SPI3: Spi3DmaChannel

DMA_SPI3 DMA channel.

§DMA_I2S0: I2s0DmaChannel

DMA_I2S0 DMA channel.

§DMA_CRYPTO: CryptoDmaChannel

DMA_CRYPTO DMA channel.

Implementations§

Source§

impl Peripherals

Source

pub unsafe fn steal() -> Self

Unsafely create an instance of this peripheral out of thin air.

§Safety

You must ensure that you’re only using one instance of this type at a time.

Auto Trait Implementations§

§

impl Freeze for Peripherals

§

impl RefUnwindSafe for Peripherals

§

impl Send for Peripherals

§

impl Sync for Peripherals

§

impl Unpin for Peripherals

§

impl UnwindSafe for Peripherals

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.