All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roland Tollenaar <rwatollenaar@domain.hid>
To: Wolfgang Grandegger <wg@domain.hid>
Cc: Xenomai-help@domain.hid
Subject: Re: [Xenomai-help] timing within a task and assessing the timing of CAN	messages
Date: Thu, 03 May 2007 08:01:53 +0200	[thread overview]
Message-ID: <46397AD1.7010104@domain.hid> (raw)
In-Reply-To: <4638EB84.1070307@domain.hid>

Hi thanks for below. All clear and all useful.

Regards,

Roland.




Wolfgang Grandegger wrote:
> Roland Tollenaar wrote:
>> 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.
> 
> The task timing services allow to suspend and then resume the task at a 
> defined time, either by specifying a releative delay or an absolute 
> time, e.g. rt_task_sleep() and rt_task_sleep_until() for the native skin.
> 
>>
>> 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.
> 
> Reading, but also writing a byte to the port register task time. I 
> think, that setting up a message for transmit takes as much time as 
> reading it. Writing is also done with interrupts disabled.
> 
>> 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?
> 
> The latter one if the option "-R" was used:
> 
>   $ rtcanrecv -h
>   ...
>     -T, --timestamp       with absolute timestamp
>     -R, --timestamp-rel   with relative timestamp
> 
> Note that the timestamp is added in the ISR.
> 
> Wolfgang
> 


      reply	other threads:[~2007-05-03  6:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-30  7:30 [Xenomai-help] timing within a task and assessing the timing of CAN messages Roland Tollenaar
2007-05-02  8:43 ` Sebastian Smolorz
2007-05-02 19:50 ` Wolfgang Grandegger
2007-05-03  6:01   ` Roland Tollenaar [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46397AD1.7010104@domain.hid \
    --to=rwatollenaar@domain.hid \
    --cc=Xenomai-help@domain.hid \
    --cc=rolandtollenaar@domain.hid \
    --cc=wg@domain.hid \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.