Thomas Jarosch [Fri, 24 Sep 2010 07:48:09 +0000]
Cosmetic changes
Thomas Jarosch [Fri, 24 Sep 2010 07:40:00 +0000]
Document isochronous transfer mode of FT2232C
Thomas Jarosch [Fri, 24 Sep 2010 07:02:43 +0000]
Update/verify EEPROM map for BM type chips
Uwe Bonnes [Fri, 17 Sep 2010 13:15:14 +0000]
Write to EEPROM direct when trying to detect EEPROM size
Uwe Bonnes [Thu, 16 Sep 2010 09:55:20 +0000]
Warn user about missing FT4232H-specific EEPROM settings
Uwe Bonnes [Thu, 16 Sep 2010 09:49:05 +0000]
examples/eeprom.c: Remove unused variable
Uwe Bonnes [Wed, 15 Sep 2010 15:33:39 +0000]
EEPROM: Add missing closing brace
Uwe Bonnes [Wed, 15 Sep 2010 15:32:48 +0000]
EEPROM: Null out buffer after allocation
Uwe Bonnes [Wed, 15 Sep 2010 15:31:01 +0000]
FT2232H: Handle suspend_pull_downs when encoding
Uwe Bonnes [Wed, 15 Sep 2010 14:19:53 +0000]
Decoded max_power is in mA and 90 mA for TYPE_R and 100mA else
Uwe Bonnes [Wed, 15 Sep 2010 11:20:31 +0000]
Fix decoding of FT(2|4)232H channel A type
Uwe Bonnes [Tue, 14 Sep 2010 15:11:47 +0000]
Add option to write eeprom
Uwe Bonnes [Tue, 14 Sep 2010 15:05:38 +0000]
ftdi_write_eeprom_location access to checksum protected area will produce checksum errors, so check - access is about byte 0xff - eeprom chip is of type 93c66, so high area exists - ftdi device can handle 93c66
Uwe Bonnes [Tue, 14 Sep 2010 14:07:56 +0000]
use_serial is used in all devices beside AM types. So move out of the switch(ftdi->type) construct
Uwe Bonnes [Tue, 14 Sep 2010 13:50:54 +0000]
max_power eeprom value is in 2 mA Steps
Uwe Bonnes [Tue, 14 Sep 2010 13:49:55 +0000]
Use the PNP flag as seen with FTD2XX
Uwe Bonnes [Tue, 14 Sep 2010 13:21:16 +0000]
Document ftdi_eeprom_initdefaults Add return value to ftdi_eeprom_initdefaults
Uwe Bonnes [Tue, 14 Sep 2010 13:11:47 +0000]
Handle manufacturer/product/serial strings internal Set these string as arguments to ftdi_eeprom_build Remove exported function ftdi_eeprom_free
Uwe Bonnes [Tue, 14 Sep 2010 12:46:02 +0000]
Provide internal eeprom structure buffer with internal byte buffer Purge external eeprom structure buffer and eeprom read/write byte buffer from API
Uwe Bonnes [Mon, 13 Sep 2010 14:57:32 +0000]
Use allocated ftdi structure
Uwe Bonnes [Fri, 10 Sep 2010 21:20:48 +0000]
Initialize use_defaults
Uwe Bonnes [Fri, 10 Sep 2010 21:20:05 +0000]
Correct the CBUS decode string arrays
Uwe Bonnes [Fri, 10 Sep 2010 20:54:39 +0000]
Example for the EEPROM API
Uwe Bonnes [Fri, 10 Sep 2010 20:41:35 +0000]
Add description of EEPROM Structure as decoded by now. Please comment!
Uwe Bonnes [Fri, 10 Sep 2010 20:40:29 +0000]
Fix and verbose decode of TYPE_R CBUS functions and pin inversion
Uwe Bonnes [Fri, 10 Sep 2010 19:59:40 +0000]
Release values in EEPROM structure are not user changable. Remove it from the ftdi_eeprom structure
Uwe Bonnes [Fri, 10 Sep 2010 19:56:07 +0000]
CBUS Mus has 0xd as highest number
Uwe Bonnes [Fri, 10 Sep 2010 19:55:36 +0000]
Add a lost comment
Uwe Bonnes [Fri, 10 Sep 2010 19:53:20 +0000]
Build EEPROM type specific bytes and bites in a switch construct
Uwe Bonnes [Fri, 10 Sep 2010 19:47:55 +0000]
Fix writing the strings
Uwe Bonnes [Fri, 10 Sep 2010 19:40:28 +0000]
when building the eeprom image, use the actual determined eeprom size
Uwe Bonnes [Fri, 10 Sep 2010 19:38:28 +0000]
Set eeprom->release when building the eeprom content from the chip type Add releases for TYPE_2232H and TYPE_4232H
Uwe Bonnes [Fri, 10 Sep 2010 19:36:11 +0000]
eeprom->channel_a_type must be initialized
Uwe Bonnes [Fri, 10 Sep 2010 19:35:44 +0000]
Fix logic flow after
Uwe Bonnes [Fri, 10 Sep 2010 17:35:58 +0000]
Next try to get the VCP/D2XX logic right. TYPE_R in inverted
Uwe Bonnes [Fri, 10 Sep 2010 13:34:04 +0000]
A set bit means load D2XX driver. Revers logic and names
Uwe Bonnes [Fri, 10 Sep 2010 13:27:25 +0000]
Get the test on TYPE_R for unexpected In-Endpoint sizes right
Uwe Bonnes [Fri, 10 Sep 2010 13:25:31 +0000]
TYPE_E EEPROM Byte 1 bit 4 is expected to be IN Endpoint size Request user feedback if unexpected values seen
Uwe Bonnes [Fri, 10 Sep 2010 13:18:28 +0000]
EEPROM bit for high current IO seems at different bits for TYPE_R and TYPE_2232C
Uwe Bonnes [Fri, 10 Sep 2010 12:47:48 +0000]
The USB Version seems to be always set in EEPROM EEPROM byte[0x0a] bit 4 (change_usb_version) was never seen set. Remove it and request user report if ever seen set
Uwe Bonnes [Fri, 10 Sep 2010 12:06:28 +0000]
Temporary remove CBUS settings
Uwe Bonnes [Fri, 10 Sep 2010 11:31:17 +0000]
max_power EEPROM default is 100 mA
Uwe Bonnes [Fri, 10 Sep 2010 11:24:57 +0000]
ftdi_eeprom_build needs to know EEPROM chip type
Uwe Bonnes [Fri, 10 Sep 2010 11:20:37 +0000]
When erasing EEPROM, detect chip type (none,internal,93xc46|56|66)
Uwe Bonnes [Fri, 10 Sep 2010 10:41:00 +0000]
Decode connected chip
Uwe Bonnes [Fri, 10 Sep 2010 09:32:47 +0000]
max_power in mA is EEPROM[0x09]*2
Uwe Bonnes [Fri, 10 Sep 2010 09:21:54 +0000]
FT2232C has version 0x0500 in EEPROM as default
Uwe Bonnes [Fri, 10 Sep 2010 09:20:08 +0000]
Comprare ftdi->type and do not set it in EEPROM Structure initialization
Uwe Bonnes [Fri, 10 Sep 2010 09:17:46 +0000]
All x232 type have (at least) two USB channels
Uwe Bonnes [Fri, 10 Sep 2010 09:16:52 +0000]
EEPROM Size check must cope with different types
Uwe Bonnes [Fri, 10 Sep 2010 09:09:38 +0000]
Define the CBUS Multiplexer as an ENUM
Uwe Bonnes [Thu, 9 Sep 2010 22:55:00 +0000]
Revisit eeprom_initdefualts Symbolic constant for USE_SERIAL_NUM
Uwe Bonnes [Thu, 9 Sep 2010 22:25:06 +0000]
More verbosity for remote wake up, pull low and suspend on dbus7
Uwe Bonnes [Thu, 9 Sep 2010 22:24:00 +0000]
Evaluate eeprom Byte 0 Bit 7: Suspend on DBUS7 low
Uwe Bonnes [Thu, 9 Sep 2010 21:33:11 +0000]
Decode the x232H specific port functions
Uwe Bonnes [Thu, 9 Sep 2010 21:10:42 +0000]
Fix channel mode specific bits, noisy output
Uwe Bonnes [Thu, 9 Sep 2010 21:03:46 +0000]
Channel Mode is encoded in bits 0..2, VCP is bit 3 Noisy decode
Uwe Bonnes [Thu, 9 Sep 2010 20:41:51 +0000]
EEPROM: Evaluate the channel specific settings
Uwe Bonnes [Thu, 9 Sep 2010 20:32:39 +0000]
EEPROM: Fix typos around high_cuttent_drive and make code comipile again. Will care for initializing and encoding later
Uwe Bonnes [Thu, 9 Sep 2010 20:29:16 +0000]
EEPROM High current bit is byte 0 Bit 4 for a and Byte 1 bit 4 for b
Uwe Bonnes [Thu, 9 Sep 2010 20:15:21 +0000]
On FT2232D, eeprom->change_usb_version was not set with changed version
Uwe Bonnes [Thu, 9 Sep 2010 20:10:47 +0000]
EEPROM: CBUS functions only work on TYPE_R devices
Uwe Bonnes [Thu, 9 Sep 2010 20:07:50 +0000]
WWPROM: Invert datalines only works on FT232R
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