EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

<19941995  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  Index <19941995  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 
<== Date ==> <== Thread ==>

Subject: Re: Analog input record offsets
From: [email protected] (Tim Mooney)
Date: Wed, 30 Nov 94 12:24:27 CST
re...

> From [email protected] Mon Nov 28 20:22:08 1994
> To: [email protected]
> Subject: Analog input record offsets
> Content-Length: 2155
> X-Lines: 46
> 
> 
> I have a rotary encoder with a range of travel less than 360 degrees
> that I want to read into an analog input record. (Yes, its the
> telescope mount encoder).  Unfortunately I have no guarantee where the
> encoder zero point is. The zero point adjustment has to be added to the
> raw value in encoder units, and then the value circularly normalised so
> the value from the encoder always lies between two accepted values.
> 
> I have to write analog input device support for the hardware, so I was
> intending to do this fiddling in device support. Looking at the record
> support, it would seem that the ROFF field might be a field I could use
> - it is in digitizer units (the most convenient in this case) and is
> added to the raw value just after it is returned from device support.
> Device support would then:
> 
> a. Read the value.
> b. Add ROFF
> c. Circularly normalize between the maximum and minimum possible values.
> d. Subtract ROFF (so that it can be added once again in record support).
> 
> A few questions:
> 
> 1. How do I set ROFF? The documentation says `it is the responsibility
>    of the device support routines to use EGUF and EGUL to compute ESLO
>    and ROFF'. All very well but none of the device support routines I
>    have reference ROFF. (grep roff ~epics/share/src/dev/*.c returns nothing).
>    What gives? Am I missing a trick somewhere?
> 
> 2. Can I use EGUF and EGUL in ways that were not intended? (i.e. basically
>    ignore them - they don't have sufficient precision). I presume so.
> 
> 3. If ROFF isn't used by device support, can I just set it at
>    initialization - or even in dct (this would require a change to
>    aiRecord.ascii) to a specific value without breaking things?
> 
> I admit it is a bit ugly, but the alternative is to write a new analog
> input record for the special case of a circular encoder - and still
> have to write device support for it. If people think this is a better
> way (or have any other suggestions), do tell me.
> 
> Nick Rees
> 
> Joint Astronomy Centre                    Ph:       +1 (808) 961-3756
> 660 N. Aohoku Place                       Fax:      +1 (808) 961-6516
> Hilo, HI.  96720                          Internet: [email protected]
> 
> 

There are lots of alternatives, of course.  If the analog-input record
can't be made to do what you want all by itself, how about a long-in
followed by a calc?

Tim Mooney

Navigate by Date:
Prev: Re: Analog input record offsets watson
Next: Re: Lock sets for read access Tim Mooney
Index: <19941995  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: Analog input record offsets watson
Next: IOC memory leak Matt Bickley
Index: <19941995  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 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·