Skip to content
/ pyftdi Public
forked from eblot/pyftdi

FTDI device driver written in pure Python

License

Notifications You must be signed in to change notification settings

IoTAqua/pyftdi

This branch is 6 commits behind eblot/pyftdi:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

327a1a7 · Apr 10, 2024
Apr 6, 2024
Apr 10, 2024
Apr 5, 2024
Aug 12, 2023
Apr 6, 2024
Apr 6, 2024
Feb 20, 2020
Aug 12, 2023
Jan 14, 2017
Aug 22, 2021
Aug 5, 2023
Apr 6, 2024
Apr 6, 2024

Repository files navigation

SWUbanner

PyFtdi

Python package Mock tests Syntax tests StandWithUkraine

PyPI Python Versions Downloads

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)
    • FT4232HA (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

Warnings

Python support

PyFtdi requires Python 3.8+.

See pyftdi/doc/requirements.rst for more details.

About

FTDI device driver written in pure Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.9%
  • Shell 0.1%