                                  LibMPSSE-I2C
                                  Release Notes
                                  Version 0.3
                                  12-December-2011


	     Copyright (c) 2011 FTDI, Inc. All rights reserved.



CONTENTS
========
  1.  Overview

  2.  Installation Procedure 
  
  3.  Known Limitations
  
  4.  Test Environment

  5.  Change log


1. Overview
===========
The library is compiled using GCC version 4.5. The files that have been provided with this release are:

1.1) AN_177_User_Guide_For_LibMPSSE-I2C.pdf - The user manual for libMPSSE-I2C
1.2) Release_Notes.txt - This file
1.3) include/libMPSSE_i2c.h - The header file for libMPSSE-I2C
1.4) include/windows/ftd2xx.h - The header file for D2XX windows driver
1.5) include/linux/ftd2xx.h - The header file for D2XX linux driver
1.6) include/linux/WinTypes.h - Header file required required by ftd2xx.h
1.7) lib/windows/i386/libMPSSE.a - libMPSSE static library for windows
1.8) lib/windows/i386/libMPSSE.dll - libMPSSE dynamic library for windows
1.9) lib/linux/i386/libMPSSE.a - libMPSSE static library for 32bit linux
1.10) lib/linux/i386/libMPSSE.so - libMPSSE dynamic library for 32bit linux
1.11) lib/linux/x86_64/libMPSSE.a - libMPSSE static library for 64bit linux
1.12) lib/linux/x86_64/libMPSSE.so - libMPSSE dynamic library for 64bit linux
1.13) I2C/sample-dynamic.c - Sample code showing the use of libMPSSE as a dynamic library for I2C
1.14) I2C/sample-static.c - Sample code showing the use of libMPSSE as a static library for I2C
1.15) b.bat - A batch file for windows that builds the samples and executes them
1.16) b.bash - A shell script for linux that builds the samples and executes them(requires to be executed from bash shell using root)

2. Installation Procedure
=========================
The D2XX driver(http://www.ftdichip.com/Drivers/D2XX.htm) should be 
installed for libMPSSE to work. 

For linux, the drivers ftdi_sio and usbserial should be removed 
before the D2XX drivers can be used. The library has to be installed at 
/usr/lib (or /usr/lib64) before the application tries to use it.

3. Known Limitations
====================
1) The APIs I2C_GetNumChannels, I2C_GetChannelInfo and I2C_OpenChannel does not 
work when they are called simultaneously from multiple applications at the same time.
2) LatencyTimer should be greater than 0 for FT232H


4. Test Environment
==================
The library has been tested and known to work on a "HP Compaq DX 2710 SF" 
running "Fedora 14" distribution with linux kernel 2.6.38. The hardware 
that has been tested consists of a FT2232H-Mini-Module connected 
to a 24LC024H EEPROM chip. 

5. Change log
================================
12 December 2011
----------------
1) FT_IO_ERROR was returned when a device doesn't respond to the master when it is addressed, as well as when a data transfer fails. To distinguish between these to errors, FT_DEVICE_NOT_FOUND is now returned after a device doesn't respond when its addressed
2) Clock rate adjustments are now performed within the library when 3-phase-clocking is enabled.
3) Changes made to support 64bit linux
4) New features added:
	a) I2C_ENABLE_DRIVE_ONLY_ZERO : Support for Drive-Only-Zero feature
	b) I2C_TRANSFER_OPTIONS_NACK_LAST_BYTE : Support nAcking last byte from I2C_DeviceRead
	c) I2C_TRANSFER_OPTIONS_BREAK_ON_NACK : Provide option to stop writing data when slave nAcks
	d) I2C_TRANSFER_OPTIONS_FAST_TRANSFER_BYTES : Read/write data without delays in between START/ADDRESS/DATA/STOP phases
	e) I2C_TRANSFER_OPTIONS_FAST_TRANSFER_BITS : Added support to read/write any number of bits
	f) I2C_TRANSFER_OPTIONS_NO_ADDRESS : Added support to exclude the address and directions bits, this 
	feature can be used with I2C_TRANSFER_OPTIONS_FAST_TRANSFER_BITS to support non standard implementations.

08 July 2011
------------
1) Added functions Init_libMPSSE and Cleanup_libMPSSE
2) Added functions FT_ReadGPIO & FT_WriteGPIO
3) Added 3-phase clocking functionality. This functionality is enabled by default.

20 May 2011
-----------
1) Change in APIs I2C_GetChannelInfo & I2C_OpenChannel to start indexing channels from 0
2) Solved bug: I2C_GetNumChannels reports only one available channel when FT2232H chip is conected
3) Exported library infrastructure functions for initializing library when used with VC++ in static mode