#devices #color #led #pulse #transform #blink-stick #blinkstick

blinkstick-rs

用于与任何 BlinkStick 设备交互的库

8 个版本

1.0.2 2021 年 11 月 19 日
0.3.2 2022 年 1 月 10 日
0.3.0 2021 年 12 月 15 日
0.2.3 2021 年 12 月 10 日
0.1.2 2021 年 11 月 20 日

#784硬件支持

MIT 许可证

44KB
521

blinkstick-rs 版本 许可证: MIT 文档

blinkstick-rs 通过 Rust 提供了对任何 BlinkStick 设备 的控制接口。

示例

❗ 对于未发布的更新,请参阅函数文档以获取最新示例。

设置单个 LED 的颜色为红色

use blinkstick_rs::{BlinkStick, Color};

let blinkstick = BlinkStick::new().unwrap();

blinkstick.set_led_color(0, Color {r: 50, g: 0, b: 0});

将随机颜色设置到 BlinkStick 设备上的每个 LED

use blinkstick_rs::{BlinkStick, Color};

let blinkstick = BlinkStick::new().unwrap();

let mut colors: Vec<Color> = blinkstick.get_color_vec();
for led in 0..blinkstick.max_leds as usize {
   colors[led] = BlinkStick::get_random_color();
}
blinkstick.set_all_leds_colors(&colors).unwrap();

使第 1、3、5 个 LED 闪烁 2 次,每次间隔 200 毫秒,带有黄色光芒

use blinkstick_rs::{BlinkStick, Color};

let blinkstick = BlinkStick::new().unwrap();

blinkstick.blink_multiple_leds_color(&vec![1, 3, 5], std::time::Duration::from_millis(200), 2, Color {r: 50, g: 50, b: 0}).unwrap();

使每个 LED 在关闭和绿色颜色之间脉冲

use blinkstick_rs::{BlinkStick, Color};

let blinkstick = BlinkStick::new().unwrap();

let color = Color {r: 0, g: 25, b: 0};
blinkstick.pulse_all_leds_color(std::time::Duration::from_secs(2), 50, Color {r: 0, g: 25, b: 0}).unwrap();

使第一个 LED 在五秒内从红色颜色变为绿色颜色,有 50 次颜色更新。

use blinkstick_rs::{BlinkStick, Color};

let blinkstick = BlinkStick::new().unwrap();

blinkstick.set_led_color(1, Color {r: 50, g: 0, b: 0}).unwrap();
blinkstick.transform_led_color(1, std::time::Duration::from_secs(5), 50, Color {r: 0, g: 50, b: 0}).unwrap();

运行测试

测试仅在连接了 BlinkStick 设备时才能运行。此外,应使用 cargo test -- --test-threads=1 运行测试,否则可能会失败。

依赖关系

Linux

  • libusb - 可以使用例如 "apt install usbutils" 或 "yum install usbutils" 安装

依赖关系

~0.7–1.1MB
~19K SLoC