]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/adafruit_blinka/microcontroller/bcm2711/pin.py
Merge branch 'lgpio-native' of https://github.com/frank-pet/Adafruit_Blinka into...
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / bcm2711 / pin.py
index 48fe98af22fffb22fb847574d721b969dc535e4f..59ac99a0aee1fd0abc5e6f72e88acc1c2b990370 100644 (file)
@@ -1,71 +1,14 @@
-"""Broadcom BCM283x pin names"""
-import RPi.GPIO as GPIO
+# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
+#
+# SPDX-License-Identifier: MIT
+"""Broadcom BCM2711 pin names"""
 
-GPIO.setmode(GPIO.BCM)  # Use BCM pins D4 = GPIO #4
-GPIO.setwarnings(False)  # shh!
+# pylint: disable=unused-import
+# importing CHIP to make the lgpio CHIP handle available
+from adafruit_blinka.microcontroller.bcm283x.pin import Pin, CHIP
 
+# pylint: enable=unused-import
 
-class Pin:
-    """Pins dont exist in CPython so...lets make our own!"""
-
-    IN = 0
-    OUT = 1
-    LOW = 0
-    HIGH = 1
-    PULL_NONE = 0
-    PULL_UP = 1
-    PULL_DOWN = 2
-
-    id = None
-    _value = LOW
-    _mode = IN
-
-    def __init__(self, bcm_number):
-        self.id = bcm_number
-
-    def __repr__(self):
-        return str(self.id)
-
-    def __eq__(self, other):
-        return self.id == other
-
-    def init(self, mode=IN, pull=None):
-        """Initialize the Pin"""
-        if mode is not None:
-            if mode == self.IN:
-                self._mode = self.IN
-                GPIO.setup(self.id, GPIO.IN)
-            elif mode == self.OUT:
-                self._mode = self.OUT
-                GPIO.setup(self.id, GPIO.OUT)
-            else:
-                raise RuntimeError("Invalid mode for pin: %s" % self.id)
-        if pull is not None:
-            if self._mode != self.IN:
-                raise RuntimeError("Cannot set pull resistor on output")
-            if pull == self.PULL_UP:
-                GPIO.setup(self.id, GPIO.IN, pull_up_down=GPIO.PUD_UP)
-            elif pull == self.PULL_DOWN:
-                GPIO.setup(self.id, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
-            else:
-                raise RuntimeError("Invalid pull for pin: %s" % self.id)
-
-    def value(self, val=None):
-        """Set or return the Pin Value"""
-        if val is not None:
-            if val == self.LOW:
-                self._value = val
-                GPIO.output(self.id, val)
-            elif val == self.HIGH:
-                self._value = val
-                GPIO.output(self.id, val)
-            else:
-                raise RuntimeError("Invalid value for pin")
-            return None
-        return GPIO.input(self.id)
-
-
-# Pi 1B rev1 only?
 D0 = Pin(0)
 D1 = Pin(1)
 
@@ -140,7 +83,7 @@ D45 = Pin(45)
 # ordered as spiId, sckId, mosiId, misoId
 spiPorts = (
     (0, SCLK, MOSI, MISO),
-    (6, SCLK_1, MOSI_1, MISO_1),
+    (1, SCLK_1, MOSI_1, MISO_1),
     (2, SCLK_2, MOSI_2, MISO_2),
     (3, D3, D2, D1),
     (4, D7, D6, D5),