Crate ftd2xx_embedded_hal[−][src]
Inspired by ftdi-embedded-hal this is an embedded-hal implementation for the for the FTDI chips using the libftd2xx drivers.
This enables development of embedded devices drivers without the use of a microcontroller. The FTDI D2xx devices interface with your PC via USB. They have a multi-protocol synchronous serial engine which allows them to interface with most UART, SPI, and I2C embedded devices.
Note: This is strictly a development tool. The crate contains runtime borrow checks and explicit panics to adapt the FTDI device into the embedded-hal traits.
Setup
One-time device setup instructions can be found in the libftd2xx crate.
Examples
SPI
use embedded_hal::prelude::*; use ftd2xx_embedded_hal::Ft232hHal; let ftdi = Ft232hHal::new()?.init_default()?; let mut spi = ftdi.spi()?;
I2C
use embedded_hal::prelude::*; use ftd2xx_embedded_hal::Ft232hHal; let ftdi = Ft232hHal::new()?.init_default()?; let mut i2c = ftdi.i2c()?;
GPIO
use embedded_hal::prelude::*; use ftd2xx_embedded_hal::Ft232hHal; let ftdi = Ft232hHal::new()?.init_default()?; let mut gpio = ftdi.ad6();
Limitations
- Limited trait support: SPI, I2C, Delay, and OutputPin traits are implemented.
- Limited device support: FT232H.
Re-exports
pub use embedded_hal; |
pub use libftd2xx; |
Structs
Delay | Delay structure. |
Ft232hHal | FT232H device. |
I2c | FTDI I2C interface. |
Initialized | Type state for an initialized FTDI HAL. |
OutputPin | FTDI output pin. |
Spi | FTDI SPI interface. |
Uninitialized | Type state for an uninitialized FTDI HAL. |