-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
drivers: sensor: pinnacle: add driver for Cirque Pinnacle GlidePoint trackpads #69431
Conversation
Hello @akscram, and thank you very much for your first pull request to the Zephyr project! |
872f136
to
c1907e8
Compare
Thanks for the PR! Please look at implementing this as an input driver (see |
Introduce a sensor driver for Cirque Pinnacle GlidePoint circle trackpads connected via SPI, such as TM035035 and similar. Signed-off-by: Ilia Kharin <[email protected]>
c1907e8
to
3dbace3
Compare
@kartben, thank you for an early feedback. I changed |
I decided to compare these two approaches and it seems that the approach with the sensor is much closer to real-time processing and much more consistent to 10 ms which is a period when the device triggers a data-ready interrupt:
In comparison to the approach with the input driver:
I'm wondering whether the message queue used in the input driver subsystem is a root cause of this. |
I realized that the priority of the input subsystem thread by default is the lowest one and the priority of the driver thread is set to 10. When I change the priority of the first one, I'm getting similar results where intervals between samples are close to 10 ms:
|
This is certainly not going in as a sensor device, feel free to go ahead on the input version of the PR. Not sure what the latency deal was but it's unlikely to be related to the input subsystem, you can even set it up in synchronous mode and the queue is gone. |
@fabiobaltieri, thank you for confirming that it should be implemented as an input driver. |
It was decided to go with implementing the input driver instead #69438 |
Introduce a sensor driver for Cirque Pinnacle GlidePoint circle trackpads connected via SPI, such as TM035035 and similar.
TODOs:
Sample which demonstrates a use of the sensor