Gilles Chanteperdrix wrote:
 > On Wed, May 14, 2008 at 5:17 PM, Gilles Chanteperdrix
 > <[EMAIL PROTECTED]> wrote:
 > >
 > > On Wed, May 14, 2008 at 5:04 PM, Jan Kiszka <[EMAIL PROTECTED]> wrote:
 > >  >
 > >  > Karl Reichert wrote:
 > >  >  > Jan Kiszka wrote:
 > >  >  >> Karl Reichert wrote:
 > >  >  >>> Hello,
 > >  >  >>>
 > >  >  >>> I have two stations running RTnet, one as a master and one as a 
 > > slave. I
 > >  >  >> want
 > >  >  >>> to measure the time, which a message, sent from master to slave, 
 > > takes.
 > >  >  >> But,
 > >  >  >>> I don't want the time of the transmission only, but the complete 
 > > time of
 > >  >  >> all
 > >  >  >>> software layers this data is processed through.
 > >  >  >>>
 > >  >  >>> _______________     _______________
 > >  >  >>> |           A                 |     |               D              
 > >    |
 > >  >  >>> |______________|    |______________|
 > >  >  >>> |           B                 |     |               C              
 > >    |
 > >  >  >>> |______________|    |______________|
 > >  >  >>> |   RTnet (Master)    |     |    RTnet (Slave)        |
 > >  >  >>> |______________|    |______________|
 > >  >  >>>             |                                 |
 > >  >  >>>             |______________|
 > >  >  >>>
 > >  >  >>> So, I create the data, that should be send, in Layer A (Master) 
 > > and send
 > >  >  >> it
 > >  >  >>> over RTnet to Layer D (Slave).
 > >  >  >>>
 > >  >  >>> I want to take the time when the data leaves A and when it arrives 
 > > D
 > >  >  >> with
 > >  >  >>> rtdm_clock_read(). If I have the offset between master and slave, 
 > > I can
 > >  >  >>> calculate the time it took to pass A, B, both RTnet stacks, C and 
 > > D.
 > >  >  >>>
 > >  >  >>> As RTnet keeps track of the offset in it's stack, I want to use 
 > > this
 > >  >  >> value. Is
 > >  >  >>> it possible via the API? I didn't found anything. Or do I have to
 > >  >  >> manipulate
 > >  >  >>> the stack to pass the offset to the higher layers (C and D)?
 > >  >  >> If RTmac/TDMA is in use, you can obtain the clock offset via
 > >  >  >> RTMAC_RTIOC_TIMEOFFSET from the RTDM device "TDMA<x>" (where "<x>"
 > >  >  >> corresponds to "rteth<x>").
 > >  >  >>
 > >  >  >> Jan
 > >  >  >>
 > >  >  >
 > >  >  > When I try to compile my application (xenomai native skin, user 
 > > task), I get an error, saying rtdm_driver.h (which contains the prototype 
 > > for rtdm_clock_read()) is for kernel mode tasks only.
 > >  >
 > >  >  So you are in userland, obviously...
 > >  >
 > >  >
 > >  >  >
 > >  >  > How can I get a timestamp in a xenomai native user task? Is there 
 > > sth equivalent to rtdm_clock_read()? Or do I have to write a kernel task?
 > >  >
 > >  >  Nope, there is rt_timer_read & Co. for native user-mode applications.
 > >  >
 > >  >  I was about to remark that everything can be found in the API docs - 
 > > but
 > >  >  it can't! Any volunteer to add the missing functions from 
 > > native/timer.h
 > >  >  to the docs? Maybe there is just something broken for doxygen. TIA!
 > >
 > >  The problem is that __KERNEL__ is in the list of PREDEFINED macros,
 > >  and the comments in native/timer.h are in the !__KERNEL__ section.
 > 
 > Other headers do #if (defined(__KERNEL__) || defined(__XENO_SIM__)) &&
 > !defined(DOXYGEN_CPP)
 > Maybe we should use the same construction in native/timer.h ?

Fixed in trunk and v2.4.x. Next documentation generation should include
native/timer.h inlines documentation.

-- 


                                            Gilles.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to