Uwe Bonnes [Wed, 8 Sep 2010 17:43:30 +0000]
Remove forgotten print formatter
Uwe Bonnes [Wed, 8 Sep 2010 17:41:40 +0000]
Fill out control structure for EEPROM decoding
Uwe Bonnes [Wed, 8 Sep 2010 17:13:21 +0000]
Fix a wrong argument
Uwe Bonnes [Wed, 8 Sep 2010 17:12:50 +0000]
Unconditionally set/reset eeprom values
Uwe Bonnes [Wed, 8 Sep 2010 17:07:48 +0000]
When reading EEPROM strings, clip active, as rollover doesn't work for the FT2232R
Uwe Bonnes [Wed, 8 Sep 2010 17:07:15 +0000]
Add missing clause
Uwe Bonnes [Wed, 8 Sep 2010 17:01:39 +0000]
On request, dump arguments during EEPROM decoding
Uwe Bonnes [Wed, 8 Sep 2010 16:16:59 +0000]
Chip Type dependend code must be evaluated type dependant
Uwe Bonnes [Wed, 8 Sep 2010 16:08:17 +0000]
EEPROM [6] and [7] seems more used like a release variable. Name accordingly
Uwe Bonnes [Wed, 8 Sep 2010 15:57:18 +0000]
EEPROM[02] is VID, so high_current must be defined somewhere else
Uwe Bonnes [Wed, 8 Sep 2010 15:55:00 +0000]
On 93xx46, the Manufacturer/Product/Vendor Pointer gets clipped anyways, so don't clip to get things right on 93xx56 and 93x66 Only write strings if allocation succeeded
Uwe Bonnes [Wed, 8 Sep 2010 14:11:19 +0000]
Don't erase the EEPROM size
Uwe Bonnes [Wed, 8 Sep 2010 14:10:41 +0000]
Remove dead code.
Uwe Bonnes [Wed, 8 Sep 2010 14:02:48 +0000]
For EEPROM decoding, use the evaluated EEPROM size. FT223R is special case, as the EEPROM holds more information than is used for the checksum
Uwe Bonnes [Wed, 8 Sep 2010 14:01:32 +0000]
Remove ftdi_eeprom_getsize also from the CPP Wrapper
Uwe Bonnes [Wed, 8 Sep 2010 13:50:06 +0000]
Remove ftdi_read_eeprom_getsize() function. Integrate in into the ftdi_read_eeprom() function. On ftdi_eeprom_write() another approach is needed
Uwe Bonnes [Wed, 8 Sep 2010 13:16:54 +0000]
We need to handle at max 256 Bytes on an attached 93xx66 EEPROM
Uwe Bonnes [Wed, 8 Sep 2010 12:58:43 +0000]
Correct ftdi_eeprom_free()
Uwe Bonnes [Wed, 8 Sep 2010 11:16:33 +0000]
Use ftdi_error_return for EEPROM error returns
Uwe Bonnes [Wed, 8 Sep 2010 10:00:31 +0000]
Let the eeprom functions work on the ftdi_context, not the ftdi_eeprom structure
Thomas Jarosch [Thu, 16 Sep 2010 08:28:45 +0000]
Correct (signedness) issues detected by -Wall
Thomas Jarosch [Thu, 16 Sep 2010 08:25:53 +0000]
Fix initialization order (found by -Wall)
Uwe Bonnes [Wed, 8 Sep 2010 09:01:51 +0000]
Add -Wall to compiler flags
Uwe Bonnes [Wed, 8 Sep 2010 09:58:03 +0000]
stream_test.c cleanup
Hermann Kraus [Wed, 18 Aug 2010 07:50:55 +0000]
Support for FT232R eeprom features
From the mailinglist:
Hello!
I added support for creating FT232R-EEPROM images. They differ from
FT232BM images making communication unreliable if you don't get them right:
- Addr 0x00: Bit 6 selects between normal and high-current output mode
- Addr 0x01: IN endpoint size. !!! It is essential to set this to 0x40 to
get reliable communication! !!!
- Addr 0x07: (Device version) Was changed from 0x04 to 0x06
- Addr 0x0B: Invert outputs. Bit numbers:
0 TXD
1 RXD
2 RTS#
3 CTS#
4 DTR#
5 DSR#
6 DCD#
7 RI#
- Addr 0x14-0x16: Change function of CBUS pins. Low nibble of 0x14 is
CBUS0, high nibble CBUS1 and so on.
Values (hex):
TXDEN = 0
PWREN# = 1
RXLED# = 2
TXLED# = 3
TX_RX_LED# = 4
SLEEP# = 5
CLK48 = 6
CLK24 = 7
CLK12 = 8
CLK6 = 9
IO_MODE = A
BIT_WR = B
BIT_RD = C
RXF/TXE/RD/WR = D
It should be noted that 0x14-0x16 are used by the current library to
strings and therefore change behavior depending on the string descriptor.
In images created by FT_Prog 0x17 is 0 so I threat this as reserved.
FT_Prog has problems parsing string descriptor from devices written by
ftdi-eeprom without this patch.
I also have investigated FT2232L-EEPROM (=FT2232C) but have no final
conclusion yet,
because I don't want to change the information in this device. Just some
obvious differences.
- Addr 0x00/0x01: value 0x11 0x08
- Addr 0x07: (Device version) 0x05
- Addr 0x14/0x15: value 0x46 0x00
String descriptors start at 0x16.
Thomas Jarosch [Mon, 16 Aug 2010 16:06:42 +0000]
C++ wrapper: Fix infinite recursion in set_bitmode()
Reported by Hermann Kraus
Flynn Marquardt [Wed, 14 Jul 2010 07:53:17 +0000]
Python wrapper: Fix argument type of ftdi_read_chipid
Thomas Jarosch [Wed, 14 Jul 2010 07:46:12 +0000]
Update AUTHORS and fix code indent
Yi-Shin Li [Sun, 11 Jul 2010 15:08:11 +0000]
bug fix for async write and read
* In ftdi_write_data_cb(), the tc->offset should be accumulated with
transfer->actual_length.
* In ftdi_transfer_data_done(), the tc->transfer could be NULL if
"(size <= ftdi->readbuffer_remaining)" at ftdi_read_data_submit().
Therefore, has to check if it's NULL before accessing it.
Martin Zenzes (spacelab1-u) [Thu, 1 Jul 2010 10:49:19 +0000]
gitignore: temporary swp-files created by vim
nothing special here, just a plain .*.swp
Signed-off-by: Martin Zenzes (spacelab1-u) <mzenzes@mega2000.de>
Thomas Jarosch [Fri, 25 Jun 2010 10:57:22 +0000]
Always enable async mode using libusb 1.x
It's no longer linux specific (depends on platform support).
Mike Frysinger [Tue, 22 Jun 2010 23:02:06 +0000]
libftdi: add a --without-docs flag
Allow people to easily & forcibly disable doxygen support. This is useful
in builds where we only want the library and nothing else.
The default is unchanged -- configure still searches for doxygen.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 22 Jun 2010 22:46:09 +0000]
libftdi: add a --without-examples configure flag
There's a few places where I'm only concerned with building the libftdi
library (for integrating it into a JTAG program), so the examples are just
noise to me. As such, add an --without-examples configure flag so people
can easily disable the subdir. The default is unchanged -- examples are
still compiled & installed.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 22 Jun 2010 23:42:11 +0000]
fix build failure in libusb_context change
Current git tree build fails:
ftdi.c: In function 'ftdi_transfer_data_done':
ftdi.c:1513:36: error: 'ftdi' undeclared (first use in this function)
This function has a ftdi_transfer_control tc, not a ftdi_context ftdi.
Probably want to squash this into commit:
02212d8e84cccd393a95612d4c4a5ec495fa3e2e
Store and use the libusb_context
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Emmanuel Blot [Sat, 19 Jun 2010 20:59:54 +0000]
Fix up build on Mac OS X:
* Fix up Boost library management
* Fix up Python bindings
* Discard attempt to build C++ examples when Boost is not available
Emmanuel Blot [Sat, 19 Jun 2010 20:43:48 +0000]
Fix up string formatting for long long integers (64 bits)
Uwe Bonnes [Mon, 21 Jun 2010 08:44:10 +0000]
Store and use the libusb_context
Wilfried Holzke [Mon, 14 Jun 2010 07:20:14 +0000]
Add ftdi_eeprom_free() to free allocated memory in eeprom
Uwe Bonnes [Thu, 10 Jun 2010 13:50:35 +0000]
Correct version of ftdi_readstream agains GIT Head
Uwe Bonnes [Thu, 10 Jun 2010 12:36:54 +0000]
Export ftdi_readstream()
Thomas Jarosch [Thu, 10 Jun 2010 15:53:23 +0000]
Enhance FTDI driver message once more
Thomas Jarosch [Wed, 9 Jun 2010 16:32:34 +0000]
More generic error message for the FTDI kernel driver
Uwe Bonnes [Mon, 31 May 2010 13:46:55 +0000]
Provide a streaming read, base on code from Micah Dowty
Hello,
with appended code and a revised verilog code, I can reliable read blocks of
16 Bytes of date generated about each Microsecond, like running for about
500 seconds:
8 errors of
375293955 blocks (2.131662e-08), 9 (2.398120e-08) blocks skipped
From time to time some one or two blocks are skipped, which is something to
expect, as I only have about 128 byte of additional FIFO beside the FT2232H
internal fifo. First test showed that a larger FIFO lead to some more skips,
either by some flaw in my logic or some strange behaviour of the FT2232H
chip.
Writing the generated data to disk leads to skips for several to several ten
microseconds each several to several seconds. Probably the BLK (big kernel
lock) hits here.
The patch only adds some definition to ftdi.h and the additional file
ftdi_stream.c, with Micah Dowty okay to dual license his code. so I hope it
is okay to apply. Should the verilog code be inclided in libftdi too?
Uwe Bonnes [Tue, 8 Jun 2010 11:16:19 +0000]
libbusb_get_device_list() needs libusb_free_device_list() to avoid leaks
This second patch calls libbusb_get_device_list() in all code pathes of
ftdi_usb_open_desc_index() and ftdi_usb_open_string() after
libusb_get_device_list() was called.
ftdi_usb_find_all() still leaks and will be handled in another patch when
these two patches are applied.
Uwe Bonnes [Tue, 8 Jun 2010 10:24:19 +0000]
libusb_init() needs libusb_exit() to avoid leak
Uwe Bonnes [Tue, 18 May 2010 14:05:10 +0000]
Unconditionally call libusb_detach_kernel_driver() Try to be more helpfull when things fail because of missing permission
Alexander Lehmann [Tue, 25 May 2010 12:25:07 +0000]
Honor CPPFLAGS in python wrapper to improve build process on Mac OS X
Uwe Bonnes [Sun, 2 May 2010 15:46:45 +0000]
CMAKE: Fix package creation on 32-bit machines
Appended patch fixes a typo that caused the creation of _64.[deb|rpm]
also for 32-bit builds.
Thomas Jarosch [Fri, 16 Apr 2010 21:16:37 +0000]
Fix swig argument constraints. Thanks to Craig Hollabaugh for the hint.
Thomas Jarosch [Mon, 29 Mar 2010 10:21:52 +0000]
Fix ftdi_set_interface: It gets called before ftdi_usb_open().
Thanks to Marcus Krellig for pointing it out.
Thomas Jarosch [Fri, 19 Feb 2010 22:38:20 +0000]
Protect against segfault if device is closed or ftdi context is invalid
This will help mulithreaded applications which do proper
locking around the ftdi_xxx() functions and one thread
already closed the USB device -> Zonk!
Ported to libftdi-1.0 with additional checks.
Thanks to Thomas Klose for reporting the issue.
Uwe Bonnes [Tue, 2 Feb 2010 16:52:03 +0000]
Use max_packet_size
ftdi->max_packet_size is the best value we can get, mostly taken from the
descriptor and so right even after a 1.0 Hub
Uwe Bonnes [Tue, 2 Feb 2010 16:31:08 +0000]
libftdi(-1): Add cmake option to enable ASYNC_MODE
Appended patch allows to openm async mode with something like
cmake -DASYNC-MODE=on
It should apply to libusb too.
Uwe Bonnes [Tue, 2 Feb 2010 17:52:37 +0000]
We need to find libusb-1, so adapt the CMake support files
Jie Zhang [Sun, 14 Feb 2010 01:01:36 +0000]
Fix a typo in comment in my last change.
Jie Zhang [Sun, 14 Feb 2010 00:44:23 +0000]
Limit read buffer chunksize to 16384 on Linux.
Jie Zhang [Mon, 8 Feb 2010 15:32:53 +0000]
Declare ftdi_read_data_submit and ftdi_transfer_data_done in ftdi.h.
Jie Zhang [Tue, 19 Jan 2010 10:00:01 +0000]
Initial import of using libusb-1.0.
Gerd von Egidy [Mon, 18 Jan 2010 14:17:09 +0000]
building parts of libftdi via cmake is now optional.
the options are:
DOCUMENTATION
PYTHON_BINDINGS
FTDIPP
EXAMPLES
by default all parts will be built.
Mike Frysinger [Tue, 29 Dec 2009 08:48:59 +0000]
AX_BOOST_BASE: fix host boost search when cross-compiling
The AX_BOOST_BASE macro likes to do searches in the host paths (/usr and
such) which is obviously incorrect for cross-compiling. So disable these
fallback searches when cross-compiling.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 29 Dec 2009 08:37:15 +0000]
avoid PATH_MAX/string copies usage
The new ftdi_usb_open_string() func breaks mingw builds where PATH_MAX is
not defined. Rather than adding fallback code, compare the path strings
piece by piece to avoid the string copy overhead in the process.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 29 Dec 2009 07:44:36 +0000]
python: fix typo in top_builddir
Missing a "d" in the var name.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Thomas Jarosch [Mon, 21 Dec 2009 09:11:08 +0000]
Document libftdi release process
Thomas Jarosch [Mon, 21 Dec 2009 08:46:21 +0000]
Correct version in README file
Mike Frysinger [Sun, 20 Dec 2009 14:10:00 +0000]
ignore more generated files
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sun, 20 Dec 2009 14:09:59 +0000]
use AC_CONFIG_FILES to avoid outputting files over and over
The current configure ends up generating a lot of common files multiple
times because it calls AC_OUTPUT multiplte times. The right way to do
this is call AC_CONFIG_FILES multiple times and AC_OUTPUT once.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Thomas Jarosch [Sat, 19 Dec 2009 15:15:44 +0000]
Increase version
Thomas Jarosch [Sat, 19 Dec 2009 15:07:01 +0000]
Updated ChangeLog before release
Thomas Jarosch [Sat, 19 Dec 2009 14:52:20 +0000]
Don't lint async mode anymore as libusb-compat results in #error
Gerd v. Egidy [Sun, 13 Dec 2009 16:53:29 +0000]
small improvements in C++ wrapper:
- make ftdi_usb_open_string() available
- reduce code dupliation in open() functions
- overloaded set_bitmask using the correct enum ftdi_mpsse_mode
Gerd v. Egidy [Sun, 13 Dec 2009 01:26:39 +0000]
deprecated bitbang_enable in C++ wrapper too
Gerd v. Egidy [Sun, 13 Dec 2009 01:17:19 +0000]
don't use deprecated functions in examples anymore
Gerd v. Egidy [Sun, 13 Dec 2009 01:10:07 +0000]
deprecate ftdi_enable_bitbang()
- it's superseded for a long time by ftdi_set_bitmode()
- it reads the mode to set from ftdi->bitbang_mode which is an unexpected interface and can lead to wrong results
Gerd v. Egidy [Sun, 13 Dec 2009 01:02:09 +0000]
documentation improvements, small fix setting bitbang_enabled on all bitbang modes
Gerd v. Egidy [Sat, 12 Dec 2009 23:49:22 +0000]
use ftdi_usb_open_string() in baud_test example
Gerd v. Egidy [Sat, 12 Dec 2009 23:48:49 +0000]
fix description strings without serial
Gerd v. Egidy [Sat, 12 Dec 2009 23:29:10 +0000]
add new open functions: ftdi_usb_open_desc_index() and ftdi_usb_open_string()
Thomas Jarosch [Wed, 9 Dec 2009 08:42:56 +0000]
Don't install baud_test program
Gerd v. Egidy [Sun, 6 Dec 2009 20:03:03 +0000]
fix sync bitbang read-timing
Gerd v. Egidy [Sun, 6 Dec 2009 19:13:02 +0000]
read only what has really been written (seems not to make a difference though)
write out real baudrate too
Gerd v. Egidy [Sun, 6 Dec 2009 16:42:23 +0000]
make the write chunksize (and read chunksize for syncbb) configurable
Gerd v. Egidy [Sun, 6 Dec 2009 13:39:57 +0000]
increase resolution of time factor output
Gerd v. Egidy [Sun, 6 Dec 2009 13:39:30 +0000]
fix documentation typo
Gerd v. Egidy [Sun, 6 Dec 2009 13:16:00 +0000]
add baud_test example program: compare expected and actual transfer speeds for differen baudrates
Thomas Jarosch [Fri, 4 Dec 2009 09:12:15 +0000]
Updated ChangeLog
Thomas Jarosch [Fri, 4 Dec 2009 08:57:03 +0000]
Renamed examples/sio to examples/serial_read
Jim Paris [Wed, 2 Dec 2009 23:13:44 +0000]
examples: add sio example
Simple example to just receive and print data.
Thomas Jarosch [Sun, 15 Nov 2009 11:45:03 +0000]
Determine maximum packet size via usb config descriptor
Uwe Bonnes [Fri, 20 Nov 2009 20:08:33 +0000]
Add bitmode for synchronous fifo if FT2232H
Arg,
getting a one-line right didn't work out. Please disregards the first patch
and use appended patch instead
Changelog:
Appended small patch adds the bitmode (0x40) for synchronous fifo mode of
the FT2232H
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
>From
a470bfbdae1e78cc585bfe69b27ded88f4ba7349 Mon Sep 17 00:00:00 2001
From: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date: Fri, 20 Nov 2009 17:31:26 +0100
Subject: Add bitmode value for synchronous fifo if FT2232H
Thomas Jarosch [Thu, 5 Nov 2009 08:46:19 +0000]
Added new read/write_eeprom_location to C++ wrapper
Thomas Jarosch [Tue, 3 Nov 2009 16:56:58 +0000]
Updated AUTHORS and ChangeLog
Thomas Jarosch [Tue, 3 Nov 2009 16:54:47 +0000]
Fix usb_set_configuration() call on Windows 64.
Based upon idea/findings by "NIL".
Thimo Eichstaedt [Tue, 3 Nov 2009 16:43:43 +0000]
Fix usb index in ftdi_convert_baudrate() for FT2232H/FT4232H chips
Thimo Eichstaedt [Tue, 3 Nov 2009 16:39:21 +0000]
Set initial baudrate on correct interface instead of always the first one (Thimo Eichstaedt)
From libftdi mailinglist mail:
1) in ftdi_usb_open_dev() the baudrate is set to 9600, but that is done
too early (before the interface is set). So the baudrate of the first
interface is always modified, even if you opened a different one.
Uwe Bonnes [Thu, 23 Jul 2009 14:25:27 +0000]
Call usb_set_configuration() on Windows only
Hello,
working with interface 0 of the FT2232(H) on Linux, I get zillions of
kernel-log messages like:
kernel: usb 6-3: usbfs: interface 1 claimed by ftdi_sio while 'a.out' sets config #1
I understand as follows:
ftdi_usb_open_dev()
first detaches the driver for interface 0
Now usb_set_configuration() is called, but interface 1 is still attached to
the kernel driver. This results in above kernel log.
Do we really need to set the configuaration? Does any device have a
alternative configuration at all?
I propose appended patch, tested on Linux with and without ftdi_sio.ko
loaded. No other change seen, beside no more kernel log messages like above.
Bye
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
>From
fcb2609f0dae14c5616c34242177959cf226a5f2 Mon Sep 17 00:00:00 2001
From: Uwe Bonnes <bon@hertz.ikp.physik.tu-darmstadt.de>
Date: Thu, 23 Jul 2009 16:21:08 +0200
Subject: usb_set_configuration() not needed on Linux
Thomas Jarosch [Tue, 3 Nov 2009 16:20:27 +0000]
Add Toolchain-Crossbuild32.cmake for "make dist"
Uwe Bonnes [Tue, 29 Sep 2009 16:57:18 +0000]
Allow to crossbuild 32-bit library on 64-bit machine
Uwe Bonnes [Tue, 29 Sep 2009 16:56:03 +0000]
For Unix 64-bit builds, use LIB_SUFFIX to install to lib64
Clifford Wolf [Thu, 8 Oct 2009 13:32:41 +0000]
don't build --with-async-mode w/ libusb-compat-0.1
Hello,
attached is a little patch that prohibits libftdi from compiling against
libusb-compat-0.1 (the wrapper that provides a libusb-0.1 compatible api
for systems with libusb-1.0) when libftdi is configured with async mode.
unfortunately fixing async mode for libusb-1.0+libusb-compat-0.1 is not
trivial because libusb-1.0 comes with an os abstraction layer that hides
the unix filedescriptor much deeper in internal structures. but failing to
build is imo much better than segfaulting at runtime.
yours,
- clifford
PS: The USB_CLASS_PTP define is not present in any libusb-0.1 release
and has been added to libusb-compat-0.1 only afaics.
Oleg Seiljus [Tue, 3 Nov 2009 16:05:01 +0000]
Functions for read/write of a single eeprom location