EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Beam Synchronous Acquistion (BSA) and the Hytec Motor Postion
From: Till Straumann <[email protected]>
To: Eric Norum <[email protected]>
Cc: EPICS tech-talk <[email protected]>
Date: Thu, 12 May 2011 14:00:24 -0500
On 05/12/2011 01:42 PM, Eric Norum wrote:
On May 12, 2011, at 11:38 AM, Ernest L. Williams Jr. wrote:

Mark Rivers wrote:
1ms period should be fine but I haven't
checked the least time period that epicseventwait can use. Maybe Mark has better idea?


That depends on the OS and how it is configured.  With vxWorks it is
determined by the value of sysClkRateGet/Set.  The default clock period
on vxWorks is normally 50/60Hz, but it can easily be increased with
sysClkRateSet().  If you are using RTEMS I don't know what the rate of
the system clock is.  Also, typically if you specify a time of X for
epicsEventWait the actual time will be X +- epicsThreadSleepQuantum(),
which is the system clock period.  In other words if I ask for 16.6 ms
on a standard 60Hz vxWorks system I will get 0 to 16.6 ms, because the
next system tick can happen immediately (=0) or we may have just missed
one and it will happen in 16.6ms.


Hi Mark,

Awesome, thanks for the info.

Till and Eric can you weigh in on this question for RTEMS?

Basically, the behavior is as described by Mark (i.e., the granularity/resolution of a blocking operation or a sleep/delay
is determined by the OS system clock).

Our GeSys images at SLAC are configured the following way:

   4.9.3/rtems_p1/ssrlApps_p2
   4.9.4/rtems_p0/ssrlApps_p3
   4.9.4/rtems_p1/ssrlApps_p3
   4.9.4/rtems_p1/ssrlApps_p4

(and upcoming, later releases) use a system clock of 1kHz
by default (so that we can block for less than a 360Hz
fiducial). Only slower hardware (mvme167, uC5282, virtex,
rce405) uses a lower clock rate of 100Hz.

All older GeSys versions (not listed above) use a clock
rate of 50Hz on all platforms.

HTH
-- Till

PS: The increase of clock speed from the old 50Hz
is documented in the ChangeLogs.


From<base>/src/RTEMS/base/rtems_config.c

#define CONFIGURE_MICROSECONDS_PER_TICK 20000

If you want a different value you can copy rtems_config.c to your application source directory, add it to the Makefile and make any changes you wish.  Note that this won't work for those of you dynamically loading your EPICS applications.



Replies:
Re: Beam Synchronous Acquistion (BSA) and the Hytec Motor Postion Williams Jr., Ernest L.
References:
Re: Beam Synchronous Acquistion (BSA) and the Hytec Motor Postion Eric Norum

Navigate by Date:
Prev: Re: Beam Synchronous Acquistion (BSA) and the Hytec Motor Postion Eric Norum
Next: Re: Beam Synchronous Acquistion (BSA) and the Hytec Motor Postion Williams Jr., Ernest L.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Beam Synchronous Acquistion (BSA) and the Hytec Motor Postion Eric Norum
Next: Re: Beam Synchronous Acquistion (BSA) and the Hytec Motor Postion Williams Jr., Ernest L.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·