On 16.04.2023 21:46:40, Oliver Hartkopp wrote:
I had the 5ms that are actually used in the code in mind. But this is a
good calculation.
@Judith: Can you acknowledge the value calculation?
The "shortest" 11 bit CAN ID CAN frame is a Classical CAN frame with DLC = 0
and 1 Mbit/s (arbitration) bitrate. This should be 48 bits @1Mbit => ~50
usecs
So it should be something about
50 usecs * (FIFO queue len - 2)
Where does the "2" come from?
I thought about handling the FIFO earlier than it gets completely "full".
The fetching routine would need some time too and the hrtimer could also
jitter to some extend.
I was assuming something like this.
I would argue that the polling time should be:
50 µs * FIFO length - IRQ overhead.
The max IRQ overhead depends on your SoC and kernel configuration.