pennant 0.6.0

Reusable LED animation effects for embedded projects
Documentation

pennant

crates.io version docs.rs docs

Status-LED traits and effects for embedded Rust — fully no_std.

Provides StatusLed and AsyncStatusLed traits that decouple application code from concrete LED drivers, plus a PulseEffect for smooth pulsing brightness animations and a NoLed zero-size stub.

The hal feature unlocks an additional SimpleLed adapter that maps RGB colours onto plain on/off GPIO pins via embedded-hal 1.0:

pennant = { version = "0.6", features = ["hal"] }

Part of the rustyfarian-ws2812 workspace alongside ferriswheel (ring effects) and bunting (WS2812 colour utilities).

Example

use pennant::{NoLed, StatusLed};
use rgb::RGB8;

let mut led = NoLed::default();
led.set_color(RGB8::new(255, 0, 0)).unwrap(); // always Ok

Documentation

Full API docs at docs.rs/pennant.

License

Dual-licensed under MIT or Apache-2.0.

Changelog

See the workspace CHANGELOG for release notes across all crates.