Docs.rs
  • esp32c6-hal-0.8.1
    • esp32c6-hal 0.8.1
    • Permalink
    • Docs.rs crate page
    • MIT OR Apache-2.0
    • Links
    • Repository
    • crates.io
    • Source
    • Owners
    • jessebraham
    • github:esp-rs:espressif
    • Dependencies
      • esp-hal-common ^0.15.0 normal
      • aes ^0.8.3 dev
      • critical-section ^1.1.2 dev
      • crypto-bigint ^0.5.5 dev
      • elliptic-curve ^0.13.8 dev
      • embassy-executor ^0.5.0 dev
      • embassy-sync ^0.5.0 dev
      • embassy-time ^0.3.0 dev
      • embedded-can ^0.4.1 dev
      • embedded-graphics ^0.8.1 dev
      • embedded-hal ^1.0.0 dev
      • embedded-hal-async ^1.0.0 dev
      • embedded-hal-bus ^0.1.0 dev
      • embedded-io-async ^0.6.1 dev
      • esp-backtrace ^0.10.0 dev
      • esp-hal-smartled ^0.8.0 dev
      • esp-println ^0.8.0 dev
      • heapless ^0.8.0 dev
      • hex-literal ^0.4.1 dev
      • hmac ^0.12.1 dev
      • lis3dh-async ^0.9.1 dev
      • p192 ^0.13.0 dev
      • p256 ^0.13.2 dev
      • sha2 ^0.10.8 dev
      • smart-leds ^0.4.0 dev
      • ssd1306 ^0.8.4 dev
      • static_cell ^2.0.0 dev
      • build-alert ^0.1.6 build
    • Versions
    • 100% of the crate is documented
  • Platform
    • i686-pc-windows-msvc
    • i686-unknown-linux-gnu
    • x86_64-apple-darwin
    • x86_64-pc-windows-msvc
    • x86_64-unknown-linux-gnu
  • Feature flags
  • docs.rs
    • About docs.rs
    • Badges
    • Builds
    • Metadata
    • Shorthand URLs
    • Download
    • Rustdoc JSON
    • Build queue
    • Privacy policy
  • Rust
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate esp32c6_hal

logo

esp32c6_hal0.8.1

  • All Items

Sections

  • Cargo Features
    • Default Features

Crate Items

  • Modules
  • Macros
  • Structs
  • Enums
  • Functions
  • Attribute Macros

Crates

  • esp32c6_hal

Crate esp32c6_hal

Source
Expand description

no_std HAL for the ESP32-C6 from Espressif.

This package has been deprecated in favour of esp-hal. Please refer to the migration guide for help with updating your projects to use the new esp-hal package:

https://github.com/esp-rs/esp-hal/releases/tag/v0.16.0

Implements a number of the traits defined by the various packages in the embedded-hal repository.

§Cargo Features

  • async - Enable support for asynchronous operation, with interfaces provided by embedded-hal-async and embedded-io-async
  • debug - Enable debug features in the HAL (used for development)
  • defmt - Enable defmt::Format on certain types
  • direct-vectoring - Enable direct vector table hooking support
  • eh1 - Implement the traits defined in the 1.0.0-xxx pre-releases of embedded-hal, embedded-hal-nb, and embedded-io
  • embassy - Enable support for embassy, a modern asynchronous embedded framework. One of embassy-time-* features must also be enabled when using this feature.
  • embassy-time-systick - Enable the embassy time driver using the SYSTIMER peripheral. The SYSTIMER peripheral has three alarms available for use
  • embassy-time-timg0 - Enable the embassy time driver using the TIMG0 peripheral. The TIMG0 peripheral has a single alarm available for use
  • embassy-integrated-timers - Uses hardware timers as alarms for the executors. Using this feature limits the number of executors to the number of hardware alarms provided by the time driver
  • embassy-generic-queue-N (where N can be 8, 16, 32, 64 or 128) - Use a generic timer queue of size N for the executors’ timer queues. Using this feature can expand the number of executors you can use to N
  • interrupt-preemption - Enable priority-based interrupt preemption
  • log - enable log output using the log crate
  • rt - Runtime support
  • ufmt - Implement the ufmt_write::uWrite trait for the UART and USB Serial JTAG drivers
  • vectored - Enable interrupt vectoring
  • flip-link - move the stack to the start of RAM to get zero-cost stack overflow protection
