-
Notifications
You must be signed in to change notification settings - Fork 305
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
Add gpiod pin factory #1165
Add gpiod pin factory #1165
Conversation
How is this different in capability to the lgpio pin factory? |
Well, it supports debounce in the kernel while lgpio does it in userspace and has other odd behaviour. |
Interesting - thanks! |
Why then do I get the feeling you are NOT interested? So, what benefit is there to end users, and does that make it worth including?:
The only "downside" of libgpiod that I am aware of is that it is strictly GPIO - it does not address other pin functions such as PWM, SPI, I2C, etc. Not really an issue for a pin factory - which is also strictly GPIO, and those functions are better handled by separate kernel subsystems anyway, though if you insist on bit-bashing them in userspace that is more appropriately done by a higher level library like gpiozero itself. Oh, that and the fact that the Pi packages are still using libgpiod v1, but that isn't an issue for Python users as, as noted above, the latest can be easily installed from PyPI and is self-contained so there are no dependencies on Pi packages. Don't hesitate to let me know if there is anything else you require to get this across the line. |
Who can say what would engender cynicism in a person - repeated disappointment as a child? Whatever the cause, your feeling is wrong - I am interested, but this isn't my repo, so I don't get to call the shots and hit merge. |
Perhaps it is comments like that and having to deal with other Pi users with poor attitudes. |
AFAIK the only thing needed is to patiently wait for @waveform80 or @bennuttall (who are the maintainers of this repo) to have enough free time to review and merge this. |
Can this be reopened and merged? |
The author has deleted the branch. They are welcome to open a new PR, we just can't promise a speedy review & merge. |
The author no longer has has any interest. |
Add gpiod (the Python bindings for libgpiod) as a pin factory, closing #840.
It assumes a recent gpiod, so at least v2 and ideally v2.2 or later. At time of writing the version of gpiod on PyPI is v2.2.1.
It does not provide hardware PWM support, as libgpiod only supports GPIO, and it forces software SPI for the same reason.
It is passing all tests in the current test suite, though the coverage isn't great at 50%, so the test suite could use some attention.