Various updates all READMEs

This commit is contained in:
Jesse Braham 2022-01-12 13:52:01 -08:00
parent 6ab5634c54
commit fda410633b
6 changed files with 61 additions and 19 deletions

View File

@ -1,16 +1,44 @@
# esp-hal
[![CI](https://github.com/jessebraham/esp-hal/actions/workflows/ci.yml/badge.svg)](https://github.com/jessebraham/esp-hal/actions/workflows/ci.yml)
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/jessebraham/esp-hal/CI?label=CI&logo=github&style=flat-square)
![MIT/Apache-2.0 licensed](https://img.shields.io/badge/license-MIT%2FApache--2.0-blue?style=flat-square)
[![Matrix](https://img.shields.io/matrix/esp-rs:matrix.org?label=join%20matrix&color=BEC5C9&logo=matrix&style=flat-square)](https://matrix.to/#/#esp-rs:matrix.org)
An _extremely_ experimental attempt at writing a HAL which targets the **ESP32**, **ESP32-C3**, **ESP32-S2**, and **ESP32-S3**.
**This should not be used for anything other than experimentation at this point in time, this is merely a proof-of-concept.**
If you are interested in `no_std` development for ESP devices, we encourage you to contribute whatever you can to this repository!
The various packages in this repository may or may not build at any given time. Until the first releases are published there should be no expectation of API stability.
### IMPORTANT:
> **These crates should not be used for anything other than experimentation at this point in time, this is merely a proof-of-concept.**
>
> **The `esp32-hal` package in this repository is NOT the same as the one published on [crates.io]. The published crate can be found in the [esp-rs/esp32-hal] repository. Once feature parity has been reached, the hope is for the version in this repository to supersede the old one.**
>
> **The various packages in this repository may or may not build at any given time.**
>
> **Until the first releases are published, there should be no expectation of API stability.**
Please make sure you understand all the points above, and use these packages at your own risk. When the packages in this repository are ready for general use this README will be updated to indicate such.
For additional updates, please follow along in the [esp-rs channel] on Matrix.
[crates.io]: https://crates.io/crates/esp32-hal
[esp-rs/esp32-hal]: https://github.com/esp-rs/esp32-hal
[esp-rs channel]: https://matrix.to/#/#esp-rs:matrix.org
## What is working?
For the **ESP32** and **ESP32-C3**, the `GPIO`, `TIMG` and `UART` peripherals have (probably incomplete) implementations which are nonetheless functional. Both of the aforementioned chips also have implmented the `DelayUs` and `DelayMs` traits from `embedded-hal`. These packages include examples to demonstrate these peripherals.
Currently, only the `esp32-hal` and `esp32c3-hal` packages contain functional examples. Please see the [Notes on the ESP32-S2 and ESP32-S3] below for more information on why this is the case.
For the **ESP32** and **ESP32-C3**, the following peripherals have some level of functionality:
- `GPIO` pins can be used as digital inputs or outputs
- `TIMG` instances can be used as general-purpose timers
- `UART` can be used for bi-directional communication with another device
- The `DelayMs` and `DelayUs` traits from `embedded-hal` have been implemented
- Uses the `SYSTIMER` peripheral for the **ESP32-C3**, and the built in Xtensa timers for the other chips
[notes on the esp32-s2 and esp32-s3]: #notes-on-the-esp32-s2-and-esp32-s3
## What is NOT working?
@ -25,6 +53,15 @@ At this time, there are two major issues blocking progress on the **ESP32-S2** a
Once these issues have been resolved, progress can resume on the `esp32s2-hal` and `esp32s3-hal` crates.
## Peripheral Access Crates
For the time being, the `esp-hal-common` package is using git dependencies pointing to forks of the various PACs. This is being done for two reasons:
- While the existing `esp32-hal` crate exists, so must `esp32`; however, updating the `esp32` crate to the newer SVD causes breaking changes
- To enable rapid patching and prototyping without interfering with the mainline repositories
Once development has progressed further and the PACs are mostly in line with each other, the dependencies can be reverted to their traditional forms.
## License
Licensed under either of:

View File

@ -1,8 +1,9 @@
# esp-hal-common
[![Crates.io](https://img.shields.io/crates/v/esp-hal-common.svg)](https://crates.io/crates/esp-hal-common)
[![Docs](https://docs.rs/esp-hal-common/badge.svg)](https://docs.rs/esp-hal-common/)
![Crates.io](https://img.shields.io/crates/l/esp-hal-common)
[![Crates.io](https://img.shields.io/crates/v/esp-hal-common?labelColor=1C2C2E&color=C96329&logo=Rust&style=flat-square)](https://crates.io/crates/esp-hal-common)
[![docs.rs](https://img.shields.io/docsrs/esp-hal-common?labelColor=1C2C2E&color=C96329&logo=rust&style=flat-square)](https://docs.rs/esp-hal-common)
![Crates.io](https://img.shields.io/crates/l/esp-hal-common?labelColor=1C2C2E&style=flat-square)
[![Matrix](https://img.shields.io/matrix/esp-rs:matrix.org?label=join%20matrix&labelColor=1C2C2E&color=BEC5C9&logo=matrix&style=flat-square)](https://matrix.to/#/#esp-rs:matrix.org)
`no_std` HAL implementations for the peripherals which are common among Espressif devices. Implements a number of the traits defined by [embedded-hal](https://github.com/rust-embedded/embedded-hal).

View File

@ -1,8 +1,9 @@
# esp32-hal
[![Crates.io](https://img.shields.io/crates/v/esp32-hal.svg)](https://crates.io/crates/esp32-hal)
[![Docs](https://docs.rs/esp32-hal/badge.svg)](https://docs.rs/esp32-hal/)
![Crates.io](https://img.shields.io/crates/l/esp32-hal)
[![Crates.io](https://img.shields.io/crates/v/esp32-hal?labelColor=1C2C2E&color=C96329&logo=Rust&style=flat-square)](https://crates.io/crates/esp32-hal)
[![docs.rs](https://img.shields.io/docsrs/esp32-hal?labelColor=1C2C2E&color=C96329&logo=rust&style=flat-square)](https://docs.rs/esp32-hal)
![Crates.io](https://img.shields.io/crates/l/esp32-hal?labelColor=1C2C2E&style=flat-square)
[![Matrix](https://img.shields.io/matrix/esp-rs:matrix.org?label=join%20matrix&labelColor=1C2C2E&color=BEC5C9&logo=matrix&style=flat-square)](https://matrix.to/#/#esp-rs:matrix.org)
`no_std` HAL for the ESP32 from Espressif. Implements a number of the traits defined by [embedded-hal](https://github.com/rust-embedded/embedded-hal).

View File

@ -1,8 +1,9 @@
# esp32c3-hal
[![Crates.io](https://img.shields.io/crates/v/esp32c3-hal.svg)](https://crates.io/crates/esp32c3-hal)
[![Docs](https://docs.rs/esp32c3-hal/badge.svg)](https://docs.rs/esp32c3-hal/)
![Crates.io](https://img.shields.io/crates/l/esp32c3-hal)
[![Crates.io](https://img.shields.io/crates/v/esp32c3-hal?labelColor=1C2C2E&color=C96329&logo=Rust&style=flat-square)](https://crates.io/crates/esp32c3-hal)
[![docs.rs](https://img.shields.io/docsrs/esp32c3-hal?labelColor=1C2C2E&color=C96329&logo=rust&style=flat-square)](https://docs.rs/esp32c3-hal)
![Crates.io](https://img.shields.io/crates/l/esp32c3-hal?labelColor=1C2C2E&style=flat-square)
[![Matrix](https://img.shields.io/matrix/esp-rs:matrix.org?label=join%20matrix&labelColor=1C2C2E&color=BEC5C9&logo=matrix&style=flat-square)](https://matrix.to/#/#esp-rs:matrix.org)
`no_std` HAL for the ESP32-C3 from Espressif. Implements a number of the traits defined by [embedded-hal](https://github.com/rust-embedded/embedded-hal).

View File

@ -1,8 +1,9 @@
# esp32s2-hal
[![Crates.io](https://img.shields.io/crates/v/esp32s2-hal.svg)](https://crates.io/crates/esp32s2-hal)
[![Docs](https://docs.rs/esp32s2-hal/badge.svg)](https://docs.rs/esp32s2-hal/)
![Crates.io](https://img.shields.io/crates/l/esp32s2-hal)
[![Crates.io](https://img.shields.io/crates/v/esp32s2-hal?labelColor=1C2C2E&color=C96329&logo=Rust&style=flat-square)](https://crates.io/crates/esp32s2-hal)
[![docs.rs](https://img.shields.io/docsrs/esp32s2-hal?labelColor=1C2C2E&color=C96329&logo=rust&style=flat-square)](https://docs.rs/esp32s2-hal)
![Crates.io](https://img.shields.io/crates/l/esp32s2-hal?labelColor=1C2C2E&style=flat-square)
[![Matrix](https://img.shields.io/matrix/esp-rs:matrix.org?label=join%20matrix&labelColor=1C2C2E&color=BEC5C9&logo=matrix&style=flat-square)](https://matrix.to/#/#esp-rs:matrix.org)
`no_std` HAL for the ESP32-S2 from Espressif. Implements a number of the traits defined by [embedded-hal](https://github.com/rust-embedded/embedded-hal).

View File

@ -1,8 +1,9 @@
# esp32s3-hal
[![Crates.io](https://img.shields.io/crates/v/esp32s3-hal.svg)](https://crates.io/crates/esp32s3-hal)
[![Docs](https://docs.rs/esp32s3-hal/badge.svg)](https://docs.rs/esp32s3-hal/)
![Crates.io](https://img.shields.io/crates/l/esp32s3-hal)
[![Crates.io](https://img.shields.io/crates/v/esp32s3-hal?labelColor=1C2C2E&color=C96329&logo=Rust&style=flat-square)](https://crates.io/crates/esp32s3-hal)
[![docs.rs](https://img.shields.io/docsrs/esp32s3-hal?labelColor=1C2C2E&color=C96329&logo=rust&style=flat-square)](https://docs.rs/esp32s3-hal)
![Crates.io](https://img.shields.io/crates/l/esp32s3-hal?labelColor=1C2C2E&style=flat-square)
[![Matrix](https://img.shields.io/matrix/esp-rs:matrix.org?label=join%20matrix&labelColor=1C2C2E&color=BEC5C9&logo=matrix&style=flat-square)](https://matrix.to/#/#esp-rs:matrix.org)
`no_std` HAL for the ESP32-S3 from Espressif. Implements a number of the traits defined by [embedded-hal](https://github.com/rust-embedded/embedded-hal).