FTDI MPSSE Transport

The FTDI MPSSE transport provides SPI communication with the TROPIC01 chip over an FTDI USB-to-SPI bridge such as FT2232H or FT2232HL.

FTDI MPSSE SPI transport.

class tropicsquare.transports.ftdi_mpsse.FtdiMpsseTransport(spi)[source]

Bases: L1Transport

L1 transport for FTDI MPSSE SPI bridges.

Parameters:

spi – Configured PyFtdi SpiPort instance

__init__(spi)[source]
Return type:

None

Platform Support

  • CPython: Full support via pyftdi

  • FTDI MPSSE devices: Tested with FT2232HL

Requirements

  • Python package: pyftdi

  • FTDI device with MPSSE support

Hardware Setup

  • AD0: SCK

  • AD1: MOSI

  • AD2: MISO

  • AD3: CS

  • GND: GND

URL Selection

For a single FTDI device, a generic URL such as ftdi://ftdi:2232h/1 is usually sufficient.

If multiple FTDI devices are connected, prefer a serial-qualified URL such as ftdi://ftdi:2232:OL4F9NTA/1.

Example Usage

from pyftdi.spi import SpiController
from tropicsquare import TropicSquare
from tropicsquare.transports.ftdi_mpsse import FtdiMpsseTransport

controller = SpiController(cs_count=1)
controller.configure("ftdi://ftdi:2232h/1")
spi = controller.get_port(cs=0, freq=1000000, mode=0)

transport = FtdiMpsseTransport(spi)

ts = TropicSquare(transport)

try:
    print(ts.chip_id)
finally:
    controller.close()

See Also