Expand description
no_std
HAL for the ESP32 from Espressif.
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-asyncbluetooth
- Enable support for using the Bluetooth radiodebug
- Enable debug features in the HAL (used for development)defmt
- Enabledefmt::Format
on certain typeseh1
- Implement the traits defined in the1.0.0-xxx
pre-releases of embedded-hal, embedded-hal-nb, and embedded-ioembassy
- Enable support for embassy, a modern asynchronous embedded frameworkembassy-executor-interrupt
- Use the multicore-aware interrupt-mode embassy executorembassy-executor-thread
- Use the multicore-aware thread-mode embassy executorembassy-time-timg0
- Enable the embassy time driver using theTIMG0
peripherallog
- enable log output using thelog
cratepsram_2m
- Use externally connected PSRAM (2MB)psram_4m
- Use externally connected PSRAM (4MB)psram_8m
- Use externally connected PSRAM (8MB)rt
- Runtime supportufmt
- Implement theufmt_write::uWrite
trait for the UART drivervectored
- Enable interrupt vectoringxtal26mhz
- The target device uses a 26MHz crystalxtal40mhz
- The target device uses a 40MHz crystal
Default Features
The rt
, vectored
, and xtal40mhz
features are enabled by default.
Modules
- Advanced Encryption Standard (AES) support.
- Common module for analog functions
- Clock Control
- Control CPU Cores (ESP32)
- Analog peripherals - Digital to Analog Converter
- Delay driver
- Direct Memory Access Commons
- Reading of eFuses (ESP32)
- General Purpose I/Os
- I2C Driver
- I2S Master
- Interrupt support
- LEDC (LED PWM Controller) peripheral control
- Procedural macros
- MCPWM (Motor Control Pulse Width Modulator) peripheral
- Pulse Counter peripheral driver
- Exclusive peripheral access
- Peripheral instance singletons (ESP32)
- The prelude
- PSRAM “virtual peripheral” driver (ESP32)
- Wireless communication peripheral implementations
- Hardware and Software Reset
- Remote Control Peripheral (RMT)
- Random Number Generator
- ESP ROM libraries
- RSA Accelerator support.
- RTC_CNTL (Real-Time Clock Control) and Low-power Management
- Secure Hash Algorithm peripheral driver
- Serial Peripheral Interface
- System Control
- General-purpose timers
- State of the CPU saved when entering exception or interrupt
- Two-wire Automotive Interface (TWAI)
- UART driver
Structs
- Delay driver
- FlashSafeDma
- General Purpose Input/Output driver
- RMT Instance
- Random number generator driver
- Low-power Management
- RTC Watchdog Timer
- SPI peripheral driver
- General-purpose Timer driver
- UART driver
Enums
- Available CPU cores
Functions
- Which core the application is currently executing on
Attribute Macros
- Marks a function as the main function to be called on program start