python-periphery
python-periphery copied to clipboard
Setting `edge` on cdevV2 GPIO raises an OSError 22 of "Invalid Argument"
>>> input = pp.GPIO("/dev/gpiochip3", 10, "in", inverted=True, drive="default")
>>> input.edge="falling"
Traceback (most recent call last):
File "/root/gpio_controller/.venv/lib/python3.10/site-packages/periphery/gpio_cdev2.py", line 269, in _reopen
fcntl.ioctl(self._chip_fd, Cdev2GPIO._GPIO_V2_GET_LINE_IOCTL, line_request)
OSError: [Errno 22] Invalid argument
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/root/gpio_controller/.venv/lib/python3.10/site-packages/periphery/gpio_cdev2.py", line 525, in _set_edge
self._reopen(self._direction, edge, self._bias, self._drive, self._inverted)
File "/root/gpio_controller/.venv/lib/python3.10/site-packages/periphery/gpio_cdev2.py", line 271, in _reopen
raise GPIOError(e.errno, "Opening input line handle: " + e.strerror)
periphery.gpio.GPIOError: [Errno 22] Opening input line handle: Invalid argument
>>> input.edge="rising"
Traceback (most recent call last):
File "/root/gpio_controller/.venv/lib/python3.10/site-packages/periphery/gpio_cdev2.py", line 269, in _reopen
fcntl.ioctl(self._chip_fd, Cdev2GPIO._GPIO_V2_GET_LINE_IOCTL, line_request)
OSError: [Errno 22] Invalid argument
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/root/gpio_controller/.venv/lib/python3.10/site-packages/periphery/gpio_cdev2.py", line 525, in _set_edge
self._reopen(self._direction, edge, self._bias, self._drive, self._inverted)
File "/root/gpio_controller/.venv/lib/python3.10/site-packages/periphery/gpio_cdev2.py", line 271, in _reopen
raise GPIOError(e.errno, "Opening input line handle: " + e.strerror)
periphery.gpio.GPIOError: [Errno 22] Opening input line handle: Invalid argument
>>> input.__class__.__name__
'Cdev2GPIO'
OS: Linux rock-3b 5.10.160-legacy-rock-3b #1 SMP Thu Feb 29 08:50:21 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux Installed version: python-periphery 2.4.1
Because of this issue, poll and read_event do not work