§Default Features

The rt, vectored and embassy-integrated-timers features are enabled by default.

Modules§

aes
Advanced Encryption Standard (AES) support.
analog
Analog peripherals
assist_debug
Debug Assistant
clock
Clock Control
delay
Delay driver
dma
Direct Memory Access Commons
ecc
ECC Accelerator
efuse
Reading of eFuses (ESP32-C6)
esp_riscv_rt
Minimal startup / runtime for RISC-V CPUs from Espressif
etm
Event Task Matrix (ETM)
gpio
General Purpose I/Os
hmac
HMAC Accelerator
i2c
I2C Driver
i2s
I2S Master
interrupt
Interrupt support
ledc
LEDC (LED PWM Controller) peripheral control
lp_core
Control the LP core
macros
Overview
mcpwm
MCPWM (Motor Control Pulse Width Modulator) peripheral
parl_io
Parallel IO
pcnt
Pulse Counter peripheral driver
peripheral
Exclusive peripheral access
peripherals
Peripheral instance singletons (ESP32-C6)
prelude
The prelude
reset
Hardware and Software Reset
rmt
Remote Control Peripheral (RMT)
rng
Random Number Generator
rom
ESP ROM libraries
rsa
RSA Accelerator support.
rtc_cntl
RTC_CNTL (Real-Time Clock Control) and Low-power Management
sha
Secure Hash Algorithm peripheral driver
spi
Serial Peripheral Interface
system
System Control
systimer
System Timer peripheral driver
timer
General-purpose timers
trace
RISC­V Trace Encoder (TRACE)
trapframe
State of the CPU saved when entering exception or interrupt
twai
Two-wire Automotive Interface (TWAI)
uart
UART driver
usb_serial_jtag
USB Serial JTAG peripheral driver

Macros§

dma_buffers
Convenience macro to create DMA buffers and descriptors
dma_descriptors
Convenience macro to create DMA descriptors

Structs§

Delay
Delay driver
FlashSafeDma
FlashSafeDma
IO
General Purpose Input/Output driver
Rmt
RMT Instance
Rng
Random number generator driver
Rtc
Low-power Management
Rwdt
RTC Watchdog Timer
Timer
General-purpose Timer driver
Uart
UART driver
UartRx
UART RX
UartTx
UART TX
UsbSerialJtag
USB Serial JTAG driver

Enums§

Cpu
Available CPU cores

Functions§

get_core
Which core the application is currently executing on

Attribute Macros§

entry
Attribute to declare the entry point of the program

Results

