safe-ftdi
safe-ftdi
is a set of (nominally!) safe API bindings to
libftdi
, implemented
as a thin wrapper around
libftdi1-sys
. Functions from
libftdi
are implemented in safe-ftdi
on an as-needed basis, and they
arr named the same as their libftdi
counterparts with the ftdi_
prefix
stripped.
Documentation on specific functions will come soon, but the example directory contains a reimplementation of mercpcl, my old command-line application to program the flash on the Mercury FPGA development board using the bitbang mode of the FT245.
libftdi1-sys
requires the
pkg-config
crate, and so
transitively safe-ftdi
requires it as well. I have tested the bindings
on Windows using the MSYS2 environment, and
the GNU ABI version of rustc
.
Although the library in principle compiles on stable Rust 1.26 or greater,
the example provided requires non-lexical lifetimes and the
Polonius borrow checker
to use the safe-ftdi
API ergonomically (i.e. using ?
when the Err
variant
of a Result
as an explicit lifetime parameter). Therefore, assume the library
is nightly-only for now.
Licensed under either of
Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your discretion.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.