From: Franklin Harding Date: Tue, 11 May 2021 07:01:42 +0000 (-0700) Subject: Merge branch 'master' of https://github.com/adafruit/Adafruit_Blinka X-Git-Tag: 6.9.2~2^2~3 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/6db6ef855f798996075d2919ca924ec31983f7f1?hp=fc2fe5bb3ae61ca7b2cab559b95870daa2d6d1d9 Merge branch 'master' of https://github.com/adafruit/Adafruit_Blinka --- diff --git a/requirements.txt b/requirements.txt index 59a7ee9..013f2dc 100755 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -Adafruit-PlatformDetect>=3.1.0 +Adafruit-PlatformDetect>=3.13.0 Adafruit-PureIO>=1.1.7 Jetson.GPIO; platform_machine=='aarch64' RPi.GPIO; platform_machine=='armv7l' or platform_machine=='armv6l' diff --git a/setup.py b/setup.py index 7e92596..5d6ea95 100755 --- a/setup.py +++ b/setup.py @@ -62,7 +62,7 @@ setup( "adafruit_blinka.microcontroller.bcm283x.pulseio": ["libgpiod_pulsein"] }, install_requires=[ - "Adafruit-PlatformDetect>=3.1.0", + "Adafruit-PlatformDetect>=3.13.0", "Adafruit-PureIO>=1.1.7", "pyftdi>=0.40.0", ] diff --git a/src/adafruit_blinka/board/ftdi_ft2232h.py b/src/adafruit_blinka/board/ftdi_ft2232h.py new file mode 100644 index 0000000..6849127 --- /dev/null +++ b/src/adafruit_blinka/board/ftdi_ft2232h.py @@ -0,0 +1,46 @@ +"""Pin definitions for the FTDI FT2232H""" +from adafruit_blinka.microcontroller.ftdi_mpsse.ft2232h import pin + +# MPSSE A +AD4 = pin.AD4 +AD5 = pin.AD5 +AD6 = pin.AD6 +AD7 = pin.AD7 +AC0 = pin.AC0 +AC1 = pin.AC1 +AC2 = pin.AC2 +AC3 = pin.AC3 +AC4 = pin.AC4 +AC5 = pin.AC5 +AC6 = pin.AC6 +AC7 = pin.AC7 + +SDA0 = pin.SDA0 +SCL0 = pin.SCL0 + +SCK0 = pin.SCK0 +SCLK0 = pin.SCLK0 +MOSI0 = pin.MOSI0 +MISO0 = pin.MISO0 + +# MPSSE B +BD4 = pin.BD4 +BD5 = pin.BD5 +BD6 = pin.BD6 +BD7 = pin.BD7 +BC0 = pin.BC0 +BC1 = pin.BC1 +BC2 = pin.BC2 +BC3 = pin.BC3 +BC4 = pin.BC4 +BC5 = pin.BC5 +BC6 = pin.BC6 +BC7 = pin.BC7 + +SDA1 = pin.SDA1 +SCL1 = pin.SCL1 + +SCK1 = pin.SCK1 +SCLK1 = pin.SCLK1 +MOSI1 = pin.MOSI1 +MISO1 = pin.MISO1 diff --git a/src/adafruit_blinka/board/ftdi_ft232h.py b/src/adafruit_blinka/board/ftdi_ft232h.py index ea3fd6e..1d6a867 100644 --- a/src/adafruit_blinka/board/ftdi_ft232h.py +++ b/src/adafruit_blinka/board/ftdi_ft232h.py @@ -1,5 +1,5 @@ """Pin definitions for the FTDI FT232H""" -from adafruit_blinka.microcontroller.ft232h import pin +from adafruit_blinka.microcontroller.ftdi_mpsse.ft232h import pin D4 = pin.D4 D5 = pin.D5 diff --git a/src/adafruit_blinka/microcontroller/ft232h/url.py b/src/adafruit_blinka/microcontroller/ft232h/url.py deleted file mode 100644 index afc69ae..0000000 --- a/src/adafruit_blinka/microcontroller/ft232h/url.py +++ /dev/null @@ -1,17 +0,0 @@ -"""Support for getting the URL from the BLINKA_FT232H variable.""" - -import os - - -def get_ftdi_url(): - """ - Return the FTDI url to use. If BLINKA_FT232H starts with ftdi:, returns - that. Otherwise, returns a default value. - """ - - url = os.environ.get("BLINKA_FT232H", "1") - - if url.startswith("ftdi:"): - return url - - return "ftdi://ftdi:ft232h/1" diff --git a/src/adafruit_blinka/microcontroller/ft232h/__init__.py b/src/adafruit_blinka/microcontroller/ftdi_mpsse/__init__.py similarity index 100% rename from src/adafruit_blinka/microcontroller/ft232h/__init__.py rename to src/adafruit_blinka/microcontroller/ftdi_mpsse/__init__.py diff --git a/src/adafruit_blinka/microcontroller/ftdi_mpsse/ft2232h/__init__.py b/src/adafruit_blinka/microcontroller/ftdi_mpsse/ft2232h/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/adafruit_blinka/microcontroller/ftdi_mpsse/ft2232h/pin.py b/src/adafruit_blinka/microcontroller/ftdi_mpsse/ft2232h/pin.py new file mode 100644 index 0000000..4fa8440 --- /dev/null +++ b/src/adafruit_blinka/microcontroller/ftdi_mpsse/ft2232h/pin.py @@ -0,0 +1,55 @@ +"""FT2232H pin names""" + +from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.pin import Pin + +# See https://eblot.github.io/pyftdi/pinout.html for detailed FTDI device pinout information + +# MPSSE Port A +AD4 = Pin(4, interface_id=0) +AD5 = Pin(5, interface_id=0) +AD6 = Pin(6, interface_id=0) +AD7 = Pin(7, interface_id=0) +AC0 = Pin(8, interface_id=0) +AC1 = Pin(9, interface_id=0) +AC2 = Pin(10, interface_id=0) +AC3 = Pin(11, interface_id=0) +AC4 = Pin(12, interface_id=0) +AC5 = Pin(13, interface_id=0) +AC6 = Pin(14, interface_id=0) +AC7 = Pin(15, interface_id=0) + +SCL0 = Pin(interface_id=0) +SDA0 = Pin(interface_id=0) +SCK0 = SCLK0 = Pin(interface_id=0) +MOSI0 = Pin(interface_id=0) +MISO0 = Pin(interface_id=0) + +# MPSSE Port B +BD4 = Pin(4, interface_id=1) +BD5 = Pin(5, interface_id=1) +BD6 = Pin(6, interface_id=1) +BD7 = Pin(7, interface_id=1) +BC0 = Pin(8, interface_id=1) +BC1 = Pin(9, interface_id=1) +BC2 = Pin(10, interface_id=1) +BC3 = Pin(11, interface_id=1) +BC4 = Pin(12, interface_id=1) +BC5 = Pin(13, interface_id=1) +BC6 = Pin(14, interface_id=1) +BC7 = Pin(15, interface_id=1) + +SCL1 = Pin(interface_id=1) +SDA1 = Pin(interface_id=1) +SCK1 = SCLK1 = Pin(interface_id=1) +MOSI1 = Pin(interface_id=1) +MISO1 = Pin(interface_id=1) + +i2cPorts = ( + (0, SCL0, SDA0), + (1, SCL1, SDA1), +) + +spiPorts = ( + (0, SCLK0, MOSI0, MISO0), + (1, SCLK1, MOSI1, MISO1), +) diff --git a/src/adafruit_blinka/microcontroller/ftdi_mpsse/ft232h/__init__.py b/src/adafruit_blinka/microcontroller/ftdi_mpsse/ft232h/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/adafruit_blinka/microcontroller/ftdi_mpsse/ft232h/pin.py b/src/adafruit_blinka/microcontroller/ftdi_mpsse/ft232h/pin.py new file mode 100644 index 0000000..178979e --- /dev/null +++ b/src/adafruit_blinka/microcontroller/ftdi_mpsse/ft232h/pin.py @@ -0,0 +1,25 @@ +"""FT232H pin names""" + +from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.pin import Pin + +# See https://eblot.github.io/pyftdi/pinout.html for detailed FTDI device pinout information + +# MPSSE Port A +D4 = Pin(4) +D5 = Pin(5) +D6 = Pin(6) +D7 = Pin(7) +C0 = Pin(8) +C1 = Pin(9) +C2 = Pin(10) +C3 = Pin(11) +C4 = Pin(12) +C5 = Pin(13) +C6 = Pin(14) +C7 = Pin(15) + +SCL = Pin() +SDA = Pin() +SCK = SCLK = Pin() +MOSI = Pin() +MISO = Pin() diff --git a/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/__init__.py b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/adafruit_blinka/microcontroller/ft232h/i2c.py b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/i2c.py similarity index 68% rename from src/adafruit_blinka/microcontroller/ft232h/i2c.py rename to src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/i2c.py index 28d2644..f9539fb 100644 --- a/src/adafruit_blinka/microcontroller/ft232h/i2c.py +++ b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/i2c.py @@ -1,12 +1,24 @@ -"""I2C Class for FT232H""" -from adafruit_blinka.microcontroller.ft232h.pin import Pin -from adafruit_blinka.microcontroller.ft232h.url import get_ftdi_url +"""I2C Class for FTDI MPSSE""" +from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.pin import Pin +from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.url import ( + get_ft232h_url, + get_ft2232h_url, +) class I2C: - """Custom I2C Class for FT232H""" + """Custom I2C Class for FTDI MPSSE""" + + MASTER = 0 + SLAVE = 1 + _mode = None + + # pylint: disable=unused-argument + def __init__(self, i2c_id=None, mode=MASTER, baudrate=None, frequency=400000): + if mode != self.MASTER: + raise NotImplementedError("Only I2C Master supported!") + _mode = self.MASTER - def __init__(self, *, frequency=400000): # change GPIO controller to I2C # pylint: disable=import-outside-toplevel from pyftdi.i2c import I2cController @@ -14,8 +26,11 @@ class I2C: # pylint: enable=import-outside-toplevel self._i2c = I2cController() - self._i2c.configure(get_ftdi_url(), frequency=frequency) - Pin.ft232h_gpio = self._i2c.get_gpio() + if i2c_id is None: + self._i2c.configure(get_ft232h_url(), frequency=frequency) + else: + self._i2c.configure(get_ft2232h_url(i2c_id), frequency=frequency) + Pin.mpsse_gpio = self._i2c.get_gpio() def scan(self): """Perform an I2C Device Scan""" @@ -46,7 +61,7 @@ class I2C: out_end=None, in_start=0, in_end=None, - stop=False + stop=False, ): """Write data from buffer_out to an address and then read data from an address and into buffer_in diff --git a/src/adafruit_blinka/microcontroller/ft232h/pin.py b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/pin.py similarity index 58% rename from src/adafruit_blinka/microcontroller/ft232h/pin.py rename to src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/pin.py index a138ee7..5dc171e 100644 --- a/src/adafruit_blinka/microcontroller/ft232h/pin.py +++ b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/pin.py @@ -1,10 +1,10 @@ -"""FT232H pin names""" +"""MPSSE pin names""" -from adafruit_blinka.microcontroller.ft232h.url import get_ftdi_url +from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.url import get_ft232h_url, get_ft2232h_url class Pin: - """A basic Pin class for use with FT232H.""" + """A basic Pin class for use with FTDI MPSSEs.""" IN = 0 OUT = 1 @@ -14,23 +14,26 @@ class Pin: PULL_UP = 1 PULL_DOWN = 2 - ft232h_gpio = None + mpsse_gpio = None - def __init__(self, pin_id=None): + def __init__(self, pin_id=None, interface_id=None): # setup GPIO controller if not done yet # use one provided by I2C as default - if not Pin.ft232h_gpio: + if not Pin.mpsse_gpio: # pylint: disable=import-outside-toplevel from pyftdi.i2c import I2cController # pylint: enable=import-outside-toplevel i2c = I2cController() - i2c.configure(get_ftdi_url()) - Pin.ft232h_gpio = i2c.get_gpio() + if interface_id is None: + i2c.configure(get_ft232h_url()) + else: + i2c.configure(get_ft2232h_url(interface_id)) + Pin.mpsse_gpio = i2c.get_gpio() # check if pin is valid if pin_id: - if Pin.ft232h_gpio.all_pins & 1 << pin_id == 0: + if Pin.mpsse_gpio.all_pins & 1 << pin_id == 0: raise ValueError("Can not use pin {} as GPIO.".format(pin_id)) # ID is just bit position self.id = pin_id @@ -39,22 +42,22 @@ class Pin: """Initialize the Pin""" if not self.id: raise RuntimeError("Can not init a None type pin.") - # FT232H does't have configurable internal pulls? + # MPSSE does't have configurable internal pulls? if pull: raise NotImplementedError("Internal pull up/down not currently supported.") - pin_mask = Pin.ft232h_gpio.pins | 1 << self.id - current = Pin.ft232h_gpio.direction + pin_mask = Pin.mpsse_gpio.pins | 1 << self.id + current = Pin.mpsse_gpio.direction if mode == self.OUT: current |= 1 << self.id else: current &= ~(1 << self.id) - Pin.ft232h_gpio.set_direction(pin_mask, current) + Pin.mpsse_gpio.set_direction(pin_mask, current) def value(self, val=None): """Set or return the Pin Value""" if not self.id: raise RuntimeError("Can not access a None type pin.") - current = Pin.ft232h_gpio.read(with_output=True) + current = Pin.mpsse_gpio.read(with_output=True) # read if val is None: return 1 if current & 1 << self.id != 0 else 0 @@ -65,31 +68,7 @@ class Pin: else: current &= ~(1 << self.id) # must mask out any input pins - Pin.ft232h_gpio.write(current & Pin.ft232h_gpio.direction) + Pin.mpsse_gpio.write(current & Pin.mpsse_gpio.direction) return None # release the kraken raise RuntimeError("Invalid value for pin") - - -# create pin instances for each pin -# D0 to D3 are used by I2C/SPI -D4 = Pin(4) -D5 = Pin(5) -D6 = Pin(6) -D7 = Pin(7) -C0 = Pin(8) -C1 = Pin(9) -C2 = Pin(10) -C3 = Pin(11) -C4 = Pin(12) -C5 = Pin(13) -C6 = Pin(14) -C7 = Pin(15) -# C8 and C9 are not GPIO - -# create None type pins for I2C and SPI since they are expected to be defined -SCL = Pin() -SDA = Pin() -SCK = SCLK = Pin() -MOSI = Pin() -MISO = Pin() diff --git a/src/adafruit_blinka/microcontroller/ft232h/spi.py b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/spi.py similarity index 85% rename from src/adafruit_blinka/microcontroller/ft232h/spi.py rename to src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/spi.py index fd16b39..0b76c08 100644 --- a/src/adafruit_blinka/microcontroller/ft232h/spi.py +++ b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/spi.py @@ -1,27 +1,33 @@ -"""SPI Class for FT232H""" -from adafruit_blinka.microcontroller.ft232h.pin import Pin -from adafruit_blinka.microcontroller.ft232h.url import get_ftdi_url +"""SPI Class for FTDI MPSSE""" +from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.pin import Pin +from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.url import ( + get_ft232h_url, + get_ft2232h_url, +) # pylint: disable=protected-access class SPI: - """Custom SPI Class for FT232H""" + """Custom SPI Class for FTDI MPSSE""" MSB = 0 - def __init__(self): + def __init__(self, spi_id=None): # pylint: disable=import-outside-toplevel from pyftdi.spi import SpiController # pylint: enable=import-outside-toplevel self._spi = SpiController(cs_count=1) - self._spi.configure(get_ftdi_url()) + if spi_id is None: + self._spi.configure(get_ft232h_url()) + else: + self._spi.configure(get_ft2232h_url(spi_id + 1)) self._port = self._spi.get_port(0) self._port.set_frequency(100000) self._port._cpol = 0 self._port._cpha = 0 # Change GPIO controller to SPI - Pin.ft232h_gpio = self._spi.get_gpio() + Pin.mpsse_gpio = self._spi.get_gpio() # pylint: disable=too-many-arguments,unused-argument def init( diff --git a/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/url.py b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/url.py new file mode 100644 index 0000000..c2f2eaf --- /dev/null +++ b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/url.py @@ -0,0 +1,31 @@ +"""Support for getting the URL from the BLINKA_FT232H variable.""" + +import os + + +def get_ft232h_url(): + """ + Return the FTDI url to use. If BLINKA_FT232H starts with ftdi:, returns + that. Otherwise, returns a default value. + """ + + url = os.environ.get("BLINKA_FT232H", "1") + + if url.startswith("ftdi:"): + return url + + return "ftdi://ftdi:ft232h/1" + + +def get_ft2232h_url(interface_id): + """ + Return the FTDI url to use. If BLINKA_FT2232H_{} starts with ftdi:, returns + that. Otherwise, returns a default value. + """ + + url = os.environ.get("BLINKA_FT2232H_{}".format(interface_id), "1") + + if url.startswith("ftdi:"): + return url + + return "ftdi://ftdi:ft2232h/{}".format(interface_id + 1) diff --git a/src/adafruit_blinka/microcontroller/generic_linux/i2c.py b/src/adafruit_blinka/microcontroller/generic_linux/i2c.py index 7be7514..bb912a5 100644 --- a/src/adafruit_blinka/microcontroller/generic_linux/i2c.py +++ b/src/adafruit_blinka/microcontroller/generic_linux/i2c.py @@ -69,7 +69,7 @@ class I2C: out_end=None, in_start=0, in_end=None, - stop=False + stop=False, ): """Write data from buffer_out to an address and then read data from an address and into buffer_in diff --git a/src/adafruit_blinka/microcontroller/mcp2221/i2c.py b/src/adafruit_blinka/microcontroller/mcp2221/i2c.py index df2642f..e320ac1 100644 --- a/src/adafruit_blinka/microcontroller/mcp2221/i2c.py +++ b/src/adafruit_blinka/microcontroller/mcp2221/i2c.py @@ -32,7 +32,7 @@ class I2C: out_end=None, in_start=0, in_end=None, - stop=False + stop=False, ): """Write data from buffer_out to an address and then read data from an address and into buffer_in diff --git a/src/adafruit_blinka/microcontroller/mcp2221/mcp2221.py b/src/adafruit_blinka/microcontroller/mcp2221/mcp2221.py index 0e061e6..30f45f6 100644 --- a/src/adafruit_blinka/microcontroller/mcp2221/mcp2221.py +++ b/src/adafruit_blinka/microcontroller/mcp2221/mcp2221.py @@ -327,7 +327,7 @@ class MCP2221: out_start=0, out_end=None, in_start=0, - in_end=None + in_end=None, ): """Write data from buffer_out to an address and then read data from an address and into buffer_in diff --git a/src/adafruit_blinka/microcontroller/nova/i2c.py b/src/adafruit_blinka/microcontroller/nova/i2c.py index 17731fb..e87c942 100644 --- a/src/adafruit_blinka/microcontroller/nova/i2c.py +++ b/src/adafruit_blinka/microcontroller/nova/i2c.py @@ -98,7 +98,7 @@ class I2C: out_end=None, in_start=0, in_end=None, - stop=False + stop=False, ): """Write data from buffer_out to an address and then read data from an address and into buffer_in diff --git a/src/adafruit_blinka/microcontroller/nxp_lpc4330/i2c.py b/src/adafruit_blinka/microcontroller/nxp_lpc4330/i2c.py index 30a8762..4c63111 100644 --- a/src/adafruit_blinka/microcontroller/nxp_lpc4330/i2c.py +++ b/src/adafruit_blinka/microcontroller/nxp_lpc4330/i2c.py @@ -39,7 +39,7 @@ class I2C: out_end=None, in_start=0, in_end=None, - stop=False + stop=False, ): """Write data from buffer_out to an address and then read data from an address and into buffer_in diff --git a/src/board.py b/src/board.py index c2469cc..4390b28 100755 --- a/src/board.py +++ b/src/board.py @@ -167,6 +167,9 @@ elif board_id == ap_board.DRAGONBOARD_410C: elif board_id == ap_board.FTDI_FT232H: from adafruit_blinka.board.ftdi_ft232h import * +elif board_id == ap_board.FTDI_FT2232H: + from adafruit_blinka.board.ftdi_ft2232h import * + elif board_id == ap_board.BINHO_NOVA: from adafruit_blinka.board.binho_nova import * diff --git a/src/busio.py b/src/busio.py index c599afa..11c6341 100755 --- a/src/busio.py +++ b/src/busio.py @@ -34,7 +34,7 @@ class I2C(Lockable): """Initialization""" self.deinit() if detector.board.ftdi_ft232h: - from adafruit_blinka.microcontroller.ft232h.i2c import I2C as _I2C + from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.i2c import I2C as _I2C self._i2c = _I2C(frequency=frequency) return @@ -65,6 +65,8 @@ class I2C(Lockable): return if detector.board.any_embedded_linux: from adafruit_blinka.microcontroller.generic_linux.i2c import I2C as _I2C + elif detector.board.ftdi_ft2232h: + from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.i2c import I2C as _I2C else: from adafruit_blinka.microcontroller.generic_micropython.i2c import ( I2C as _I2C, @@ -139,7 +141,7 @@ class I2C(Lockable): out_end=None, in_start=0, in_end=None, - stop=False + stop=False, ): """ "Write to a device at specified address from a buffer then read from a device at specified address into a buffer @@ -165,8 +167,12 @@ class SPI(Lockable): def __init__(self, clock, MOSI=None, MISO=None): self.deinit() if detector.board.ftdi_ft232h: - from adafruit_blinka.microcontroller.ft232h.spi import SPI as _SPI - from adafruit_blinka.microcontroller.ft232h.pin import SCK, MOSI, MISO + from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.spi import SPI as _SPI + from adafruit_blinka.microcontroller.ftdi_mpsse.ft232h.pin import ( + SCK, + MOSI, + MISO, + ) self._spi = _SPI() self._pins = (SCK, MOSI, MISO) @@ -199,6 +205,8 @@ class SPI(Lockable): return if detector.board.any_embedded_linux: from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI + elif detector.board.ftdi_ft2232h: + from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.spi import SPI as _SPI else: from adafruit_blinka.microcontroller.generic_micropython.spi import ( SPI as _SPI, @@ -266,7 +274,13 @@ class SPI(Lockable): elif detector.board.SIFIVE_UNLEASHED: from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI elif detector.board.ftdi_ft232h: - from adafruit_blinka.microcontroller.ft232h.spi import SPI as _SPI + from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.spi import ( + SPI as _SPI, + ) + elif detector.board.ftdi_ft2232h: + from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.spi import ( + SPI as _SPI, + ) elif detector.board.binho_nova: from adafruit_blinka.microcontroller.nova.spi import SPI as _SPI elif detector.board.greatfet_one: diff --git a/src/digitalio.py b/src/digitalio.py index c08c6b4..eef0015 100755 --- a/src/digitalio.py +++ b/src/digitalio.py @@ -56,7 +56,9 @@ elif detector.chip.RK3399: elif detector.chip.RK3328: from adafruit_blinka.microcontroller.rockchip.rk3328.pin import Pin elif detector.board.ftdi_ft232h: - from adafruit_blinka.microcontroller.ft232h.pin import Pin + from adafruit_blinka.microcontroller.ftdi_mpsse.ft232h.pin import Pin +elif detector.board.ftdi_ft2232h: + from adafruit_blinka.microcontroller.ftdi_mpsse.ft2232h.pin import Pin elif detector.board.binho_nova: from adafruit_blinka.microcontroller.nova.pin import Pin elif detector.board.greatfet_one: diff --git a/src/microcontroller/__init__.py b/src/microcontroller/__init__.py index 254d50a..255e2b7 100755 --- a/src/microcontroller/__init__.py +++ b/src/microcontroller/__init__.py @@ -103,6 +103,10 @@ elif chip_id == ap_chip.MIPS24KC: from adafruit_blinka.microcontroller.atheros.ar9331.pin import * elif chip_id == ap_chip.MIPS24KEC: from adafruit_blinka.microcontroller.mips24kec.pin import * +elif chip_id == ap_chip.FT232H: + from adafruit_blinka.microcontroller.ftdi_mpsse.ft232h.pin import * +elif chip_id == ap_chip.FT2232H: + from adafruit_blinka.microcontroller.ftdi_mpsse.ft2232h.pin import * elif chip_id == ap_chip.PENTIUM_N3710: from adafruit_blinka.microcontroller.pentium.n3710.pin import * elif chip_id == ap_chip.STM32MP157: diff --git a/src/microcontroller/pin.py b/src/microcontroller/pin.py index 3483624..34f7b4a 100755 --- a/src/microcontroller/pin.py +++ b/src/microcontroller/pin.py @@ -51,7 +51,9 @@ elif chip_id == ap_chip.IMX6ULL: elif chip_id == ap_chip.HFU540: from adafruit_blinka.microcontroller.hfu540.pin import * elif chip_id == ap_chip.FT232H: - from adafruit_blinka.microcontroller.ft232h.pin import * + from adafruit_blinka.microcontroller.ftdi_mpsse.ft232h.pin import * +elif chip_id == ap_chip.FT2232H: + from adafruit_blinka.microcontroller.ftdi_mpsse.ft2232h.pin import * elif chip_id == ap_chip.BINHO: from adafruit_blinka.microcontroller.nova.pin import * elif chip_id == ap_chip.LPC4330: