Hi Andrew,
Sorry to bother you again.
I made up a method like:
#include "epicsTime.h"
epicsTime getCurrent()
{
struct timespec ts;
clock_gettime( CLOCK_REALTIME, &ts );
return epicsTime ( ts );
}
Can i invoke iocClockRegister(&getCurrent, NULL) in the vxWorks
startup script (how ?), or I have to wrap it with a simple command so that
it can be invoked before iocInit?
Thanks and best regards,
Dehong
----- Original Message -----
From: Andrew Johnson <[email protected]>
Date: Tuesday, November 4, 2008 1:25 pm
Subject: Re: IOC to use time from its own processor
To: Dehong Zhang <[email protected]>
Cc: [email protected]
> Hi,
>
> On Tuesday 04 November 2008 10:18:17 Dehong Zhang wrote:
> >
> > We are using R3.14.8. Could you please tell me how to do it with
> > both 3.14.8 and 3.14.10? We may upgrade soon.
>
> > > On Tuesday 04 November 2008 09:30:01 Dehong Zhang wrote:
> > > > How can I force an IOC to use the time from its own system,
> > > > instead of reaching out to the master timestamp server or the
> > > > boot host?
>
> I'm going to assume that you're asking about IOCs running on vxWorks;
> RTEMS is
> a little different, but any workstation OS is already using the system
> clock
> to obtain the current time.
>
> If your vxWorks boot image already has software included to
> synchronize the OS
> clock to an external time source, you can probably get away with just
> setting
> the EPICS_TS_NTP_INET environment variable to 127.0.0.1. This will
> stop it
> from contacting the boot host, and all attempts to get the time over
> NTP will
> fail (unless your IOC is also acting as an NTP server; if that's the
> case,
> use the IP address of a machine that will never respond to NTP
> requests).
> One disadvantage of this approach is that you'll get one error message
> during
> IOC initialization when the sync fails.
>
> To avoid that error, in R3.14.8 you can register your own time
> provider
> routine in place of the regular EPICS one as long as you do so before
>
> iocInit(). Your code should #include "iocClock.h" and call
> iocClockRegister(&getCurrent, NULL) where getCurrent is your provider
>
> routine.
>
> For R3.14.10 you should look at the new API in R3.14.10 which
> implements a
> pluggable time and event provider management subsystem. That's
> documented in
> the Application Developers Guide sections 9.7 and 20.6.
>
> HTH,
>
> - Andrew
> --
> Talk is cheap. Show me the code. -- Linus Torvalds
- Replies:
- Re: IOC to use time from its own processor Andrew Johnson
- References:
- IOC to use time from its own processor Dehong Zhang
- Re: IOC to use time from its own processor Andrew Johnson
- Re: IOC to use time from its own processor Dehong Zhang
- Re: IOC to use time from its own processor Andrew Johnson
- Navigate by Date:
- Prev:
RE: edm (tabs) Cobb, TM (Tom)
- Next:
Re: IOC to use time from its own processor Andrew Johnson
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
<2008>
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: IOC to use time from its own processor Andrew Johnson
- Next:
Re: IOC to use time from its own processor Andrew Johnson
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
<2008>
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|