diff --git a/requirements.txt b/requirements.txt index 1ea7a341..aec79110 100755 --- a/requirements.txt +++ b/requirements.txt @@ -1,10 +1,9 @@ -Adafruit-PlatformDetect>=3.62.0 -Adafruit-PureIO>=1.1.7 -Jetson.GPIO; platform_machine=='aarch64' -RPi.GPIO; platform_machine=='armv7l' or platform_machine=='armv6l' or platform_machine=='aarch64' -rpi_ws281x>=4.0.0; platform_machine=='armv7l' or platform_machine=='armv6l' or platform_machine=='aarch64' -sysv_ipc>=1.1.0; sys_platform == 'linux' and platform_machine!='mips' -pyftdi>=0.40.0 -binho-host-adapter>=0.1.6 -numpy>=1.21.5 -adafruit-circuitpython-typing + # requirements.txt + # + # installs dependencies from ./setup.py, and the package itself, + # in editable mode + # -e . + + # (the -e above is optional). you could also just install the package + # normally with just the line below (after uncommenting) + . diff --git a/setup.py b/setup.py index 28a8fc31..edf1be7b 100755 --- a/setup.py +++ b/setup.py @@ -10,6 +10,8 @@ import io import os +import sys +import platform from setuptools import setup, find_packages @@ -21,6 +23,7 @@ long_description = "\n" + f.read() board_reqs = [] +platform_reqs = [] if os.path.exists("/proc/device-tree/compatible"): with open("/proc/device-tree/compatible", "rb") as f: compat = f.read() @@ -34,15 +37,18 @@ or b"brcm,bcm2838" in compat or b"brcm,bcm2711" in compat ): - board_reqs = ["RPi.GPIO", "rpi_ws281x>=4.0.0", "sysv_ipc>=1.1.0"] + board_reqs = ["RPi.GPIO", "rpi_ws281x>=4.0.0"] # Pi 5 if b"brcm,bcm2712" in compat: - board_reqs = ["rpi_ws281x>=4.0.0", "sysv_ipc>=1.1.0", "rpi-lgpio"] + board_reqs = ["rpi_ws281x>=4.0.0", "rpi-lgpio"] if ( b"ti,am335x" in compat ): # BeagleBone Black, Green, PocketBeagle, BeagleBone AI, etc. board_reqs = ["Adafruit_BBIO"] +if sys.platform == "linux" and platform.machine != "mips": + platform_reqs = ["sysv_ipc>=1.1.0"] + setup( name="Adafruit-Blinka", use_scm_version={ @@ -89,12 +95,15 @@ }, include_package_data=True, install_requires=[ - "Adafruit-PlatformDetect>=3.62.0", + "Adafruit-PlatformDetect>=3.70.1", "Adafruit-PureIO>=1.1.7", + "binho-host-adapter>=0.1.6", "pyftdi>=0.40.0", + "numpy>=1.21.5", "adafruit-circuitpython-typing", ] - + board_reqs, + + board_reqs + + platform_reqs, license="MIT", classifiers=[ # Trove classifiers diff --git a/src/adafruit_blinka/board/raspberrypi/raspi_5b.py b/src/adafruit_blinka/board/raspberrypi/raspi_5b.py deleted file mode 100644 index 9ecda915..00000000 --- a/src/adafruit_blinka/board/raspberrypi/raspi_5b.py +++ /dev/null @@ -1,58 +0,0 @@ -# SPDX-FileCopyrightText: 2023 Melissa LeBlanc-Williams for Adafruit Industries -# -# SPDX-License-Identifier: MIT -"""Pin definitions for Raspberry Pi 5 models using the BCM2712.""" - -from adafruit_blinka.microcontroller.bcm2712 import pin - -D0 = pin.D0 -D1 = pin.D1 - -D2 = pin.D2 -SDA = pin.SDA -D3 = pin.D3 -SCL = pin.SCL - -D4 = pin.D4 -D5 = pin.D5 -D6 = pin.D6 - -D7 = pin.D7 -CE1 = pin.D7 -D8 = pin.D8 -CE0 = pin.D8 -D9 = pin.D9 -MISO = pin.D9 -D10 = pin.D10 -MOSI = pin.D10 -D11 = pin.D11 -SCLK = pin.D11 -SCK = pin.D11 - -D12 = pin.D12 -D13 = pin.D13 - -D14 = pin.D14 -TXD = pin.D14 -D15 = pin.D15 -RXD = pin.D15 -# create alias for most of the examples -TX = pin.D14 -RX = pin.D15 - -D16 = pin.D16 -D17 = pin.D17 -D18 = pin.D18 -D19 = pin.D19 -MISO_1 = pin.D19 -D20 = pin.D20 -MOSI_1 = pin.D20 -D21 = pin.D21 -SCLK_1 = pin.D21 -SCK_1 = pin.D21 -D22 = pin.D22 -D23 = pin.D23 -D24 = pin.D24 -D25 = pin.D25 -D26 = pin.D26 -D27 = pin.D27 diff --git a/src/adafruit_blinka/microcontroller/bcm2712/__init__.py b/src/adafruit_blinka/microcontroller/bcm2712/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/adafruit_blinka/microcontroller/bcm2712/pin.py b/src/adafruit_blinka/microcontroller/bcm2712/pin.py deleted file mode 100644 index 19c88543..00000000 --- a/src/adafruit_blinka/microcontroller/bcm2712/pin.py +++ /dev/null @@ -1,95 +0,0 @@ -# SPDX-FileCopyrightText: 2023 Melissa LeBlanc-Williams for Adafruit Industries -# -# SPDX-License-Identifier: MIT -"""Broadcom BCM2712 pin names""" -from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin - -# Pi 1B rev1 only? -D0 = Pin((4, 0)) -D1 = Pin((4, 1)) - -D2 = Pin((4, 2)) -SDA = Pin((4, 2)) -D3 = Pin((4, 3)) -SCL = Pin((4, 3)) - -D4 = Pin((4, 4)) -D5 = Pin((4, 5)) -D6 = Pin((4, 6)) - -D7 = Pin((4, 7)) -CE1 = Pin((4, 7)) -D8 = Pin((4, 8)) -CE0 = Pin((4, 8)) -D9 = Pin((4, 9)) -MISO = Pin((4, 9)) -D10 = Pin((4, 10)) -MOSI = Pin((4, 10)) -D11 = Pin((4, 11)) -SCLK = Pin((4, 11)) # Raspberry Pi naming -SCK = Pin((4, 11)) # CircuitPython naming - -D12 = Pin((4, 12)) -D13 = Pin((4, 13)) - -D14 = Pin((4, 14)) -TXD = Pin((4, 14)) -D15 = Pin((4, 15)) -RXD = Pin((4, 15)) - -D16 = Pin((4, 16)) -D17 = Pin((4, 17)) -D18 = Pin((4, 18)) -D19 = Pin((4, 19)) -MISO_1 = Pin((4, 19)) -D20 = Pin((4, 20)) -MOSI_1 = Pin((4, 20)) -D21 = Pin((4, 21)) -SCLK_1 = Pin((4, 21)) -SCK_1 = Pin((4, 21)) -D22 = Pin((4, 22)) -D23 = Pin((4, 23)) -D24 = Pin((4, 24)) -D25 = Pin((4, 25)) -D26 = Pin((4, 26)) -D27 = Pin((4, 27)) -D28 = Pin((4, 28)) -D29 = Pin((4, 29)) -D30 = Pin((4, 30)) -D31 = Pin((4, 31)) -D32 = Pin((4, 32)) -D33 = Pin((4, 33)) -D34 = Pin((4, 34)) -D35 = Pin((4, 35)) -D36 = Pin((4, 36)) -D37 = Pin((4, 37)) -D38 = Pin((4, 38)) -D39 = Pin((4, 39)) -D40 = Pin((4, 40)) -MISO_2 = Pin((4, 40)) -D41 = Pin((4, 41)) -MOSI_2 = Pin((4, 41)) -D42 = Pin((4, 42)) -SCLK_2 = Pin((4, 42)) -SCK_2 = Pin((4, 43)) -D43 = Pin((4, 43)) -D44 = Pin((4, 44)) -D45 = Pin((4, 45)) - -# ordered as spiId, sckId, mosiId, misoId -spiPorts = ( - (0, SCLK, MOSI, MISO), - (1, SCLK_1, MOSI_1, MISO_1), - (2, SCLK_2, MOSI_2, MISO_2), -) - -# 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 = ( - (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 7c027f0a..667a2348 100644 --- a/src/board.py +++ b/src/board.py @@ -43,10 +43,9 @@ or detector.board.RASPBERRY_PI_CM4 or detector.board.RASPBERRY_PI_CM4S or detector.board.RASPBERRY_PI_400 + or detector.board.RASPBERRY_PI_5 ): from adafruit_blinka.board.raspberrypi.raspi_4b import * -elif detector.board.RASPBERRY_PI_5: - from adafruit_blinka.board.raspberrypi.raspi_5b import * elif detector.board.any_raspberry_pi_40_pin: from adafruit_blinka.board.raspberrypi.raspi_40pin import * diff --git a/src/digitalio.py b/src/digitalio.py index 525605d5..e215047b 100644 --- a/src/digitalio.py +++ b/src/digitalio.py @@ -20,10 +20,9 @@ "RASPBERRY_PI_400", "RASPBERRY_PI_CM4", "RASPBERRY_PI_CM4S", + "RASPBERRY_PI_5", ): from adafruit_blinka.microcontroller.bcm2711.pin import * - elif board_id in ("RASPBERRY_PI_5",): - from adafruit_blinka.microcontroller.bcm2712.pin import * else: from adafruit_blinka.microcontroller.bcm283x.pin import Pin elif detector.chip.AM33XX: diff --git a/src/microcontroller/__init__.py b/src/microcontroller/__init__.py index 287f77b8..0baf43de 100644 --- a/src/microcontroller/__init__.py +++ b/src/microcontroller/__init__.py @@ -36,6 +36,7 @@ def delay_us(delay): "RASPBERRY_PI_4B", "RASPBERRY_PI_400", "RASPBERRY_PI_CM4", + "RASPBERRY_PI_5", ]: from adafruit_blinka.microcontroller.bcm2711 import * else: diff --git a/src/microcontroller/pin.py b/src/microcontroller/pin.py index 3ae84c5d..adf92db6 100644 --- a/src/microcontroller/pin.py +++ b/src/microcontroller/pin.py @@ -21,10 +21,9 @@ "RASPBERRY_PI_400", "RASPBERRY_PI_CM4", "RASPBERRY_PI_CM4S", + "RASPBERRY_PI_5", ): from adafruit_blinka.microcontroller.bcm2711.pin import * - elif board_id in ("RASPBERRY_PI_5",): - from adafruit_blinka.microcontroller.bcm2712.pin import * else: from adafruit_blinka.microcontroller.bcm283x.pin import * elif chip_id == ap_chip.DRA74X: