1. Ben Bass
  2. pylibftdi


pylibftdi / CHANGES.txt

pylibftdi changes

 * lots more documentation, cleaned up, on readthedocs. Still in progress though.
 * Experimental support for multi-device interfaces ``Device(interface=1)``
 * include examples subpackage
 * ensure examples work under Python3
 * 'python -m pylibftdi.examples.led_flash' should now work and pulse D0
 * maintenance build to fix installation issues
 * USB_VID_LIST/USB_PID_LIST exposed directly as pylibftdi attributes
 * support for FT232H via iteration over lists USB_VID_LIST/USB_PID_LIST in driver.py (FT232H uses different PID)
 * support for 'buffering' - i.e. chunking reads and writes to allow interruption (i.e. KeyboardInterrupt) in what could otherwise be a very long uninterruptable extension code call.
 * reset device to serial mode on open() (previously could be left in bitbang mode)
 * moved docs -> /doc
 * moved pylibftdi/tests -> /tests - makes python -m unittest discover etc work better
 * removed legacy support for Driver() to acting as a Device()
 * API for Bus class now requires .device rather than .driver (this still needs improving at some point)
 * improved and extended tests
 * made a start on some Sphinx-based documentation
 * fixed long-standing issue with input from a BitBangDevice
 * allow the PID/VID to be changed
 * add new examples
   - basic web server to toggle / read IO bits
   - magic_candle.py - example of using input and output together
   - pin_read.py - read and match values on device pins
 * All of this needs some tidying, but it fixes some key issues and has been unreleased too long.
 * fix issue with bitbang following API changes in 0.8
 * add tests for bitbang mode
 * refactor tests; fix text-based tests in Python3
 * slight refactor Device() to improve testability (_read and _write methods)
 * added some unit tests
 * API changes:
   - when opening a device with a device_id parameter, this will now check
     against both serial number and (if that fails), the device description.
     Opening by device type (under the same proviso that an arbitrary device
     will be selected if multiple matching devices are attached as when no
     device_id is given) is frequently easier than matching by serial number.
   - added flush(), flush_input() and flush_output() operations. This is
     modelled after the pySerial API providing separate flush operations, and
     gets the Device API closer to that of files.
   - increased file-API compatibility, with line-oriented methods and iteration
 * support multiple attached devices
 * API changes:
   - separation between driver and device. Generally, now use Device() /
     BitBangDevice() rather than Driver / BitBangDriver(), though older code
     _should_ still work via some shims (though with Deprecation warnings).
   - first parameter in Device() and BitBangDevice() is a device ID - the serial
     number string of the target device.
   - open() is generally no longer required on Devices. This is to more closely
     model the file() API.
 * same source now works on both Python2.6+ and Python3.
 * fix various bugs found by pyflakes
 * improve module organisation, while providing interface compatibility
 * fix release issue
 * fixed embarrassing bug which caused things not to work on Linux 
   (is now find_library('ftdi') instead of find_library('libftdi'))
 * lots of error checking, new FtdiError exception. Before it just
   tended to segfault if things weren't just-so.
 * get_error() is now get_error_string().  It's still early enough
   to change the API, and if I thought it was get_error_string
   multiple times when I wrote the error checking code, it probably
   should be the more natural thing.
 * added some examples
 * new Bus class in pylibftdi (though it probably belongs somewhere else)
 * first release on PyPI
 * fixed various bugs
 * added ftdi_fn and set_baudrate functions in Driver class
 * changed interface in BitBangDriver to direction/port properties
   rather than overriding the read/write functions, which are therefore
   still available as in the Driver class.
 * first release. Tested with libftdi 0.18 on Mac OS X 10.6 and Linux
  (stock EEEPC 701 Xandros Linux, Ubuntu 10.04)