7 years agofixed EEPROM user-area space checks for FT232R and FT245R chips in ftdi_eeprom_build()
Robin Haberkorn [Fri, 23 Jan 2015 10:37:14 +0000]
fixed EEPROM user-area space checks for FT232R and FT245R chips in ftdi_eeprom_build()

According to FTDI Application Note 121 ("Accessing the EEPROM User Area Of FTDI
Devices"), the FT232R and FT245R chips have a total 48 words (96 bytes) of
user area space available for descriptive strings.

[Note from Thomas Jarosch: That has also been verified with "FT Prog" by Robin]

7 years agoAdd cbus python example code
Rodney Sinclair [Wed, 14 Jan 2015 16:19:42 +0000]
Add cbus python example code

7 years agoFix typo in CBUS defines (CBUSG_DRIVE1 -> CBUSH_DRIVE1)
Thomas Jarosch [Wed, 14 Jan 2015 10:38:35 +0000]
Fix typo in CBUS defines (CBUSG_DRIVE1 -> CBUSH_DRIVE1)

Thanks to Rodney Sinclair for the report.

7 years agoCosmetic change only (fix cmake style)
Thomas Jarosch [Tue, 23 Dec 2014 14:40:11 +0000]
Cosmetic change only (fix cmake style)

7 years agoAdd FT230X to the list of supported devices
Thomas Jarosch [Fri, 21 Nov 2014 17:02:07 +0000]
Add FT230X to the list of supported devices

For the next release ;)

7 years agoPrepare for final 1.2 release v1.2
Thomas Jarosch [Fri, 21 Nov 2014 16:42:17 +0000]
Prepare for final 1.2 release

7 years agoAdd FT230X support to ftdi_usb_find_all() v1.2rc1
Thomas Jarosch [Sat, 15 Nov 2014 18:04:35 +0000]
Add FT230X support to ftdi_usb_find_all()

7 years agoAdd udev rules for FT232H and FT230X type devices
Thomas Jarosch [Sat, 15 Nov 2014 18:00:49 +0000]
Add udev rules for FT232H and FT230X type devices

7 years agoNew default version for new git tags
Thomas Jarosch [Sat, 15 Nov 2014 17:52:27 +0000]
New default version for new git tags

7 years agoRemove print_inverted_bits() helper function from public API
Thomas Jarosch [Sat, 15 Nov 2014 17:42:29 +0000]
Remove print_inverted_bits() helper function from public API
Also fix minor code style issues.

Found during diff session to the previous release.

7 years agoWhitespace cleanup
Thomas Jarosch [Sat, 15 Nov 2014 17:30:21 +0000]
Whitespace cleanup

7 years agoSet release version 1.2, sort ChangeLog by priority
Thomas Jarosch [Sat, 15 Nov 2014 17:30:09 +0000]
Set release version 1.2, sort ChangeLog by priority

7 years agoPrepare changelog for 1.2 RC
Thomas Jarosch [Sat, 15 Nov 2014 17:26:20 +0000]
Prepare changelog for 1.2 RC

7 years agoAdd new code authors
Thomas Jarosch [Sat, 15 Nov 2014 17:24:46 +0000]
Add new code authors

7 years agoEnable searching for FTDI devices with either a VID or PID of zero
Forest Crossman [Fri, 31 Oct 2014 17:17:16 +0000]
Enable searching for FTDI devices with either a VID or PID of zero

This change makes it possible to detect FTDI clone chips that have been
"bricked" by the FTDI Windows driver (PID set to zero)

Signed-off-by: Forest Crossman <>

7 years agoAdd print_inverted_bits() to replace a duplicated code block.
Florian Preinstorfer [Thu, 23 Oct 2014 06:14:03 +0000]
Add print_inverted_bits() to replace a duplicated code block.

7 years agoReplace eeprom->rs232_inversion with eeprom->invert.
Florian Preinstorfer [Thu, 23 Oct 2014 06:08:07 +0000]
Replace eeprom->rs232_inversion with eeprom->invert.

 * The field eeprom->rs232_inversion reads and writes to the same
   location as eeprom->invert already does.
 * The configuration values invert_*, as read by ftdi_eeprom, are
   working ootb with FT230X chips. No configuration values were
   available for rs232_inversion.

I tested this commit with FT231X which identifies itself as VID 0x0403
and PID 0x6015.

7 years agoFix declaration shadow in ftdi.c
xantares [Sun, 14 Sep 2014 10:31:51 +0000]
Fix declaration shadow in ftdi.c

