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
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::Formaton certain types
- eh1- Implement the traits defined in the- 1.0.0-xxxpre-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- TIMG0peripheral. The- TIMG0peripheral 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- Ncan be- 8,- 16,- 32,- 64or- 128) - Use a generic timer queue of size- Nfor the executors’ timer queues. Using this feature can expand the number of executors you can use to- N
- log- enable log output using the- logcrate
- 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::uWritetrait 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§
- Advanced Encryption Standard (AES) support.
- Analog peripherals
- Clock Control
- Control CPU Cores (ESP32)
- 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
- Overview
- 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)
- 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
Macros§
- Convenience macro to create DMA buffers and descriptors
- Convenience macro to create DMA descriptors
Structs§
- Delay driver
- FlashSafeDma
- General Purpose Input/Output driver
- RMT Instance
- Random number generator driver
- Low-power Management
- RTC Watchdog Timer
- General-purpose Timer driver
- UART driver
- UART RX
- UART TX
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