#dmx #serial #lighting #enttec #api-bindings

open_dmx

一个围绕串行端口库的包装,用于通过串行端口发送DMX数据

7个版本 (3个稳定版)

1.1.1 2024年2月28日
1.0.1 2023年5月11日
0.1.3 2023年3月9日
0.1.2 2022年12月22日

#315 in 多媒体


用于artnet_to_opendmx

MIT许可证

23KB
250

open_dmx ─ 最新版本 文档 许可证

通过Open-DMX(RS-485)协议,围绕serialport库的包装,用于通过串行端口发送DMX数据


基本设置

use open_dmx::DMXSerial;

fn main() {
    let mut dmx = DMXSerial::open("COM3").unwrap();
    dmx.set_channels([255; 512]);
    dmx.set_channel(1, 0).unwrap();
}

DMXSerial会自动将通道更新到串行端口,以实现稳定的连接。对于闪光效果,可以使用DMXSerial.update(),该命令会阻塞主线程,直到通过串行端口发送数据包。

还可以使用DMXSerial::open_sync(path)DMXSerial.set_sync()禁用自动发送。

与Windows上的COM端口和Unix系统上的TTY端口兼容。

依赖关系

对于Linux,需要pkg-configlibudev

依赖关系

~1.7–2.6MB
~51K SLoC