esp_hal::peripherals

Struct Peripherals

Source
pub struct Peripherals {
Show 111 fields pub I2C0: I2C0, pub I2C1: I2C1, pub SPI2: SPI2, pub SPI3: SPI3, pub UART0: UART0, pub UART1: UART1, pub UART2: UART2, pub ADC1: ADC1, pub ADC2: ADC2, pub AES: AES, pub APB_SARADC: APB_SARADC, pub APB_CTRL: APB_CTRL, pub ASSIST_DEBUG: ASSIST_DEBUG, pub BT: BT, pub CPU_CTRL: CPU_CTRL, pub DMA: DMA, pub DS: DS, pub EFUSE: EFUSE, pub EXTMEM: EXTMEM, pub GPIO: GPIO, pub GPIO_SD: GPIO_SD, pub HMAC: HMAC, pub I2S0: I2S0, pub I2S1: I2S1, pub INTERRUPT_CORE0: INTERRUPT_CORE0, pub INTERRUPT_CORE1: INTERRUPT_CORE1, pub IO_MUX: IO_MUX, pub LCD_CAM: LCD_CAM, pub LEDC: LEDC, pub LPWR: LPWR, pub PCNT: PCNT, pub PERI_BACKUP: PERI_BACKUP, pub PSRAM: PSRAM, pub MCPWM0: MCPWM0, pub MCPWM1: MCPWM1, pub RADIO_CLK: RADIO_CLK, pub RMT: RMT, pub RNG: RNG, pub RSA: RSA, pub RTC_I2C: RTC_I2C, pub RTC_IO: RTC_IO, pub SENS: SENS, pub SENSITIVE: SENSITIVE, pub SHA: SHA, pub SPI0: SPI0, pub SPI1: SPI1, pub SYSTEM: SYSTEM, pub SYSTIMER: SYSTIMER, pub SW_INTERRUPT: SW_INTERRUPT, pub TIMG0: TIMG0, pub TIMG1: TIMG1, pub TWAI0: TWAI0, pub UHCI0: UHCI0, pub UHCI1: UHCI1, pub ULP_RISCV_CORE: ULP_RISCV_CORE, pub USB0: USB0, pub USB_DEVICE: USB_DEVICE, pub USB_WRAP: USB_WRAP, pub WCL: WCL, 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 GPIO47: GpioPin<47>, pub GPIO48: GpioPin<48>, pub DMA_CH0: DmaChannel0, pub DMA_CH1: DmaChannel1, pub DMA_CH2: DmaChannel2, pub DMA_CH3: DmaChannel3, pub DMA_CH4: DmaChannel4,
}
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.

§UART2: UART2

The UART2 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.

§APB_CTRL: APB_CTRL
Available on crate feature unstable only.

The APB_CTRL 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.

§ASSIST_DEBUG: ASSIST_DEBUG
Available on crate feature unstable only.

The ASSIST_DEBUG 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.

§BT: BT
Available on crate feature unstable only.

The BT 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.

§CPU_CTRL: CPU_CTRL
Available on crate feature unstable only.

The CPU_CTRL 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.

§DMA: DMA
Available on crate feature unstable only.

The 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.

§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.

§I2S1: I2S1
Available on crate feature unstable only.

The I2S1 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.

§INTERRUPT_CORE1: INTERRUPT_CORE1
Available on crate feature unstable only.

The INTERRUPT_CORE1 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.

§LCD_CAM: LCD_CAM
Available on crate feature unstable only.

The LCD_CAM 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.

§PERI_BACKUP: PERI_BACKUP
Available on crate feature unstable only.

The PERI_BACKUP 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.

§MCPWM0: MCPWM0
Available on crate feature unstable only.

The MCPWM0 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.

§MCPWM1: MCPWM1
Available on crate feature unstable only.

The MCPWM1 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_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.

§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.

§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.

§SENSITIVE: SENSITIVE
Available on crate feature unstable only.

The SENSITIVE 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.

§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.

§UHCI1: UHCI1
Available on crate feature unstable only.

The UHCI1 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_DEVICE: USB_DEVICE
Available on crate feature unstable only.

The USB_DEVICE 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.

§WCL: WCL
Available on crate feature unstable only.

The WCL 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

§GPIO47: GpioPin<47>

GPIO47

§GPIO48: GpioPin<48>

GPIO48

§DMA_CH0: DmaChannel0

DMA_CH0 DMA channel.

§DMA_CH1: DmaChannel1

DMA_CH1 DMA channel.

§DMA_CH2: DmaChannel2

DMA_CH2 DMA channel.

§DMA_CH3: DmaChannel3

DMA_CH3 DMA channel.

§DMA_CH4: DmaChannel4

DMA_CH4 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.