6 个版本
0.3.1 | 2020年7月2日 |
---|---|
0.3.0 | 2020年7月1日 |
0.2.1 | 2020年6月29日 |
0.1.1 | 2020年6月28日 |
#1382 in 硬件支持
53KB
1K SLoC
Silicon Labs USB Xpress 驱动程序
操作系统 | 状态 |
---|---|
Linux | |
Windows (MSVC) |
此库从 SiUSBXp 端口 API,SiUSBXp 是 SiLabs USBXpress 提供的 SiUSBXp.dll 的开源端口。底层 USB 后端是 libusb,支持跨平台编译。
用法
添加到您的 Cargo.toml
[dependencies]
silabs_usb_xpress = "0.2"
此包适用于 Unix 和 Windows。对于 Unix 系统,需要 pkg-config
来链接 libusb
。对于 Windows,您必须安装 vcpkg,设置用户级集成,并使用它安装 libusb-win32
。默认情况下,libusb
链接为动态链接,如果需要静态链接,请设置环境变量 VCPKGRS_DYNAMIC=0
。
要在 Windows 中打包可用的驱动程序,请使用 libusbk' inf 工具。
示例
// get device count
let num = devices_count();
// print serial number for selected devices
let if_sn = product_string(0, ProductStringType::SerialNumber);
// print VID for selected devices
let pst = ProductStringType::VID;
let if_vid = product_string(0, pst);
// get timeouts
let t = timeouts().unwrap();
// set timeouts
set_timeouts(Duration::from_millis(500), None).unwrap();
// open handle
let mut handle = UsbXpress::open(0).unwrap();
// write to device handle
let v = vec![0x55, 0x80, 0x00, 0x01, 0x01, 0xAA];
handle.write(&v);
// read 7 bytes from device handle
let read_res = handle.read(7);
// close device
handle.close();
许可证
依赖项
~225KB