Docs.rs
  • esp32-hal-0.18.1
    • esp32-hal 0.18.1
    • Permalink
    • Docs.rs crate page
    • MIT OR Apache-2.0
    • Links
    • Repository
    • crates.io
    • Source
    • Owners
    • MabezDev
    • 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
      • embassy-executor ^0.5.0 dev
      • embassy-sync ^0.5.0 dev
      • embassy-time ^0.3.0 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-alloc ^0.3.0 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
      • lis3dh-async ^0.9.1 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
    • Privacy policy
  • Rust
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate esp32_hal

logo

esp32_hal0.18.1

  • All Items
  • Modules
  • Macros
  • Structs
  • Enums
  • Functions
  • Attribute Macros

Crates

  • esp32_hal
?
Change settings

Crate esp32_hal

source ·
Expand description

no_std HAL for the ESP32 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

The available cargo features for this package are listed below, along with a brief description of each feature.

  • async - Enable support for asynchronous operation, with interfaces provided by embedded-hal-async and embedded-io-async
  • bluetooth - Enable support for using the Bluetooth radio
  • debug - Enable debug features in the HAL (used for development)
  • defmt - Enable defmt::Format on certain types
  • 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
  • embassy-executor-interrupt - Use the multicore-aware interrupt-mode embassy executor
  • embassy-executor-thread - Use the multicore-aware thread-mode embassy executor
  • embassy-time-timg0 - Enable the embassy time driver using the TIMG0 peripheral. The TIMG0 peripheral has two alarms 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
  • log - enable log output using the log crate
  • psram-2m - Use externally connected PSRAM (2MB)
  • psram-4m - Use externally connected PSRAM (4MB)
  • psram-8m - Use externally connected PSRAM (8MB)
  • rt - Runtime support
  • ufmt - Implement the ufmt_write::uWrite trait for the UART driver
  • vectored - Enable interrupt vectoring
  • xtal-26mhz - The target device uses a 26MHz crystal
  • xtal-40mhz - The target device uses a 40MHz crystal
§Default Features

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

Modules§

  • aes
    Advanced Encryption Standard (AES) support.
  • analog
    Analog peripherals
  • clock
    Clock Control
  • cpu_control
    Control CPU Cores (ESP32)
  • delay
    Delay driver
  • dma
    Direct Memory Access Commons
  • efuse
    Reading of eFuses (ESP32)
  • gpio
    General Purpose I/Os
  • i2c
    I2C Driver
  • i2s
    I2S Master
  • interrupt
    Interrupt support
  • ledc
    LEDC (LED PWM Controller) peripheral control
  • macros
    Overview
  • mcpwm
    MCPWM (Motor Control Pulse Width Modulator) peripheral
  • pcnt
    Pulse Counter peripheral driver
  • peripheral
    Exclusive peripheral access
  • peripherals
    Peripheral instance singletons (ESP32)
  • prelude
    The prelude
  • psram
    PSRAM “virtual peripheral” driver (ESP32)
  • 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
  • timer
    General-purpose timers
  • trapframe
    State of the CPU saved when entering exception or interrupt
  • twai
    Two-wire Automotive Interface (TWAI)
  • uart
    UART driver
  • xtensa_lx
  • xtensa_lx_rt

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

Enums§

  • Cpu
    Available CPU cores

Functions§

  • get_core
    Which core the application is currently executing on

Attribute Macros§

  • entry
    Marks a function as the main function to be called on program start

Results

method
esp32_hal::spi::master::InstanceDma::clear_dma_interrupts
method
esp32_hal::spi::master::prelude::InstanceDma::clear_dma_interrupts
method
esp32_hal::i2c::_esp_hal_i2c_Instance::write_remaining_tx_fifo
method
esp32_hal::prelude::_esp_hal_i2c_Instance::write_remaining_tx_fifo
method
esp32_hal::interrupt::Priority::min
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.