This is ftdi245io. It allows several FTDI devices to be interfaced to from Linux
It is somewhat hard-coded for our application; modifications will probably be necessary, but should be trivial. 
Based on libftdi, at http://www.intra2net.com/de/produkte/opensource/ftdi   

CONTENTS:

	LICENSE.txt			- this is released under the GNU GPL
	
	README.txt			- this readme.

	Makefile			- for compilation.

	man/
		ftdi245io.1		- the man page. Also try invoking with -h, for greatest detail.

	src/
		ftdi245io.h		- the actual code itself.
		ftdi245io.c
		ftdi245io.bashcompletion - bash completion scriptlet.
		ftdi245io_check		- trivial wrapper around "ftdi245io --check"

	libftdi/			These are all downloadable from the web, and GPL.
		libftdi-0.18/			- The FTDI libraries from http://www.intra2net.com/de/produkte/opensource/ftdi/
		ftdi-eeprom-0.3/		- Optional: for reading (and writing) the eeprom on an FTDI device		
		
	www/ 	 	                 - release version for upload to website (autogenerated by Makefile)


USB NOTES:
	This all uses (userspace) libusb, rather than a kernel driver. By default, the FTDI devices get claimed by
	the ftdi_sio driver, as /dev/ttyUSBX, BUT the libusb can explicity dissociate a specific device from that driver
	on demand. There is no longer any need to blacklist or otherwise break the "usbserial" and "ftdi_sio" modules.
	[reboot, run ftdi245io_check, then dmesg and check for "ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0"]

	For each specific USB device, we can get the manufacturer's description, serial number, vendor id (VID) and product id (PID)
	by running lsusb -vvv

	If using several ftdi245 devices, we need to have a hub which contains multiple "transaction translators". 
	Many cheaper USB hubs contain only 1, which means that all of the connected FTDI245 devices must share a single 12 Mbps of bandwidth. 
	With a 4-TT hub, each FTDI245 can have 12 Mbps of bandwidth (up to the 480 Mbps total provided by USB2). 
	In the USB device info, a hub with a single TT (bad) will have bDeviceProtocol == 0x01 , 
	whereas a hub with multiple TTs (good) will have bDeviceProtocol == 0x02 .

	After plugging in the devices, allow the bus up to 5 seconds to stabilise/enumerate/settle. If weird things happen, it 
	is usually a symptom of insufficient power / excess current-draw.
	
	If multiple similar devices are present, there is NO NEED for a udev rule to be included. The serial number of the DLP module is recognised.
 	[This also means that you need to recompile it for your own modules, after changing PORTA_SERIAL in ftdi245io.h]
