Experimental Physics and Industrial Control System
|
Andrew Johnson wrote:
>
> Any more comments from anyone before I test and commit all this stuff?
Only a few:
> 3. Changed a*Record.c in both init_record() so that EOFF is only set to
> EGUL if LINR=LINEAR and a pdset->special_linconv() routine exists
Problem: Must do that also if LINR=LINEAR but pdset->special_linconv()
does not exist. There might be device supports without special_linconv
and applications that nevertheless rely on EOFF being set if
LINR=LINEAR. Compatibility wouldn't be complete without retaining this
behavior.
> 4. Change the special() routines to only do the following if LINR=LINEAR
> and a special_linconv() routine exists:
> a) Save EOFF and ESLO values for checks below
> b) Set EOFF=EGUL and call pdset->special_linconv()
> c) Call db_post_events(EOFF) if the EOFF value was changed
> d) Call db_post_events(ESLO) if the ESLO value was changed
See above (Set EOFF=EGUL also if pdset->special_linconv() does not
exist).
This should not be changed before 3.14.
> That should be sufficient to make Soft Raw support useful in the next 3.13
> release.
>
> For 3.14, I've added the following as well as doing all the above:
> 5. Add a SLOPE state to the menuConvert.dbd
Don't forget to extend menuLinr.dbd too.
I've been thinking about the most harmless position of the new choice
SLOPE, before or after LINEAR. After LINEAR would be best for
applications that assume LINEAR==1. On the other hand, applications that
assume breaktable names start after LINEAR would be better off if we
place it before LINEAR. Since the latter assumption is better style than
the first, I'd vote to put SLOPE before LINEAR.
Both problems could have been avoided with clean programming. Using
constant LINEAR (or better yet, menuConvertLINEAR) instead of '1' would
have solved the first problem. Comparison with the number of choices
(available via dbGetNMenuChoices) contained in menuLinr could have
solved the second one, i.e. the question where breaktable indexes start.
We should place a warning with lots of exclamation marks in the release
notes (and in the Developer's Guide), never to rely on numerical values
of menu type enumerations nor to assume a certain order of the choices
or a certain maximum number of choices. For the latter, static database
access routines should be used.
Ben
--
Berliner Elektronenspeicherring-Gesellschaft für Synchrotronstrahlung
(BESSY) GmbH, Control System Group
Albert-Einstein-Straße 15, 12489 Berlin, +4930 6392 8462, www.bessy.de
- Replies:
- Re: RAWF, RAWL Andrew Johnson
- References:
- RE: RAWF, RAWL Redman, Russell O.
- Re: RAWF, RAWL Marty Kraimer
- Re: RAWF, RAWL Benjamin Franksen
- Re: RAWF, RAWL Marty Kraimer
- Re: RAWF, RAWL Andrew Johnson
- Re: RAWF, RAWL Benjamin Franksen
- Re: RAWF, RAWL Andrew Johnson
- Re: RAWF, RAWL Benjamin Franksen
- Re: RAWF, RAWL Andrew Johnson
- Re: RAWF, RAWL Benjamin Franksen
- Re: RAWF, RAWL Andrew Johnson
- Navigate by Date:
- Prev:
Re: RAWF, RAWL Andrew Johnson
- Next:
Re: RAWF, RAWL 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: RAWF, RAWL Andrew Johnson
- Next:
Re: RAWF, RAWL 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
|
ANJ, 10 Aug 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|