esp-hal/esp-hal
Jesse Braham 1fff464b66
Derive common traits for various types in uart and i2c drivers (#2825)
* Derive `Eq` for `uart::ConfigError`

* Derive common traits in `i2c::master` module for various types

* Update `CHANGELOG.md`

* Implement `Display` and `Error` traits for I2C/UART error types

* Remove `PartialEq` and `Eq` derives from I2C driver
2024-12-19 10:10:30 +00:00
..
ld Prefer ROM-fns over custom impl (#2462) 2024-11-04 15:55:23 +00:00
src Derive common traits for various types in uart and i2c drivers (#2825) 2024-12-19 10:10:30 +00:00
build.rs Fixed triggering a debug-assertion during scan (#2612) 2024-11-27 14:14:04 +00:00
Cargo.toml Updated PACs and made Wi-Fi non virtual on the ESP32. (#2822) 2024-12-17 16:54:51 +00:00
CHANGELOG.md Derive common traits for various types in uart and i2c drivers (#2825) 2024-12-19 10:10:30 +00:00
MIGRATING-0.20.md Fix typo in migration guide (#2435) 2024-10-31 06:43:11 +00:00
MIGRATING-0.21.md 0.21 Migration guide fixes (#2592) 2024-11-23 15:20:14 +00:00
MIGRATING-0.22.md [DMA 8/8] Burst configuration (#2543) 2024-12-06 08:30:58 +00:00
README.md Updates for Xtensa enabled 1.83 compiler (#2615) 2024-12-17 15:02:03 +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

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.