esp8266-hal

Crates.ioesp8266-hal
lib.rsesp8266-hal
version0.5.1
sourcesrc
created_at2018-06-14 17:41:25.599201
updated_at2022-07-19 18:45:58.590632
descriptionHAL for ESP8266 microcontrollers
homepage
repositoryhttps://github.com/esp-rs/esp8266-hal
max_upload_size
id70126
size97,985
espressif (github:esp-rs:espressif)

documentation

README

esp8266-hal

⚠️ NOTE this HAL is now in maintenence mode. No further development is planned at this time, however PRs may still be accepted.

An experimental hardware abstraction layer for the ESP8266 written in Rust.

Join in on the discussion: https://matrix.to/#/#esp-rs:matrix.org!

An example project using the crate can be found here.

Setting up the compiler

In order to build Rust for the Xtensa architecture, you must use the esp-rs/rust compiler fork.

This can be installed via the installation scripts and pre-built artifacts found in the esp-rs/rust-build repository. Alternatively, you can build and install the compiler from source.

For more information relating to the Rust compiler fork please refer to the Installing Rust section of The Rust on ESP Book.

Using the Installation Scripts

Linux/macOS

$ curl -LO https://raw.githubusercontent.com/esp-rs/rust-build/main/install-rust-toolchain.sh
$ chmod +x install-rust-toolchain.sh
$ ./install-rust-toolchain.sh

Windows

PS> Invoke-WebRequest https://raw.githubusercontent.com/esp-rs/rust-build/main/Install-RustToolchain.ps1 -OutFile Install-RustToolchain.ps1
PS> .\Install-RustToolchain.ps1

Rust with Podman

Alternatively you might build the project in the container where image already contains pre-installed Rust and ESP-IDF.

$ podman run --device /dev/ttyUSB0 -it docker.io/espressif/idf-rust

This container is lacking the utilities for the ESP8266, but you can install them using these instructions inside the container:

$ apt update && apt install gcc-xtensa-lx106 binutils-xtensa-lx106

Flashing the examples

Once you have the Rust compiler fork installed you can flash the examples using cargo-espflash:

$ cargo install cargo-espflash
$ cargo espflash --release --example blinky /dev/ttyUSB0

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.

Commit count: 98

cargo fmt