D2XX version 1.1.10 for Linux ----------------------------- End-user-visible changes since version 1.1.0 (currently on web site) -------------------------------------------------------------------- 1. Fixes for segfaults: a. when using Parallel FIFO (i.e. fast) reads. b. when libusb logging was enabled (just disabled logging). c. stop reading when read buffer is full. This prevents data already in the buffer being overwritten (like Windows driver). d. stop a special IN when there is insufficient data for a FT_Read as this causes overruns in libusb. 2. Add timeout for FT_Read, and cope with timeout of zero (i.e. infinite). 3. Include 'lost' D2XX examples, recovered from the 'sample' directory of http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx0.4.16.tar.gz and update to: a. build without warnings b. use current library headers (ftd2xx.h and WinTypes.h) c. print a suggestion of checking for conflicts with ftdi_sio in the event of failure. (Not done for all examples.) 4. Automatic support for more products with FTDI vendor ID: a. USB Instruments DS60M10 b. EasySYNC LA100 c. USB2-F-7x01 CANPlus Adapter d. ES001H (USB Oscilloscope) (This matches the Windows INF file.) 5. Include ARM version, compiled for ARM926 family (v5 instruction set). Developer-visible changes ------------------------- Driver code now builds without warnings on all variants (with GCC -Wall option), except for a few in third-party libusb which we deliberately don't modify. Removed Android and Mac versions of config.h for libusb, as the generic config.h now caters for them. ReadMe files for Mac and Linux are now in subversion. Download packages for Mac and Linux are now generated by Python scripts. The version number is now set in only two places! a. Either the XCode project (Mac) or the Makefile (Linux). b. The ReadMe files. Testing ------- The testing overhead is very high due to the number of variants of this code (see below) so my usual test is to build and run the EEPROM/read example with a 232R device connected, and the current library installed. I've tested on native Linux partitions (32-bit Mint 9 and 64-bit Mint 13) and on a Windows VirtualBox running 32-bit Ubuntu 12.04. I tested (and built) the ARM version using QEMU to emulate an ARM Versatile Platform Board, which has an ARM926 chip. I haven't tested the most recent changes on Android since we're going to implement a pure Java version and not include this code. I haven't tested Mac drivers on the ppc platform. Variants -------- Debug and release variants for each of the following: a. Mac OS X 10.4 (ppc, i386) dynamic library b. Mac OS X 10.5--10.7 (ppc, i386, x86_64) dynamic library c. Linux 32-bit dynamic and static libraries d. Linux 64-bit dynamic and static libraries e. Linux ARM dynamic and static libraries f. Android