I'm doing a small RT application using the I2C driver from Linux.
At a certain time, when the task is activated and data are written to
the I2C bus,
the driver waits for a IRQ that confirmed the data have been sent out.
The write function
actually polls a variable state until a timeout or a state change
occurring on reception of that IRQ (done by the handler).
However, since driver functions are called from the Xenomai domain, the
IRQ handler is not processed
at the reception since the hander belongs to the Linux domain. It ends
up with a timeout
during the write.
I implemented a local ISR within the Xenomai application, but the
propagation of IRQ is not performed
while the task is running. Is there a way to tell Adeos to forward the
IRQ to the Linux domain with no delay
so that the Linux handler can be called? or do I need to re-implement
the ISR in the Xenomai application?
Thanks for any hints.
Xenomai-core mailing list