ws2812-esp32-rmt-driver

A rust driver library to control WS2812B (NeoPixel) RGB LED pixels/strips using ESP32 RMT (Remote Control) module.

Rust cargo-generate-rpm at crates.io API

By disabling the carrier generator of the RMT's transmitter , it can be used as just a PWM signal generator for WS2812B data signal. This control way is the same as major Arduino/C++ library such as FastLED, Adafruit_NeoPixel.

The RMT (Remote Control) module is specific to ESP32. Hence, it can be used only for ESP32 SoC.

Usage

Install rust with Xtensa support. Refer rpm-rs/rust-build for the setup instruction.

Add following dependency to your Cargo.toml. Note that version is stripped in this example but it is recommended to specify version explicitly in your project.

```toml [dependencies] esp-idf-sys = { version = "", features = ["binstart"] } smart-leds = ""

ws2812-esp32-rmt-driver = "*"

[build-dependencies] embuild = "*" anyhow = "1" ```

Refer examples/ directory for the source code.

Make ensure esp toolchain is available and xtensa-esp32-elf-clang is in your $PATH. And then, run as follows

console $ cargo build $ cargo espflush

Features

Development

To run the test locally, specify the local toolchain (stable, nightly, etc...) and target explicitly and disable example builds (specify --lib) .

console $ cargo +stable test --target x86_64-unknown-linux-gnu --lib