Hi,
I am developing a PS/2 bitbanging driver for zephyr. The PS/2 device (a mouse in my use case) is connected to the mcu using two GPIO pins
I got it working using the zephyr GPIO API interrupts, but frequently the interrupts are missed or not delivered on time.
I would like to try using direct interrupts, but cannot figure out how to configure them.
An additional difficulty is that the target application for this driver also uses interrupts for many other pins, also using the zephyr GPIO API.
I think that under the hood zephyr is using the port event to detect changes on the pins.
But apparently, it’s also possible to configure an interrupt using one of the 8 (or 16?) gpiote channels.
But I can’t find documentation to figure what the parameters for IRQ_DIRECT_CONNECT should be for a specific pin
Can someone link me to some sample code or documentation perhaps?
To clarify, my question is: Is it possible to set up a two direct interrupt for two pins even though zephyr is already using the zephyr GPIO API for interrupts on other pins.
If it’s possible, then how?
If it’s not possible due to how zephyr implemented their GPIO functionality, how could I modify it to add my own direct interrupts?
Thank you so much for your help in advance
when the PS/2 mouse