5 个不稳定版本
0.3.0 | 2024 年 7 月 22 日 |
---|---|
0.2.2 | 2020 年 8 月 19 日 |
0.2.1 | 2020 年 8 月 18 日 |
0.2.0 | 2020 年 8 月 18 日 |
0.1.0 | 2020 年 8 月 17 日 |
#133 在 硬件支持 中
每月 169 次下载
50KB
851 行
Crate luxafor
用于通过 USB 或 webhook 接口的 Luxafor 灯的库和 CLI 工具。
客户端的主要入口点是 trait Device
,它为 USB 连接的设备(如 flag)以及 flag 和 蓝牙 灯的 webhook 提供实现。
每个连接都有其自己的发现或连接方法,但将提供用于操作灯光状态的 Device
实现。
API 示例
以下示例显示了一个将灯光设置为纯红色的函数。它演示了 USB 连接设备的用法。
use luxafor::usb_hid::USBDeviceDiscovery;
use luxafor::{Device, SolidColor};
use luxafor::error::Result;
fn set_do_not_disturb() -> Result<()> {
let discovery = USBDeviceDiscovery::new()?;
let device = discovery.device()?;
println!("USB device: '{}'", device.id());
device.set_solid_color(SolidColor::Red, false)
}
以下显示了相同的函数,但使用 webhook 连接。
use luxafor::webhook::new_device_for;
use luxafor::{Device, SolidColor};
use luxafor::error::Result;
fn set_do_not_disturb(device_id: &str) -> Result<()> {
let device = new_device_for(device_id)?;
println!("Webhook device: '{}'", device.id());
device.set_solid_color(SolidColor::Red, false)
}
CLI 示例
以下显示了命令行工具将颜色设置为红色。
❯ lux -d 2a0f2c73b72 solid red
以下显示了命令行工具将颜色设置为闪烁的绿色。此示例使用环境变量 LUX_DEVICE
来保存重复设备标识符。
❯ export LUX_DEVICE=2a0f2c73b72
❯ lux blink green
以下显示了命令行工具关闭灯光。
❯ lux -vvv -d 2a0f2c73b72 off
INFO luxafor > Setting the color of device '2a0f2c73b72e' to 000000
INFO luxafor > call successful
功能
- 命令行;提供命令行工具
lux
,默认情况下对库客户端不可用。 - USB;提供对 USB 连接设备的访问。
- webhook(默认):通过 webhook 提供对 USB 或蓝牙设备的访问。
变更
版本 0.3.0
- 构建:更新依赖项版本。
- 重构:使用自己的显式 Error 类型。
版本 0.2.2
- 文档:向
usb_hid
模块添加了 HID 规范文档。 - 功能:添加了新的
Wave
枚举。 - 功能:向
Device
添加了新方法。- 完全支持 USB HID,
- 并非所有都支持 webhook。
- 功能:添加了新的
TargetedDevice
trait 和 USB 实现。
版本 0.2.1
- 功能:移除了
DeviceIdentifier
trait,现在Device
返回一个字符串。
版本 0.2.0
- 重构:提供新的
Device
trait - 功能:为 webhook 连接的灯光实现了 trait
- 功能:添加了新的 HID 连接灯光实现
版本 0.1.0
- 初始提交,支持标志和蓝牙灯光。
待办事项
- Webhook API 不如 USB 丰富,需要找到一种管理方法。
依赖项
~0-11MB
~120K SLoC