esp-hal/esp-hal
Dániel Buga 4c5be2c907
Interconnect: force signals through GPIO matrix if split (#2419)
* Allow splitting off of gpio drivers

* Extract and correct low level connection bits

* Add Input/OutputSignal::connect_to

* Remove unnecessary public API

* Fix typos

* Remove unused private methods

* Add separate Direct signals that do bypass the GPIO matrix

* Do not disable stage input

* Clean up spi_slave test

* Constrain to static Flex

* Improve docs

* Separate input_enable and open_drain parameters

* Link to the chapter

* Changelog

* Clarify
2024-11-06 13:55:34 +00:00
..
ld Prefer ROM-fns over custom impl (#2462) 2024-11-04 15:55:23 +00:00
src Interconnect: force signals through GPIO matrix if split (#2419) 2024-11-06 13:55:34 +00:00
build.rs Add option to place more .rodata in RAM for performance (#2331) 2024-10-18 11:47:12 +00:00
Cargo.toml Flatten Uart module, remove unnecessary data, replace methods with apply_config (#2449) 2024-11-05 09:56:14 +00:00
CHANGELOG.md Interconnect: force signals through GPIO matrix if split (#2419) 2024-11-06 13:55:34 +00:00
MIGRATING-0.20.md Fix typo in migration guide (#2435) 2024-10-31 06:43:11 +00:00
MIGRATING-0.21.md Spi master: remove public hidden APIs, add Config/apply_config (#2448) 2024-11-06 09:03:43 +00:00
README.md esp-config (#2156) 2024-09-19 08:58:29 +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.79 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.