Hello,

I have three questions I would like to pose here.

1-Is it possible to subdivide a task to control at what time a certain 
command is executed within the task? Example: I have a 1ms task. I send 
a CAN sync message at the beginning of the task but I would like to wait 
about 300us before performing a read to ensure that all the messages 
emitted as a result of this sync have come in. Now I will have an odd 
700us to use the data that has come in to calculate outputs. However I 
want the output to be put out as close as possible to the end of the 
task time. Is there an elegant manner to delay the read and the write to 
give me this kind of control within a taks. If not any suggestions as to 
how I should tackle this.


2-For development I am still using the PEAK CAN dongle. We have 
establisched that the ISR responding to an incoming message interrupt 
takes 200us to complete. Is anything known about how long it takes 
before a message that has been sent is put on the bus? How does this 
happen? Reason I ask is to know what kind of variance I can expect in 
time between the moment I send the output values and the moment it is on 
the bus. If there are routines between those to points that allow 
themselves to be pre-empted or for some other reason have varying 
execution times my control performance will be badly degraded.


3-How do I interpret the relative time stamps that can be made visible 
with rtcanrev ? IS the time indicated the time between each message and 
the last time the message was posted? Or between the message and its 
direct predecessor?

In short, I want to ensure that my sync message goes out EXACTLY (or as 
close as technically possible :) ) every ms so I get the input 
(position) values exactly every ms. Then I want those values ot be used 
in the task to calculate the output and I want to set the output EXACTLY 
1ms later.

To achieve this so far what I have done is:

Beginning of task

1-Write CAN message with outputs values
2-Send sync to get inputs
3-Read can messages (This might be too soon to get the values from the 
last sync)
4-do calcs for output with data from 3.


Any ideas of howto to control this as well as possible will help.

Thanks kindly.

Regards,

Roland.


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

Reply via email to