From: Technobly Date: Tue, 29 Apr 2025 16:35:37 +0000 (-0500) Subject: fixes for libgpiod v2.1.3 X-Git-Tag: 8.63.0~1^2~1 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/43f6e34830955957c079613c8fd139ba62ed5b00?hp=9b4f41db484ea3353d31e87b313fcaa4aca94834 fixes for libgpiod v2.1.3 --- diff --git a/src/adafruit_blinka/microcontroller/generic_linux/libgpiod/libgpiod_pin_2_x.py b/src/adafruit_blinka/microcontroller/generic_linux/libgpiod/libgpiod_pin_2_x.py index 9f12d9d..aa1ee18 100644 --- a/src/adafruit_blinka/microcontroller/generic_linux/libgpiod/libgpiod_pin_2_x.py +++ b/src/adafruit_blinka/microcontroller/generic_linux/libgpiod/libgpiod_pin_2_x.py @@ -48,14 +48,8 @@ class Pin: """Initialize the Pin""" # Input, if not self._line_request: - self._line_request = self._chip.request_lines( - config={int(self._num): None}, - consumer=self._CONSUMER, - ) - # print("init line: ", self.id, self._line) - - if mode is not None: line_config = gpiod.LineSettings() + if mode == self.IN: line_config.direction = gpiod.line.Direction.INPUT if pull is not None: @@ -68,24 +62,18 @@ class Pin: else: raise RuntimeError(f"Invalid pull for pin: {self.id}") - self._mode = self.IN - self._line_request.reconfigure_lines( - { - int(self._num): line_config, - } - ) elif mode == self.OUT: if pull is not None: raise RuntimeError("Cannot set pull resistor on output") - self._mode = self.OUT line_config.direction = gpiod.line.Direction.OUTPUT - self._line_request.reconfigure_lines( - { - int(self._num): line_config, - } - ) + else: - raise RuntimeError("Invalid mode for pin: %s" % self.id) + raise RuntimeError(f"Invalid mode for pin: {self.id}") + + self._line_request = self._chip.request_lines( + {int(self._num): line_config}, + consumer=self._CONSUMER, + ) def value(self, val=None): """Set or return the Pin Value"""