From 43f6e34830955957c079613c8fd139ba62ed5b00 Mon Sep 17 00:00:00 2001 From: Technobly Date: Tue, 29 Apr 2025 11:35:37 -0500 Subject: [PATCH] fixes for libgpiod v2.1.3 --- .../libgpiod/libgpiod_pin_2_x.py | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) 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""" -- 2.49.0