EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  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  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: breaktable checks in dbLexRoutines.c in 3.14.9
From: Andrew Johnson <[email protected]>
To: EPICS Tech Talk <[email protected]>
Date: Mon, 13 Aug 2007 10:23:45 -0500
I propose to apply the following change in base/src/dbStaticLib which permits non-monotonic breakpoint tables to be loaded after the variable dbBptNotMonotonic has been explicitly set to a non-zero value. If you're using iocsh you will also need to add the variable declaration to the base/src/misc/base.dbd file to be able to set it in an st.cmd file. I hope this is an acceptable solution.

Index: dbLexRoutines.c
===================================================================
RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/src/dbStatic/dbLexRoutines.c,v
retrieving revision 1.27.2.17
diff -u -b -r1.27.2.17 dbLexRoutines.c
--- dbLexRoutines.c 18 Apr 2007 19:57:17 -0000 1.27.2.17
+++ dbLexRoutines.c 13 Aug 2007 15:04:51 -0000
@@ -45,6 +45,9 @@
epicsShareDef int dbRecordsOnceOnly=0;
epicsExportAddress(int,dbRecordsOnceOnly);


+epicsShareDef int dbBptNotMonotonic=0;
+epicsExportAddress(int,dbBptNotMonotonic);
+
 /*private routines */
 static void yyerrorAbort(char *str);
 static void allocTemp(void *pvoid);
@@ -874,7 +877,7 @@
          (paBrkInt[i+1].raw - paBrkInt[i].raw);
        if (i == 0) {
            down = (slope < 0);
-       } else if (down != (slope < 0)) {
+       } else if (!dbBptNotMonotonic && down != (slope < 0)) {
            yyerrorAbort("breaktable: curve slope changes sign");
            return;
        }

- Andrew
--
When a distinguished but elderly scientist states that something is
possible, he is almost certainly right.  When he states that something
is impossible, he is very probably wrong.  -- Arthur C. Clarke

References:
breaktable checks in dbLexRoutines.c in 3.14.9 Steven Hartman
Re: breaktable checks in dbLexRoutines.c in 3.14.9 Andrew Johnson
Re: breaktable checks in dbLexRoutines.c in 3.14.9 Steven Hartman
Re: breaktable checks in dbLexRoutines.c in 3.14.9 Dirk Zimoch

Navigate by Date:
Prev: Re: breaktable checks in dbLexRoutines.c in 3.14.9 Dirk Zimoch
Next: "build" make target now installs mcallister
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: breaktable checks in dbLexRoutines.c in 3.14.9 Dirk Zimoch
Next: Re: breaktable checks in dbLexRoutines.c in 3.14.9 Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·