How does the local vxWorks clock get set?
Epics time is # seconds since 1/1/1990 00:00:00 UTC and the basic vxWorks clock is from 1/1/70 00:00:00 UTC. It should be easy to look at the return value from time() and the seconds field in a running record and see if the # seconds there is UTC or CST by just taking that number modulo the # seconds in a day.
The timezone fields are only used for local time display purposes and would not impact what a camonitor would report.
This is what we do:
# New DST changes for 2007 Eastern Time Zone US
We also set the local vxWorks clock from NTP at the start, this makes the DST calculation go correctly. The calls can be made from the startup script.
From: firstname.lastname@example.org on behalf of Dehong Zhang
Sent: Tue 12/30/2008 11:36 AM
Subject: Timezone setting with R3.14.10
Hi Everybody, Happy New Year!
Recently we upgraded to 3.14.10 (on vxWorks 6.1). We are trying to use the time
from the local vxWorks system, instead of the EPICS time/boot server. So we do
immediately before iocInit.
On the vxWorks console, we can see that the NTP thread is indeed off:
Backwards time errors prevented 0 times.
Current Time Providers:
"NTP", priority = 100
Current Time not available
"OS Clock", priority = 999
Current Time is 2008-12-30 10:31:48.890000.
Event Time Providers:
No Providers registered.
value = 0 = 0x0
Please note: the OS Clock does show the correct local time (US CST).
But on a host machine, if we start a monitor process like "camonitor ..."
we always get the time off by 6 hours. It seems EPICS takes the CST time
as the GMT time, then convert it back to CST.
We tried both
They did not help.
Thanks much and best regards,
- Re: RE: Timezone setting with R3.14.10 Dehong Zhang
- Navigate by Date:
EDM Horizontal Bar Szalata, Zenon M.
- Navigate by Thread:
Re: RE: Timezone setting with R3.14.10 Dehong Zhang