Import
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Emmanuel Blot 03a469064c Update version number and authors list. 1 month ago
.github/workflows Add GPIO test (virtual mode) to CI tests 7 months ago
pyftdi Update version number and authors list. 1 month ago
.gitignore Exclude vscode directory 1 year ago
LICENSE Move to SPDX license description 2 months ago
MANIFEST.in Add missing image files 9 months ago
README.md Add missing SPDX lines 2 months ago
_config.yml Set theme jekyll-theme-architect 3 years ago
requirements.txt Add missing pyserial dependency in requirements.txt 7 months ago
setup.cfg Cleanup setup files. 7 months ago
setup.py Move to SPDX license description 2 months ago

README.md

PyFtdi

Python package Mock tests Syntax tests

Documentation

PyFtdi documentation is available from https://eblot.github.io/pyftdi/

Overview

PyFtdi aims at providing a user-space driver for popular FTDI devices, implemented in pure Python language.

Suported FTDI devices include:

  • UART and GPIO bridges

    • FT232R (single port, 3Mbps)
    • FT230X/FT231X/FT234X/ (single port, 3Mbps)
  • UART, GPIO and multi-serial protocols (SPI, I2C, JTAG) bridges

    • FT2232C/D (dual port, clock up to 6 MHz)
    • FT232H (single port, clock up to 30 MHz)
    • FT2232H (dual port, clock up to 30 MHz)
    • FT4232H (quad port, clock up to 30 MHz)

Features

PyFtdi currently supports the following features:

  • UART/Serial USB converter, up to 12Mbps (depending on the FTDI device capability)
  • GPIO/Bitbang support, with 8-bit asynchronous, 8-bit synchronous and 8-/16-bit MPSSE variants
  • SPI master, with simultanous GPIO support, up to 12 pins per port, with support for non-byte sized transfer
  • I2C master, with simultanous GPIO support, up to 14 pins per port
  • Basic JTAG master capabilities
  • EEPROM support (some parameters cannot yet be modified, only retrieved)
  • Experimental CBUS support on selected devices, 4 pins per port

Supported host OSes

  • macOS
  • Linux
  • FreeBSD
  • Windows, although not officially supported

License

SPDX-License-Identifier: BSD-3-Clause

Warning

Starting with version v0.40.0, several API changes are being introduced. While PyFtdi tries to maintain backward compatibility with previous versions, some 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.

See the Major Changes section on the online documentation for details about potential API breaks.