
* Fix Async UART The uart handler was `writing` to the enable register instead of `modify`, which meant any wake would see the cleared enabled bit and think the event had occurred. This wasn't seen before the split of uart because it was only possible to listen to one thing at a time. This PR also removes the ReadBufferFull error in favour of returning the max bytes in the buffer. The serial examples has been updated to actually have some cross task communication. * changelog * fix dev deps
esp32-hal
no_std
HAL for the ESP32 from Espressif.
Implements a number of the traits defined in embedded-hal.
This device uses the Xtensa ISA, which is not officially supported by the Rust compiler. In order to develop for this device, you must use the Rust compiler fork with Xtensa support, found at esp-rs/rust.
Please refer to the documentation for more information.
Documentation
Resources
- Datasheet
- Technical Reference Manual
- The Rust Programming Language
- The Embedded Rust Book
- The Rust on ESP Book
Getting Started
Installing the Rust Compiler
We provide a tool, espup, for easily installing the Rust toolchain with Xtensa support:
cargo install espup
espup install
Following installation of the Xtensa toolchain, if you are running a Unix-like operating system (macOS, Linux) then you must additionally export the necessary environment variables:
. $HOME/export-esp.sh
See the Installation chapter of The Rust on ESP Book for more details.
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.