roland Tollenaar wrote:
 > Hi
 > 
 > > Xenomai kernel implements the so-called "FIFO" scheduling policy, that
 > > is, the task which runs at any time is the task with the highest
 > > priority that has been ready for the longest time. Calling
 > > rt_task_wait_period suspends the calling task, and let other tasks
 > > run.
 > >
 > > If I understand correctly, what you want is to set some outputs at some
 > You understand correctly.
 > 
 > > precise deadline, I see two ways to do what you want:
 > > * either the time when you compute the output has no importance, and the
 > >   only thing that matters is when you set the output, in which case you
 > >   can call rt_task_wait_period right before setting the outputs, your
 > >   task will do
 > >   compute next output
 > >   go to sleep
 > >   set output
 > >   compute next output
 > >   go to sleep
 > >   set output
 > >   etc...
 > Actually this is exactly what I had in mind only it is important
 > (discrete state space controller computations) that the input is also
 > read at exact intervals. So maybe:
 > 
 > compute next output k+1
 > go to sleep
 > read input for k+2 computations
 > set output k+1
 > compute next output k+2
 > go to sleep
 > read input for k+3 computations
 > set output k+2
 > >   etc...
 > 
 > > * or the time between reading input and setting output has to be as
 > >   fixed as possible, in which case what you will have to do is to
 > >   calibrate the WCET (worst case execution time) of the computations on
 > >   the machine you are running, setup rt_task_set_periodic so that your
 > >   task is woken up at (deadline - WCET), and in each loop, do the
 > >   computations, then busy wait until the deadline then set the
 > >   output. In order to busy wait, you may use rt_timer_tsc.
 > 
 > Off hand I am not exactly sure why this second technique would give me
 > a more fixed interval between reading input and writing output than
 > the modified technique 1 I suggest above?

I supposed you had to read input k+1 after having set output k

-- 


                                            Gilles Chanteperdrix.

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to