Matthias Janke [Fri, 21 Jul 2017 14:10:15 +0000]
follow-up on c++ open() fix. fixes logic in open() with long argument list.
Thomas Jarosch [Wed, 26 Jul 2017 15:17:09 +0000]
Sync README with ChangeLog
Thomas Jarosch [Wed, 26 Jul 2017 15:03:29 +0000]
Increase version to 1.4rc2
Thomas Jarosch [Fri, 21 Jul 2017 10:00:58 +0000]
C++ API: Increase .so library version
We have an ABI break in this release (get_strings_and_reopen() changes),
so programs using the C++ wrapper need to be recompiled.
Thomas Jarosch [Fri, 21 Jul 2017 09:58:31 +0000]
Add Eric Schott to AUTHORS, update ChangeLog
Eric Schott [Fri, 21 Jul 2017 09:56:07 +0000]
C++ API: Correct the purge Direction and ModemCtl enumerations definitions
Do not use value of zero for bitmasks. The new enumeration values
are defined so programs compiled with the old ftdi.hpp include
would work as previously (doing nothing when the enumeration
with the zero value was bit-or'ed into the argument).
Eric Schott [Fri, 21 Jul 2017 09:48:37 +0000]
Correct const-ness of write to agree with ftdi.h
Thomas Jarosch [Thu, 20 Jul 2017 15:57:20 +0000]
Add Matthias Janke to AUTHORS, update ChangeLog
Matthias Janke [Thu, 13 Jul 2017 16:10:44 +0000]
C++ API: Add support to open devices with missing product / serial strings
The C++ API and C API differ in how they open a device. The C API only
considers the user supplied strings iVendor, iProduct and iSerial to open a device.
The C++ API behaves differently. After opening the device with specific supplied strings,
it tries to read all strings via get_strings_and_reopen().
This fails if one string like iSerial is not defined
in the descriptor. As such the whole open() operation fails
and the C++ API would only open devices with complete descriptors.
This commit fixes this behaviour, by extending the get_strings_and_reopen()
and get_strings() argument lists, to configure the strings to read.
Thomas Jarosch [Tue, 23 May 2017 18:37:20 +0000]
Changelog: Rename ftdi_usb_open_bus_port() to ftdi_usb_open_bus_addr()
Maxwell Dreytser [Thu, 11 May 2017 05:14:39 +0000]
Change ftdi_open_bus_port to ftdi_open_bus_addr, since libusb_get_port_number is not always unique.
Maxwell Dreytser [Fri, 21 Apr 2017 16:48:42 +0000]
Minor comment fix.
Yegor Yefremov [Wed, 12 Apr 2017 05:55:22 +0000]
Add missing sys/time.h include
When compiling libftdi with mingw toolchain it complains about
implicit declaration of gettimeofday().
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Thomas Jarosch [Fri, 21 Apr 2017 16:03:09 +0000]
Add ftdi_usb_open_bus_port to changelog, update AUTHORS
Maxwell Dreytser [Fri, 21 Apr 2017 16:01:24 +0000]
Add a ftdi_usb_open_bus_port() function
[Thomas Jarosch] from the libftdi mailinglist:
This patch adds a function that will open using the specified bus and
port. I don't know how useful it would be to others, but I decided to
submit it cause why not. I pretty much just copied
"ftdi_usb_open_desc_index" and modified the parameters and loop.
Thomas Jarosch [Wed, 5 Apr 2017 20:41:07 +0000]
Update Copyright to 2017, switch download URLs to HTTPS
Thomas Jarosch [Wed, 5 Apr 2017 20:38:10 +0000]
ChangeLog for 1.4rc1
Thomas Jarosch [Wed, 5 Apr 2017 20:26:10 +0000]
Update AUTHORS and release checklist
Thomas Jarosch [Wed, 5 Apr 2017 18:55:45 +0000]
Set version number to 1.4rc1
Thomas Jarosch [Wed, 22 Feb 2017 10:56:02 +0000]
ftdi_eeprom_set_strings(): No need for an open device
Thomas Jarosch [Wed, 22 Feb 2017 09:20:59 +0000]
Add Adam Malinowski to AUTHORS
Thomas Jarosch [Wed, 22 Feb 2017 09:17:56 +0000]
Add python (SWIG) support for ftdi_eeprom_get_strings()
Thomas Jarosch [Wed, 22 Feb 2017 09:07:53 +0000]
Add doxygen documentation for ftdi_eeprom_get_strings()
Mostly borrowed from ftdi_usb_get_strings()
Adam Malinowski [Thu, 16 Feb 2017 14:17:14 +0000]
Add new function ftdi_eeprom_get_strings()
This function adds possibility of reading EEPROM strings:
manufacturer, product and serial number.
Yegor Yefremov [Tue, 24 Jan 2017 14:14:57 +0000]
cbus.py: remove unnecessary semicolons
Robert Cox [Fri, 23 Dec 2016 13:36:28 +0000]
Update build instructions with yum references
Robert Cox [Fri, 23 Dec 2016 13:30:55 +0000]
eeprom: Fix USE_SERIAL handling for 230X type chips
Found that the USE_SERIAL was not being set correctly in
the eeprom_build routine for the 230X. Tracked the problem down to a line
that hard coded the value when the 230X was first added. With this line
removed code currently in the code before the switch will set the bit
correctly for the 230X.
Tim D. Smith [Wed, 17 Aug 2016 03:44:57 +0000]
Allow LINK_PYTHON_LIBRARY=OFF on Darwin
Thomas Jarosch [Tue, 16 Aug 2016 12:55:33 +0000]
Add TYPE_230X to baudrate test code
Joe Zbiciak [Sat, 13 Aug 2016 19:46:16 +0000]
Use BM/R series baud rate computation for FT230X.
The current code uses the AM series baud rate computation for FT230X,
and this results in incorrect divisor calculation for high baud rates.
Use the BM/R series logic instead.
This matches the corresponding code paths in the Linux kernel ftdi_sio
driver. See ftdi_sio.c:1323 here:
http://lxr.free-electrons.com/source/drivers/usb/serial/ftdi_sio.c#L1323
Specifically attempts to set 2000000 on an FT230X fail currently due to
the if-statement at ftdi.c:1106. The computed divisor (12) gets clamped
to 16, and thus the for-loop it's in doesn't converge on a usable divisor.
The if-statement at ftdi.c:1152 never fires, as the if-statement at
ftdi.c:1106 in the for-loop precludes a divisor of 12 (which is required
for *encoded_divisor to become 0x4001).
Thomas Jarosch [Thu, 28 Jul 2016 14:47:42 +0000]
Add Jon Beniston to AUTHORS
Jon Beniston [Thu, 28 Jul 2016 14:42:55 +0000]
Const correctness for char* strings
This changes the API for the ftdi_get_error_string(),
but the fix is really simple.
From the mailinglist:
The attached patch fixes some warnings/errors when compiled with g++ and
another compiler:
- Strings should be const char *
- Malloc needs to be cast from void * to char *
- Avoid mixing declarations with code
Jon Beniston [Fri, 22 Jul 2016 10:29:21 +0000]
Build on _WIN32: Don't include sys/time.h
The attached patch fixes compilation with Visual Studio:
sys/time.h isn't available on Windows. timeval is defined within
windows includes.
Compiles OK for Cygwin/Mingw too.
Yegor Yefremov [Thu, 9 Jun 2016 08:04:33 +0000]
Fix cbus.py example
FT230X related enums are called CBUSX and not CBUSH.
Yegor Yefremov [Fri, 10 Jun 2016 11:58:32 +0000]
Make ftdi_read_eeprom_location() endianess independent
Read 16-bit integer as two byte array and combine these two bytes
to unsigned short.
Rolf Fiedler [Mon, 6 Jun 2016 15:31:40 +0000]
ftdi_eeprom: Fix flashing FT245R
When we were trying to program FT245R, they were always flashed as FT232R.
The attached patch fixes the missing call to type2bit for TYPE_R.
Thomas Jarosch [Fri, 20 May 2016 06:53:12 +0000]
Prepare final 1.3 release
Thomas Jarosch [Fri, 20 May 2016 06:33:15 +0000]
ftdi_eeprom: Improve usability of flash_raw mode
Thomas Jarosch [Mon, 25 Apr 2016 17:00:02 +0000]
rpm spec file: Include ftdi_eeprom/example.conf
Moved the config file to the right directory, too.
Also update the expected final release month in the ChangeLog.
Thomas Jarosch [Wed, 20 Apr 2016 18:31:31 +0000]
Fix build error on rc1 string in MINOR_VERSION
Thomas Jarosch [Wed, 20 Apr 2016 18:30:46 +0000]
Update Doxygen configuration
Thomas Jarosch [Tue, 19 Apr 2016 21:02:52 +0000]
Set version number to 1.3rc1
Thomas Jarosch [Tue, 19 Apr 2016 20:59:57 +0000]
Update changelog for 1.3, update AUTHORS
Thomas Jarosch [Mon, 18 Apr 2016 20:58:44 +0000]
Add Fahrzin Hemmati to AUTHORS, update ChangeLog
Thomas Jarosch [Mon, 18 Apr 2016 20:57:00 +0000]
Add ftdi_usb_get_strings2() to the python wrapper
Fahrzin Hemmati [Mon, 18 Apr 2016 20:48:42 +0000]
Add new function ftdi_usb_get_strings2()
This new version of ftdi_usb_get_strings() only closes
the device if it was opened by the function, too.
[minor code and changelog tweaks by Thomas Jarosch]
Ларионов Даниил [Sat, 26 Mar 2016 12:36:53 +0000]
ftdi_stream: fix timeout setting: tv_usec field of timeval is in microseconds, not ms
Eugene Hutorny [Sat, 23 Jan 2016 04:41:30 +0000]
Added ftdi_transfer_data_cancel for cancelation of a submitted transfer, avoided resubmittion of a cancelled transfer in the callbacks, replaced calls to libusb_handle_events with libusb_handle_events_timeout_completed (Eugene Hutorny, eugene@hutorny.in.ua)
Thomas Jarosch [Fri, 20 Nov 2015 22:54:56 +0000]
Install example config for ftdi_eeprom in docdir
Feature request and initial patch from Fabio Rossi.
Thomas Jarosch [Fri, 20 Nov 2015 22:29:33 +0000]
Add Salvador Eduardo Tropea to AUTHORS
Salvador Eduardo Tropea [Fri, 20 Nov 2015 22:26:03 +0000]
eeprom handling: Add support for arbitrary user data
Add two new configuration options:
- user_data_addr: An integer indicating the offset
where we want to put the user provided data.
- user_data_file: A string indicating the filename that
contains the binary data to be added.
I've extended the libftdi API to store the above mentioned data inside
the eeprom struct. Also extended ftdi_eeprom_build to include this data.
Salvador Eduardo Tropea [Fri, 20 Nov 2015 22:11:53 +0000]
ftdi_eeprom: Add --build-eeprom support
Support a "--build-eeprom" command line option that just
generates the EEPROM image (only flashed if --flash-eeprom is provided)
Thomas Jarosch [Thu, 5 Nov 2015 16:53:07 +0000]
swig wrapper: Fix handling of binary strings in ftdi_write_data() for python 3
Thanks to xantares09 for developing this patch!
Also thanks to Chris Bracket for testing it on python 2 and python 3.
Thilo Schulz [Mon, 12 Oct 2015 17:07:23 +0000]
Fix useless use_usb_version config file option is useless due to incorrect checking of boolean flag
Hi,
currently the use_usb_version configuration option for ftdi_eeprom is not
honoured. Config file adds boolean option as 0x00 or 0x01, but the check in
libftdi is for the actual bitnumber for USE_USB_VERSION_BIT which is not 0x01.
Signed-off-by: Thilo Schulz <thilo@tjps.eu>
Thomas Jarosch [Fri, 16 Oct 2015 11:30:12 +0000]
Add Thilo Schulz to AUTHORS
Thilo Schulz [Sat, 10 Oct 2015 13:04:39 +0000]
Allow include() directive for libconfuse formatted config
file in ftdi_eeprom
Thilo Schulz [Sat, 10 Oct 2015 11:06:04 +0000]
Fix segfault crash if output file cannot be opened
Thomas Jarosch [Wed, 23 Sep 2015 08:59:37 +0000]
Update address of FSF
New file taken from:
http://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt
Thomas Jarosch [Mon, 7 Sep 2015 14:08:04 +0000]
Add Raphael Assenat to AUTHORS
Raphael Assenat [Fri, 14 Aug 2015 20:13:58 +0000]
FT232R EEPROM: Add External oscillator enable bit
To use an external oscillator on FT232R/FT245R an eeprom bit must be
set. This patch adds support for it in the library.
This is an updated version of the original patch which was missing
the ftdi_set_eeprom_value implementation.
Signed-off-by: Raphael Assenat <raph@8d.com>
Thomas Jarosch [Fri, 14 Aug 2015 13:28:14 +0000]
Add Stephan Linz to AUTHORS
Stephan Linz [Thu, 13 Aug 2015 10:03:29 +0000]
ftdi_eeprom: support channel configuration
Previously, the channels could not be configured and were
hard set to type UART and driver VCP and further to no RS485
functionality on chips with support for this feature.
With the new 'chX_*' config file options the ftdi_eeprom tool
is now abel to change the channel type, set the driver autoload
decision (VCP od D2XX) and enable or disable RS485.
The new config file options are:
* ch[a,b]_type - string of: UART, FIFO, OPTO, CPU, FT1284
* ch[a,b,c,d]_vcp - bool: true for VCP, false for D2XX
* ch[a,b,c,d]_rs485 - bool: true for RS485 enabled
Signed-off-by: Stephan Linz <linz@li-pro.net>
Thomas Jarosch [Wed, 27 May 2015 15:43:03 +0000]
Update doxygen config template
Solves this warning:
Warning: Tag `SYMBOL_CACHE_SIZE' at line 341 of file `(...)/build/Doxyfile'
has become obsolete.
Diff looks ok, mostly documentation changes.
Robin Haberkorn [Tue, 27 Jan 2015 21:53:41 +0000]
ftdi_eeprom: added --device option to specify FTDI device
* previously, the device could only be selected using the "vendor_id",
"product_id" and "default_pid" config file options.
This did not guarantee that a device could be uniquely identified
(e.g. there could be multiple devices with the same VID/PID).
Also this severely limited the possibilities of changing a device's
VID/PID using ftdi_eeprom - this only worked if the device happened
to have FTDI's VID 0x0403 and a PID equal to "default_pid".
* If the --device option is omitted, ftdi_eeprom defaults to the
old behaviour of using the config file options.
* The order of arguments is insignificant. If multiple
'command' options (--read-eeprom, --erase-eeprom, --flash-eeprom)
are given, only the last one will determine the action.
Thomas Jarosch [Thu, 12 Feb 2015 21:42:14 +0000]
Fix wrong offset for CBUS_FUNCTION_9 via ftdi_get_eeprom_value()
Reported by Denis Davydov. Thanks!
Robin Haberkorn [Tue, 13 Jan 2015 23:03:38 +0000]
fixed ftdi_cbus_func and ftdi_cbush_func enumerations and introduced ftdi_cbusx_func
* removed CBUS_BB. D2XX doesn't have it, so I don't think it's actually valid.
* CBUSH_TXLED/CBUSH_RXLED had the wrong values probably because the author
looked at an outdated D2XX ftdi.h
These values were also wrong in various mux tables of ftdi.c resulting
e.g. in confusing outputs of the eeprom.c example.
* ftdi_cbush_func was extended to contain FT230X CBUS functions.
However, the clock functions are different on FT-X and it is also
confusing to use CBUSH constants on FT-X chips, so I introduced another
enum ftdi_cbusx_func with CBUSX constants.
* Added support for setting CBUS functions on FT232H and FT230X in ftdi_eeprom.
To support these chips, special cbushN and cbusxN options have been
introduced.
Possible values of the "cbus" options now match the ftdi.h constant names.
Libconfuse string lists are no longer used as option types since they do not
represent enumerations but lists.
* When "cbus" options are missing in ftdi_eeprom config files, keep the
chip defaults as set by ftdi_eeprom_initdefaults().
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]
Rodney Sinclair [Wed, 14 Jan 2015 16:19:42 +0000]
Add cbus python example code
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.
Thomas Jarosch [Tue, 23 Dec 2014 14:40:11 +0000]
Cosmetic change only (fix cmake style)
Thomas Jarosch [Fri, 21 Nov 2014 17:02:07 +0000]
Add FT230X to the list of supported devices
For the next release ;)
Thomas Jarosch [Fri, 21 Nov 2014 16:42:17 +0000]
Prepare for final 1.2 release
Thomas Jarosch [Sat, 15 Nov 2014 18:04:35 +0000]
Add FT230X support to ftdi_usb_find_all()
Thomas Jarosch [Sat, 15 Nov 2014 18:00:49 +0000]
Add udev rules for FT232H and FT230X type devices
Thomas Jarosch [Sat, 15 Nov 2014 17:52:27 +0000]
New default version for new git tags
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.
Thomas Jarosch [Sat, 15 Nov 2014 17:30:21 +0000]
Whitespace cleanup
Thomas Jarosch [Sat, 15 Nov 2014 17:30:09 +0000]
Set release version 1.2, sort ChangeLog by priority
Thomas Jarosch [Sat, 15 Nov 2014 17:26:20 +0000]
Prepare changelog for 1.2 RC
Thomas Jarosch [Sat, 15 Nov 2014 17:24:46 +0000]
Add new code authors
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 <cyrozap@gmail.com>
Florian Preinstorfer [Thu, 23 Oct 2014 06:14:03 +0000]
Add print_inverted_bits() to replace a duplicated code block.
Florian Preinstorfer [Thu, 23 Oct 2014 06:08:07 +0000]
Replace eeprom->rs232_inversion with eeprom->invert.
Summary:
* 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.
xantares [Sun, 14 Sep 2014 10:31:51 +0000]
Fix declaration shadow in ftdi.c
Uwe Bonnes [Tue, 2 Sep 2014 11:50:32 +0000]
FT230X: Read out, decode and encode the RS232 inversion configuration bits
Jochen Sprickerhof [Tue, 12 Aug 2014 12:38:14 +0000]
Fix LIBFTDIPP_LIBRARY name (it's ftdipp1, not ftdi1pp)
Samuel Bryner [Mon, 14 Jul 2014 14:28:29 +0000]
Make build of the unit tests configurable
Thomas Jarosch [Mon, 7 Jul 2014 13:43:32 +0000]
No more freshmeat / freecode :(
xantares [Thu, 5 Jun 2014 20:10:20 +0000]
Fixed variable shadowing
xantares [Thu, 5 Jun 2014 19:44:41 +0000]
Added LibFTDI1ConfigVersion to allow version detection
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.
Denis Sirotkin [Fri, 16 May 2014 15:40:13 +0000]
ftdi_usb_get_strings(): Don't try to open an already open device
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.
Uwe Bonnes [Thu, 24 Apr 2014 18:38:22 +0000]
ft230x: Fix more eeprom decode pathes.
Uwe Bonnes [Thu, 24 Apr 2014 17:25:27 +0000]
ft230x: Use factory values for drive strength.
Uwe Bonnes [Thu, 24 Apr 2014 17:14:32 +0000]
ft230x: Include Factory Configuration Data when building new eeprom data.
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.
xantares 09 [Fri, 28 Feb 2014 12:41:57 +0000]
enable doxygen docstrings
Hi,
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.
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
Thomas Jarosch [Wed, 5 Feb 2014 16:04:17 +0000]
Final touches for 1.1 release