Hello,
I'm trying to work with a rotary encoder and linux RT.
The more I read, the more I think the "easy" solution would be to use the libgpiod V2. But following my first idea, I would have liked writing a driver/kernel module that would catch the interrupt on the GPIO and run the short processing needed on a dedicated CPU in order to optimize the accuracy/max speed.
The reason I would like to avoid userspace libraries is that I fear there are too many functions/calls/links in it for me to be sure of exactly what it does behind the scene.
My idea of "optimisation" was to use GPIO interrupts, but since there is already the "edge event" (but is it polling or irq based ?), is it worth the time rather than using libgpiod 2 that is already using device files ?
For now (trying to write the driver), I am stuck with "how to bring all the stuff that interests me in pinctrl-bcm2835 in my driver" ? And if I do, won't I have conflicts with any userspace libraries that will be run on the "non-RT" CPUs ? (I believe it won't since the structures use pointers on the device file, but I am not sure).
Thanks for your responses.
I'm trying to work with a rotary encoder and linux RT.
The more I read, the more I think the "easy" solution would be to use the libgpiod V2. But following my first idea, I would have liked writing a driver/kernel module that would catch the interrupt on the GPIO and run the short processing needed on a dedicated CPU in order to optimize the accuracy/max speed.
The reason I would like to avoid userspace libraries is that I fear there are too many functions/calls/links in it for me to be sure of exactly what it does behind the scene.
My idea of "optimisation" was to use GPIO interrupts, but since there is already the "edge event" (but is it polling or irq based ?), is it worth the time rather than using libgpiod 2 that is already using device files ?
For now (trying to write the driver), I am stuck with "how to bring all the stuff that interests me in pinctrl-bcm2835 in my driver" ? And if I do, won't I have conflicts with any userspace libraries that will be run on the "non-RT" CPUs ? (I believe it won't since the structures use pointers on the device file, but I am not sure).
Thanks for your responses.
Statistics: Posted by vanva — Thu Oct 24, 2024 8:42 am — Replies 0 — Views 11