Modern FTDI devices include:
UART and multi-serial protocols (SPI, I2C, JTAG) bridges
PyFtdi currently supports the following features:
UART/Serial USB converter, up to 6 Mbps (depending on the FTDI device capability)
Bitbang/GPIO legacy support, 8 pins per port
SPI master, with simultanous GPIO support, up to 12 pins per port
I2C master, with simultanous GPIO support, up to 14 pins per port
Prelimiary EEPROM support (R/O access + R/W for serial/product/manufacturer)
Potential API break¶
Starting with version v0.40.0, several API changes are being introduced. While PyFtdi tries to maintain backward compatibility with previous versions, so of these changes may require existing clients to update calls to PyFtdi.
Do not upgrade to v0.40.0 or above without testing your client against the new PyFtdi releases. PyFtdi versions up to v0.39.9 keep a stable API with v0.22+ series.
read methods now return
bytearrayinstead of Array(‘B’) so that pyserial
readline()may be used. It also brings some performance improvements.
PyFtdi URLs now supports
bus:addressalternative specifiers, which required to augment the
open_*()methods with new, optional parameters.
SpiControllerreserves only one slave line (/CS) where it used to reserve 4 slave lines in previous releases. This frees more GPIOs when default value is used - it is nevertheless still possible to reserve up to 5 slave lines.
type hinting is used for most, if not all, public methods.
simplified baudrate divider calculation.