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
[email protected]
https://lists.sourceforge.net/lists/listinfo/rtnet-users