]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Merge pull request #403 from jepler/ft232-spi-write_data
authorJeff Epler <jeff@adafruit.com>
Mon, 8 Feb 2021 18:05:43 +0000 (12:05 -0600)
committerGitHub <noreply@github.com>
Mon, 8 Feb 2021 18:05:43 +0000 (12:05 -0600)
Fix SPI.readinto with write_data=NONZERO

docs/conf.py
requirements.txt
setup.py
src/adafruit_blinka/board/nanopi/duo2.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/bcm283x/pin.py
src/board.py
src/pwmio.py [new file with mode: 0644]

index c51cebd0e72a7ac62e9f4e192aa42daeb6f4ecf5..7c11d8abdd1b7d8a0e7126448bfffe8995de46f7 100755 (executable)
@@ -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),
 }
 
index 4eaf385e8b12c988284ee346a31182b7afa7d4a9..b6336c51e22d285cafd34b5ea621a2cc0e8c118b 100755 (executable)
@@ -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
index 2465ba800addf9bec33f10d479baaa55bc9b7ade..a3ebacaf26624960881583831753133357f66d14 100755 (executable)
--- 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 (file)
index 0000000..368c939
--- /dev/null
@@ -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
index e95364c6febcbf94a01da1657ad114e2f710bcbb..5022366a7d4dd1b299b5b17301d5b73beb0d2178 100644 (file)
@@ -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!
 )
index 84c572987c469ee55abbadad8e543eab09bdcb33..a30518942fdab09aefdfb01753a9e1cc2ff04231 100755 (executable)
@@ -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 (file)
index 0000000..05263c2
--- /dev/null
@@ -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.")