98 lines
2.8 KiB
ReStructuredText
98 lines
2.8 KiB
ReStructuredText
.. include:: defs.rst
|
|
|
|
Features
|
|
--------
|
|
|
|
Devices
|
|
~~~~~~~
|
|
|
|
* All FTDI device ports (UART, MPSSE) can be used simultaneously.
|
|
|
|
* SPI and |I2C| SPI support simultaneous GPIO R/W access for all pins that
|
|
are not used for SPI/|I2C| feature.
|
|
|
|
* Several FTDI adapters can be accessed simultaneously from the same Python
|
|
runtime instance.
|
|
|
|
Supported features
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
UART
|
|
````
|
|
|
|
Serial port, up to 6 Mbps. PyFtdi_ includes a pyserial_ emulation layer that
|
|
offers transparent access to the FTDI serial ports through a pyserial_-
|
|
compliant API. The ``serialext`` directory contains a minimal serial terminal
|
|
demonstrating the use of this extension, and a dispatcher automatically
|
|
selecting the serial backend (pyserial_, PyFtdi_), based on the serial port
|
|
name.
|
|
|
|
See also :ref:`uart-limitations`.
|
|
|
|
SPI master
|
|
``````````
|
|
|
|
Supported devices:
|
|
|
|
===== ===== ====== ============================================================
|
|
Mode CPol CPha Status
|
|
===== ===== ====== ============================================================
|
|
0 0 0 Supported on all MPSSE devices
|
|
1 0 1 Workaround available for on -H series
|
|
2 1 0 Supported on -H series (FT232H_/FT2232H_/FT4232H_/FT4232HA_)
|
|
3 1 1 Workaround available for on -H series
|
|
===== ===== ====== ============================================================
|
|
|
|
PyFtdi_ can be used with pyspiflash_ module that demonstrates how to
|
|
use the FTDI SPI master with a pure-Python serial flash device driver for
|
|
several common devices.
|
|
|
|
Both Half-duplex (write or read) and full-duplex (synchronous write and read)
|
|
communication modes are supported.
|
|
|
|
Experimental support for non-byte aligned access, where up to 7 trailing bits
|
|
can be discarded: no clock pulse is generated for those bits, so that SPI
|
|
transfer of non byte-sized can be performed.
|
|
|
|
See :ref:`spi_wiring` and :ref:`spi_limitations`.
|
|
|
|
Note: FTDI*232* devices cannot be used as an SPI slave.
|
|
|
|
|I2C| master
|
|
````````````
|
|
|
|
Supported devices: FT232H_, FT2232H_, FT4232H_, FT4232HA_
|
|
|
|
For now, only 7-bit addresses are supported.
|
|
|
|
GPIOs can be used while |I2C| mode is enabled.
|
|
|
|
The ``i2cscan.py`` script helps to discover which I2C devices are connected to
|
|
the FTDI I2C bus. See the :ref:`tools` chapter to locate this tool.
|
|
|
|
The pyi2cflash_ module demonstrates how to use the FTDI |I2C| master to access
|
|
serial EEPROMS.
|
|
|
|
See :ref:`i2c_wiring` and :ref:`i2c_limitations`.
|
|
|
|
Note: FTDI*232* devices cannot be used as an |I2C| slave.
|
|
|
|
JTAG
|
|
````
|
|
|
|
JTAG API is limited to low-level access. It is not intented to be used for
|
|
any flashing or debugging purpose, but may be used as a base to perform SoC
|
|
tests and boundary scans.
|
|
|
|
EEPROM
|
|
``````
|
|
|
|
The ``pyftdi/bin/ftconf.py`` script helps to manage the content of the FTDI
|
|
companion EEPROM.
|
|
|
|
|
|
Status
|
|
~~~~~~
|
|
|
|
This project is still in beta development stage. PyFtdi_ is developed as an
|
|
open-source solution.
|