pennant 0.5.0

Reusable LED animation effects for embedded projects
Documentation
# pennant

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`](https://crates.io/crates/embedded-hal) 1.0:

```toml
pennant = { version = "0.5", features = ["hal"] }
```

Part of the [`rustyfarian-ws2812`](https://github.com/datenkollektiv/rustyfarian-ws2812)
workspace alongside [`ferriswheel`](https://crates.io/crates/ferriswheel)
(ring effects) and [`bunting`](https://crates.io/crates/bunting) (WS2812 colour utilities).

## Example

```rust
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](https://docs.rs/pennant).

## License

Dual-licensed under MIT or Apache-2.0.

## Changelog

See the [workspace CHANGELOG](https://github.com/datenkollektiv/rustyfarian-ws2812/blob/main/CHANGELOG.md)
for release notes across all crates.