From: Jeff Epler Date: Mon, 8 Feb 2021 18:05:43 +0000 (-0600) Subject: Merge pull request #403 from jepler/ft232-spi-write_data X-Git-Tag: 6.2.0~1 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/8eb18ed39b1f84acda2758bec6612e862a6353c5?hp=42e5b151b0255a58a8ec0d2f42dcd8f39b20dbc2 Merge pull request #403 from jepler/ft232-spi-write_data Fix SPI.readinto with write_data=NONZERO --- diff --git a/docs/conf.py b/docs/conf.py index c51cebd..7c11d8a 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -29,7 +29,7 @@ autodoc_mock_imports = [ ] intersphinx_mapping = { - "python": ("https://docs.python.org/3.4", None), + "python": ("https://docs.python.org/3.6", None), "CircuitPython": ("https://circuitpython.readthedocs.io/en/latest/", None), } diff --git a/requirements.txt b/requirements.txt index 4eaf385..b6336c5 100755 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ -Adafruit-PlatformDetect>=2.18.1 +Adafruit-PlatformDetect>=3.0.0 Adafruit-PureIO>=1.1.7 Jetson.GPIO; platform_machine=='aarch64' RPi.GPIO; platform_machine=='armv7l' or platform_machine=='armv6l' rpi_ws281x>=4.0.0; platform_machine=='armv7l' or platform_machine=='armv6l' -sysv_ipc; sys_platform == 'linux' and platform_machine!='mips' +sysv_ipc>=1.1.0; sys_platform == 'linux' and platform_machine!='mips' pyftdi>=0.40.0 binho-host-adapter>=0.1.6 diff --git a/setup.py b/setup.py index 2465ba8..a3ebaca 100755 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ if os.path.exists("/proc/device-tree/compatible"): or b"brcm,bcm2837" in compat or b"brcm,bcm2838" in compat ): - board_reqs = ["RPi.GPIO", "rpi_ws281x>=4.0.0", "sysv_ipc"] + board_reqs = ["RPi.GPIO", "rpi_ws281x>=4.0.0", "sysv_ipc>=1.1.0"] setup( name="Adafruit-Blinka", @@ -40,7 +40,7 @@ setup( long_description_content_type="text/x-rst", author="Adafruit Industries", author_email="circuitpython@adafruit.com", - python_requires=">=3.5.0", + python_requires=">=3.6.0", url="https://github.com/adafruit/Adafruit_Blinka", package_dir={"": "src"}, packages=find_packages("src"), @@ -54,6 +54,7 @@ setup( "digitalio", "micropython", "pulseio", + "pwmio", "neopixel_write", ], package_data={ @@ -72,7 +73,7 @@ setup( "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: MicroPython", ], ) diff --git a/src/adafruit_blinka/board/nanopi/duo2.py b/src/adafruit_blinka/board/nanopi/duo2.py new file mode 100644 index 0000000..368c939 --- /dev/null +++ b/src/adafruit_blinka/board/nanopi/duo2.py @@ -0,0 +1,23 @@ +"""Pin definitions for the NanoPi Duo2.""" +# Enable I2C0, UART1, and SPI by adding the following lines to /boot/armbianEnv.txt +# overlays=usbhost2 usbhost3 spi-spidev uart1 i2c0 +# param_spidev_spi_bus=0 + +from adafruit_blinka.microcontroller.allwinner.h3 import pin + +# Left GPIO +PG11 = pin.PG11 + +# I2C +SDA = pin.PA12 +SCL = pin.PA11 + +# SPI +SCLK = pin.PA14 +MOSI = pin.PA15 +MISO = pin.PA16 +CE0 = pin.PA13 + +# Serial UART +UART1_TX = pin.PG6 +UART1_RX = pin.PG7 diff --git a/src/adafruit_blinka/microcontroller/bcm283x/pin.py b/src/adafruit_blinka/microcontroller/bcm283x/pin.py index e95364c..5022366 100644 --- a/src/adafruit_blinka/microcontroller/bcm283x/pin.py +++ b/src/adafruit_blinka/microcontroller/bcm283x/pin.py @@ -147,8 +147,10 @@ spiPorts = ( # ordered as uartId, txId, rxId uartPorts = ((1, TXD, RXD),) +# These are the known hardware I2C ports / pins. +# For software I2C ports created with the i2c-gpio overlay, see: +# https://github.com/adafruit/Adafruit_Python_Extended_Bus i2cPorts = ( - (3, SCL, SDA), (1, SCL, SDA), (0, D1, D0), # both pi 1 and pi 2 i2c ports! ) diff --git a/src/board.py b/src/board.py index 84c5729..a305189 100755 --- a/src/board.py +++ b/src/board.py @@ -197,6 +197,9 @@ elif board_id == ap_board.LUBANCAT_IMX6ULL: 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 --git a/src/pwmio.py b/src/pwmio.py new file mode 100644 index 0000000..05263c2 --- /dev/null +++ b/src/pwmio.py @@ -0,0 +1,35 @@ +""" +`pwmio` - Support for PWM based protocols +=========================================================== +See `CircuitPython:pwmio` in CircuitPython for more details. +Not supported by all boards. + +* Author(s): Melissa LeBlanc-Williams +""" + +import sys + +from adafruit_blinka.agnostic import detector + +# pylint: disable=unused-import + +if detector.board.any_raspberry_pi: + from adafruit_blinka.microcontroller.bcm283x.pulseio.PWMOut import PWMOut +elif detector.board.any_coral_board: + from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut +elif detector.board.any_giant_board: + from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut +elif detector.board.any_beaglebone: + from adafruit_blinka.microcontroller.am335x.sysfs_pwmout import PWMOut +elif detector.board.any_rock_pi_board: + from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut +elif detector.board.binho_nova: + from adafruit_blinka.microcontroller.nova.pwmout import PWMOut +elif detector.board.greatfet_one: + from adafruit_blinka.microcontroller.nxp_lpc4330.pwmout import PWMOut +elif detector.board.any_lubancat: + from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut +elif "sphinx" in sys.modules: + pass +else: + raise NotImplementedError("pwmio not supported for this board.")