Skip to main content

Python bindings to d2xx and libftdi to access FT232 chips with the same interface as pyserial. Using this method gives easy access to the additional features on the chip like CBUS GPIO.

Project description

pyft232

This module provides a simple Serial-Like interface to FT232 chips while still allowing access to the CBUS pins for controlling simple signals.

Ctypes is used to interface with either FTDI's d2xx library (when available) or libftdi. In this way this package works on both Windows and Linux (and other libftdi supported OS's) without needing to mess with the FTDI drivers on windows.

In contrast, pyftdi is more feature rich and also cross platform but requires special drivers on windows so you can't also use the FTDI chip as a pure COM port.

Usage

import ft232

serial_number = "FT1234"

try:
    sp = ft232.Ft232(serial_number, baudrate=115200)
except ft232.Ft232Exception:
    print("Unable to open the ftdi device: %s" % serial_number)
    sys.exit(1)

#You may use sp as you would a Serial object
sp.write(b"Hello World!\n")
resp = sp.read(100)

#If you want to use the CBUS pins, you enable them with cbus_setup
# 'mask' is a bitmask which specifies which pins to enable
# 'init' is a bitmask for the initial value for each pin
sp.cbus_setup(mask=3, init=3)

#Change the current value of all setup pins
sp.cbus_write(2)

#Print the current value of all setup pins
print("CBUS: %s" % sp.cbus_read())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyft232-0.8.tar.gz (15.9 kB view details)

Uploaded Source

File details

Details for the file pyft232-0.8.tar.gz.

File metadata

  • Download URL: pyft232-0.8.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.5.3

File hashes

Hashes for pyft232-0.8.tar.gz
Algorithm Hash digest
SHA256 0b8ac7c1cc1590b6cdf0a16cd1a2a03e8c5379d9d844290cde3d7dcdb62e6416
MD5 604ffa13b6fa0e6d06a4a1c5cc2eea2b
BLAKE2b-256 2a521e84458459e5ce152d10c4d9aef42dc4af9fa93ff829e78c526867f8c21d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page