50 个版本 (31 个破坏性版本)
新版本 0.32.5 | 2024 年 8 月 20 日 |
---|---|
0.32.4 | 2024 年 3 月 5 日 |
0.32.3 | 2023 年 10 月 19 日 |
0.32.2 | 2022 年 12 月 14 日 |
0.7.1 | 2020 年 7 月 27 日 |
#52 在 硬件支持
每月下载量 1,862
用于 21 个集装箱 (直接使用 10)
175KB
2.5K SLoC
libftd2xx
Rust 对 FTDI D2XX 驱动程序的安全包装。
这通过 C 绑定集装箱 libftd2xx-ffi 并扩展 rust 安全包装。
使用方法
只需将此集装箱作为依赖项添加到您的 Cargo.toml
中。
[dependencies.libftd2xx]
version = "0.32.5"
# statically link the vendor library, defaults to dynamic if not set
# this will make things "just work" on Linux and Windows
features = ["static"]
这是一个基本示例以供您开始。请检查源代码或文档以获取更多示例。
use libftd2xx::{Ftdi, FtdiCommon};
let mut ft = Ftdi::new()?;
let info = ft.device_info()?;
println!("Device information: {:?}", info);
此集装箱只是 FTD2XX 驱动程序的一个包装器;使用 embedded-hal
特性进行 I2C、SPI 和 GPIO 示例可以在 ftdi-embedded-hal
中找到。
udev 规则
要在 Linux 上以普通用户身份访问 FTDI USB 设备,您需要更新 udev 规则。
创建一个名为 /etc/udev/rules.d/99-ftdi.rules
的文件,并包含以下内容:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", MODE="0666"
然后,重新加载规则
sudo udevadm control --reload-rules
sudo udevadm trigger
链接
默认情况下,此集装箱将使用动态链接到供应商库。使用 static
功能标志启用静态链接。
Linux 上的动态链接
必须存在系统上的共享对象 libftd2xx.so
。请参阅 FTDI 驱动程序 Linux 安装指南 以获取说明。
Windows 上的动态链接
FTD2XX DLL 必须存在于系统 PATH 中。最简单的方法是使用供应商提供的 安装可执行文件。
Linux 或 Windows 上的静态链接
无需特殊考虑,静态库已与 FTDI 的许可一起分发给 libftd2xx-ffi 集装箱。
参考资料
故障排除
Linux 上的未知设备
删除 VCP FTDI 驱动程序。
sudo rmmod ftdi_sio
sudo rmmod usbserial
有关更多详细信息,请参阅 FTDI 驱动程序 Linux 安装指南。
依赖关系
~7.5MB
~73K SLoC