Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://eblot.github.io/pyftdi/
FTDI device driver written in pure Python
https://eblot.github.io/pyftdi/
Last synced: 2 months ago
JSON representation
FTDI device driver written in pure Python
- Host: GitHub
- URL: https://eblot.github.io/pyftdi/
- Owner: eblot
- License: other
- Created: 2010-12-13T00:49:37.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2024-04-26T02:40:28.000Z (8 months ago)
- Last Synced: 2024-05-18T09:42:18.856Z (8 months ago)
- Language: Python
- Homepage:
- Size: 14.5 MB
- Stars: 481
- Watchers: 29
- Forks: 210
- Open Issues: 88
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hardware-hacking - pyftdi
README
[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://vshymanskyy.github.io/StandWithUkraine)
# PyFtdi
![Python package](https://github.com/eblot/pyftdi/actions/workflows/pythonpackage.yml/badge.svg)
![Mock tests](https://github.com/eblot/pyftdi/actions/workflows/pythonmocktests.yml/badge.svg)
![Syntax tests](https://github.com/eblot/pyftdi/actions/workflows/pythonchecksyntax.yml/badge.svg)
[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://vshymanskyy.github.io/StandWithUkraine)[![PyPI](https://img.shields.io/pypi/v/pyftdi.svg?maxAge=2592000)](https://pypi.org/project/pyftdi/)
[![Python Versions](https://img.shields.io/pypi/pyversions/pyftdi.svg)](https://pypi.org/project/pyftdi/)
[![Downloads](https://img.shields.io/pypi/dm/pyftdi.svg)](https://pypi.org/project/pyftdi/)## 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.