libFTDI - FTDI USB driver with bitbang mode
libFTDI is an open source library to talk to FTDI chips:
- FT230X
- FT4232H / FT2232H
- FT232R / FT245R
- FT2232L / FT2232D / FT2232C
- FT232BM / FT245BM (and the BL/BQ variants)
- FT8U232AM / FT8U245AM
libFTDI works perfectly with Linux, Windows, MacOS X and BSD variants thanks to libusb.
If you have questions or want to talk to other developers, join the mailing list.
News
2017-08-07: Version 1.4 of libftdi released
- New ftdi_usb_open_bus_addr() open function
- Use BM/R series baud rate computation for FT230X
- ftdi_get_error_string() now returns const char*
- C++ API: Ability to open devices with empty descriptor strings
- C++ API: Fix enumerations for buffer purge and modem controls
- small build fixes and improvements in the python examples
- ftdi_eeprom / eeprom handling:
- New API function: ftdi_eeprom_get_strings()
- Fix USE_SERIAL handling for 230X type chips
- Make ftdi_read_eeprom_location() endianness independent
- Fix flashing of FT245R
- Added ftdi_usb_get_strings2() to prevent automatic device close (Fahrzin Hemmati)
- Added ftdi_transfer_data_cancel() for cancellation of a submitted transfer, avoided resubmittion of a canceled transfer in the callbacks, replaced calls to libusb_handle_events with libusb_handle_events_timeout_completed (Eugene Hutorny)
- ftdi_eeprom / eeprom handling:
- Add support for arbitrary user data (Salvador Eduardo Tropea)
- Add --build-eeprom support (Salvador Eduardo Tropea)
- Fix use_usb_version config file option (Thilo Schulz)
- Ability to include other config files in EEPROM config file (Thilo Schulz)
- Add external oscillator enable bit (Raphael Assenat)
- Support channel configuration (Stephan Linz)
- Added --device option to ftdi_eeprom to specify FTDI device (Robin Haberkorn)
- Fixed EEPROM user-area space checks for FT232R and FT245R chips (Robin Haberkorn)
- Various improvements to CBUS handling, including the EEPROM (Robin Haberkorn)
- swig wrapper: Fix handling of binary strings in ftdi_write_data() for python 3 (xantares09)
- cbus python example code (Rodney Sinclair)
- ftdi_stream: fix timeout setting (Ларионов Даниил)
- Fixed typo in CBUS defines: CBUSG_DRIVE1 -> CBUSH_DRIVE1
- Support for FT230X devices (Uwe Bonnes)
- ftdi_usb_get_strings(): Don't try to open an already open device (Denis Sirotkin)
- Support for finding devices bricked by the Windows driver (Forest Crossman)
- cmake build system: New LibFTDI1ConfigVersion.cmake file (xantares09)
- Fix a typo in the MPSSE command CLK_BYTES_OR_LOW (Benjamin Vanheuverzwijn)
- Minor fixes for MSVC++ (Andrei Errapart)
- Various small code improvements (Florian Preinstorfer, Jochen Sprickerhof, xantares09)
License
The library itself is licensed under LGPL 2.1 (not any later),
the EEPROM programmer is licensed under GPL 2 (not any later)