EPICS Home

Experimental Physics and Industrial Control System


 
1994  <19951996  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 1994  <19951996  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 ==>

From: Matt Bickley <[email protected]>
Date: Mon, 7 Aug 1995 15:59:49 -0400
A bug was found at CEBAF today which affects 3.12 CAMAC device support for the
records ao, ai, lo and li.  The problem is associated with the PARM field.
It has to do with the standard problem when specifying the maximum output of an
ADC, namely, should one specify 2^N or 2^N - 1?  There is code in the device
support to allow the user to specify either one, and the device support is
smart enough to figure out what the user meant.  That is, if the user
specified 2^16 for a 16-bit ADC, the device support should set ESLO to
(EGUF - EGUL)/(2^16 - 1), so RVAL = EGUF at ADC maximum value
(assuming EGUL==0)

Unfortunately, that's not what the code did.  Instead, if the user specified
PARM to be 2^16 - 1, ESLO was set to (EGUF - EGUL)/2^16, so at ADC maximum
value, an ao had RVAL = 0.

The fix, for CAMAC device support for the records ao, ai, li and lo:

<            if (!(fsd & (fsd+1))) fsd++;
---
>            if (!(fsd & (fsd-1))) fsd--;

Matthew Bickley                                      Email: [email protected]
Computer Scientist                                   Voice mail: 804-249-7347
CEBAF


Navigate by Date:
Prev: Re: ca question Jeff Hill
Next: ca_pend_event question (VAX/VMS only) SAA
Index: 1994  <19951996  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: ca question Jeff Hill
Next: ca_pend_event question (VAX/VMS only) SAA
Index: 1994  <19951996  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