X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/ee0ac203d106fee2963d0c0deb42e206150995af..c2bc4a90827f28abb6b51eae659a1f80a65c0497:/src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py diff --git a/src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py b/src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py index 700d8de..78d5761 100644 --- a/src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py +++ b/src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT """Custom PulseIn Class to read PWM signals""" import time import subprocess @@ -11,6 +14,7 @@ DEBUG = False queues = [] procs = [] + # The message queues live outside of python space, and must be formally cleaned! def final(): """In case the program is cancelled or quit, we need to clean up the PulseIn @@ -26,6 +30,7 @@ def final(): atexit.register(final) + # pylint: disable=c-extension-no-member class PulseIn: """PulseIn Class to read PWM signals""" @@ -51,7 +56,7 @@ class PulseIn: ) from sysv_ipc.ExistentialError # Check if OS is 64-bit - if struct.calcsize("P") * 8 == 64: + if struct.calcsize("P") * 8 == 64: # pylint: disable=no-member libgpiod_filename = "libgpiod_pulsein64" else: libgpiod_filename = "libgpiod_pulsein" @@ -66,12 +71,16 @@ class PulseIn: ] if idle_state: cmd.append("-i") - cmd.append("gpiochip0") - cmd.append(str(pin)) + if isinstance(pin.id, tuple): + cmd.append(f"gpiochip{pin.id[0]}") + cmd.append(str(pin.id[1])) + else: + cmd.append("gpiochip0") + cmd.append(str(pin)) if DEBUG: print(cmd) - self._process = subprocess.Popen(cmd) + self._process = subprocess.Popen(cmd) # pylint: disable=consider-using-with procs.append(self._process) # wait for it to start up