libftd2xx
Rust safe wrapper for the FTDI D2XX drivers.
This takes the libftd2xx-ffi C bindings crate and extends it with rust safe wrappers.
Usage
Simply add this crate as a dependency in your Cargo.toml
.
On Linux the static library is distributed in the libftd2xx-ffi crate with
permission from FTDI.
[]
= "~0.16.1"
This is a basic example to get your started. Check the source code or documentation for more examples.
use ;
let mut ft = new?;
let info = ft.device_info?;
println!;
One-time Linux Setup
To access the FTDI USB device as a regular user you need to update the udev rules.
Create a file called /etc/udev/rules.d/99-ftdi.rules
with:
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", GROUP="dialout", MODE="0664"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6010", GROUP="dialout", MODE="0664"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6011", GROUP="dialout", MODE="0664"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6014", GROUP="dialout", MODE="0664"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6015", GROUP="dialout", MODE="0664"
Then, reload the rules:
You will also need to be part of the dialout
group:
One-time Windows Setup
Unlike Linux the Windows vendor driver is dynamically linked. The FTD2XX DLL must exist on your system PATH. The easiest way to install this is with the vendor provided setup executable.
References
Troubleshooting
Unknown Device on Linux
Remove the VCP FTDI driver.
See FTDI Drivers Installation Guide for Linux for more details.