Settings
Help
    struct
    esp32c6_hal::spi::master::Spi
    SPI peripheral driver
    struct
    esp32c6_hal::spi::slave::Spi
    SPI peripheral driver
    module
    esp32c6_hal::spi
    Serial Peripheral Interface
    struct
    esp32c6_hal::peripherals::SPI0
    struct field
    esp32c6_hal::peripherals::Peripherals::SPI0
    struct
    esp32c6_hal::peripherals::SPI1
    struct field
    esp32c6_hal::peripherals::Peripherals::SPI1
    enum variant
    esp32c6_hal::peripherals::Interrupt::SPI2
    72 - SPI2
    struct
    esp32c6_hal::peripherals::SPI2
    struct field
    esp32c6_hal::peripherals::Peripherals::SPI2
    enum variant
    esp32c6_hal::dma::DmaPeripheral::Spi2
    enum variant
    esp32c6_hal::system::Peripheral::Spi2
    enum variant
    esp32c6_hal::gpio::InputSignal::SPID
    enum variant
    esp32c6_hal::gpio::OutputSignal::SPID
    method
    esp32c6_hal::esp_riscv_rt::riscv::register::mstatus::Mstatus::spie
    Supervisor Previous Interrupt Enable
    method
    esp32c6_hal::esp_riscv_rt::riscv::register::sstatus::Sstatus::spie
    Supervisor Previous Interrupt Enable
    enum variant
    esp32c6_hal::gpio::InputSignal::SPIQ
    enum variant
    esp32c6_hal::gpio::OutputSignal::SPIQ
    enum variant
    esp32c6_hal::gpio::InputSignal::SPIHD
    enum variant
    esp32c6_hal::gpio::OutputSignal::SPIHD
    enum variant
    esp32c6_hal::gpio::InputSignal::SPIWP
    enum variant
    esp32c6_hal::gpio::OutputSignal::SPIWP
    enum variant
    esp32c6_hal::gpio::OutputSignal::SPICS0
    enum variant
    esp32c6_hal::gpio::OutputSignal::SPICS1
    struct
    esp32c6_hal::spi::master::dma::SpiDma
    A DMA capable SPI instance.
    struct
    esp32c6_hal::spi::slave::dma::SpiDma
    A DMA capable SPI instance.
    trait method
    esp32c6_hal::spi::master::Instance::spi_num
    trait method
    esp32c6_hal::spi::slave::Instance::spi_num
    method
    esp32c6_hal::peripherals::SPI2::spi_num
    enum
    esp32c6_hal::spi::SpiMode
    SPI modes
    enum variant
    esp32c6_hal::gpio::OutputSignal::SPICLK_MUX
    enum
    esp32c6_hal::spi::SpiDataMode
    SPI data mode
    trait
    esp32c6_hal::dma::SpiPeripheral
    Marks channels as useable for SPI
    trait
    esp32c6_hal::dma::Spi2Peripheral
    Marks channels as useable for SPI2
    struct
    esp32c6_hal::spi::master::dma::SpiDmaTransfer
    An in-progress DMA transfer.
    struct
    esp32c6_hal::spi::slave::dma::SpiDmaTransferRx
    struct
    esp32c6_hal::spi::slave::dma::SpiDmaTransferTx
    An in-progress DMA transfer.
    constant
    esp32c6_hal::efuse::SPI_BOOT_CRYPT_CNT
    [] Enables flash encryption when 1 or 3 bits are set and …
    struct
    esp32c6_hal::spi::master::dma::SpiDmaTransferRxTx
    An in-progress DMA transfer
    struct
    esp32c6_hal::spi::slave::dma::SpiDmaTransferRxTx
    An in-progress DMA transfer
    constant
    esp32c6_hal::efuse::SPI_DOWNLOAD_MSPI_DIS
    [] Represents whether SPI0 controller during …
    enum variant
    esp32c6_hal::peripherals::Interrupt::MSPI
    40 - MSPI
    enum variant
    esp32c6_hal::gpio::InputSignal::FSPID
    enum variant
    esp32c6_hal::gpio::OutputSignal::FSPID
    enum variant
    esp32c6_hal::gpio::InputSignal::FSPIQ
    enum variant
    esp32c6_hal::gpio::OutputSignal::FSPIQ
    enum variant
    esp32c6_hal::gpio::InputSignal::FSPIHD
    enum variant
    esp32c6_hal::gpio::OutputSignal::FSPIHD
    enum variant
    esp32c6_hal::gpio::InputSignal::FSPIWP
    enum variant
    esp32c6_hal::gpio::OutputSignal::FSPIWP
    enum variant
    esp32c6_hal::gpio::InputSignal::FSPICLK
    enum variant
    esp32c6_hal::gpio::InputSignal::FSPICS0
    enum variant
    esp32c6_hal::gpio::OutputSignal::FSPICS0
    enum variant
    esp32c6_hal::gpio::OutputSignal::FSPICS1
    enum variant
    esp32c6_hal::gpio::OutputSignal::FSPICS2
    enum variant
    esp32c6_hal::gpio::OutputSignal::FSPICS3
    enum variant
    esp32c6_hal::gpio::OutputSignal::FSPICS4
    enum variant
    esp32c6_hal::gpio::OutputSignal::FSPICS5
    enum variant
    esp32c6_hal::gpio::OutputSignal::FSPICLK_MUX
    function
    esp32c6_hal::esp_riscv_rt::riscv::register::mstatus::set_spie
    Supervisor Previous Interrupt Enable
    function
    esp32c6_hal::esp_riscv_rt::riscv::register::sstatus::set_spie
    Supervisor Previous Interrupt Enable
    constant
    esp32c6_hal::efuse::VDD_SPI_AS_GPIO
    [] Represents whether vdd spi pin is functioned as gpio. …
    method
    esp32c6_hal::spi::master::Instance::init_spi_data_mode
    constant
    esp32c6_hal::efuse::WR_DIS_SPI_BOOT_CRYPT_CNT
    [] wr_dis of SPI_BOOT_CRYPT_CNT
    constant
    esp32c6_hal::efuse::WR_DIS_SPI_DOWNLOAD_MSPI_DIS
    [] wr_dis of SPI_DOWNLOAD_MSPI_DIS
    trait
    esp32c6_hal::spi::slave::prelude::_esp_hal_spi_slave_Instance
    trait
    esp32c6_hal::spi::master::prelude::_esp_hal_spi_master_Instance
    trait
    esp32c6_hal::spi::slave::prelude::_esp_hal_spi_slave_InstanceDma
    trait
    esp32c6_hal::spi::master::prelude::_esp_hal_spi_master_InstanceDma
    trait
    esp32c6_hal::spi::slave::prelude::_esp_hal_spi_slave_dma_WithDmaSpi2
    trait
    esp32c6_hal::spi::master::prelude::_esp_hal_spi_master_dma_WithDmaSpi2
    trait
    esp32c6_hal::spi::master::dma::WithDmaSpi2
    trait
    esp32c6_hal::spi::slave::dma::WithDmaSpi2
    constant
    esp32c6_hal::efuse::WR_DIS_VDD_SPI_AS_GPIO
    [] wr_dis of VDD_SPI_AS_GPIO
    trait
    esp32c6_hal::prelude::_embedded_hal_spi_FullDuplex
    Full duplex (master mode)
    trait
    esp32c6_hal::prelude::_embedded_hal_blocking_spi_Write
    Blocking write
    trait
    esp32c6_hal::prelude::_embedded_hal_blocking_spi_Transfer
    Blocking transfer
    struct field
    esp32c6_hal::interrupt::TrapFrame::sp
    module
    esp32c6_hal::esp_riscv_rt::riscv::register::sip
    sip register
    struct
    esp32c6_hal::esp_riscv_rt::riscv::register::sip::Sip
    sip register
    enum
    esp32c6_hal::esp_riscv_rt::riscv::register::mstatus::SPP
    Supervisor Previous Privilege Mode
    enum
    esp32c6_hal::esp_riscv_rt::riscv::register::sstatus::SPP
    Supervisor Previous Privilege Mode
    method
    esp32c6_hal::esp_riscv_rt::riscv::register::mstatus::Mstatus::spp
    Supervisor Previous Privilege Mode
    method
    esp32c6_hal::esp_riscv_rt::riscv::register::sstatus::Sstatus::spp
    Supervisor Previous Privilege Mode
    method
    esp32c6_hal::spi::slave::Spi::with_dma
    Spi<SPI2, FullDuplexMode>, Channel<C> -> SpiDma<SPI2, C>
    method
    esp32c6_hal::spi::master::Spi::read
    &mut Spi<T, M> -> Result<u8, Error>
    method
    esp32c6_hal::spi::master::Spi::send
    &mut Spi<T, M>, u8 -> Result<(), Error>
    method
    esp32c6_hal::spi::master::Spi::with_dma
    Spi<SPI2, M>, Channel<C> -> SpiDma<SPI2, C, M>
    method
    esp32c6_hal::spi::master::Spi::change_bus_frequency
    &mut Spi<T, FullDuplexMode>, Rate<u32>, &Clocks -> ()
    method
    esp32c6_hal::spi::master::Spi::write
    &mut Spi<T, M>, &[u8] -> Result<()>
    method
    esp32c6_hal::spi::master::Spi::with_cs
    Spi<T, FullDuplexMode>, Peripheral<P=CS> -> Spi<T, FullDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::with_sck
    Spi<T, FullDuplexMode>, Peripheral<P=SCK> -> Spi<T, FullDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::with_miso
    Spi<T, FullDuplexMode>, Peripheral<P=MISO> -> Spi<T, FullDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::with_mosi
    Spi<T, FullDuplexMode>, Peripheral<P=MOSI> -> Spi<T, FullDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::with_sio2
    Spi<T, HalfDuplexMode>, Peripheral<P=SIO2> -> Spi<T, HalfDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::with_sio3
    Spi<T, HalfDuplexMode>, Peripheral<P=SIO3> -> Spi<T, HalfDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::transfer
    &mut Spi<T, M>, &mut [u8] -> Result<&[u8]>
    method
    esp32c6_hal::spi::master::Spi::with_pins
    Spi<T, FullDuplexMode>, Option<Peripheral<P=SCK>>, Option<Peripheral<P=MOSI>>, Option<Peripheral<P=MISO>>, Option<Peripheral<P=CS>> -> Spi<T, FullDuplexMode>
    Setup pins for this SPI instance.
    method
    esp32c6_hal::spi::master::Spi::new
    Peripheral<P=T>, Rate<u32>, SpiMode, &Clocks -> Spi<T, FullDuplexMode>
    Constructs an SPI instance in 8bit dataframe mode.
    method
    esp32c6_hal::spi::master::Spi::new_half_duplex
    Peripheral<P=T>, Rate<u32>, SpiMode, &Clocks -> Spi<T, HalfDuplexMode>
    Constructs an SPI instance in half-duplex mode.
    method
    esp32c6_hal::spi::slave::Spi::new
    Peripheral<P=T>, Peripheral<P=SCK>, Peripheral<P=MOSI>, Peripheral<P=MISO>, Peripheral<P=CS>, SpiMode -> Spi<T, FullDuplexMode>
    Constructs an SPI instance in 8bit dataframe mode.
    method
    esp32c6_hal::spi::master::Spi::with_cs
    Spi<T, FullDuplexMode>, Peripheral<P=CS> -> Spi<T, FullDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::with_sck
    Spi<T, FullDuplexMode>, Peripheral<P=SCK> -> Spi<T, FullDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::with_miso
    Spi<T, FullDuplexMode>, Peripheral<P=MISO> -> Spi<T, FullDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::with_mosi
    Spi<T, FullDuplexMode>, Peripheral<P=MOSI> -> Spi<T, FullDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::with_sio2
    Spi<T, HalfDuplexMode>, Peripheral<P=SIO2> -> Spi<T, HalfDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::with_sio3
    Spi<T, HalfDuplexMode>, Peripheral<P=SIO3> -> Spi<T, HalfDuplexMode>
    method
    esp32c6_hal::spi::master::Spi::with_pins
    Spi<T, FullDuplexMode>, Option<Peripheral<P=SCK>>, Option<Peripheral<P=MOSI>>, Option<Peripheral<P=MISO>>, Option<Peripheral<P=CS>> -> Spi<T, FullDuplexMode>
    Setup pins for this SPI instance.