]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Add timout loop after exporting the PWM pin.
authorScott Main <smain@google.com>
Fri, 4 Dec 2020 20:09:22 +0000 (12:09 -0800)
committerScott Main <smain@google.com>
Fri, 4 Dec 2020 20:39:22 +0000 (12:39 -0800)
This gives udev time to respond to the device event. Without this,
the subsequent attempts to modify pin properties will fail when
depending on udev rules to apply new user permissions.

This code is essentially copied from python-periphery, as was most
of this file (both MIT licenced). Although it appears sergeev added
this loop recently, compared to when this code was originally cloned.

src/adafruit_blinka/microcontroller/generic_linux/sysfs_pwmout.py

index ae4da4b78124eefbd15b5b35723efc984ac5f0bf..1344f4faf9216ee6e16dedc347886e22f9b4fd22 100644 (file)
@@ -26,6 +26,12 @@ class PWMError(IOError):
 
 class PWMOut:
     """Pulse Width Modulation Output Class"""
+
+    # Number of retries to check for successful PWM export on open
+    PWM_STAT_RETRIES = 10
+    # Delay between check for scucessful PWM export on open (100ms)
+    PWM_STAT_DELAY = 0.1
+
     # Number of retries to check for successful PWM export on open
     PWM_STAT_RETRIES = 10
     # Delay between check for scucessful PWM export on open (100ms)