]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/pulseio.py
Add versioning to the top-level Python files
[Adafruit_Blinka-hackapet.git] / src / pulseio.py
index 0507b635d5329be7c6820386c84e63015f3d9ddd..c12d1890876502fb70416912184e3e9f2e029d1b 100644 (file)
@@ -1,20 +1,41 @@
+"""
+`pulseio` - Pulse Width Modulation input and output control
+===========================================================
+See `CircuitPython:pulseio` in CircuitPython for more details.
+Not supported by all boards.
+
+* Author(s): Melissa LeBlanc-Williams
+"""
+
+
+__version__ = "0.0.0-auto.0"
+__repo__ = "https://github.com/adafruit/Adafruit_Blinka.git"
+
+
 import sys
-from adafruit_blinka.agnostic import board_id
 
+from adafruit_blinka.agnostic import detector
 
-if board_id == "raspi_2" or board_id == "raspi_3":
-    from adafruit_blinka.microcontroller.raspi_23.pulseio.PulseIn import PulseIn as PulseIn
+# pylint: disable=unused-import
 
-"""
-class PulseIn:
-    def __init__(self, pin, maxlen=2, idle_state=False):
-        self.pulsein = _PulseIn.PulseIn(pin, maxlen, idle_state=idle_state)
-
-    def deinit(self):
-        self.pulsein.deinit()
-    def pause(self):
-        self.pulsein.pause()
-    
-    def resume(self, trigger_duration=0):
-        self.pulsein(trigger_duration)
-"""
+if detector.board.any_raspberry_pi:
+    from adafruit_blinka.microcontroller.bcm283x.pulseio.PulseIn import PulseIn
+    from adafruit_blinka.microcontroller.bcm283x.pulseio.PWMOut import PWMOut
+elif detector.board.any_coral_board:
+    from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
+elif detector.board.any_giant_board:
+    from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
+elif detector.board.any_beaglebone:
+    from adafruit_blinka.microcontroller.am335x.sysfs_pwmout import PWMOut
+elif detector.board.any_rock_pi_board:
+    from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
+elif detector.board.binho_nova:
+    from adafruit_blinka.microcontroller.nova.pwmout import PWMOut
+elif detector.board.greatfet_one:
+    from adafruit_blinka.microcontroller.nxp_lpc4330.pwmout import PWMOut
+elif detector.board.any_lubancat:
+    from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
+elif "sphinx" in sys.modules:
+    pass
+else:
+    raise NotImplementedError("pulseio not supported for this board.")