X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/a6e455c39abce475cf0289097213ebc04152e9a0..cf51c6e39aebacced739e8fe16b71389a47d236e:/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 fd9febe..700d8de 100644 --- a/src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py +++ b/src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py @@ -4,6 +4,7 @@ import subprocess import os import atexit import random +import struct import sysv_ipc DEBUG = False @@ -25,7 +26,7 @@ def final(): atexit.register(final) -# pylint: disable=c-extension-no-member, consider-using-with +# pylint: disable=c-extension-no-member class PulseIn: """PulseIn Class to read PWM signals""" @@ -49,9 +50,15 @@ class PulseIn: "Message queue creation failed" ) from sysv_ipc.ExistentialError + # Check if OS is 64-bit + if struct.calcsize("P") * 8 == 64: + libgpiod_filename = "libgpiod_pulsein64" + else: + libgpiod_filename = "libgpiod_pulsein" + dir_path = os.path.dirname(os.path.realpath(__file__)) cmd = [ - dir_path + "/libgpiod_pulsein", + dir_path + "/" + libgpiod_filename, "--pulses", str(maxlen), "--queue",