5 个版本
0.2.2 | 2022 年 11 月 7 日 |
---|---|
0.2.1 | 2021 年 9 月 13 日 |
0.2.0 | 2021 年 9 月 11 日 |
0.1.1 | 2021 年 9 月 6 日 |
0.1.0 | 2021 年 8 月 28 日 |
#168 in 视频
每月 29 次下载
39KB
889 行
通过蓝牙在 Rust 中与您的 Blackmagic 摄像机接口!
此库允许您轻松通过蓝牙与您的 Blackmagic 摄像机通信。
- 实现了完整的摄像机规范,通过静态类型检查轻松访问命令(请参阅
Command::Video(Video::Iso(640)))
) - 使用 btleplug 以跨平台方式工作。
- 消耗
PROTOCOL.json
用于代码生成,因此很容易向库添加更多功能
用法
您可以通过打开 examples/control.rs
,将 CAMERA_NAME 常量替换为您的摄像机的蓝牙名称,然后运行 cargo run --example control
来轻松测试库
//Create a new camera with the device name
let mut camera = BluetoothCamera::new(CAMERA_NAME).await.unwrap();
//Connect with a set timeout
camera.connect(Duration::from_secs(10)).await.unwrap();
//Change the ISO to 320
camera.write(255, Operation::AssignValue, Command::Video(Video::Iso(640))).await.unwrap();
它是如何工作的?
库消耗 PROTOCOL.json 文件,该文件以机器可读格式记录了摄像机协议。从那里,它将在构建阶段生成 rust 枚举形式的命令(请参阅 /build)。这使得我们可以通过不手动编写代码来具有对摄像机功能的静态类型寻址,而是依赖于从摄像机协议手册的转换。库负责将命令打包到摄像机协议中。
贡献
只需打开一个 PR LUL
许可
全部受 MIT 保护
依赖项
~4–37MB
~517K SLoC