X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka.git/blobdiff_plain/528442e29f61287f55e0afe2923b187d151aa8b2..e0865b0bc720d55f55232539ec03508dc9eec9e7:/src/adafruit_blinka/microcontroller/rockchip/PWMOut.py diff --git a/src/adafruit_blinka/microcontroller/rockchip/PWMOut.py b/src/adafruit_blinka/microcontroller/rockchip/PWMOut.py index 09c4a8e..e152377 100644 --- a/src/adafruit_blinka/microcontroller/rockchip/PWMOut.py +++ b/src/adafruit_blinka/microcontroller/rockchip/PWMOut.py @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT """ Much code from https://github.com/vsergeev/python-periphery/blob/master/periphery/pwm.py Copyright (c) 2015-2016 vsergeev / Ivan (Vanya) A. Sergeev @@ -75,6 +78,7 @@ class PWMOut: self._chip = pwmout[0][0] self._channel = pwmout[0][1] + self._chip_path = os.path.join( "/sys/class/pwm", self._chip_path.format(self._chip) ) @@ -91,7 +95,9 @@ class PWMOut: if not os.path.isdir(self._channel_path): # Exporting the PWM. try: - with open(os.path.join(self._chip_path, "export"), "w") as f_export: + with open( + os.path.join(self._chip_path, "export"), "w", encoding="utf-8" + ) as f_export: f_export.write("{:d}\n".format(self._channel)) except IOError as e: raise PWMError( @@ -122,6 +128,7 @@ class PWMOut: with open( os.path.join(self._channel_path, "period"), "w", + encoding="utf-8", ): break except IOError as e: @@ -136,6 +143,8 @@ class PWMOut: self.frequency = frequency self.duty_cycle = duty_cycle + self.polarity = "normal" + self.enable() # Cache the period for fast duty cycle updates self._period_ns = self._get_period_ns() @@ -157,11 +166,15 @@ class PWMOut: self._channel = None def _write_channel_attr(self, attr, value): - with open(os.path.join(self._channel_path, attr), "w") as f_attr: + with open( + os.path.join(self._channel_path, attr), "w", encoding="utf-8" + ) as f_attr: f_attr.write(value + "\n") def _read_channel_attr(self, attr): - with open(os.path.join(self._channel_path, attr), "r") as f_attr: + with open( + os.path.join(self._channel_path, attr), "r", encoding="utf-8" + ) as f_attr: return f_attr.read().strip() # Methods