8 个版本
0.1.7 | 2023 年 9 月 19 日 |
---|---|
0.1.6 | 2023 年 9 月 18 日 |
#467 在 数据结构
每月 49 次下载
55KB
1.5K SLoC
智能 LED 效果
提供了一组用于与 WS2812b 等可单独寻址的 LED 灯带一起使用的效果。每个效果返回一个颜色向量,然后可以将其发送到您的 LED 驱动器。
EffectIterator 特质定义了两种方法: - name
- next
name
将仅返回作为静态字符串切片的名称。 next
将返回效果的下一页。它使用 Option
枚举,未来将会有一次性效果,结束并返回 None
。目前,所有效果都将循环。
此软件包大量借鉴了 fastLED 和 tweaking4all。大多数效果艺术直接从这里获取,并使用 Rust 重新实现。
维度
目前仅适用于灯带/循环。但将来计划扩展它。
效果
- Breathe
- Bounce
- Collision
- Cylon
- Fire
- Meteor
- Morse
- ProgressBar
- Rainbow
- RunningLights
- SnowSparkle
- Strobe
- Timer
- Twinkle
- Wipe
示例用法
[dependencies]
smart_led_effects = 0.1.7
use smart_led_effects::{
strip::{self, EffectIterator},
Srgb,
};
//...
const COUNT: usize = 55;
let effect = strip::Rainbow::new(COUNT, None);
loop {
let pixels = effect.next().unwrap();
// show pixels
thread::sleep(Duration::from_millis(10));
}
参考
依赖项
~2.5MB
~53K SLoC