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 ?

-- 
 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