esp-hal/esp-hal
Dániel Buga 848029b152
Test all feature sets (#2901)
* Mark interconnect as unstable

* Explicitly set unstable feature in HIL tests

* WIP append feature set name to artifact

* Add name to feature sets, build all combinations

* Fix tests

* Provide a looping executor for stable async tests

* Fix usb serial jtag

* Hide interconnect types
2025-01-09 13:58:14 +00:00
..
ld Use own implementation instead of ROM functions, re-add memchr (#2896) 2025-01-08 07:12:04 +00:00
src Test all feature sets (#2901) 2025-01-09 13:58:14 +00:00
.clippy.toml Allow clippy to break API, ignore a few initialism errors (#2840) 2025-01-03 14:13:07 +00:00
build.rs
Cargo.toml
CHANGELOG.md Return error instead of panic (#2916) 2025-01-09 13:47:54 +00:00
MIGRATING-0.20.md
MIGRATING-0.21.md
MIGRATING-0.22.md Remove all instance type params (#2907) 2025-01-09 11:27:48 +00:00
README.md Alter stability note in README and briefly explain unstable feature (#2894) 2025-01-07 09:03:30 +00:00

esp-hal

Crates.io docs.rs MSRV Crates.io Matrix

Bare-metal (no_std) hardware abstraction layer for Espressif devices.

Implements a number of blocking and, where applicable, async traits from the various packages in the embedded-hal repository.

For help getting started with this HAL, please refer to The Rust on ESP Book and the documentation.

Documentation

Supported Devices

Chip Datasheet Technical Reference Manual Target
ESP32 ESP32 ESP32 xtensa-esp32-none-elf
ESP32-C2 ESP32-C2 ESP32-C2 riscv32imc-unknown-none-elf
ESP32-C3 ESP32-C3 ESP32-C3 riscv32imc-unknown-none-elf
ESP32-C6 ESP32-C6 ESP32-C6 riscv32imac-unknown-none-elf
ESP32-H2 ESP32-H2 ESP32-H2 riscv32imac-unknown-none-elf
ESP32-S2 ESP32-S2 ESP32-S2 xtensa-esp32s2-none-elf
ESP32-S3 ESP32-S3 ESP32-S3 xtensa-esp32s3-none-elf

unstable feature

The stable feature set is designed to remain consistent and reliable. Other parts guarded by the unstable feature, however, are still under active development and may undergo breaking changes and are disabled by default.

Minimum Supported Rust Version (MSRV)

This crate is guaranteed to compile on stable Rust 1.83 and up. It might compile with older versions but that may change in any new patch release.

License

Licensed under either of:

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.