-
-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kernel 6.6 breaks RpiGpioSensor EventDetection #125
Comments
I'm open to a different implementation. I think RPi.GPIO was originally brought in to get the edge detection. The original implementation just polled the pins every 100 msec or so IIRC. I'd hate to go back to polling but it's a lot better than not working at all. |
I've looked at several GPIO libraries and decided on lgpio (github). It's quite similar to RPi.GPIO, so it shouldn't be too hard to implement. It has all the features we use from RPi.GPIO, including edge detection. I'd start to port RpiGpioSensor and work on the other modules that relay on RPi.GPIO later on, to get RPi5 support for them too. |
With PR #127 RpiGpioActuator & GpioColorLed also use the lgpio library. So the only remaining device using the
Since |
I have to believe there are other DHT libraries out there so if adafruit is causing any problems I'm open to using something else. But since it appears not to be a problem removing RPi.GPIO and adafruit-blinka from the dependencies makes a lot of sense. |
Thanks for your opinion! |
This issue was solved with #127 |
Linux kernel 6.6 (Raspberry Pi OS - current release) breaks the RPi.GPIO event detection which is used by RpiGpioSensor.
Sources:
I verified this on an RPi3 running kernel 6.6.20+rpt-rpi-v7 (bookworm). Using RpiGpioSensor with EventDetection results in
RuntimeError: Failed to add edge detection
. The rest of the RPi.GPIO functionality seems to work as expected, polling a GPIO also works. With kernel 6.1 (bookworm) EventDetection works perfectly.The RPi.GPIO project on sourceforge seems to be out of date. According to the above sources, it's still not compatible with the RPi5. Maybe we should consider a different GPIO implementation!
The text was updated successfully, but these errors were encountered: