From ca22d508312b823b3d686206ea8d16cdda2c1c11 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Thu, 10 May 2018 10:39:11 -0400 Subject: [PATCH 1/7] rec: consistent get_alarm_double() for longin/longout (fixes lp #1770292) --- src/rec/longinRecord.c | 8 ++++---- src/rec/longoutRecord.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/rec/longinRecord.c b/src/rec/longinRecord.c index 58d9ccfbf..12da09c60 100644 --- a/src/rec/longinRecord.c +++ b/src/rec/longinRecord.c @@ -201,10 +201,10 @@ static long get_alarm_double(DBADDR *paddr, struct dbr_alDouble *pad) longinRecord *prec=(longinRecord *)paddr->precord; if(paddr->pfield==(void *)&prec->val){ - pad->upper_alarm_limit = prec->hihi; - pad->upper_warning_limit = prec->high; - pad->lower_warning_limit = prec->low; - pad->lower_alarm_limit = prec->lolo; + pad->upper_alarm_limit = prec->hhsv ? prec->hihi : epicsNAN; + pad->upper_warning_limit = prec->hsv ? prec->high : epicsNAN; + pad->lower_warning_limit = prec->lsv ? prec->low : epicsNAN; + pad->lower_alarm_limit = prec->llsv ? prec->lolo : epicsNAN; } else recGblGetAlarmDouble(paddr,pad); return(0); } diff --git a/src/rec/longoutRecord.c b/src/rec/longoutRecord.c index a57d52829..c6ba45a4c 100644 --- a/src/rec/longoutRecord.c +++ b/src/rec/longoutRecord.c @@ -242,10 +242,10 @@ static long get_alarm_double(DBADDR *paddr,struct dbr_alDouble *pad) int fieldIndex = dbGetFieldIndex(paddr); if(fieldIndex == longoutRecordVAL) { - pad->upper_alarm_limit = prec->hihi; - pad->upper_warning_limit = prec->high; - pad->lower_warning_limit = prec->low; - pad->lower_alarm_limit = prec->lolo; + pad->upper_alarm_limit = prec->hhsv ? prec->hihi : epicsNAN; + pad->upper_warning_limit = prec->hsv ? prec->high : epicsNAN; + pad->lower_warning_limit = prec->lsv ? prec->low : epicsNAN; + pad->lower_alarm_limit = prec->llsv ? prec->lolo : epicsNAN; } else recGblGetAlarmDouble(paddr,pad); return(0); } From 2d9c5e99a191f15ca7d20a8546be922057eb9598 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Tue, 15 May 2018 11:17:49 +0200 Subject: [PATCH 2/7] db: correctly convert NaN alarm levels to integers (fixes lp #1771298) --- src/db/dbAccess.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/db/dbAccess.c b/src/db/dbAccess.c index ef27afafb..b60594fed 100644 --- a/src/db/dbAccess.c +++ b/src/db/dbAccess.c @@ -297,10 +297,10 @@ static void get_alarm(DBADDR *paddr, char **ppbuffer, if (*options & DBR_AL_LONG) { struct dbr_alLong *pal = (struct dbr_alLong*) pbuffer; - pal->upper_alarm_limit = (epicsInt32) ald.upper_alarm_limit; - pal->upper_warning_limit = (epicsInt32) ald.upper_warning_limit; - pal->lower_warning_limit = (epicsInt32) ald.lower_warning_limit; - pal->lower_alarm_limit = (epicsInt32) ald.lower_alarm_limit; + pal->upper_alarm_limit = isfinite(ald.upper_alarm_limit) ? (epicsInt32) ald.upper_alarm_limit : 0; + pal->upper_warning_limit = isfinite(ald.upper_warning_limit) ? (epicsInt32) ald.upper_warning_limit : 0; + pal->lower_warning_limit = isfinite(ald.lower_warning_limit) ? (epicsInt32) ald.lower_warning_limit : 0; + pal->lower_alarm_limit = isfinite(ald.lower_alarm_limit) ? (epicsInt32) ald.lower_alarm_limit : 0; if (no_data) *options ^= DBR_AL_LONG; /*Turn off option*/ From 3bc0805a89f765819d5d9f7354e647719b01e88e Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 18 May 2018 09:54:42 +0200 Subject: [PATCH 3/7] rec: fix missing includes in longin/longout --- src/rec/longinRecord.c | 1 + src/rec/longoutRecord.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/rec/longinRecord.c b/src/rec/longinRecord.c index 12da09c60..611bedb34 100644 --- a/src/rec/longinRecord.c +++ b/src/rec/longinRecord.c @@ -21,6 +21,7 @@ #include "dbDefs.h" #include "epicsPrint.h" +#include "epicsMath.h" #include "alarm.h" #include "dbAccess.h" #include "dbEvent.h" diff --git a/src/rec/longoutRecord.c b/src/rec/longoutRecord.c index c6ba45a4c..0a83f7732 100644 --- a/src/rec/longoutRecord.c +++ b/src/rec/longoutRecord.c @@ -19,6 +19,7 @@ #include "dbDefs.h" #include "epicsPrint.h" +#include "epicsMath.h" #include "alarm.h" #include "dbAccess.h" #include "dbEvent.h" From a732539eee73e137ed55e4333f21c28964e01297 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 19 May 2018 21:14:36 -0500 Subject: [PATCH 4/7] epicsMath.h defines 'finite()' not 'isfinite()' --- src/db/dbAccess.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/db/dbAccess.c b/src/db/dbAccess.c index b60594fed..0d84e7ebf 100644 --- a/src/db/dbAccess.c +++ b/src/db/dbAccess.c @@ -297,10 +297,10 @@ static void get_alarm(DBADDR *paddr, char **ppbuffer, if (*options & DBR_AL_LONG) { struct dbr_alLong *pal = (struct dbr_alLong*) pbuffer; - pal->upper_alarm_limit = isfinite(ald.upper_alarm_limit) ? (epicsInt32) ald.upper_alarm_limit : 0; - pal->upper_warning_limit = isfinite(ald.upper_warning_limit) ? (epicsInt32) ald.upper_warning_limit : 0; - pal->lower_warning_limit = isfinite(ald.lower_warning_limit) ? (epicsInt32) ald.lower_warning_limit : 0; - pal->lower_alarm_limit = isfinite(ald.lower_alarm_limit) ? (epicsInt32) ald.lower_alarm_limit : 0; + pal->upper_alarm_limit = finite(ald.upper_alarm_limit) ? (epicsInt32) ald.upper_alarm_limit : 0; + pal->upper_warning_limit = finite(ald.upper_warning_limit) ? (epicsInt32) ald.upper_warning_limit : 0; + pal->lower_warning_limit = finite(ald.lower_warning_limit) ? (epicsInt32) ald.lower_warning_limit : 0; + pal->lower_alarm_limit = finite(ald.lower_alarm_limit) ? (epicsInt32) ald.lower_alarm_limit : 0; if (no_data) *options ^= DBR_AL_LONG; /*Turn off option*/ From c1ece40f41ed44fef855e3253bb75fbd83394111 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 19 May 2018 22:42:23 -0500 Subject: [PATCH 5/7] Updated Release Notes for Base-3.14.12.8 --- documentation/RELEASE_NOTES.html | 50 ++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 20ff8f460..b454da0d6 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -3,16 +3,60 @@ - EPICS Base R3.14.12.7 Release Notes + EPICS Base R3.14.12.8 Release Notes -

EPICS Base Release 3.14.12.7

+

EPICS Base Release 3.14.12.8

-

Changes between 3.14.12.6 and 3.14.12.7

+

Changes between 3.14.12.7 and 3.14.12.8

+

Fixes for Launchpad bugs

+ +

The following launchpad bugs have fixes included:

+ + + +

Updated VxWorks Timezone settings

+ +

Removed the settings for 2017; fixed the hour of the change for MET.

+ +

Back-port podToHtml.pl and Rules from Base-3.15

+ +

This script permits Base to be built with Perl installations that do not +provide the podchecker and pod2html scripts (e.g. Fedora 27).

+ +

Fixed camonitor server side relative timestamps bug

+ +

Initialize the first time-stamp from the first monitor, not the client-side +current time in this configuration.

+ +

Build changes for MSVC

+ +

Windows builds using Visual Studio 2015 and later now use the -FS +compiler option to allow parallel builds to work properly.

+ +

We now give the -FC option to tell the compiler to print absolute +paths for source files in diagnostic messages.

+ +

Changes between 3.14.12.6 and 3.14.12.7

+

Extend maximum Posix epicsEventWaitWithTimeout() delay

The Posix implementation of epicsEventWaitWithTimeout() was limiting the From 7e7d230d8c6f89d62b0d569d354b1e793ccfeebf Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Wed, 23 May 2018 09:24:56 +0200 Subject: [PATCH 6/7] templates: fix warnings for xxxRecord.c in exampleApp (fixes #1772833) --- src/makeBaseApp/top/exampleApp/src/xxxRecord.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/makeBaseApp/top/exampleApp/src/xxxRecord.c b/src/makeBaseApp/top/exampleApp/src/xxxRecord.c index 4281eb983..109bd45dd 100644 --- a/src/makeBaseApp/top/exampleApp/src/xxxRecord.c +++ b/src/makeBaseApp/top/exampleApp/src/xxxRecord.c @@ -198,8 +198,8 @@ static long get_alarm_double(DBADDR *paddr,struct dbr_alDouble *pad) static void checkAlarms(xxxRecord *prec) { - double val; - float hyst, lalm, hihi, high, low, lolo; + double val, hyst, lalm; + float hihi, high, low, lolo; unsigned short hhsv, llsv, hsv, lsv; if(prec->udf == TRUE ){ From 67844bacc30e460fa43552e260f347065b1bb0c7 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 28 May 2018 16:13:14 -0500 Subject: [PATCH 7/7] Perl s/use vars/our/ --- src/tools/convertRelease.pl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl index fb2153a34..62e3d3eb3 100644 --- a/src/tools/convertRelease.pl +++ b/src/tools/convertRelease.pl @@ -21,8 +21,7 @@ use Getopt::Std; use EPICS::Path; use EPICS::Release; -use vars qw($arch $top $iocroot $root); - +our ($arch, $top, $iocroot, $root); our ($opt_a, $opt_t, $opt_T); $Getopt::Std::OUTPUT_HELP_VERSION = 1;