* Initial esp-config poc, replacing the place-spi-driver-in-ram feature * Allow documentation generation for configuration options * add `Value::Number` and a macro to parse * Add Value::String and replace esp-wifi's config * repo maint * make bool parsing stricter and number parsing more flexible * use hand rolled const str to int * Collect unknown config options * friendly errors * also batch invalid values * dump msrv to 1.79 * Mention perf boost from disabling logging * review suggestions * output selected config * changelogs and migration guides * review feedback * avoid multiple case conversions where possible * refactor generate, fix bug, add full test * run host tests in CI * add more esp-config tests * review comments * add cargo env workaround
4.2 KiB
4.2 KiB
esp-hal
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:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.