From: Franklin Harding Date: Mon, 29 Mar 2021 01:00:48 +0000 (-0700) Subject: Merge remote-tracking branch 'upstream/master' X-Git-Tag: 6.9.2~2^2~6 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/528442e29f61287f55e0afe2923b187d151aa8b2?ds=inline;hp=-c Merge remote-tracking branch 'upstream/master' --- 528442e29f61287f55e0afe2923b187d151aa8b2 diff --combined src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/pin.py index 6a0ea93,42ae5ab..dc6282a --- a/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/pin.py +++ b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/pin.py @@@ -1,31 -1,34 +1,34 @@@ -"""FT232H pin names""" +"""MPSSE pin names""" class Pin: - """A basic Pin class for use with FT232H.""" + """A basic Pin class for use with FTDI MPSSEs.""" IN = 0 OUT = 1 LOW = 0 HIGH = 1 + PULL_NONE = 0 + PULL_UP = 1 + PULL_DOWN = 2 - ft232h_gpio = None + mpsse_gpio = None - def __init__(self, pin_id=None): + def __init__(self, pin_id=None, url="ftdi://ftdi:ft232h/1"): # 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("ftdi://ftdi:ft232h/1") - Pin.ft232h_gpio = i2c.get_gpio() + i2c.configure(url) + 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 @@@ -34,22 -37,22 +37,22 @@@ """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 ValueError("Internal pull up/down not currently supported.") + 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 @@@ -60,7 -63,31 +63,7 @@@ 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() + raise RuntimeError("Invalid value for pin") diff --combined src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/spi.py index 69fe66f,c768eaf..6304700 --- a/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/spi.py +++ b/src/adafruit_blinka/microcontroller/ftdi_mpsse/mpsse/spi.py @@@ -1,29 -1,26 +1,29 @@@ -"""SPI Class for FT232H""" -from adafruit_blinka.microcontroller.ft232h.pin import Pin +"""SPI Class for FTDI MPSSE""" +from adafruit_blinka.microcontroller.ftdi_mpsse.mpsse.pin import Pin # 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, 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("ftdi://ftdi:ft232h/1") + if id is None: + self._spi.configure("ftdi://ftdi:ft232h/1", frequency=frequency) + else + self._spi.configure("ftdi://ftdi:ft2232h/{}".format(id+1), frequency=frequency) 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( @@@ -63,13 -60,15 +63,15 @@@ chunk_end = chunk_start + self._spi.PAYLOAD_MAX_LENGTH self._port.write(buf[chunk_start:chunk_end]) if rest: - self._port.write(buf[-1 * rest :]) + rest_start = start + chunks * self._spi.PAYLOAD_MAX_LENGTH + self._port.write(buf[rest_start:end]) # pylint: disable=unused-argument def readinto(self, buf, start=0, end=None, write_value=0): """Read data from SPI and into the buffer""" end = end if end else len(buf) - result = self._port.read(end - start) + buffer_out = [write_value] * (end - start) + result = self._port.exchange(buffer_out, end - start, duplex=True) for i, b in enumerate(result): buf[start + i] = b diff --combined src/board.py index a9b341d,e4909f2..a89d70d --- a/src/board.py +++ b/src/board.py @@@ -50,10 -50,10 +50,10 @@@ elif detector.board.any_raspberry_pi_40 elif detector.board.any_raspberry_pi_cm: from adafruit_blinka.board.raspberrypi.raspi_cm import * - elif detector.board.RASPBERRY_PI_A or detector.board.RASPBERRY_PI_B_REV1: + elif detector.board.RASPBERRY_PI_B_REV1: from adafruit_blinka.board.raspberrypi.raspi_1b_rev1 import * - elif detector.board.RASPBERRY_PI_B_REV2: + elif detector.board.RASPBERRY_PI_A or detector.board.RASPBERRY_PI_B_REV2: from adafruit_blinka.board.raspberrypi.raspi_1b_rev2 import * elif board_id == ap_board.BEAGLEBONE_BLACK: @@@ -67,11 -67,16 +67,16 @@@ elif board_id == ap_board.BEAGLEBONE_BL elif board_id == ap_board.BEAGLEBONE_GREEN_WIRELESS: from adafruit_blinka.board.beagleboard.beaglebone_black import * + elif board_id == ap_board.BEAGLEBONE_BLACK_WIRELESS: from adafruit_blinka.board.beagleboard.beaglebone_black import * + elif board_id == ap_board.BEAGLEBONE_POCKETBEAGLE: from adafruit_blinka.board.beagleboard.beaglebone_pocketbeagle import * + elif board_id == ap_board.BEAGLEBONE_AI: + from adafruit_blinka.board.beagleboard.beaglebone_ai import * + elif board_id == ap_board.ORANGE_PI_PC: from adafruit_blinka.board.orangepi.orangepipc import * @@@ -96,6 -101,18 +101,18 @@@ elif board_id == ap_board.ORANGE_PI_PLU elif board_id == ap_board.ORANGE_PI_2: from adafruit_blinka.board.orangepi.orangepipc import * + elif board_id == ap_board.ORANGE_PI_ZERO_PLUS_2H5: + from adafruit_blinka.board.orangepi.orangepizeroplus2h5 import * + + elif board_id == ap_board.ORANGE_PI_ZERO_PLUS: + from adafruit_blinka.board.orangepi.orangepizeroplus import * + + elif board_id == ap_board.ORANGE_PI_ZERO_2: + from adafruit_blinka.board.orangepi.orangepizero2 import * + + elif board_id == ap_board.BANANA_PI_M2_ZERO: + from adafruit_blinka.board.bananapi.bpim2zero import * + elif board_id == ap_board.GIANT_BOARD: from adafruit_blinka.board.giantboard import * @@@ -105,6 -122,9 +122,9 @@@ elif board_id == ap_board.JETSON_TX1 elif board_id == ap_board.JETSON_TX2: from adafruit_blinka.board.nvidia.jetson_tx2 import * + elif board_id == ap_board.JETSON_TX2_NX: + from adafruit_blinka.board.nvidia.jetson_tx2_nx import * + elif board_id == ap_board.JETSON_XAVIER: from adafruit_blinka.board.nvidia.jetson_xavier import * @@@ -114,8 -134,14 +134,14 @@@ elif board_id == ap_board.JETSON_NANO elif board_id == ap_board.JETSON_NX: from adafruit_blinka.board.nvidia.jetson_nx import * + elif board_id == ap_board.CLARA_AGX_XAVIER: + from adafruit_blinka.board.nvidia.clara_agx_xavier import * + elif board_id == ap_board.CORAL_EDGE_TPU_DEV: - from adafruit_blinka.board.coral_edge_tpu import * + from adafruit_blinka.board.coral_dev_board import * + + elif board_id == ap_board.CORAL_EDGE_TPU_DEV_MINI: + from adafruit_blinka.board.coral_dev_board_mini import * elif board_id == ap_board.ODROID_C2: from adafruit_blinka.board.hardkernel.odroidc2 import * @@@ -135,9 -161,6 +161,9 @@@ elif board_id == ap_board.DRAGONBOARD_4 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 * @@@ -153,6 -176,12 +179,12 @@@ elif board_id == ap_board.SIFIVE_UNLEAS elif board_id == ap_board.PINE64: from adafruit_blinka.board.pine64 import * + elif board_id == ap_board.PINEH64: + from adafruit_blinka.board.pineH64 import * + + elif board_id == ap_board.SOPINE: + from adafruit_blinka.board.soPine import * + elif board_id == ap_board.CLOCKWORK_CPI3: from adafruit_blinka.board.clockworkcpi3 import * @@@ -162,6 -191,24 +194,24 @@@ elif board_id == ap_board.ONION_OMEGA2 elif board_id == ap_board.ROCK_PI_S: from adafruit_blinka.board.radxa.rockpis import * + elif board_id == ap_board.ROCK_PI_4: + from adafruit_blinka.board.radxa.rockpi4 import * + + elif board_id == ap_board.UDOO_X86: + from adafruit_blinka.board.udoo_x86ultra import * + + elif board_id == ap_board.STM32MP157C_DK2: + from adafruit_blinka.board.stm32.stm32mp157c_dk2 import * + + elif board_id == ap_board.LUBANCAT_IMX6ULL: + from adafruit_blinka.board.lubancat.lubancat_imx6ull import * + + elif board_id == ap_board.NANOPI_NEO_AIR: + from adafruit_blinka.board.nanopi.neoair import * + + elif board_id == ap_board.NANOPI_DUO2: + from adafruit_blinka.board.nanopi.duo2 import * + elif "sphinx" in sys.modules: pass diff --combined src/busio.py index 1ad6e41,6749459..931b43e --- a/src/busio.py +++ b/src/busio.py @@@ -7,7 -7,10 +7,10 @@@ See `CircuitPython:busio` in CircuitPyt * Author(s): cefn """ - import threading + try: + import threading + except ImportError: + threading = None import adafruit_platformdetect.constants.boards as ap_board import adafruit_platformdetect.constants.chips as ap_chip @@@ -24,14 -27,14 +27,14 @@@ class I2C(Lockable) for both MicroPython and Linux. """ - def __init__(self, scl, sda, frequency=400000): + def __init__(self, scl, sda, frequency=100000): self.init(scl, sda, frequency) def init(self, scl, sda, frequency): """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 @@@ -52,8 -55,6 +55,8 @@@ 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 machine import I2C as _I2C from microcontroller.pin import i2cPorts @@@ -71,8 -72,8 +74,8 @@@ (scl, sda), i2cPorts ) ) - - self._lock = threading.RLock() + if threading is not None: + self._lock = threading.RLock() def deinit(self): """Deinitialization""" @@@ -82,11 -83,13 +85,13 @@@ pass def __enter__(self): - self._lock.acquire() + if threading is not None: + self._lock.acquire() return self def __exit__(self, exc_type, exc_value, traceback): - self._lock.release() + if threading is not None: + self._lock.release() self.deinit() def scan(self): @@@ -124,7 -127,7 +129,7 @@@ in_end=None, stop=False ): - """"Write to a device at specified address from a buffer then read + """ "Write to a device at specified address from a buffer then read from a device at specified address into a buffer """ return self._i2c.writeto_then_readfrom( @@@ -148,8 -151,8 +153,8 @@@ 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) @@@ -170,8 -173,6 +175,8 @@@ 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 machine import SPI as _SPI from microcontroller.pin import spiPorts @@@ -197,10 -198,21 +202,21 @@@ if detector.board.any_raspberry_pi or detector.board.any_raspberry_pi_40_pin: from adafruit_blinka.microcontroller.bcm283x.pin import Pin from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI + elif detector.board.BEAGLEBONE_AI: + from adafruit_blinka.microcontroller.dra74x.pin import Pin + from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI elif detector.board.any_beaglebone: from adafruit_blinka.microcontroller.am335x.pin import Pin from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI - elif detector.board.any_orange_pi and detector.chip.id == ap_chip.SUN8I: + elif detector.board.any_orange_pi: + if detector.chip.id == ap_chip.SUN8I: + from adafruit_blinka.microcontroller.allwinner.h3.pin import Pin + elif detector.chip.id == ap_chip.H5: + from adafruit_blinka.microcontroller.allwinner.h5.pin import Pin + elif detector.chip.id == ap_chip.H616: + from adafruit_blinka.microcontroller.allwinner.h616.pin import Pin + from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI + elif detector.board.any_nanopi and detector.chip.id == ap_chip.SUN8I: from adafruit_blinka.microcontroller.allwinner.h3.pin import Pin from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI elif board_id == ap_board.GIANT_BOARD: @@@ -209,6 -221,9 +225,9 @@@ elif board_id == ap_board.CORAL_EDGE_TPU_DEV: from adafruit_blinka.microcontroller.nxp_imx8m.pin import Pin from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI + elif board_id == ap_board.CORAL_EDGE_TPU_DEV_MINI: + from adafruit_blinka.microcontroller.mt8167.pin import Pin + from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI elif board_id == ap_board.ODROID_C2: from adafruit_blinka.microcontroller.amlogic.s905.pin import Pin from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI @@@ -239,22 -254,27 +258,30 @@@ elif detector.board.ROCK_PI_S: from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI from adafruit_blinka.microcontroller.rockchip.rk3308.pin import Pin + elif detector.board.ROCK_PI_4: + from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI + from adafruit_blinka.microcontroller.rockchip.rk3399.pin import Pin elif detector.board.SIFIVE_UNLEASHED: from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI from adafruit_blinka.microcontroller.hfu540.pin import Pin elif detector.board.ftdi_ft232h: - from adafruit_blinka.microcontroller.ft232h.spi import SPI as _SPI - from adafruit_blinka.microcontroller.ft232h.pin import Pin + from adafruit_blinka.microcontroller.ftdi_mpsse.ft232h.spi import SPI as _SPI + from adafruit_blinka.microcontroller.ftdi_mpsse.ft232h.pin import Pin + elif detector.board.ftdi_ft2232h: + from adafruit_blinka.microcontroller.ftdi_mpsse.ft2232h.spi import SPI as _SPI + from adafruit_blinka.microcontroller.ftdi_mpsse.ft2232h.pin import Pin elif detector.board.binho_nova: from adafruit_blinka.microcontroller.nova.spi import SPI as _SPI from adafruit_blinka.microcontroller.nova.pin import Pin elif detector.board.greatfet_one: from adafruit_blinka.microcontroller.nxp_lpc4330.spi import SPI as _SPI from adafruit_blinka.microcontroller.nxp_lpc4330.pin import Pin - elif board_id in (ap_board.PINE64, ap_board.PINEBOOK, ap_board.PINEPHONE): + elif board_id in ( + ap_board.PINE64, + ap_board.PINEBOOK, + ap_board.PINEPHONE, + ap_board.SOPINE, + ): from adafruit_blinka.microcontroller.allwinner.a64.pin import Pin from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI elif board_id == ap_board.CLOCKWORK_CPI3: @@@ -263,6 -283,9 +290,9 @@@ elif board_id == ap_board.ONION_OMEGA2: from adafruit_blinka.microcontroller.mips24kec.pin import Pin from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI + elif detector.board.any_lubancat and detector.chip.id == ap_chip.IMX6ULL: + from adafruit_blinka.microcontroller.nxp_imx6ull.pin import Pin + from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI else: from machine import SPI as _SPI from machine import Pin @@@ -295,7 -318,7 +325,7 @@@ except AttributeError: raise NotImplementedError( "Frequency attribute not implemented for this platform" - ) + ) from AttributeError def write(self, buf, start=0, end=None): """Write to the SPI device""" @@@ -414,3 -437,36 +444,36 @@@ class UART(Lockable) def write(self, buf): """Write to the UART from a buffer""" return self._uart.write(buf) + + + class OneWire: + """ + Stub class for OneWire, which is currently not implemented + """ + + def __init__(self, pin): + raise NotImplementedError("OneWire has not been implemented") + + def deinit(self): + """ + Deinitialize the OneWire bus and release any hardware resources for reuse. + """ + raise NotImplementedError("OneWire has not been implemented") + + def reset(self): + """ + Reset the OneWire bus and read presence + """ + raise NotImplementedError("OneWire has not been implemented") + + def read_bit(self): + """ + Read in a bit + """ + raise NotImplementedError("OneWire has not been implemented") + + def write_bit(self, value): + """ + Write out a bit based on value. + """ + raise NotImplementedError("OneWire has not been implemented") diff --combined src/digitalio.py index 53df368,a59866b..8db8399 --- a/src/digitalio.py +++ b/src/digitalio.py @@@ -1,6 -1,6 +1,6 @@@ """ - `digitalio` - Digital input and output control - ================================================= + `digitalio` - Digital input and output control (GPIO) + ===================================================== See `CircuitPython:digitalio` in CircuitPython for more details. @@@ -15,6 -15,8 +15,8 @@@ if detector.chip.BCM2XXX from adafruit_blinka.microcontroller.bcm283x.pin import Pin elif detector.chip.AM33XX: from adafruit_blinka.microcontroller.am335x.pin import Pin + elif detector.chip.DRA74X: + from adafruit_blinka.microcontroller.dra74x.pin import Pin elif detector.chip.SUN8I: from adafruit_blinka.microcontroller.allwinner.h3.pin import Pin elif detector.chip.SAMA5: @@@ -37,6 -39,8 +39,8 @@@ elif detector.chip.APQ8016 from adafruit_blinka.microcontroller.snapdragon.apq8016.pin import Pin elif detector.chip.IMX8MX: from adafruit_blinka.microcontroller.nxp_imx8m.pin import Pin + elif detector.chip.IMX6ULL: + from adafruit_blinka.microcontroller.nxp_imx6ull.pin import Pin elif detector.chip.HFU540: from adafruit_blinka.microcontroller.hfu540.pin import Pin elif detector.chip.A64: @@@ -47,18 -51,29 +51,31 @@@ elif detector.chip.MIPS24KEC from adafruit_blinka.microcontroller.mips24kec.pin import Pin elif detector.chip.RK3308: from adafruit_blinka.microcontroller.rockchip.rk3308.pin import Pin + elif detector.chip.RK3399: + from adafruit_blinka.microcontroller.rockchip.rk3399.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: from adafruit_blinka.microcontroller.nxp_lpc4330.pin import Pin - elif detector.chip.STM32: + elif detector.chip.STM32F405: from machine import Pin elif detector.board.microchip_mcp2221: from adafruit_blinka.microcontroller.mcp2221.pin import Pin + elif detector.chip.PENTIUM_N3710: + from adafruit_blinka.microcontroller.pentium.n3710.pin import Pin + elif detector.chip.STM32MP157: + from adafruit_blinka.microcontroller.stm32.stm32mp157.pin import Pin + elif detector.chip.MT8167: + from adafruit_blinka.microcontroller.mt8167.pin import Pin + elif detector.chip.H5: + from adafruit_blinka.microcontroller.allwinner.h5.pin import Pin + elif detector.chip.H616: + from adafruit_blinka.microcontroller.allwinner.h616.pin import Pin + from adafruit_blinka import Enum, ContextManaged diff --combined src/microcontroller/__init__.py index f40d9f0,eed4757..56396a0 --- a/src/microcontroller/__init__.py +++ b/src/microcontroller/__init__.py @@@ -1,10 -1,17 +1,17 @@@ """Microcontroller pins""" + import time + from adafruit_platformdetect.constants import chips as ap_chip from adafruit_blinka import Enum from adafruit_blinka.agnostic import board_id, chip_id + def delay_us(delay): + """Sleep for delay usecs.""" + time.sleep(delay / 1e6) + + class Pin(Enum): """Reference Pin object""" @@@ -13,7 -20,7 +20,7 @@@ self._id = pin_id def __repr__(self): - # pylint: disable=import-outside-toplevel + # pylint: disable=import-outside-toplevel, cyclic-import import board for key in dir(board): @@@ -21,7 -28,7 +28,7 @@@ return "board.{}".format(key) import microcontroller.pin as pin - # pylint: enable=import-outside-toplevel + # pylint: enable=import-outside-toplevel, cyclic-import for key in dir(pin): if getattr(pin, key) is self: @@@ -34,14 -41,20 +41,20 @@@ if chip_id == ap_chip.ESP8266: from adafruit_blinka.microcontroller.esp8266 import * - elif chip_id == ap_chip.STM32: - from adafruit_blinka.microcontroller.stm32 import * + elif chip_id == ap_chip.STM32F405: + from adafruit_blinka.microcontroller.stm32.stm32f405 import * elif chip_id == ap_chip.BCM2XXX: from adafruit_blinka.microcontroller.bcm283x import * + elif chip_id == ap_chip.DRA74X: + from adafruit_blinka.microcontroller.dra74x.pin import * elif chip_id == ap_chip.AM33XX: from adafruit_blinka.microcontroller.am335x import * elif chip_id == ap_chip.SUN8I: from adafruit_blinka.microcontroller.allwinner.h3 import * + elif chip_id == ap_chip.H5: + from adafruit_blinka.microcontroller.allwinner.h5.pin import * + elif chip_id == ap_chip.H616: + from adafruit_blinka.microcontroller.allwinner.h616.pin import * elif chip_id == ap_chip.SAMA5: from adafruit_blinka.microcontroller.sama5 import * elif chip_id == ap_chip.T210: @@@ -66,8 -79,14 +79,14 @@@ elif chip_id == ap_chip.A33 from adafruit_blinka.microcontroller.allwinner.a33.pin import * elif chip_id == ap_chip.RK3308: from adafruit_blinka.microcontroller.rockchip.rk3308.pin import * + elif chip_id == ap_chip.RK3399: + from adafruit_blinka.microcontroller.rockchip.rk3399.pin import * + elif chip_id == ap_chip.H5: + from adafruit_blinka.microcontroller.allwinner.h5.pin import * elif chip_id == ap_chip.IMX8MX: from adafruit_blinka.microcontroller.nxp_imx8m import * + elif chip_id == ap_chip.IMX6ULL: + from adafruit_blinka.microcontroller.nxp_imx6ull import * elif chip_id == ap_chip.HFU540: from adafruit_blinka.microcontroller.hfu540.pin import * elif chip_id == ap_chip.BINHO: @@@ -78,9 -97,11 +97,15 @@@ 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: + from adafruit_blinka.microcontroller.stm32.stm32mp157.pin import * + elif chip_id == ap_chip.MT8167: + from adafruit_blinka.microcontroller.mt8167.pin import * else: raise NotImplementedError("Microcontroller not supported:", chip_id) diff --combined src/microcontroller/pin.py index 5b8bc41,88c2d00..8cdf89b --- a/src/microcontroller/pin.py +++ b/src/microcontroller/pin.py @@@ -8,14 -8,20 +8,20 @@@ from adafruit_blinka.agnostic import ch if chip_id == ap_chip.ESP8266: from adafruit_blinka.microcontroller.esp8266.pin import * - elif chip_id == ap_chip.STM32: - from adafruit_blinka.microcontroller.stm32.pin import * + elif chip_id == ap_chip.STM32F405: + from adafruit_blinka.microcontroller.stm32.stm32f405.pin import * elif chip_id == ap_chip.BCM2XXX: from adafruit_blinka.microcontroller.bcm283x.pin import * + elif chip_id == ap_chip.DRA74X: + from adafruit_blinka.microcontroller.dra74x.pin import * elif chip_id == ap_chip.AM33XX: from adafruit_blinka.microcontroller.am335x.pin import * elif chip_id == ap_chip.SUN8I: from adafruit_blinka.microcontroller.allwinner.h3.pin import * + elif chip_id == ap_chip.H5: + from adafruit_blinka.microcontroller.allwinner.h5.pin import * + elif chip_id == ap_chip.H616: + from adafruit_blinka.microcontroller.allwinner.h616.pin import * elif chip_id == ap_chip.SAMA5: from adafruit_blinka.microcontroller.sama5.pin import * elif chip_id == ap_chip.T210: @@@ -36,12 -42,12 +42,14 @@@ elif chip_id == ap_chip.APQ8016 from adafruit_blinka.microcontroller.snapdragon.apq8016.pin import * elif chip_id == ap_chip.IMX8MX: from adafruit_blinka.microcontroller.nxp_imx8m.pin import * + elif chip_id == ap_chip.IMX6ULL: + from adafruit_blinka.microcontroller.nxp_imx6ull.pin import * 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: @@@ -54,9 -60,17 +62,17 @@@ elif chip_id == ap_chip.A33 from adafruit_blinka.microcontroller.allwinner.a33.pin import * elif chip_id == ap_chip.RK3308: from adafruit_blinka.microcontroller.rockchip.rk3308.pin import * + elif chip_id == ap_chip.RK3399: + from adafruit_blinka.microcontroller.rockchip.rk3399.pin import * 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.PENTIUM_N3710: + from adafruit_blinka.microcontroller.pentium.n3710.pin import * + elif chip_id == ap_chip.STM32MP157: + from adafruit_blinka.microcontroller.stm32.stm32mp157.pin import * + elif chip_id == ap_chip.MT8167: + from adafruit_blinka.microcontroller.mt8167.pin import * else: raise NotImplementedError("Microcontroller not supported: ", chip_id)