X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/a3770186a94117be56a8d9a8038a2d540bd2884c..f8a13c038c45aa5e88ccbc64bf359b77ed938c01:/src/adafruit_blinka/microcontroller/am335x/sysfs_pwmout.py?ds=inline diff --git a/src/adafruit_blinka/microcontroller/am335x/sysfs_pwmout.py b/src/adafruit_blinka/microcontroller/am335x/sysfs_pwmout.py index 84ceaed..b99e1cc 100644 --- a/src/adafruit_blinka/microcontroller/am335x/sysfs_pwmout.py +++ b/src/adafruit_blinka/microcontroller/am335x/sysfs_pwmout.py @@ -9,7 +9,7 @@ import os try: from microcontroller.pin import pwmOuts except ImportError: - raise RuntimeError("No PWM outputs defined for this board") + raise RuntimeError("No PWM outputs defined for this board") from ImportError # pylint: disable=unnecessary-pass class PWMError(IOError): @@ -84,6 +84,9 @@ class PWMOut: if self._channel is None: raise RuntimeError("No PWM channel found for this Pin") + if variable_frequency: + print("Variable Frequency is not supported, continuing without it...") + channel_path = os.path.join( self._sysfs_path, self._channel_path.format(self._channel) ) @@ -102,7 +105,7 @@ class PWMOut: ) as f_export: f_export.write("%d\n" % self._pwmpin) except IOError as e: - raise PWMError(e.errno, "Exporting PWM pin: " + e.strerror) + raise PWMError(e.errno, "Exporting PWM pin: " + e.strerror) from IOError # Look up the period, for fast duty cycle updates self._period = self._get_period() @@ -121,9 +124,6 @@ class PWMOut: channel_path = os.path.join( self._sysfs_path, self._channel_path.format(self._channel) ) - pin_path = os.path.join( - channel_path, self._pin_path.format(self._channel, self._pwmpin) - ) if self._channel is not None: # self.duty_cycle = 0 @@ -135,7 +135,9 @@ class PWMOut: ) as f_unexport: f_unexport.write("%d\n" % self._pwmpin) except IOError as e: - raise PWMError(e.errno, "Unexporting PWM pin: " + e.strerror) + raise PWMError( + e.errno, "Unexporting PWM pin: " + e.strerror + ) from IOError except Exception as e: # due to a race condition for which I have not yet been # able to find the root cause, deinit() often fails @@ -192,7 +194,9 @@ class PWMOut: try: period_ns = int(period_ns) except ValueError: - raise PWMError(None, 'Unknown period value: "%s"' % period_ns) + raise PWMError( + None, 'Unknown period value: "%s"' % period_ns + ) from ValueError # Convert period from nanoseconds to seconds period = period_ns / 1e9 @@ -230,7 +234,9 @@ class PWMOut: try: duty_cycle_ns = int(duty_cycle_ns) except ValueError: - raise PWMError(None, 'Unknown duty cycle value: "%s"' % duty_cycle_ns) + raise PWMError( + None, 'Unknown duty cycle value: "%s"' % duty_cycle_ns + ) from ValueError # Convert duty cycle from nanoseconds to seconds duty_cycle = duty_cycle_ns / 1e9