7 years agoFT230X: Read out, decode and encode the RS232 inversion configuration bits
Uwe Bonnes [Tue, 2 Sep 2014 11:50:32 +0000]
FT230X: Read out, decode and encode the RS232 inversion configuration bits

7 years agoFix LIBFTDIPP_LIBRARY name (it's ftdipp1, not ftdi1pp)
Jochen Sprickerhof [Tue, 12 Aug 2014 12:38:14 +0000]
Fix LIBFTDIPP_LIBRARY name (it's ftdipp1, not ftdi1pp)

7 years agoMake build of the unit tests configurable
Samuel Bryner [Mon, 14 Jul 2014 14:28:29 +0000]
Make build of the unit tests configurable

7 years agoNo more freshmeat / freecode :(
Thomas Jarosch [Mon, 7 Jul 2014 13:43:32 +0000]
No more freshmeat / freecode :(

8 years agoFixed variable shadowing
xantares [Thu, 5 Jun 2014 20:10:20 +0000]
Fixed variable shadowing

8 years agoAdded LibFTDI1ConfigVersion to allow version detection
xantares [Thu, 5 Jun 2014 19:44:41 +0000]
Added LibFTDI1ConfigVersion to allow version detection

8 years agoFix a typo in a MPSSE command in ftdi.h
Benjamin Vanheuverzwijn [Sun, 8 Jun 2014 16:51:04 +0000]
Fix a typo in a MPSSE command in ftdi.h

There is a typo in ftdi.h for the CLK_BYTES_OR_LOW define. It should be
0x9d and not 0x0d.

8 years agoftdi_usb_get_strings(): Don't try to open an already open device
Denis Sirotkin [Fri, 16 May 2014 15:40:13 +0000]
ftdi_usb_get_strings(): Don't try to open an already open device

8 years agoMinor fixes for MSVC++
Andrei Errapart [Fri, 16 May 2014 15:05:06 +0000]
Minor fixes for MSVC++

1. Variables must be defined at the beginning of a block; GCC enforces
   this only when in -pedantic mode.

2. The callback functions were lacking LIBUSB_CALL qualifier.

8 years agoft230x: Fix more eeprom decode pathes.
Uwe Bonnes [Thu, 24 Apr 2014 18:38:22 +0000]
ft230x: Fix more eeprom decode pathes.

8 years agoft230x: Use factory values for drive strength.
Uwe Bonnes [Thu, 24 Apr 2014 17:25:27 +0000]
ft230x: Use factory values for drive strength.

8 years agoft230x: Include Factory Configuration Data when building new eeprom data.
Uwe Bonnes [Thu, 24 Apr 2014 17:14:32 +0000]
ft230x: Include Factory Configuration Data when building new eeprom data.

8 years agoFT230X is a USB FS device, so maximum packet size is only 64 bytes.
Uwe Bonnes [Thu, 24 Apr 2014 14:35:52 +0000]
FT230X is a USB FS device, so maximum packet size is only 64 bytes.

No Baudrate > 3 MBaud neither.

8 years agoenable doxygen docstrings
xantares 09 [Fri, 28 Feb 2014 12:41:57 +0000]
enable doxygen docstrings


I noticed doxygen docstrings were generated but not included anymore in the swig bindings
since CMAKE_SWIG_FLAGS should be defined before the call to swig_add_module.

Here's a patch.

8 years agoCorrect incorrect initial value for LIBFTDI_STATIC_LIBRARIES, should start with LIBFT... v1.1
Chris Morgan [Wed, 5 Feb 2014 16:19:31 +0000]
Correct incorrect initial value for LIBFTDI_STATIC_LIBRARIES, should start with LIBFTDI_STATIC_LIBRARY not LIBFTDI_LIBRARY

8 years agoFinal touches for 1.1 release
Thomas Jarosch [Wed, 5 Feb 2014 16:04:17 +0000]
Final touches for 1.1 release

8 years agoAdd LIBFTDI_STATIC_LIBRARY and LIBFTDI_STATIC_LIBRARIES to make it easier to link...
Chris Morgan [Thu, 30 Jan 2014 22:22:44 +0000]
Add LIBFTDI_STATIC_LIBRARY and LIBFTDI_STATIC_LIBRARIES to make it easier to link statically against libftdi

8 years agoUpdate README.mingw to address libusb / libusbx merge
Xiaofan Chen [Thu, 30 Jan 2014 11:04:17 +0000]
Update README.mingw to address libusb / libusbx merge

8 years agoFix up rpm packaging of the python examples
Thomas Jarosch [Mon, 27 Jan 2014 08:26:49 +0000]
Fix up rpm packaging of the python examples

8 years agoIncrease version to 1.1 and copy over changelog to readme v1.1rc1
Thomas Jarosch [Thu, 23 Jan 2014 16:03:48 +0000]
Increase version to 1.1 and copy over changelog to readme

8 years agoIncrease copyright year to 2014
Thomas Jarosch [Thu, 23 Jan 2014 16:03:20 +0000]
Increase copyright year to 2014

8 years agoUpdate ChangeLog according to git history
Thomas Jarosch [Thu, 23 Jan 2014 15:58:05 +0000]
Update ChangeLog according to git history

8 years agoUpdate AUTHORS according to git history
Thomas Jarosch [Thu, 23 Jan 2014 15:56:40 +0000]
Update AUTHORS according to git history

8 years agoAlphabetic sorting
Thomas Jarosch [Thu, 23 Jan 2014 15:45:03 +0000]
Alphabetic sorting

8 years agoRemoved useless cmake instructions
xantares [Sun, 27 Oct 2013 08:07:57 +0000]
Removed useless cmake instructions

8 years agoFixed mingw python installation.
xantares [Mon, 30 Sep 2013 20:31:48 +0000]
Fixed mingw python installation.

8 years agoWorkaround for cmake bug #0013449
xantares [Mon, 23 Sep 2013 07:48:49 +0000]
Workaround for cmake bug #0013449

8 years agouse link dirs.
xantares [Fri, 20 Sep 2013 06:11:28 +0000]
use link dirs.

8 years agoConfigure libftdi1-config only unix & mingw, not win32
xantares [Sat, 14 Sep 2013 08:35:26 +0000]
Configure libftdi1-config only unix & mingw, not win32

8 years agoAllow libusb detection without pkgconfig.
xantares [Fri, 13 Sep 2013 07:34:44 +0000]
Allow libusb detection without pkgconfig.

8 years agoProvide cmake config fo mingw/win32 too.
xantares [Thu, 12 Sep 2013 20:46:03 +0000]
Provide cmake config fo mingw/win32 too.

8 years agoAutomatic reformatting with astyle (to match existing code style)
Thomas Jarosch [Thu, 24 Oct 2013 12:30:07 +0000]
reformatting with astyle (to match existing code style)

8 years agoFix ftdi_get_library_version function prototype
Paul Fertser [Mon, 14 Oct 2013 11:26:22 +0000]
Fix ftdi_get_library_version function prototype

This fixes /usr/include/libftdi1/ftdi.h:467:12: error: function declaration isn't a prototype [-Werror=strict-prototypes]

Reported-by: Drasko DRASKOVIC
Signed-off-by: Paul Fertser <>

8 years agoFix FT232H eeprom suspend pulldown setting
Davide Michelizza [Wed, 23 Oct 2013 14:01:55 +0000]
Fix FT232H eeprom suspend pulldown setting

8 years agoFix FT232H eeprom user area size
Davide Michelizza [Wed, 23 Oct 2013 14:00:31 +0000]
Fix FT232H eeprom user area size

Trying to write the eeprom for a FT232H chip I've found some issues
in ftdi_eeprom_build():
    - the eeprom user area is misaligned
      (in the comment the offset in correct but the value used is not).

8 years agolibftdi_write_data: argument #2 should be const
Uwe Bonnes [Tue, 3 Sep 2013 09:03:50 +0000]
libftdi_write_data: argument #2 should be const

Joerg Wunsch <> noted that in libftdi_write_data() the
buffer that is sent is only accessed reeading and so should be const. Please
consider appended patch ( if I got "const unsigned char *" versus "unsigned
char const *" right).

8 years agoCleaned static-lib cmake doc.
xantares [Thu, 15 Aug 2013 07:45:22 +0000]
Cleaned static-lib cmake doc.

8 years agoAlso move LibFTDI1Config to /cmake
xantares [Wed, 14 Aug 2013 19:06:11 +0000]
Also move LibFTDI1Config to /cmake

8 years agoGuess libdir for archlinux.
xantares [Wed, 14 Aug 2013 18:41:28 +0000]
Guess libdir for archlinux.

8 years agoAdded mingw-w64 toolchain files
xantares [Wed, 14 Aug 2013 18:23:08 +0000]
Added mingw-w64 toolchain files

8 years agoFixed installation of static libraries with windows.
xantares [Wed, 14 Aug 2013 18:13:19 +0000]
Fixed installation of static libraries with windows.

8 years agoFixed libintl use.
xantares [Wed, 14 Aug 2013 18:00:55 +0000]
Fixed libintl use.

8 years agoImprove mingw cross-compiling instructions
Paul Fertser [Wed, 7 Aug 2013 14:47:01 +0000]
Improve mingw cross-compiling instructions

This should make them less hackish and the outlined way seems to be
what upstream is recommending.

Signed-off-by: Paul Fertser <>

8 years agocmake: allow to use pkg-config for windows builds as well
Paul Fertser [Wed, 7 Aug 2013 10:35:47 +0000]
cmake: allow to use pkg-config for windows builds as well

If the user has an appropriate pkg-config wrapper,
e.g. i686-w64-mingw32-pkg-config (or building natively on mingw and
has pkg-config or pkg-config-lite installed), it can be used to locate
libusb-1.0 properly. For cross-compiling
-DPKG_CONFIG_EXECUTABLE=`which i686-w64-mingw32-pkg-config`
needs to be explicitly set.

It still doesn't prevent pkg-config-less operation, i.e. the user can
specify something like
and the build will succeed even when no pkg-config executable is

Signed-off-by: Paul Fertser <>

8 years agoFix mingw build issue caused by "interface" preprocessor definition
Paul Fertser [Wed, 7 Aug 2013 10:35:46 +0000]
Fix mingw build issue caused by "interface" preprocessor definition

Due to a weird odditie of windows, mingw has to redefine "interface" to
"struct" in its headers as described e.g. at

So if some software includes windows.h before ftdi.h, it'll lead to a
build failure. This snippet, borrowed from libusb, fixes it.

Signed-off-by: Paul Fertser <>

8 years agoPython bindings: Fix warnings from pep8
Michel Zou [Fri, 19 Jul 2013 14:47:31 +0000]
Python bindings: Fix warnings from pep8

8 years agoWhitespace cleanup
Thomas Jarosch [Mon, 8 Jul 2013 07:21:15 +0000]
Whitespace cleanup

8 years agoswig wrapper: Remove dynamic python module soname
Michel Zou [Mon, 8 Jul 2013 07:20:31 +0000]
swig wrapper: Remove dynamic python module soname

9 years agoTake dist-specifc python path into account.
Julien Schueller [Mon, 3 Jun 2013 07:42:49 +0000]
Take dist-specifc python path into account.

9 years agoAdded detection of libintl.
Julien Schueller [Tue, 30 Apr 2013 08:51:22 +0000]
Added detection of libintl.

9 years agoAdd get/set for usb_read/write_timeout in C++ wrapper
Jochen Sprickerhof [Mon, 22 Apr 2013 10:11:01 +0000]
Add get/set for usb_read/write_timeout in C++ wrapper

9 years agoFix typo in error message
Thomas Jarosch [Fri, 26 Apr 2013 12:34:40 +0000]
Fix typo in error message

Inspired by patch from Matthias Brugger <>

9 years agoUnify style of the main source code
Thomas Jarosch [Wed, 10 Apr 2013 08:42:43 +0000]
Unify style of the main source code

With all the contributions flowing in,
the code style varied here and there.

Also add the script I use to format the source code.

9 years agoAdded partial support for FT230X
Nathael Pajani [Wed, 10 Apr 2013 08:28:22 +0000]
Added partial support for FT230X

9 years agoAdded ftdi_eeprom_set_strings()
Nathael Pajani [Wed, 10 Apr 2013 08:19:17 +0000]
Added ftdi_eeprom_set_strings()

9 years agoRemove compiler warnings on signed comparison
Nathael Pajani [Wed, 10 Apr 2013 08:14:08 +0000]
Remove compiler warnings on signed comparison

9 years agoPrevent possible segfault
Nathael Pajani [Wed, 10 Apr 2013 08:10:13 +0000]
Prevent possible segfault

9 years agoFix compile error reported by Bryan Richmond
Thomas Jarosch [Wed, 10 Apr 2013 07:44:38 +0000]
Fix compile error reported by Bryan Richmond

9 years agoSave device release number. Allow writing of eeprom buffer, that was read from device.
Jarkko Sonninen [Sun, 24 Mar 2013 08:14:18 +0000]
Save device release number. Allow writing of eeprom buffer, that was read from device.

9 years agomake building of static libs optional
Mike Frysinger [Fri, 1 Mar 2013 08:13:32 +0000]
make building of static libs optional

Signed-off-by: Mike Frysinger <>

9 years agoMoved python stuff to own directory
Michel Zou [Tue, 19 Feb 2013 09:59:42 +0000]
Moved python stuff to own directory
(was 'bindings' before)

9 years agoAdded confuse script and moved cmake files
Michel Zou [Tue, 19 Feb 2013 09:44:32 +0000]
Added confuse script and moved cmake files

9 years agoFix eeprom flags for eeprom build
Jarkko Sonninen [Thu, 14 Feb 2013 15:02:32 +0000]
Fix eeprom flags for eeprom build

Original mail on libftdi mailinglist:


the eeprom_decode function sets struct ftdi_eeprom flags like this:
   eeprom->self_powered = buf[0x08] & 0x40;
but the eeprom_build uses the flags this way:
   if (eeprom->self_powered == 1)
as the result the bits won't be set. I suggest the patch below.

   - Jarkko Sonninen

9 years agoFixed read_pins argout typemap being sensitive to encoding.
Michel Zou [Sat, 9 Feb 2013 16:49:03 +0000]
Fixed read_pins argout typemap being sensitive to encoding.

9 years agoAdded version attribute.
Michel Zou [Thu, 31 Jan 2013 20:23:43 +0000]
Added version attribute.

9 years agoAllow to override LIB_SUFFIX
Michel Zou [Wed, 30 Jan 2013 20:57:28 +0000]
Allow to override LIB_SUFFIX

9 years agoFixed deprecated cmake python variable.
Michel Zou [Wed, 30 Jan 2013 14:01:47 +0000]
Fixed deprecated cmake python variable.

9 years agoFix typo in release documentation
Thomas Jarosch [Tue, 29 Jan 2013 13:42:53 +0000]
Fix typo in release documentation

9 years agoPrepare changelog for release v1.0
Thomas Jarosch [Tue, 29 Jan 2013 13:21:38 +0000]
Prepare changelog for release

9 years agoFix usleep unit conversion
Thomas Jarosch [Mon, 28 Jan 2013 13:46:25 +0000]
Fix usleep unit conversion

9 years agoMinGW support: Change sleep() to usleep()
Xiaofan Chen [Mon, 28 Jan 2013 09:34:06 +0000]
MinGW support: Change sleep() to usleep()

Change sleep() to usleep() to make examples build
successful under Windows with MinGW.

9 years agoPrepare third release candidate v1.0rc3
Thomas Jarosch [Fri, 25 Jan 2013 10:39:35 +0000]
Prepare third release candidate

9 years agoAdapt to new cmake config files path
Thomas Jarosch [Fri, 25 Jan 2013 10:39:13 +0000]
Adapt to new cmake config files path

9 years agoAdd C++ wrapper config vars.
Michel Zou [Thu, 24 Jan 2013 10:59:21 +0000]
Add C++ wrapper config vars.

9 years agoRenamed LibFTDIConfig.cmake. Cosmetic changes to CMakeLists.
Michel Zou [Thu, 24 Jan 2013 10:41:08 +0000]
Renamed LibFTDIConfig.cmake. Cosmetic changes to CMakeLists.

9 years agoAdapt rpm specfile to changed doxygen output path
Thomas Jarosch [Thu, 24 Jan 2013 08:30:04 +0000]
Adapt rpm specfile to changed doxygen output path

9 years agoInclude generated cmake config files in devel rpm package
Thomas Jarosch [Thu, 24 Jan 2013 08:28:24 +0000]
Include generated cmake config files in devel rpm package

9 years agoFixed cmake script installation dir on rpm distro.
Michel Zou [Wed, 23 Jan 2013 10:30:10 +0000]
Fixed cmake script installation dir on rpm distro.

9 years agoChange default build type to optimized build with debug symbols (RelWithDebInfo)
Thomas Jarosch [Thu, 24 Jan 2013 08:17:20 +0000]
Change default build type to optimized build with debug symbols (RelWithDebInfo)

9 years agoFixed python wrapper being rebuilt every time.
Michel Zou [Mon, 21 Jan 2013 10:44:08 +0000]
Fixed python wrapper being rebuilt every time.

9 years agoAdded cmake config file
Michel Zou [Mon, 21 Jan 2013 14:47:22 +0000]
Added cmake config file

9 years agoPrepare for 1.0rc2 v1.0rc2
Thomas Jarosch [Wed, 16 Jan 2013 11:09:34 +0000]
Prepare for 1.0rc2