no_std Hardware Abstraction Layers for ESP32 microcontrollers
Go to file
Sergio Gasquez Arcos fbd42865ef
Update MISO and CS pins to be optional (#89)
* Update CS and MISO pins to be optional
* Update examples
2022-06-23 10:10:57 -07:00
.github/workflows Update CI workflow now that we aren't in a workspace 2022-05-31 10:17:13 -07:00
.vscode Update the rust-analyzer config and take packages out of workspace 2022-05-31 10:02:55 -07:00
esp32-hal Update MISO and CS pins to be optional (#89) 2022-06-23 10:10:57 -07:00
esp32c3-hal Update MISO and CS pins to be optional (#89) 2022-06-23 10:10:57 -07:00
esp32s2-hal Update MISO and CS pins to be optional (#89) 2022-06-23 10:10:57 -07:00
esp32s3-hal Update MISO and CS pins to be optional (#89) 2022-06-23 10:10:57 -07:00
esp-hal-common Update MISO and CS pins to be optional (#89) 2022-06-23 10:10:57 -07:00
esp-hal-procmacros Make cargo manifests consistent and bump dependencies 2022-05-05 11:56:43 +02:00
.gitignore Initial commit 2021-10-19 15:00:41 -07:00
LICENSE-APACHE Initial commit 2021-10-19 15:00:41 -07:00
LICENSE-MIT Initial commit 2021-10-19 15:00:41 -07:00
README.md Update MSRV versions in README to their actual values 2022-04-05 08:16:48 -07:00
rustfmt.toml Begin adding some doc comments, update rustfmt config 2022-01-10 15:23:01 -08:00

esp-hal

GitHub Workflow Status MIT/Apache-2.0 licensed Matrix

Hardware Abstraction Layer crates for the ESP32, ESP32-C3, ESP32-S2, and ESP32-S3 from Espressif.

This project is still in the early stages of development, and as such there should be no expectation of API stability. Only a small number of peripherals currently have drivers implemented (you can see a full list here) and out of those most are still incomplete, albeit functional. These HALs are no_std; if you are looking for std support please use esp-idf-hal instead.

If you have any questions, comments, or concerns please join us on Matrix. For additional information regarding any of the crates in the monorepo, please refer to the crate's README.

Crate Target Technical Reference Manual
esp32-hal xtensa-esp32-none-elf ESP32
esp32c3-hal riscv32imc-unknown-none-elf
riscv32imac-unknown-none-elf*
ESP32-C3
esp32s2-hal xtensa-esp32s2-none-elf ESP32-S2
esp32s3-hal xtensa-esp32s3-none-elf ESP32-S3

* via atomic emulation

MSRV

The Minimum Supported Rust Versions are:

  • 1.59.0 for RISC-V devices (ESP32-C3)
  • 1.59.0 for Xtensa devices (ESP32, ESP32-S2, ESP32-S3)

Note that targeting the Xtensa ISA requires the use of the esp-rs/rust compiler fork, whereas RISC-V is officially supported by the official Rust compiler.

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.