]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/adafruit_blinka/microcontroller/bcm283x/pulseio/PulseIn.py
remove PWMOut from pulseio
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / bcm283x / pulseio / PulseIn.py
index fd9febee7dabdbe70f5fec1bd3d9810fb2943b43..700d8de2e3659f81640ad501d3e3d4b319c0e65e 100644 (file)
@@ -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",