#ftdi #usb #ffi

sys libftd2xx-ffi

Rust 对 FTDI D2XX 驱动程序的 FFI 绑定

21 个版本

0.8.6 2022 年 11 月 28 日
0.8.4 2021 年 8 月 15 日
0.8.3 2021 年 6 月 29 日
0.7.0 2021 年 3 月 26 日
0.2.2 2020 年 7 月 30 日

#695硬件支持

Download history 772/week @ 2024-03-14 743/week @ 2024-03-21 878/week @ 2024-03-28 748/week @ 2024-04-04 750/week @ 2024-04-11 733/week @ 2024-04-18 615/week @ 2024-04-25 887/week @ 2024-05-02 908/week @ 2024-05-09 892/week @ 2024-05-16 666/week @ 2024-05-23 437/week @ 2024-05-30 456/week @ 2024-06-06 438/week @ 2024-06-13 589/week @ 2024-06-20 303/week @ 2024-06-27

1,887 每月下载量
22 个 Crates 中使用 (通过 libftd2xx)

自定义许可证

7.5MB
71K SLoC

包含 (静态库, 700KB) vendor/windows/Static/amd64/ftd2xx.lib,(静态库, 575KB) vendor/windows/Static/i386/ftd2xx.lib,(静态库, 385KB) vendor/linux/armv6-hf/build/libftd2xx.a,(ELF 可执行文件/库, 370KB) libftd2xx.so.1.4.24,(静态库, 295KB) vendor/linux/armv7-hf/build/libftd2xx.a,(ELF 可执行文件/库, 275KB) libftd2xx.so.1.4.24更多

crates.io docs.rs CI

libftd2xx-ffi

Rust 对 FTDI D2XX 驱动程序 的 FFI 绑定。

此 Crates 仅包含 C 绑定。还有一个单独的 Crates,libftd2xx,它为不安全的 C 绑定提供安全的包装。

用法

只需将此 Crates 作为依赖项添加到您的 Cargo.toml 中。静态库已获得 FTDI 的许可分发给此 Crates。默认功能集将使用动态链接。

[dependencies]
libftd2xx-ffi = "~0.8.6"

Bindgen

默认功能集将使用预生成的绑定。这仅适用于 Windows x86_64 和 Linux x86_64 平台。

还可以使用 bindgen 功能标志在编译期间生成绑定。

[dependencies]
libftd2xx-ffi = { version = "~0.8.6", features = ["bindgen"] }

bindgen 有额外的依赖项必须安装才能成功编译,有关更多详细信息,请参阅 bindgen 要求 页面。

静态链接

可以使用静态功能标志将 FTD2XX 库链接到此 Crates。

[dependencies]
libftd2xx-ffi = { version = "~0.8.6", features = ["static"] }

静态链接可能更受欢迎,但可能会有许可证不兼容(与 GPL 代码的静态链接)。如果有疑问,请检查 FTDI 驱动程序许可证条款

支持的目标

测试目标

  • aarch64-unknown-linux-gnu (动态 + 静态)
  • aarch64-unknown-linux-musl (静态)
  • i686-pc-windows-msvc (动态 + 静态)
  • i686-unknown-linux-gnu (动态 + 静态)
  • i686-unknown-linux-musl (静态)
  • x86_64-pc-windows-msvc (动态 + 静态)
  • x86_64-unknown-linux-gnu (动态 + 静态)
  • x86_64-unknown-linux-musl (静态)

未测试的目标

这些目标已提供,但尚未测试。使用时请自行承担风险。

  • arm-unknown-linux-gnueabihf (动态 + 静态)
  • arm-unknown-linux-musleabihf (静态)
  • armv7-unknown-linux-gnueabihf (动态 + 静态)
  • armv7-unknown-linux-musleabihf(静态)
  • x86_64-apple-darwin(动态)
  • aarch64-apple-darwin(动态)

参考文献

故障排除

Linux 上的未知设备

删除 VCP FTDI 驱动。

sudo rmmod ftdi_sio
sudo rmmod usbserial

有关更多详细信息,请参阅FTDI 驱动安装指南 for Linux

许可证

FTDI 将 D2XX 驱动作为编译库和头文件提供。这些文件可以在 vendor 目录中找到。

位于 vendor 目录中的代码由 FTDI 许可。请参阅驱动程序许可条款页面了解其许可。

vendor 目录之外的代码均采用 MIT 许可。

注意:此库与 FTDI 无关。由于底层库为闭源,您需要联系供应商以获得任何支持请求。

依赖关系