diff --git a/src/dbStatic/dbLexRoutines.c b/src/dbStatic/dbLexRoutines.c index 184f88f21..253e2398c 100644 --- a/src/dbStatic/dbLexRoutines.c +++ b/src/dbStatic/dbLexRoutines.c @@ -45,6 +45,9 @@ epicsShareDef char *makeDbdDepends=0; 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 @@ static void dbBreakBody(void) (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; } diff --git a/src/misc/base.dbd b/src/misc/base.dbd index 275f1c14d..6cf62fd72 100644 --- a/src/misc/base.dbd +++ b/src/misc/base.dbd @@ -41,5 +41,7 @@ include "devSoft.dbd" registrar(asSub) variable(asCaDebug,int) +# dbStaticLib settings variable(dbRecordsOnceOnly,int) +variable(dbBptNotMonotonic,int)