8 个版本

0.1.7 2023 年 9 月 19 日
0.1.6 2023 年 9 月 18 日

#467数据结构

每月 49 次下载

MIT 许可证

55KB
1.5K SLoC

智能 LED 效果

提供了一组用于与 WS2812b 等可单独寻址的 LED 灯带一起使用的效果。每个效果返回一个颜色向量,然后可以将其发送到您的 LED 驱动器。

EffectIterator 特质定义了两种方法: - name - next

name 将仅返回作为静态字符串切片的名称。 next 将返回效果的下一页。它使用 Option 枚举,未来将会有一次性效果,结束并返回 None。目前,所有效果都将循环。

此软件包大量借鉴了 fastLEDtweaking4all。大多数效果艺术直接从这里获取,并使用 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