esp-hal/esp-hal
Jesse Braham e198f0eee4
New package releases (#1249)
* New package releases

* Fix the `CHANGELOG.md` check in CI

* `defmt` is annoying

* Update documentation index to point to new version, correct release date

* Remove docs.rs badge from and update docs link in `README.md`

* Silence `clippy`

* Fix documentation link in `esp-hal/README.md`
2024-03-08 14:01:07 +00:00
..
devices Refactor the Trace driver to be generic around its peripheral (#1140) 2024-02-06 09:14:15 +00:00
ld Adding clock support for ESP32-P4 (#1145) 2024-02-07 19:35:25 +00:00
src Add new embassy features for esp32s2 and other systimers. Enable embassy tick rate features by default (#1247) 2024-03-06 17:04:05 +00:00
build.rs Add new embassy features for esp32s2 and other systimers. Enable embassy tick rate features by default (#1247) 2024-03-06 17:04:05 +00:00
Cargo.toml New package releases (#1249) 2024-03-08 14:01:07 +00:00
CHANGELOG.md New package releases (#1249) 2024-03-08 14:01:07 +00:00
README.md New package releases (#1249) 2024-03-08 14:01:07 +00:00

esp-hal

Crates.io Crates.io Matrix

The esp-hal package aims to provide a safe, idiomatic Hardware Abstraction Layer (HAL) for the entire family of ESP32 devices from Espressif.

This package implements both blocking and, when able, asynchronous drivers for the various peripherals. At this time the blocking APIs are used by default, with all asynchronous functionality gated behind the async feature. See the package documentation for more information on its features.

Most traits defined by the embedded-hal family of packages are implemented as applicable.

Documentation

Usage

Before using esp-hal, ensure that you have configured your development environment correctly, and the required tooling has been installed.

When starting a new project using esp-hal, we strongly recommend you generate a project skeleton using cargo-generate and esp-template. This will take much of the guesswork out of the process and give you a starting point to build an application from.

Much of the functionality available is feature-gated, so be sure to refer to the documentation to read about all available Cargo features.

Supporting Packages

A number of additional packages are available which add additional functionality beyond the HAL.

Within this repository, the esp-lp-hal package provides support for the (ultra-)low-power RISC-V coprocessors found aboard the ESP32-C6, ESP32-S2, and ESP32-S3.

There is also the esp-wifi package, which provides support for Bluetooth and Wi-Fi.

For additional libraries, you can check the list of repositories in the esp-rs organization.

Examples

Examples demonstrating the use of various peripherals and features of the HAL are available in the examples package.

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.