Four sources transmitting status data across across ethernet at 25Hz.
Status data is periodic.
I have one source transmitting aperiodic commands across a separate
interface. Upon receipt of a command I have to acquire the data
within 40ms. Receipt of command data has a higher priority than
status data from four sources.
The status data from the four sources is sent to the one source.
Similarily the command data from the one source is sent to the four
I'm using Curtiss Wright Champ products and I'm trying to architect
this. The approach surrounds the use of a watchdog timer with five
tasks. The timer could run at 4 * 25 Hertz. That said on each
10ms - parse data from source 1. ( semGive ( source1_sema ) ; )
20ms - parse data from source 2 ( semGive ( source2_sema ) ; )
30ms - parse data from source 3 ( semGive ( source3_sema ) ; )
40ms - parse data from source 4 ( semGive ( source4_sema ) ; )
Trouble is 4 * 25 is not enough time to handle the four sources +
receive command data. I've got the potential to miss a piece of
ethernet data. So I thought well. How about 4 * 25 + 2 Hertz should
do the trick? Round robin perhaps (but what would the
kernelTimeSlice time be)?
I'm open to ideas. Thanks in advance..