Compare commits

...

44 Commits

Author SHA1 Message Date
Ralph Lange
457fb8fa13 Update CONFIG_BASE_VERSION for 3.15.4-pre1 2016-04-29 11:34:05 +02:00
Ralph Lange
b8b259de6f Merge Andrew's libs-prereq branch 2016-04-29 10:42:03 +02:00
Andrew Johnson
7ce8e5ea01 Fix RTEMS Makefile issue 2016-04-28 23:59:39 -05:00
Andrew Johnson
496414c88c Fix for VxWorks 5.5 compiler 2016-04-28 23:28:39 -05:00
Andrew Johnson
2acde8bac7 Merged changes from 3.14 branch to revno 12630 2016-04-28 21:39:55 -05:00
Andrew Johnson
2c69ddbee5 Merged my ioc-arch branch, manually re-based 2016-04-28 19:26:11 -05:00
Andrew Johnson
ba0d5f9443 Disallow single-quoted strings in Perl DBD parser 2016-04-28 19:03:17 -05:00
Andrew Johnson
08fd987c60 Perl script clean-up 2016-04-28 19:00:37 -05:00
Andrew Johnson
5a605fa0c3 Set various EPICS_VERSION_* environment variables
These are set at the same time as the ARCH variable.
Had to add EPICS_VERSION_SHORT and EPICS_VERSION_FULL to epicsVersion.h.

This uses more uniform names, should we change epicsVersion.h names?
We would continue to support the old names in parallel for some time.
2016-04-28 18:58:07 -05:00
Andrew Johnson
0e5dc2a21c More build parameters.
Renamed EPICS_TARGET_ARCH to EPICS_BUILD_TARGET_ARCH
Added EPICS_BUILD_OS_CLASS and EPICS_BUILD_COMPILER_CLASS
2016-04-28 18:56:03 -05:00
Andrew Johnson
230603f4ac Remove ARCH from cdCommands and envPaths files
Set it in iocshRegisterCommon() instead.
Remove ARCH from iocBoot/ioc/Makefile@Common templates.
2016-04-28 18:50:41 -05:00
Andrew Johnson
396ff3c484 Add EPICS_TARGET_ARCH parameter
Set its default value automatically in the generated envData.c
2016-04-28 18:49:10 -05:00
Andrew Johnson
09fbeaf6d3 Merged Ralph's new-promptgroups branch 2016-04-28 18:27:15 -05:00
Andrew Johnson
b4a8a1ac98 Fix dbFreeBase() issue causing segfaults 2016-04-28 18:10:26 -05:00
Andrew Johnson
ee87aecd6e Always have linker search INSTALL_LIB 2016-04-28 14:32:21 -05:00
Andrew Johnson
054a234c70 Parentheses in macro 2016-04-28 13:27:47 -05:00
Andrew Johnson
24ddcd2524 Fix epicsTimeZoneTest.cpp => .c and remove conditional 2016-04-27 12:09:10 -05:00
Michael Davidsaver
2226f3acb9 libCom/test: don't include epicsTimeZoneTest for vxWorks 2016-04-27 12:45:18 -04:00
Andrew Johnson
f0f89b4b1c Fix file paths in comments 2016-04-27 10:28:57 -05:00
Andrew Johnson
fdda079b8f BSD's finite expects a double; make glibc 2.23 happy 2016-04-27 10:28:01 -05:00
Ralph Lange
1f36670175 dbStatic: remove obsolete GUIGROUPS_GBLSOURCE definition 2016-04-27 09:14:51 +02:00
Andrew Johnson
1ede873200 Fixed some space/tab issues in DBD files 2016-04-26 16:20:12 -05:00
Andrew Johnson
c933d77963 Add rule to install libraries before linking executables
The rule must be disabled for building libCom and gdd though.
2016-04-26 15:18:31 -05:00
Michael Davidsaver
93597e20d5 add epicsTimeZoneTest to libCom test harness 2016-04-26 09:59:22 -04:00
Michael Davidsaver
f0453faf36 libCom/test: add test for HST time zone
Test US/Hawaii zone which does not observe daylight saving time.
2016-04-26 09:28:09 -04:00
Ralph Lange
473992cfb9 Update release notes 2016-04-26 13:47:12 +02:00
Ralph Lange
6a362f467d rec: implement new promptgroup (gui_group) choices 2016-04-26 13:28:28 +02:00
Andrew Johnson
af07e0fd51 Fix oops in last commit 2016-04-25 12:24:05 -05:00
Andrew Johnson
de38b80795 Apply partial solution for Windows builds of Cap5 2016-04-25 11:54:17 -05:00
Ralph Lange
7bb27ad3e7 dbStatic: deprecate guigroup.h; remove from includes 2016-04-22 17:02:21 +02:00
Ralph Lange
1e1799c30e tools: change RE to allow any value for promptgroup in the Perl DBD parser 2016-04-18 09:56:41 +02:00
Andrew Johnson
8358580190 Merged commit 12623 from 3.14 branch. 2016-04-15 17:38:41 -05:00
Andrew Johnson
24e39b252d Print RTEMS version at startup 2016-04-15 17:37:07 -05:00
Ralph Lange
ce7044c711 dbStatic: collect promptgroup enum choices when reading dbd 2016-04-06 15:38:35 +02:00
Andrew Johnson
177090e35e Merged fixes for lp:1558206 and lp:1563191 from 3.14 branch, revno 12622 2016-03-30 11:26:53 -05:00
Andrew Johnson
430da57a35 Release notes for lp:1563191 2016-03-30 11:00:48 -05:00
Andrew Johnson
d2d637d0c2 Prevent string overflow in recGblInitConstantLink() 2016-03-29 12:04:08 -05:00
Michael Davidsaver
106fae3b26 dbStatic: prevent overflow in dbPutString()
The bounds check should be before the string
copy.  Also zero the last element out of
paranoia (should already be zero).

Fix lp:1563191
2016-03-29 17:36:39 +09:00
Andrew Johnson
3179e65791 Clean-up after lp:1558206 fix 2016-03-16 18:15:14 -05:00
Michael Davidsaver
6b9bfb09a5 pWaitRelease in wrong place
waitRelease==false indicates that pThread
has not be delete'd
2016-03-16 17:43:52 -04:00
Michael Davidsaver
4e312b9f64 libCom: exitWait() from thread exit handler corrupts stack
The epicsThreadCallEntryPoint() function stores a pointer
to a local variable in epicsThread::pWaitReleaseFlag.
Calling epicsAtThreadExit::exitWait() from that thread's
epicsAtThreadExit() handler writes to this pointer
after epicsThreadCallEntryPoint() has returned.
Thus corrupting the stack.

Set pWaitReleaseFlag=NULL before return to prevent this.

fixes lp:1558206
2016-03-16 14:40:37 -04:00
Andrew Johnson
59fea64390 Add missing dependencies for Test.dbd files 2016-03-16 13:10:17 -05:00
Andrew Johnson
f260124733 Ensure mbb* MASK calculated properly 2016-03-10 13:05:00 -06:00
Andrew Johnson
113076a009 Allow quotes in DBD argument strings 2016-03-03 11:19:22 -06:00
73 changed files with 1346 additions and 1216 deletions

View File

@@ -29,15 +29,15 @@ EPICS_VERSION = 3
EPICS_REVISION = 15
# EPICS_MODIFICATION must be a number >=0 and <256
EPICS_MODIFICATION = 3
EPICS_MODIFICATION = 4
# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement)
# Not included if zero
EPICS_PATCH_LEVEL = 0
# This will end in -DEV between official releases
EPICS_DEV_SNAPSHOT=-DEV
#EPICS_DEV_SNAPSHOT=-pre1
#EPICS_DEV_SNAPSHOT=-DEV
EPICS_DEV_SNAPSHOT=-pre1
#EPICS_DEV_SNAPSHOT=-pre1-DEV
#EPICS_DEV_SNAPSHOT=-pre2
#EPICS_DEV_SNAPSHOT=-pre2-DEV

View File

@@ -24,11 +24,15 @@ else
clean$(DIVIDER)$(ARCH) clean:
endif
cdCommands envPaths dllPath.bat relPaths.sh: \
cdCommands dllPath.bat relPaths.sh: \
$(wildcard $(TOP)/configure/RELEASE*) \
$(wildcard $(TOP)/configure/CONFIG_SITE*) $(INSTALL_BIN)
$(wildcard $(TOP)/configure/CONFIG_SITE*) | $(INSTALL_BIN)
$(CONVERTRELEASE) -a $(ARCH) -t $(IOCS_APPL_TOP) $@
envPaths: $(wildcard $(TOP)/configure/RELEASE*) \
$(wildcard $(TOP)/configure/CONFIG_SITE*) | $(INSTALL_BIN)
$(CONVERTRELEASE) -t $(IOCS_APPL_TOP) $@
realclean:
$(RM) cdCommands envPaths dllPath.bat relPaths.sh

View File

@@ -170,7 +170,13 @@ endif
$(DIRECTORY_TARGETS) :
$(MKDIR) -p $@
$(PRODNAME): $(INSTALL_LIB_INSTALLS)
# Install LIB_INSTALLS libraries before linking executables
$(TESTPRODNAME) $(PRODNAME): | $(INSTALL_LIB_INSTALLS)
# Install built libraries too, unless Makefile says to wait
ifneq ($(DELAY_INSTALL_LIBS),YES)
$(TESTPRODNAME) $(PRODNAME): | $(INSTALL_LIBS) $(INSTALL_DLLSTUB_LIBS)
endif
# RELEASE file consistency checking
checkRelease:

View File

@@ -57,7 +57,7 @@ SHRLIB_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(LIB_LIBS) $(USR_LIBS)) \
$(LDLIBS)
SHRLIB_DEPLIB_DIRS = $(foreach word, \
$(sort $(dir $($*_DEPLIBS) $(SHRLIB_DEPLIBS))), \
$(sort $(INSTALL_LIB)/ $(dir $($*_DEPLIBS) $(SHRLIB_DEPLIBS))), \
$(shell $(FULLPATHNAME) $(word)))
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-L%)
@@ -86,7 +86,7 @@ PROD_LDLIBS += $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \
$(LDLIBS_SHARED_$(SHARED_LIBRARIES))))
PROD_DEPLIB_DIRS = $(foreach word, \
$(sort $(dir $($*_DEPLIBS) $(PROD_DEPLIBS))), \
$(sort $(INSTALL_LIB)/ $(dir $($*_DEPLIBS) $(PROD_DEPLIBS))), \
$(shell $(FULLPATHNAME) $(word)))
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-L%)

View File

@@ -15,6 +15,43 @@
<h2 align="center">Changes made on the 3.15 branch since 3.15.3</h2>
<!-- Insert new items immediately below here ... -->
<h3>Build rules and DELAY_INSTALL_LIBS</h3>
<p>A new order-only prerequisite build rule has been added to ensure that
library files (and DLL stubs on Windows) get installed before linking any
executables, which resolves parallel build problems on high-powered CPUs. There
are some (rare) cases though where a Makefile has to build an executable and run
it to be able to compile code for a library built by the same Makefile. With
this new build rule GNUmake will complain about a circular dependency and the
build will probably fail in those cases. To avoid this problem the failing
Makefile should set <tt>DELAY_INSTALL_LIBS = YES</tt> before including the
<tt>$(TOP)/configure/RULES</tt> file, disabling the new build rule.</p>
<h3>IOC environment variables and build parameters</h3>
<p>The IOC now sets a number of environment variables at startup that provide
the version of EPICS Base it was built against (EPICS_VERSION_...) and its build
architecture (ARCH). In some cases this allows a single iocBoot/ioc directory to
be used to run the same IOC on several different architectures without any
changes.</p>
<p>There are also 3 new environment parameters (EPICS_BUILD_...) available that
C/C++ code can use to find out the target architecture, OS class and compiler
class it was built with. These may be useful when writing interfaces to other
languages.</p>
<h3>New implementation of promptgroup/gui_group field property</h3>
<p>The mechanism behind the "promptgroup()" field property inside a record type
definition has been changed. Instead of using a fixed set of choices,
the static database access library now collects the used gui group names
while parsing DBD information. Group names should start with a two-digit number
plus space-dash-space to allow proper sorting of groups.</p>
<p>The include file <tt>guigroup.h</tt> that defined the fixed set of choices
has been deprecated. Instead, use the conversion functions between index number
and group string that have been added to dbStaticLib.</p>
<h3>CA server configuration changes</h3>
<p>RSRV now honors EPICS_CAS_INTF_ADDR_LIST and binds only to the provided list
@@ -72,6 +109,20 @@ dbQuietMacroWarnings=1 <i>VxWorks</i>
<h2 align="center">Changes pulled from the 3.14 branch since 3.15.3</h2>
<!-- Insert inherited items immediately below here ... -->
<h3>String field buffer overflows</h3>
<p>Two buffer overflow bugs that can crash the IOC have been fixed, caused by
initializing a string field with a value larger than the field size
(<a href="https://bugs.launchpad.net/bugs/1563191">Launchpad bug
#1563191</a>).</p>
<h3>Fixed stack corruption bug in epicsThread C++ API</h3>
<p>The C++ interface to the epicsThread API could corrupt the stack on thread
exit in some rare circumstances, usually at program exit. This bug has been
fixed (<a href="https://bugs.launchpad.net/bugs/1558206">Launchpad bug
#1558206</a>).</p>
<h3>RTEMS NTP Support Issue</h3>
<p>On RTEMS the NTP Time Provider could in some circumstances get out of sync

View File

@@ -1138,6 +1138,20 @@ void CA_add_exception_event(const char *class, SV *sub) {
static
SV * printf_sub = NULL;
#ifndef va_copy
# ifdef __GNUC__
# define va_copy(d, s) __va_copy(d, s)
# else
# define va_copy(d, s) ((d) = (s))
/* The above macro is NOT PORTABLE but works on Windows when
* stdarg.h doesn't provide va_copy(). Some architectures need
* define va_copy(d, s) ((*d) = (*s))
* while others may be even more complicated, but hopefully the
* system stdarg.h header defines va_copy() in those cases.
*/
# endif
#endif
static
int printf_handler(const char *format, va_list args) {
if (! printf_sub)
@@ -1152,11 +1166,7 @@ int printf_handler(const char *format, va_list args) {
ENTER;
SAVETMPS;
#ifdef __GNUC__
__va_copy(argcopy, args);
#else
va_copy(argcopy, args);
#endif
printf_str = NEWSV(0, strlen(format) + 32);
sv_vsetpvf(printf_str, format, &argcopy);

View File

@@ -3,7 +3,13 @@
# This script is used to extract information about the Perl build
# configuration, so the EPICS build system uses the same settings.
use strict;
use Config;
my $arg = shift;
print $Config{$arg};
my $val = $Config{$arg};
$val =~ s{\\}{/}go
if $^O eq 'MSWin32';
print $val;

View File

@@ -69,6 +69,11 @@ CLEANS += $(COMMON_DIR)/aitConvertGenerated.cc
USR_CXXFLAGS_Linux = -fno-strict-aliasing
USR_CXXFLAGS_RTEMS = -fno-strict-aliasing
ifeq ($(T_A),$(EPICS_HOST_ARCH))
# genApps and aitGen are needed to finish libgdd
DELAY_INSTALL_LIBS = YES
endif
include $(TOP)/configure/RULES
# Manual dependencies

View File

@@ -4,7 +4,7 @@
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# in file LICENSE that is included with this distribution.
#*************************************************************************
%#include "epicsTypes.h"
%#include "link.h"
@@ -15,59 +15,59 @@
}
field(DESC,DBF_STRING) {
prompt("Descriptor")
promptgroup(GUI_COMMON)
promptgroup("10 - Common")
size(41)
}
field(ASG,DBF_STRING) {
prompt("Access Security Group")
promptgroup(GUI_COMMON)
promptgroup("10 - Common")
special(SPC_AS)
size(29)
}
field(SCAN,DBF_MENU) {
prompt("Scan Mechanism")
promptgroup(GUI_SCAN)
promptgroup("20 - Scan")
special(SPC_SCAN)
interest(1)
menu(menuScan)
}
field(PINI,DBF_MENU) {
prompt("Process at iocInit")
promptgroup(GUI_SCAN)
promptgroup("20 - Scan")
interest(1)
menu(menuPini)
}
field(PHAS,DBF_SHORT) {
prompt("Scan Phase")
promptgroup(GUI_SCAN)
promptgroup("20 - Scan")
special(SPC_SCAN)
interest(1)
}
field(EVNT,DBF_STRING) {
prompt("Event Name")
promptgroup(GUI_SCAN)
promptgroup("20 - Scan")
special(SPC_SCAN)
size(40)
interest(1)
}
field(TSE,DBF_SHORT) {
prompt("Time Stamp Event")
promptgroup(GUI_SCAN)
promptgroup("20 - Scan")
interest(1)
}
field(TSEL,DBF_INLINK) {
prompt("Time Stamp Link")
promptgroup(GUI_SCAN)
promptgroup("20 - Scan")
interest(1)
}
field(DTYP,DBF_DEVICE) {
prompt("Device Type")
promptgroup(GUI_LINKS)
promptgroup("10 - Common")
interest(1)
}
field(DISV,DBF_SHORT) {
prompt("Disable Value")
promptgroup(GUI_SCAN)
promptgroup("20 - Scan")
initial("1")
}
field(DISA,DBF_SHORT) {
@@ -75,7 +75,7 @@
}
field(SDIS,DBF_INLINK) {
prompt("Scanning Disable")
promptgroup(GUI_SCAN)
promptgroup("20 - Scan")
interest(1)
}
%#include "epicsMutex.h"
@@ -131,7 +131,7 @@
}
field(ACKT,DBF_MENU) {
prompt("Alarm Ack Transient")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
special(SPC_NOMOD)
interest(2)
menu(menuYesNo)
@@ -139,7 +139,7 @@
}
field(DISS,DBF_MENU) {
prompt("Disable Alarm Sevrty")
promptgroup(GUI_SCAN)
promptgroup("70 - Alarm")
interest(1)
menu(menuAlarmSevr)
}
@@ -219,7 +219,7 @@
}
field(PRIO,DBF_MENU) {
prompt("Scheduling Priority")
promptgroup(GUI_SCAN)
promptgroup("20 - Scan")
special(SPC_SCAN)
interest(1)
menu(menuPriority)
@@ -235,14 +235,14 @@
}
field(UDF,DBF_UCHAR) {
prompt("Undefined")
promptgroup(GUI_COMMON)
promptgroup("10 - Common")
pp(TRUE)
interest(1)
initial("1")
}
field(UDFS,DBF_MENU) {
prompt("Undefined Alarm Sevrty")
promptgroup(GUI_COMMON)
promptgroup("70 - Alarm")
interest(1)
menu(menuAlarmSevr)
initial("INVALID")
@@ -256,6 +256,6 @@
}
field(FLNK,DBF_FWDLINK) {
prompt("Forward Process Link")
promptgroup(GUI_LINKS)
promptgroup("20 - Scan")
interest(1)
}

View File

@@ -18,6 +18,7 @@ dbTestIoc_SRCS += dbLinkdset.c
dbTestIoc_LIBS = dbCore ca Com
TARGETS += $(COMMON_DIR)/dbTestIoc.dbd
DBDDEPENDS_FILES += dbTestIoc.dbd$(DEP)
dbTestIoc_DBD += menuGlobal.dbd
dbTestIoc_DBD += menuConvert.dbd
dbTestIoc_DBD += menuScan.dbd
@@ -78,6 +79,7 @@ TESTS += dbCaStatsTest
TESTFILES += ../dbCaStatsTest.db
TARGETS += $(COMMON_DIR)/scanIoTest.dbd
DBDDEPENDS_FILES += scanIoTest.dbd$(DEP)
scanIoTest_DBD += menuGlobal.dbd
scanIoTest_DBD += menuConvert.dbd
scanIoTest_DBD += menuScan.dbd
@@ -98,6 +100,7 @@ testHarness_SRCS += dbChannelTest.c
TESTS += dbChannelTest
TARGETS += $(COMMON_DIR)/dbChArrTest.dbd
DBDDEPENDS_FILES += dbChArrTest.dbd$(DEP)
dbChArrTest_DBD += arrRecord.dbd
TESTPROD_HOST += dbChArrTest
dbChArrTest_SRCS += dbChArrTest.cpp
@@ -148,4 +151,3 @@ arrRecord$(DEP): $(COMMON_DIR)/arrRecord.h
xRecord$(DEP): $(COMMON_DIR)/xRecord.h
dbPutLinkTest$(DEP): $(COMMON_DIR)/xRecord.h
scanIoTest$(DEP): $(COMMON_DIR)/yRecord.h

View File

@@ -165,8 +165,9 @@ typedef struct dbBase {
ELLLIST functionList;
ELLLIST variableList;
ELLLIST bptList;
ELLLIST filterList;
void *pathPvt;
ELLLIST filterList;
ELLLIST guiGroupList;
void *pathPvt;
struct dbPvd *ppvd;
struct gphPvt *pgpHash;
short ignoreMissingMenus;

View File

@@ -34,7 +34,6 @@
#include "dbStaticLib.h"
#include "dbStaticPvt.h"
#include "epicsExport.h"
#include "guigroup.h"
#include "link.h"
#include "special.h"
@@ -71,6 +70,7 @@ static void dbRecordtypeEmpty(void);
static void dbRecordtypeBody(void);
static void dbRecordtypeFieldHead(char *name,char *type);
static void dbRecordtypeFieldItem(char *name,char *value);
static short findOrAddGuiGroup(const char *name);
static void dbDevice(char *recordtype,char *linktype,
char *dsetname,char *choicestring);
@@ -495,7 +495,23 @@ static void dbRecordtypeFieldHead(char *name,char *type)
yyerrorAbort("Illegal Field Type");
pdbFldDes->field_type = i;
}
static short findOrAddGuiGroup(const char *name)
{
dbGuiGroup *pdbGuiGroup;
GPHENTRY *pgphentry;
pgphentry = gphFind(pdbbase->pgpHash, name, &pdbbase->guiGroupList);
if (!pgphentry) {
pdbGuiGroup = dbCalloc(1,sizeof(dbGuiGroup));
pdbGuiGroup->name = epicsStrDup(name);
ellAdd(&pdbbase->guiGroupList, &pdbGuiGroup->node);
pdbGuiGroup->key = ellCount(&pdbbase->guiGroupList);
pgphentry = gphAdd(pdbbase->pgpHash, pdbGuiGroup->name, &pdbbase->guiGroupList);
pgphentry->userPvt = pdbGuiGroup;
}
return ((dbGuiGroup *)pgphentry->userPvt)->key;
}
static void dbRecordtypeFieldItem(char *name,char *value)
{
dbFldDes *pdbFldDes;
@@ -517,14 +533,7 @@ static void dbRecordtypeFieldItem(char *name,char *value)
return;
}
if(strcmp(name,"promptgroup")==0) {
int i;
for(i=0; i<GUI_NTYPES; i++) {
if(strcmp(value,pamapguiGroup[i].strvalue)==0) {
pdbFldDes->promptgroup = pamapguiGroup[i].value;
return;
}
}
yyerror("Illegal promptgroup. See guigroup.h for legal values");
pdbFldDes->promptgroup = findOrAddGuiGroup(value);
return;
}
if(strcmp(name,"prompt")==0) {

View File

@@ -31,7 +31,6 @@
#include "postfix.h"
#define DBFLDTYPES_GBLSOURCE
#define GUIGROUPS_GBLSOURCE
#define SPECIAL_GBLSOURCE
#define epicsExportSharedSymbols
@@ -41,7 +40,6 @@
#include "dbStaticPvt.h"
#include "devSup.h"
#include "drvSup.h"
#include "guigroup.h"
#include "link.h"
#include "special.h"
@@ -417,6 +415,7 @@ dbBase * dbAllocBase(void)
ellInit(&pdbbase->variableList);
ellInit(&pdbbase->bptList);
ellInit(&pdbbase->filterList);
ellInit(&pdbbase->guiGroupList);
gphInitPvt(&pdbbase->pgpHash,256);
dbPvdInitPvt(pdbbase);
return (pdbbase);
@@ -442,8 +441,10 @@ void dbFreeBase(dbBase *pdbbase)
drvSup *pdrvSupNext;
brkTable *pbrkTable;
brkTable *pbrkTableNext;
chFilterPlugin *pfilt;
chFilterPlugin *pfiltNext;
chFilterPlugin *pfilt;
chFilterPlugin *pfiltNext;
dbGuiGroup *pguiGroup;
dbGuiGroup *pguiGroupNext;
int i;
DBENTRY dbentry;
@@ -584,6 +585,15 @@ void dbFreeBase(dbBase *pdbbase)
free(pfilt);
pfilt = pfiltNext;
}
pguiGroup = (dbGuiGroup *)ellFirst(&pdbbase->guiGroupList);
while (pguiGroup) {
pguiGroupNext = (dbGuiGroup *)ellNext(&pguiGroup->node);
gphDelete(pdbbase->pgpHash, pguiGroup->name, &pdbbase->guiGroupList);
ellDelete(&pdbbase->guiGroupList, &pguiGroup->node);
free(pguiGroup->name);
free((void *)pguiGroup);
pguiGroup = pguiGroupNext;
}
gphFreeMem(pdbbase->pgpHash);
dbPvdFreeMem(pdbbase);
dbFreePath(pdbbase);
@@ -738,6 +748,31 @@ static long dbAddOnePath (DBBASE *pdbbase, const char *path, unsigned length)
return 0;
}
char *dbGetPromptGroupNameFromKey(DBBASE *pdbbase, const short key)
{
dbGuiGroup *pdbGuiGroup;
if (!pdbbase) return NULL;
for (pdbGuiGroup = (dbGuiGroup *)ellFirst(&pdbbase->guiGroupList);
pdbGuiGroup; pdbGuiGroup = (dbGuiGroup *)ellNext(&pdbGuiGroup->node)) {
if (pdbGuiGroup->key == key) return pdbGuiGroup->name;
}
return NULL;
}
short dbGetPromptGroupKeyFromName(DBBASE *pdbbase, const char *name)
{
GPHENTRY *pgphentry;
if (!pdbbase) return 0;
pgphentry = gphFind(pdbbase->pgpHash, name, &pdbbase->guiGroupList);
if (!pgphentry) {
return 0;
} else {
return ((dbGuiGroup*)pgphentry->userPvt)->key;
}
}
long dbWriteRecord(DBBASE *ppdbbase,const char *filename,
const char *precordTypename,int level)
@@ -937,16 +972,11 @@ long dbWriteRecordTypeFP(
fprintf(fp,"\t\tprompt(\"%s\")\n",pdbFldDes->prompt);
if(pdbFldDes->initial)
fprintf(fp,"\t\tinitial(\"%s\")\n",pdbFldDes->initial);
if(pdbFldDes->promptgroup) {
for(j=0; j<GUI_NTYPES; j++) {
if(pamapguiGroup[j].value == pdbFldDes->promptgroup) {
fprintf(fp,"\t\tpromptgroup(%s)\n",
pamapguiGroup[j].strvalue);
break;
}
}
}
if(pdbFldDes->special) {
if (pdbFldDes->promptgroup) {
fprintf(fp,"\t\tpromptgroup(\"%s\")\n",
dbGetPromptGroupNameFromKey(pdbbase, pdbFldDes->promptgroup));
}
if(pdbFldDes->special) {
if(pdbFldDes->special >= SPC_NTYPES) {
fprintf(fp,"\t\tspecial(%d)\n",pdbFldDes->special);
} else for(j=0; j<SPC_NTYPES; j++) {
@@ -2051,7 +2081,10 @@ long dbPutString(DBENTRY *pdbentry,const char *pstring)
switch (pflddes->field_type) {
case DBF_STRING:
if(!pfield) return(S_dbLib_fieldNotFound);
strncpy((char *)pfield, pstring,pflddes->size);
if(strlen(pstring) >= (size_t)pflddes->size) return S_dbLib_strLen;
strncpy((char *)pfield, pstring, pflddes->size-1);
((char *)pfield)[pflddes->size-1] = 0;
if((pflddes->special == SPC_CALC) && !stringHasMacro) {
char rpcl[RPCL_LEN];
short err;
@@ -2062,7 +2095,6 @@ long dbPutString(DBENTRY *pdbentry,const char *pstring)
calcErrorStr(err), pstring);
}
}
if((short)strlen(pstring) >= pflddes->size) status = S_dbLib_strLen;
break;
case DBF_CHAR:
@@ -3181,14 +3213,9 @@ void dbDumpField(
if(!pdbFldDes->promptgroup) {
printf("\t promptgroup: %d\n",pdbFldDes->promptgroup);
} else {
for(j=0; j<GUI_NTYPES; j++) {
if(pamapguiGroup[j].value == pdbFldDes->promptgroup) {
printf("\t promptgroup: %s\n",
pamapguiGroup[j].strvalue);
break;
}
}
}
printf("\t promptgroup: %s\n",
dbGetPromptGroupNameFromKey(pdbbase, pdbFldDes->promptgroup));
}
printf("\t interest: %hd\n", pdbFldDes->interest);
printf("\t as_level: %d\n",pdbFldDes->as_level);
printf("\t initial: %s\n",

View File

@@ -81,6 +81,10 @@ epicsShareFunc long dbReadDatabaseFP(DBBASE **ppdbbase,
FILE *fp, const char *path, const char *substitutions);
epicsShareFunc long dbPath(DBBASE *pdbbase, const char *path);
epicsShareFunc long dbAddPath(DBBASE *pdbbase, const char *path);
epicsShareFunc char * dbGetPromptGroupNameFromKey(DBBASE *pdbbase,
const short key);
epicsShareFunc short dbGetPromptGroupKeyFromName(DBBASE *pdbbase,
const char *name);
epicsShareFunc long dbWriteRecord(DBBASE *ppdbbase,
const char *filename, const char *precordTypename, int level);
epicsShareFunc long dbWriteRecordFP(DBBASE *ppdbbase,

View File

@@ -42,6 +42,13 @@ typedef struct dbPathNode {
char *directory;
} dbPathNode;
/* Element of the global gui group list */
typedef struct dbGuiGroup {
ELLNODE node;
short key;
char *name;
} dbGuiGroup;
/*The following are in dbPvdLib.c*/
/*directory*/
typedef struct{

View File

@@ -16,68 +16,11 @@
#ifndef __gui_group_h__
#define __gui_group_h__
#define GUI_COMMON 1
#define GUI_ALARMS 2
#define GUI_BITS1 3
#define GUI_BITS2 4
#define GUI_CALC 5
#define GUI_CLOCK 6
#define GUI_COMPRESS 7
#define GUI_CONVERT 8
#define GUI_DISPLAY 9
#define GUI_HIST 10
#define GUI_INPUTS 11
#define GUI_LINKS 12
#define GUI_MBB 13
#define GUI_MOTOR 14
#define GUI_OUTPUT 15
#define GUI_PID 16
#define GUI_PULSE 17
#define GUI_SELECT 18
#define GUI_SEQ1 19
#define GUI_SEQ2 20
#define GUI_SEQ3 21
#define GUI_SUB 22
#define GUI_TIMER 23
#define GUI_WAVE 24
#define GUI_SCAN 25
#define GUI_NTYPES 25
typedef struct mapguiGroup{
char *strvalue;
int value;
}mapguiGroup;
#ifndef GUIGROUPS_GBLSOURCE
extern mapguiGroup pamapguiGroup[];
#else
mapguiGroup pamapguiGroup[GUI_NTYPES] = {
{"GUI_COMMON",GUI_COMMON},
{"GUI_ALARMS",GUI_ALARMS},
{"GUI_BITS1",GUI_BITS1},
{"GUI_BITS2",GUI_BITS2},
{"GUI_CALC",GUI_CALC},
{"GUI_CLOCK",GUI_CLOCK},
{"GUI_COMPRESS",GUI_COMPRESS},
{"GUI_CONVERT",GUI_CONVERT},
{"GUI_DISPLAY",GUI_DISPLAY},
{"GUI_HIST",GUI_HIST},
{"GUI_INPUTS",GUI_INPUTS},
{"GUI_LINKS",GUI_LINKS},
{"GUI_MBB",GUI_MBB},
{"GUI_MOTOR",GUI_MOTOR},
{"GUI_OUTPUT",GUI_OUTPUT},
{"GUI_PID",GUI_PID},
{"GUI_PULSE",GUI_PULSE},
{"GUI_SELECT",GUI_SELECT},
{"GUI_SEQ1",GUI_SEQ1},
{"GUI_SEQ2",GUI_SEQ2},
{"GUI_SEQ3",GUI_SEQ3},
{"GUI_SUB",GUI_SUB},
{"GUI_TIMER",GUI_TIMER},
{"GUI_WAVE",GUI_WAVE},
{"GUI_SCAN",GUI_SCAN}
};
#endif /*GUIGROUPS_GBLSOURCE*/
#error As of Base 3.15.4, the promptgroup implementation has changed. \
This header file (guigroup.h) is invalid and will be removed shortly. \
Instead, you should include dbStaticLib.h, parse the DBD, \
and use dbGetPromptGroupNameFromKey() and dbGetPromptGroupKeyFromName() \
that have been added to dbStaticLib. \
More details in the 3.15.4 release notes and the AppDev Guide.
#endif /*__gui_group_h__*/

View File

@@ -7,6 +7,8 @@
* in file LICENSE that is included with this distribution.
\*************************************************************************/
#include "envDefs.h"
#include "epicsVersion.h"
#include "iocsh.h"
#include "libComRegister.h"
@@ -21,10 +23,29 @@
#include "registryIocRegister.h"
#include "rsrvIocRegister.h"
#define quote(v) #v
#define str(v) quote(v)
void iocshRegisterCommon(void)
{
const char *targetArch = envGetConfigParamPtr(&EPICS_BUILD_TARGET_ARCH);
iocshPpdbbase = &pdbbase;
/* This uses a config param so the user can override it */
if (targetArch) {
epicsEnvSet("ARCH", targetArch);
}
/* Base build version variables */
epicsEnvSet("EPICS_VERSION_MAJOR", str(EPICS_VERSION));
epicsEnvSet("EPICS_VERSION_MIDDLE", str(EPICS_REVISION));
epicsEnvSet("EPICS_VERSION_MINOR", str(EPICS_MODIFICATION));
epicsEnvSet("EPICS_VERSION_PATCH", str(EPICS_PATCH_LEVEL));
epicsEnvSet("EPICS_VERSION_SNAPSHOT", EPICS_DEV_SNAPSHOT);
epicsEnvSet("EPICS_VERSION_SITE", EPICS_SITE_VERSION);
epicsEnvSet("EPICS_VERSION_SHORT", EPICS_VERSION_SHORT);
epicsEnvSet("EPICS_VERSION_FULL", EPICS_VERSION_FULL);
dbStaticIocRegister();
registryIocRegister();
dbIocRegister();

View File

@@ -45,6 +45,11 @@ Com_SYS_LIBS_WIN32 = ws2_32 advapi32 user32
Com_RCS = Com.rc
ifeq ($(T_A),$(EPICS_HOST_ARCH))
# Antelope & flex are needed to finish libCom
DELAY_INSTALL_LIBS = YES
endif
include $(TOP)/configure/RULES
include $(LIBCOM)/as/RULES

View File

@@ -529,6 +529,12 @@ Init (rtems_task_argument ignored)
putenv ("TERM=xterm");
putenv ("IOCSH_HISTSIZE=20");
/*
* Display some OS information
*/
printf("\n***** RTEMS Version: %s *****\n",
rtems_get_version_string());
/*
* Start network
*/

View File

@@ -8,5 +8,7 @@
# This is a Makefile fragment, see src/libCom/Makefile.
envData.c: $(LIBCOM)/env/envDefs.h $(LIBCOM)/env/bldEnvData.pl \
$(CONFIG)/CONFIG_ENV $(CONFIG)/CONFIG_SITE_ENV
$(PERL) $(LIBCOM)/env/bldEnvData.pl $(INSTALL_QUIETLY) $(CONFIG)
$(CONFIG)/CONFIG_ENV $(CONFIG)/CONFIG_SITE_ENV \
$(wildcard $(CONFIG)/os/CONFIG_SITE_ENV.$(T_A))
$(PERL) $(LIBCOM)/env/bldEnvData.pl $(INSTALL_QUIETLY) -t $(T_A) \
-c $(CMPLR_CLASS) -s $(OS_CLASS) $(CONFIG)

View File

@@ -26,13 +26,13 @@ use Text::Wrap;
my $tool = basename($0);
our ($opt_h, $opt_q);
our ($opt_h, $opt_q, $opt_t, $opt_s, $opt_c);
our $opt_o = 'envData.c';
$Getopt::Std::OUTPUT_HELP_VERSION = 1;
$Text::Wrap::columns = 75;
&HELP_MESSAGE unless getopts('ho:q') && @ARGV == 1;
&HELP_MESSAGE unless getopts('ho:qt:s:c:') && @ARGV == 1;
&HELP_MESSAGE if $opt_h;
my $config = AbsPath(shift);
@@ -52,16 +52,31 @@ while (<SRC>) {
}
close SRC;
# Read the values from the CONFIG_ENV and CONFIG_SITE_ENV files
# A list of configure/CONFIG_* files to read
#
my $config_env = "$config/CONFIG_ENV";
my $config_site_env = "$config/CONFIG_SITE_ENV";
my @configs = ("$config/CONFIG_ENV", "$config/CONFIG_SITE_ENV");
my %values;
readReleaseFiles($config_env, \%values);
readReleaseFiles($config_site_env, \%values);
if ($opt_t) {
my $config_arch_env = "$config/os/CONFIG_SITE_ENV.$opt_t";
push @configs, $config_arch_env
if -f $config_arch_env;
}
# Warn about any vars with no value
my @sources = ($env_defs, @configs);
# Get values from the config files
#
my (%values, @dummy);
readRelease($_, \%values, \@dummy) foreach @configs;
expandRelease(\%values);
# Get values from the command-line
#
$values{EPICS_BUILD_COMPILER_CLASS} = $opt_c if $opt_c;
$values{EPICS_BUILD_OS_CLASS} = $opt_s if $opt_s;
$values{EPICS_BUILD_TARGET_ARCH} = $opt_t if $opt_t;
# Warn about vars with no configured value
#
my @undefs = grep {!exists $values{$_}} @vars;
warn "$tool: No value given for $_\n" foreach @undefs;
@@ -73,13 +88,13 @@ print "Generating $opt_o\n" unless $opt_q;
open OUT, '>', $opt_o
or die "$tool: Cannot create $opt_o: $!\n";
my $sources = join "\n", map {" * $_"} @sources;
print OUT << "END";
/* Generated file $opt_o
*
* Created from
* $env_defs
* $config_env
* $config_site_env
$sources
*/
#include <stddef.h>
@@ -88,18 +103,23 @@ print OUT << "END";
END
# Define all parameters, giving variable name and default value
# Define a default value for each named parameter
#
foreach my $var (@vars) {
my $default = $values{$var} || '';
$default =~ s/^"//;
$default =~ s/"$//;
my $default = $values{$var};
if (defined $default) {
$default =~ s/^"//;
$default =~ s/"$//;
}
else {
$default = '';
}
print OUT "epicsShareDef const ENV_PARAM $var =\n",
" {\"$var\", \"$default\"};\n";
}
# Now create a list of all those parameters
# Also provide a list of all defined parameters
#
print OUT "\n",
"epicsShareDef const ENV_PARAM* env_param_list[] = {\n",
@@ -112,6 +132,9 @@ sub HELP_MESSAGE {
" -h Help: Print this message\n",
" -q Quiet: Only print errors\n",
" -o file Output filename, default is $opt_o\n",
" -t arch Target architecture \$(T_A) name\n",
" -s os Operating system \$(OS_CLASS)\n",
" -c comp Compiler class \$(CMPLR_CLASS)\n",
"\n";
exit 1;

View File

@@ -40,7 +40,7 @@ typedef struct envParam {
} ENV_PARAM;
/*
* bldEnvData looks for "epicsShareExtern const ENV_PARAM"
* bldEnvData.pl looks for "epicsShareExtern const ENV_PARAM <name>;"
*/
epicsShareExtern const ENV_PARAM EPICS_CA_ADDR_LIST;
epicsShareExtern const ENV_PARAM EPICS_CA_CONN_TMO;
@@ -58,6 +58,9 @@ epicsShareExtern const ENV_PARAM EPICS_CAS_SERVER_PORT;
epicsShareExtern const ENV_PARAM EPICS_CA_BEACON_PERIOD; /* deprecated */
epicsShareExtern const ENV_PARAM EPICS_CAS_BEACON_PERIOD;
epicsShareExtern const ENV_PARAM EPICS_CAS_BEACON_PORT;
epicsShareExtern const ENV_PARAM EPICS_BUILD_COMPILER_CLASS;
epicsShareExtern const ENV_PARAM EPICS_BUILD_OS_CLASS;
epicsShareExtern const ENV_PARAM EPICS_BUILD_TARGET_ARCH;
epicsShareExtern const ENV_PARAM EPICS_TIMEZONE;
epicsShareExtern const ENV_PARAM EPICS_TS_NTP_INET;
epicsShareExtern const ENV_PARAM EPICS_IOC_LOG_PORT;

View File

@@ -47,8 +47,11 @@ map {
die "$tool: Variable missing from $infile" unless defined $_;
} $ver, $rev, $mod, $patch, $snapshot, $commit_date;
$commit_date =~ s/^\$\$Date$\$$/\1/;
my $ver_str = "$ver.$rev.$mod";
$ver_str .= ".$patch" if $patch > 0;
my $ver_short = $ver_str;
$ver_str .= $snapshot if $snapshot ne '';
$ver_str .= "-$opt_v" if $opt_v;
@@ -71,10 +74,15 @@ print $OUT <<"END";
#define EPICS_PATCH_LEVEL $patch
#define EPICS_DEV_SNAPSHOT "$snapshot"
#define EPICS_SITE_VERSION "$opt_v"
#define EPICS_VERSION_SHORT "$ver_short"
#define EPICS_VERSION_FULL "$ver_str"
#define EPICS_VERSION_STRING "EPICS $ver_str"
#define epicsReleaseVersion "EPICS R$ver_str $commit_date"
#define VERSION_INT(V,R,M,P) ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P))
#ifndef VERSION_INT
# define VERSION_INT(V,R,M,P) ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P))
#endif
#define EPICS_VERSION_INT VERSION_INT($ver, $rev, $mod, $patch)
#endif /* INC_${obase}_H */

View File

@@ -4,7 +4,7 @@
* Copyright (c) 2002 The Regents of the University of California, as
* Operator of Los Alamos National Laboratory.
* EPICS BASE is distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
* in file LICENSE that is included with this distribution.
\*************************************************************************/
//
// $Revision-Id$
@@ -37,22 +37,22 @@ epicsThreadRunable::~epicsThreadRunable () {}
void epicsThreadRunable::run () {}
void epicsThreadRunable::show ( unsigned int ) const {}
class epicsThread :: unableToCreateThread :
class epicsThread :: unableToCreateThread :
public std :: exception {
public:
const char * what () const throw ();
};
const char * epicsThread ::
const char * epicsThread ::
unableToCreateThread :: what () const throw ()
{
return "unable to create thread";
}
void epicsThread :: printLastChanceExceptionMessage (
void epicsThread :: printLastChanceExceptionMessage (
const char * pExceptionTypeName,
const char * pExceptionContext )
{
{
char date[64];
try {
epicsTime cur = epicsTime :: getCurrent ();
@@ -63,51 +63,52 @@ void epicsThread :: printLastChanceExceptionMessage (
}
char name [128];
epicsThreadGetName ( this->id, name, sizeof ( name ) );
errlogPrintf (
errlogPrintf (
"epicsThread: Unexpected C++ exception \"%s\" "
"with type \"%s\" in thread \"%s\" at %s\n",
pExceptionContext, pExceptionTypeName, name, date );
errlogFlush ();
// this should behave as the C++ implementation intends when an
// exception isnt handled. If users dont like this behavior, they
// can install an application specific unexpected handler.
// This behavior matches the C++ implementation when an exception
// isn't handled by the thread code. Users can install their own
// application-specific unexpected handler if preferred.
std::unexpected ();
}
extern "C" void epicsThreadCallEntryPoint ( void * pPvt )
{
epicsThread * pThread =
epicsThread * pThread =
static_cast <epicsThread *> ( pPvt );
bool waitRelease = false;
bool threadDestroyed = false;
try {
pThread->pWaitReleaseFlag = & waitRelease;
pThread->pThreadDestroyed = & threadDestroyed;
if ( pThread->beginWait () ) {
pThread->runable.run ();
// current thread may have run the destructor
// so must not touch the this pointer from
// here on down if waitRelease is true
// The run() routine may have destroyed the epicsThread
// object by now; pThread can only be used below here
// when the threadDestroyed flag is false.
}
}
catch ( const epicsThread::exitException & ) {
}
catch ( std :: exception & except ) {
if ( ! waitRelease ) {
pThread->printLastChanceExceptionMessage (
if ( ! threadDestroyed ) {
pThread->printLastChanceExceptionMessage (
typeid ( except ).name (), except.what () );
}
}
catch ( ... ) {
if ( ! waitRelease ) {
pThread->printLastChanceExceptionMessage (
if ( ! threadDestroyed ) {
pThread->printLastChanceExceptionMessage (
"catch ( ... )", "Non-standard C++ exception" );
}
}
if ( ! waitRelease ) {
if ( ! threadDestroyed ) {
epicsGuard < epicsMutex > guard ( pThread->mutex );
pThread->pThreadDestroyed = NULL;
pThread->terminated = true;
pThread->exitEvent.signal ();
// once the terminated flag is set and we release the lock
// then the "this" pointer must not be touched again
// After the terminated flag is set and guard's destructor
// releases the lock, pThread must never be used again.
}
}
@@ -135,12 +136,12 @@ void epicsThread::exitWait () throw ()
bool epicsThread::exitWait ( const double delay ) throw ()
{
try {
// if destructor is running in managed thread then of
// course we will not wait for the managed thread to
// exit
// When called (usually by a destructor) in the context of
// the managed thread we can't wait for the thread to exit.
// Set the threadDestroyed flag and return success.
if ( this->isCurrentThread() ) {
if ( this->pWaitReleaseFlag ) {
*this->pWaitReleaseFlag = true;
if ( this->pThreadDestroyed ) {
*this->pThreadDestroyed = true;
}
return true;
}
@@ -157,14 +158,14 @@ bool epicsThread::exitWait ( const double delay ) throw ()
}
}
catch ( std :: exception & except ) {
errlogPrintf (
errlogPrintf (
"epicsThread::exitWait(): Unexpected exception "
" \"%s\"\n",
" \"%s\"\n",
except.what () );
epicsThreadSleep ( epicsMin ( delay, 5.0 ) );
}
catch ( ... ) {
errlogPrintf (
errlogPrintf (
"Non-standard unexpected exception in "
"epicsThread::exitWait()\n" );
epicsThreadSleep ( epicsMin ( delay, 5.0 ) );
@@ -174,14 +175,14 @@ bool epicsThread::exitWait ( const double delay ) throw ()
return this->terminated;
}
epicsThread::epicsThread (
epicsThread::epicsThread (
epicsThreadRunable & runableIn, const char * pName,
unsigned stackSize, unsigned priority ) :
runable ( runableIn ), id ( 0 ), pWaitReleaseFlag ( 0 ),
runable ( runableIn ), id ( 0 ), pThreadDestroyed ( 0 ),
begin ( false ), cancel ( false ), terminated ( false )
{
this->id = epicsThreadCreate (
pName, priority, stackSize, epicsThreadCallEntryPoint,
this->id = epicsThreadCreate (
pName, priority, stackSize, epicsThreadCallEntryPoint,
static_cast < void * > ( this ) );
if ( ! this->id ) {
throw unableToCreateThread ();
@@ -193,11 +194,11 @@ epicsThread::~epicsThread () throw ()
while ( ! this->exitWait ( 10.0 ) ) {
char nameBuf [256];
this->getName ( nameBuf, sizeof ( nameBuf ) );
fprintf ( stderr,
fprintf ( stderr,
"epicsThread::~epicsThread(): "
"blocking for thread \"%s\" to exit\n",
"blocking for thread \"%s\" to exit\n",
nameBuf );
fprintf ( stderr,
fprintf ( stderr,
"was epicsThread object destroyed before thread exit ?\n");
}
}
@@ -272,11 +273,6 @@ void epicsThread::sleep (double seconds) throw ()
epicsThreadSleep (seconds);
}
//epicsThread & epicsThread::getSelf ()
//{
// return * static_cast<epicsThread *> ( epicsThreadGetIdSelf () );
//}
const char *epicsThread::getNameSelf () throw ()
{
return epicsThreadGetNameSelf ();
@@ -303,7 +299,7 @@ void epicsThread :: show ( unsigned level ) const throw ()
if ( level > 0u ) {
epicsThreadShow ( this->id, level - 1 );
if ( level > 1u ) {
::printf ( "pWaitReleaseFlag = %p\n", this->pWaitReleaseFlag );
::printf ( "pThreadDestroyed = %p\n", this->pThreadDestroyed );
::printf ( "begin = %c, cancel = %c, terminated = %c\n",
this->begin ? 'T' : 'F',
this->cancel ? 'T' : 'F',
@@ -323,12 +319,12 @@ extern "C" {
epicsThreadPrivateId okToBlockPrivate;
static const int okToBlockNo = 0;
static const int okToBlockYes = 1;
static void epicsThreadOnceIdInit(void *)
{
okToBlockPrivate = epicsThreadPrivateCreate();
}
int epicsShareAPI epicsThreadIsOkToBlock(void)
{
const int *pokToBlock;
@@ -336,7 +332,7 @@ extern "C" {
pokToBlock = (int *) epicsThreadPrivateGet(okToBlockPrivate);
return (pokToBlock ? *pokToBlock : 0);
}
void epicsShareAPI epicsThreadSetOkToBlock(int isOkToBlock)
{
const int *pokToBlock;
@@ -344,12 +340,12 @@ extern "C" {
pokToBlock = (isOkToBlock) ? &okToBlockYes : &okToBlockNo;
epicsThreadPrivateSet(okToBlockPrivate, (void *)pokToBlock);
}
epicsThreadId epicsShareAPI epicsThreadMustCreate (
const char *name, unsigned int priority, unsigned int stackSize,
EPICSTHREADFUNC funptr,void *parm)
EPICSTHREADFUNC funptr,void *parm)
{
epicsThreadId id = epicsThreadCreate (
epicsThreadId id = epicsThreadCreate (
name, priority, stackSize, funptr, parm );
assert ( id );
return id;

View File

@@ -158,10 +158,10 @@ public:
bool isCurrentThread () const throw ();
bool operator == ( const epicsThread & ) const throw ();
void show ( unsigned level ) const throw ();
/* these operate on the current thread */
static void suspendSelf () throw ();
static void sleep (double seconds) throw ();
/* static epicsThread & getSelf (); */
static const char * getNameSelf () throw ();
static bool isOkToBlock () throw ();
static void setOkToBlock ( bool isOkToBlock ) throw ();
@@ -174,7 +174,7 @@ private:
epicsMutex mutex;
epicsEvent event;
epicsEvent exitEvent;
bool * pWaitReleaseFlag;
bool * pThreadDestroyed;
bool begin;
bool cancel;
bool terminated;

View File

@@ -19,7 +19,7 @@ extern "C" {
#ifdef isfinite
# undef finite
# define finite(x) isfinite(x)
# define finite(x) isfinite((double)(x))
#endif
epicsShareExtern float epicsNAN;

View File

@@ -98,6 +98,7 @@ TESTS += epicsTimeTest
TESTPROD_HOST += epicsTimeZoneTest
epicsTimeZoneTest_SRCS += epicsTimeZoneTest.c
libComTestHarness_SRCS_RTEMS += epicsTimeZoneTest.c
TESTS += epicsTimeZoneTest
TESTPROD_HOST += epicsThreadTest

View File

@@ -47,6 +47,9 @@ int epicsTimeTest(void);
int epicsTypesTest(void);
int epicsInlineTest(void);
int macDefExpandTest(void);
#ifdef __rtems__
int epicsTimeZoneTest(void);
#endif
int macLibTest(void);
int ringBytesTest(void);
int ringPointerTest(void);
@@ -97,6 +100,11 @@ void epicsRunLibComTests(void)
runTest(epicsTypesTest);
runTest(epicsInlineTest);
runTest(macDefExpandTest);
#ifdef __rtems__
runTest(epicsTimeZoneTest);
#endif
runTest(macLibTest);
runTest(ringBytesTest);
runTest(ringPointerTest);

View File

@@ -17,15 +17,9 @@
#endif
static
void setTZ(const char *base, const char *dst, int offset)
void setTZ(const char *tz)
{
char tz[20];
if(offset!=0 || dst)
sprintf(tz, "%s%d%s", base, offset/3600, dst);
else
sprintf(tz, "%s", base);
testDiag("TZ=\"%s\"", tz);
testDiag("TZ = \"%s\"", tz);
epicsEnvSet("TZ", tz);
tzset();
}
@@ -86,32 +80,52 @@ void test_gmtime(time_t T, int sec, int min, int hour,
MAIN(epicsTimeZoneTest)
{
testPlan(80);
testPlan(160);
/* 1445259616
* Mon Oct 19 09:00:16 2015 EDT
* Mon Oct 19 08:00:16 2015 CDT
* Mon Oct 19 03:00:16 2015 HST (no dst)
* Mon Oct 19 13:00:16 2015 UTC
*/
testDiag("POSIX 1445259616");
setTZ("EST", "EDT", 5*3600);
test_localtime(1445259616ul, 16, 0, 9, 19, 9, 2015, 1, 291, 1);
setTZ("CST", "CDT", 6*3600);
test_localtime(1445259616ul, 16, 0, 8, 19, 9, 2015, 1, 291, 1);
setTZ("UTC", NULL, 0);
setTZ("EST5EDT");
test_localtime(1445259616ul, 16, 0, 9, 19, 9, 2015, 1, 291, 1);
test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
setTZ("CST6CDT");
test_localtime(1445259616ul, 16, 0, 8, 19, 9, 2015, 1, 291, 1);
test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
#if defined(__rtems__)
setTZ("HST10HST10");
#else
setTZ("HST10");
#endif
test_localtime(1445259616ul, 16, 0, 3, 19, 9, 2015, 1, 291, 0);
test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
setTZ("UTC0");
test_localtime(1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
test_gmtime(1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
/* 1421244931
* Wed Jan 14 09:15:31 2015 EST
* Wed Jan 14 08:15:31 2015 CST
* Wed Jan 14 04:15:31 2015 HST
* Wed Jan 14 14:15:31 2015 UTC
*/
testDiag("POSIX 1421244931");
setTZ("EST", "EDT", 5*3600);
test_localtime(1421244931ul, 31, 15, 9, 14, 0, 2015, 3, 13, 0);
setTZ("CST", "CDT", 6*3600);
test_localtime(1421244931ul, 31, 15, 8, 14, 0, 2015, 3, 13, 0);
setTZ("UTC", NULL, 0);
setTZ("EST5EDT");
test_localtime(1421244931ul, 31, 15, 9, 14, 0, 2015, 3, 13, 0);
test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
setTZ("CST6CDT");
test_localtime(1421244931ul, 31, 15, 8, 14, 0, 2015, 3, 13, 0);
test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
#if defined(__rtems__)
setTZ("HST10HST10");
#else
setTZ("HST10");
#endif
test_localtime(1421244931ul, 31, 15, 4, 14, 0, 2015, 3, 13, 0);
test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
setTZ("UTC0");
test_localtime(1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
test_gmtime(1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
return testDone();
}

View File

@@ -19,6 +19,7 @@ Recs_LIBS += dbCore Com
PROD_LIBS = Recs dbRecStd dbCore ca Com
TARGETS += $(COMMON_DIR)/tsTest.dbd
DBDDEPENDS_FILES += tsTest.dbd$(DEP)
tsTest_DBD += xRecord.dbd
TESTPROD_HOST += tsTest
tsTest_SRCS += tsTest.c
@@ -29,6 +30,7 @@ TESTFILES += $(COMMON_DIR)/tsTest.dbd ../xRecord.db
TESTS += tsTest
TARGETS += $(COMMON_DIR)/dbndTest.dbd
DBDDEPENDS_FILES += dbndTest.dbd$(DEP)
dbndTest_DBD += xRecord.dbd
TESTPROD_HOST += dbndTest
dbndTest_SRCS += dbndTest.c
@@ -39,6 +41,7 @@ TESTFILES += $(COMMON_DIR)/dbndTest.dbd
TESTS += dbndTest
TARGETS += $(COMMON_DIR)/arrTest.dbd
DBDDEPENDS_FILES += arrTest.dbd$(DEP)
arrTest_DBD += arrRecord.dbd
TESTPROD_HOST += arrTest
arrTest_SRCS += arrTest.cpp
@@ -49,6 +52,7 @@ TESTFILES += $(COMMON_DIR)/arrTest.dbd ../arrTest.db
TESTS += arrTest
TARGETS += $(COMMON_DIR)/syncTest.dbd
DBDDEPENDS_FILES += syncTest.dbd$(DEP)
syncTest_DBD += xRecord.dbd
TESTPROD_HOST += syncTest
syncTest_SRCS += syncTest.c

File diff suppressed because it is too large Load Diff

View File

@@ -3,13 +3,12 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
menu(aaiPOST) {
choice(aaiPOST_Always,"Always")
choice(aaiPOST_OnChange,"On Change")
choice(aaiPOST_Always,"Always")
choice(aaiPOST_OnChange,"On Change")
}
recordtype(aai) {
include "dbCommon.dbd"
@@ -25,44 +24,44 @@ recordtype(aai) {
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_ALARMS)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_BITS1)
promptgroup("40 - Input")
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units Name")
promptgroup(GUI_BITS2)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Range")
promptgroup(GUI_CALC)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_CLOCK)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(NELM,DBF_ULONG) {
prompt("Number of Elements")
promptgroup(GUI_COMPRESS)
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(FTVL,DBF_MENU) {
prompt("Field Type of Value")
promptgroup(GUI_CONVERT)
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
menu(menuFtype)
@@ -79,7 +78,7 @@ recordtype(aai) {
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_HIST)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -89,27 +88,27 @@ recordtype(aai) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(MPST,DBF_MENU) {
prompt("Post Value Monitors")
promptgroup(GUI_DISPLAY)
interest(1)
menu(aaiPOST)
prompt("Post Value Monitors")
promptgroup("80 - Display")
interest(1)
menu(aaiPOST)
}
field(APST,DBF_MENU) {
prompt("Post Archive Monitors")
promptgroup(GUI_DISPLAY)
interest(1)
menu(aaiPOST)
}
prompt("Post Archive Monitors")
promptgroup("80 - Display")
interest(1)
menu(aaiPOST)
}
field(HASH,DBF_ULONG) {
prompt("Hash of OnChange data.")
interest(3)

View File

@@ -3,13 +3,12 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
menu(aaoPOST) {
choice(aaoPOST_Always,"Always")
choice(aaoPOST_OnChange,"On Change")
choice(aaoPOST_Always,"Always")
choice(aaoPOST_OnChange,"On Change")
}
recordtype(aao) {
include "dbCommon.dbd"
@@ -25,44 +24,44 @@ recordtype(aao) {
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_ALARMS)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_BITS1)
promptgroup("50 - Output")
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units Name")
promptgroup(GUI_BITS2)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Range")
promptgroup(GUI_CALC)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_CLOCK)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(NELM,DBF_ULONG) {
prompt("Number of Elements")
promptgroup(GUI_COMPRESS)
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(FTVL,DBF_MENU) {
prompt("Field Type of Value")
promptgroup(GUI_CONVERT)
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
menu(menuFtype)
@@ -79,7 +78,7 @@ recordtype(aao) {
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_HIST)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -89,27 +88,27 @@ recordtype(aao) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(MPST,DBF_MENU) {
prompt("Post Value Monitors")
promptgroup(GUI_DISPLAY)
interest(1)
menu(aaoPOST)
prompt("Post Value Monitors")
promptgroup("80 - Display")
interest(1)
menu(aaoPOST)
}
field(APST,DBF_MENU) {
prompt("Post Archive Monitors")
promptgroup(GUI_DISPLAY)
interest(1)
menu(aaoPOST)
}
prompt("Post Archive Monitors")
promptgroup("80 - Display")
interest(1)
menu(aaoPOST)
}
field(HASH,DBF_ULONG) {
prompt("Hash of OnChange data.")
interest(3)

View File

@@ -217,24 +217,24 @@ monitoring functionality.
include "dbCommon.dbd"
field(VAL,DBF_DOUBLE) {
prompt("Current EGU Value")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
asl(ASL0)
pp(TRUE)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
prop(YES)
}
field(LINR,DBF_MENU) {
prompt("Linearization")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
special(SPC_LINCONV)
pp(TRUE)
interest(1)
@@ -242,133 +242,133 @@ monitoring functionality.
}
field(EGUF,DBF_DOUBLE) {
prompt("Engineer Units Full")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGUL,DBF_DOUBLE) {
prompt("Engineer Units Low")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
prop(YES)
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
prop(YES)
}
field(AOFF,DBF_DOUBLE) {
prompt("Adjustment Offset")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
pp(TRUE)
interest(1)
}
field(ASLO,DBF_DOUBLE) {
prompt("Adjustment Slope")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
pp(TRUE)
interest(1)
initial("1")
}
field(SMOO,DBF_DOUBLE) {
prompt("Smoothing")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
interest(1)
}
field(HIHI,DBF_DOUBLE) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
}
field(LOLO,DBF_DOUBLE) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
}
field(HIGH,DBF_DOUBLE) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
}
field(LOW,DBF_DOUBLE) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
interest(1)
}
field(AFTC,DBF_DOUBLE) {
prompt("Alarm Filter Time Constant")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(LALM,DBF_DOUBLE) {
@@ -393,14 +393,14 @@ monitoring functionality.
}
field(ESLO,DBF_DOUBLE) {
prompt("Raw to EGU Slope")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
pp(TRUE)
interest(2)
initial("1")
}
field(EOFF,DBF_DOUBLE) {
prompt("Raw to EGU Offset")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
pp(TRUE)
interest(2)
}
@@ -469,7 +469,7 @@ simulation mode.
field(SIOL,DBF_INLINK) {
prompt("Sim. Input Specification")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SVAL,DBF_DOUBLE) {
@@ -477,7 +477,7 @@ simulation mode.
}
field(SIML,DBF_INLINK) {
prompt("Sim. Mode Location")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -487,7 +487,7 @@ simulation mode.
}
field(SIMS,DBF_MENU) {
prompt("Simulation Mode Severity")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
@@ -610,7 +610,7 @@ values that the C<read_ai()> routine can put in the RVAL field.
When RVAL is set to I<RVAL_max> the VAL field will be set to EGUF, and when RVAL
is set to I<RVAL_min> the VAL field will become EGUL.
The fomulae to use are:
The formulae to use are:
=over

View File

@@ -273,7 +273,7 @@ information on these fields.
include "dbCommon.dbd"
field(VAL,DBF_DOUBLE) {
prompt("Desired Output")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
asl(ASL0)
pp(TRUE)
}
@@ -282,40 +282,40 @@ information on these fields.
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(OROC,DBF_DOUBLE) {
prompt("Output Rate of Change")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_OUTPUT)
promptgroup("40 - Input")
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
menu(menuOmsl)
}
field(OIF,DBF_MENU) {
prompt("Out Full/Incremental")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
menu(aoOIF)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
prop(YES)
}
field(LINR,DBF_MENU) {
prompt("Linearization")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
special(SPC_LINCONV)
pp(TRUE)
interest(1)
@@ -323,24 +323,24 @@ information on these fields.
}
field(EGUF,DBF_DOUBLE) {
prompt("Eng Units Full")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGUL,DBF_DOUBLE) {
prompt("Eng Units Low")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
prop(YES)
}
field(ROFF,DBF_ULONG) {
prompt("Raw Offset")
@@ -349,128 +349,128 @@ information on these fields.
}
field(EOFF,DBF_DOUBLE) {
prompt("EGU to Raw Offset")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
pp(TRUE)
interest(2)
}
field(ESLO,DBF_DOUBLE) {
prompt("EGU to Raw Slope")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
pp(TRUE)
interest(2)
initial("1")
}
field(DRVH,DBF_DOUBLE) {
prompt("Drive High Limit")
promptgroup(GUI_OUTPUT)
promptgroup("30 - Action")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
}
field(DRVL,DBF_DOUBLE) {
prompt("Drive Low Limit")
promptgroup(GUI_OUTPUT)
promptgroup("30 - Action")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
prop(YES)
}
field(AOFF,DBF_DOUBLE) {
prompt("Adjustment Offset")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
pp(TRUE)
interest(1)
}
field(ASLO,DBF_DOUBLE) {
prompt("Adjustment Slope")
promptgroup(GUI_CONVERT)
promptgroup("60 - Convert")
pp(TRUE)
interest(1)
}
field(HIHI,DBF_DOUBLE) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
}
field(LOLO,DBF_DOUBLE) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
}
field(HIGH,DBF_DOUBLE) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
}
field(LOW,DBF_DOUBLE) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
prop(YES)
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(RVAL,DBF_LONG) {
@@ -529,12 +529,12 @@ information on these fields.
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -544,19 +544,19 @@ information on these fields.
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID output action")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_DOUBLE) {
prompt("INVALID output value")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
}
field(OMOD,DBF_UCHAR) {

View File

@@ -3,47 +3,46 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
recordtype(bi) {
include "dbCommon.dbd"
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(VAL,DBF_ENUM) {
prompt("Current Value")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
asl(ASL0)
pp(TRUE)
}
field(ZSV,DBF_MENU) {
prompt("Zero Error Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(OSV,DBF_MENU) {
prompt("One Error Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(COSV,DBF_MENU) {
prompt("Change of State Svr")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ZNAM,DBF_STRING) {
prompt("Zero Name")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
pp(TRUE)
interest(1)
size(26)
@@ -51,7 +50,7 @@ recordtype(bi) {
}
field(ONAM,DBF_STRING) {
prompt("One Name")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
pp(TRUE)
interest(1)
size(26)
@@ -83,7 +82,7 @@ recordtype(bi) {
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SVAL,DBF_ULONG) {
@@ -91,7 +90,7 @@ recordtype(bi) {
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -101,7 +100,7 @@ recordtype(bi) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}

View File

@@ -3,42 +3,41 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
recordtype(bo) {
include "dbCommon.dbd"
field(VAL,DBF_ENUM) {
prompt("Current Value")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
asl(ASL0)
pp(TRUE)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
menu(menuOmsl)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_OUTPUT)
promptgroup("40 - Input")
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(HIGH,DBF_DOUBLE) {
prompt("Seconds to Hold High")
promptgroup(GUI_OUTPUT)
promptgroup("30 - Action")
interest(1)
}
field(ZNAM,DBF_STRING) {
prompt("Zero Name")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
pp(TRUE)
interest(1)
size(26)
@@ -46,7 +45,7 @@ recordtype(bo) {
}
field(ONAM,DBF_STRING) {
prompt("One Name")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
pp(TRUE)
interest(1)
size(26)
@@ -80,21 +79,21 @@ recordtype(bo) {
}
field(ZSV,DBF_MENU) {
prompt("Zero Error Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(OSV,DBF_MENU) {
prompt("One Error Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(COSV,DBF_MENU) {
prompt("Change of State Sevr")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
@@ -120,12 +119,12 @@ recordtype(bo) {
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -135,19 +134,19 @@ recordtype(bo) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID outpt action")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_USHORT) {
prompt("INVALID output value")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
}
}

View File

@@ -10,11 +10,12 @@ recordtype(calc) {
include "dbCommon.dbd"
field(VAL,DBF_DOUBLE) {
prompt("Result")
promptgroup("50 - Output")
asl(ASL0)
}
field(CALC,DBF_STRING) {
prompt("Calculation")
promptgroup(GUI_CALC)
promptgroup("30 - Action")
special(SPC_CALC)
pp(TRUE)
size(80)
@@ -22,120 +23,120 @@ recordtype(calc) {
}
field(INPA,DBF_INLINK) {
prompt("Input A")
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPB,DBF_INLINK) {
prompt("Input B")
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPC,DBF_INLINK) {
prompt("Input C")
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPD,DBF_INLINK) {
prompt("Input D")
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPE,DBF_INLINK) {
prompt("Input E")
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPF,DBF_INLINK) {
prompt("Input F")
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPG,DBF_INLINK) {
prompt("Input G")
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPH,DBF_INLINK) {
prompt("Input H")
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPI,DBF_INLINK) {
prompt("Input I")
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPJ,DBF_INLINK) {
prompt("Input J")
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPK,DBF_INLINK) {
prompt("Input K")
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPL,DBF_INLINK) {
prompt("Input L")
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Units Name")
promptgroup(GUI_DISPLAY)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Rng")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(HIHI,DBF_DOUBLE) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOLO,DBF_DOUBLE) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HIGH,DBF_DOUBLE) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOW,DBF_DOUBLE) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -143,7 +144,7 @@ recordtype(calc) {
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -151,7 +152,7 @@ recordtype(calc) {
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -159,35 +160,35 @@ recordtype(calc) {
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
menu(menuAlarmSevr)
}
field(AFTC, DBF_DOUBLE) {
prompt("Alarm Filter Time Constant")
promptgroup(GUI_ALARMS)
interest(1)
}
field(AFVL, DBF_DOUBLE) {
prompt("Alarm Filter Value")
special(SPC_NOMOD)
interest(3)
}
field(AFTC, DBF_DOUBLE) {
prompt("Alarm Filter Time Constant")
promptgroup("70 - Alarm")
interest(1)
}
field(AFVL, DBF_DOUBLE) {
prompt("Alarm Filter Value")
special(SPC_NOMOD)
interest(3)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(A,DBF_DOUBLE) {

View File

@@ -34,7 +34,7 @@ recordtype(calcout) {
}
field(VAL,DBF_DOUBLE) {
prompt("Result")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
asl(ASL0)
}
field(PVAL,DBF_DOUBLE) {
@@ -42,7 +42,7 @@ recordtype(calcout) {
}
field(CALC,DBF_STRING) {
prompt("Calculation")
promptgroup(GUI_CALC)
promptgroup("30 - Action")
special(SPC_CALC)
pp(TRUE)
size(80)
@@ -55,79 +55,79 @@ recordtype(calcout) {
field(INPA,DBF_INLINK) {
prompt("Input A")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPB,DBF_INLINK) {
prompt("Input B")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPC,DBF_INLINK) {
prompt("Input C")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPD,DBF_INLINK) {
prompt("Input D")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPE,DBF_INLINK) {
prompt("Input E")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPF,DBF_INLINK) {
prompt("Input F")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPG,DBF_INLINK) {
prompt("Input G")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPH,DBF_INLINK) {
prompt("Input H")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPI,DBF_INLINK) {
prompt("Input I")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPJ,DBF_INLINK) {
prompt("Input J")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPK,DBF_INLINK) {
prompt("Input K")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPL,DBF_INLINK) {
prompt("Input L")
special(SPC_MOD)
promptgroup(GUI_CALC)
promptgroup("42 - Input G-L")
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
special(SPC_MOD)
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(INAV,DBF_MENU) {
@@ -222,13 +222,13 @@ recordtype(calcout) {
}
field(OOPT,DBF_MENU) {
prompt("Output Execute Opt")
promptgroup(GUI_CALC)
promptgroup("50 - Output")
interest(1)
menu(calcoutOOPT)
}
field(ODLY,DBF_DOUBLE) {
prompt("Output Execute Delay")
promptgroup(GUI_ALARMS)
promptgroup("50 - Output")
asl(ASL0)
interest(1)
}
@@ -239,13 +239,13 @@ recordtype(calcout) {
}
field(DOPT,DBF_MENU) {
prompt("Output Data Opt")
promptgroup(GUI_CALC)
promptgroup("30 - Action")
interest(1)
menu(calcoutDOPT)
}
field(OCAL,DBF_STRING) {
prompt("Output Calculation")
promptgroup(GUI_CALC)
promptgroup("30 - Action")
special(SPC_CALC)
pp(TRUE)
size(80)
@@ -257,7 +257,7 @@ recordtype(calcout) {
}
field(OEVT,DBF_STRING) {
prompt("Event To Issue")
promptgroup(GUI_CLOCK)
promptgroup("30 - Action")
special(SPC_MOD)
asl(ASL0)
size(40)
@@ -271,71 +271,71 @@ recordtype(calcout) {
}
field(IVOA,DBF_MENU) {
prompt("INVALID output action")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_DOUBLE) {
prompt("INVALID output value")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
}
field(EGU,DBF_STRING) {
prompt("Units Name")
promptgroup(GUI_DISPLAY)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Rng")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(HIHI,DBF_DOUBLE) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOLO,DBF_DOUBLE) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HIGH,DBF_DOUBLE) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOW,DBF_DOUBLE) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -343,7 +343,7 @@ recordtype(calcout) {
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -351,7 +351,7 @@ recordtype(calcout) {
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -359,7 +359,7 @@ recordtype(calcout) {
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -367,17 +367,17 @@ recordtype(calcout) {
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(A,DBF_DOUBLE) {

View File

@@ -60,7 +60,7 @@ recordtype(compress) {
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_COMPRESS)
promptgroup("40 - Input")
interest(1)
}
field(RES,DBF_SHORT) {
@@ -71,56 +71,56 @@ recordtype(compress) {
}
field(ALG,DBF_MENU) {
prompt("Compression Algorithm")
promptgroup(GUI_ALARMS)
promptgroup("30 - Action")
special(SPC_RESET)
interest(1)
menu(compressALG)
}
field(NSAM,DBF_ULONG) {
prompt("Number of Values")
promptgroup(GUI_COMPRESS)
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(N,DBF_ULONG) {
prompt("N to 1 Compression")
promptgroup(GUI_COMPRESS)
promptgroup("30 - Action")
special(SPC_RESET)
interest(1)
initial("1")
}
field(IHIL,DBF_DOUBLE) {
prompt("Init High Interest Lim")
promptgroup(GUI_COMPRESS)
promptgroup("30 - Action")
interest(1)
}
field(ILIL,DBF_DOUBLE) {
prompt("Init Low Interest Lim")
promptgroup(GUI_COMPRESS)
promptgroup("30 - Action")
interest(1)
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(EGU,DBF_STRING) {
prompt("EngineeringUnits")
promptgroup(GUI_DISPLAY)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)

View File

@@ -3,145 +3,145 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
menu(dfanoutSELM) {
choice(dfanoutSELM_All,"All")
choice(dfanoutSELM_Specified,"Specified")
choice(dfanoutSELM_Mask,"Mask")
choice(dfanoutSELM_All,"All")
choice(dfanoutSELM_Specified,"Specified")
choice(dfanoutSELM_Mask,"Mask")
}
recordtype(dfanout) {
include "dbCommon.dbd"
field(VAL,DBF_DOUBLE) {
prompt("Desired Output")
promptgroup("40 - Input")
asl(ASL0)
pp(TRUE)
}
field(SELM,DBF_MENU) {
prompt("Select Mechanism")
promptgroup(GUI_LINKS)
interest(1)
menu(dfanoutSELM)
}
field(SELN,DBF_USHORT) {
prompt("Link Selection")
interest(1)
initial("1")
}
field(SELL,DBF_INLINK) {
prompt("Link Selection Loc")
promptgroup(GUI_LINKS)
interest(1)
}
field(SELM,DBF_MENU) {
prompt("Select Mechanism")
promptgroup("30 - Action")
interest(1)
menu(dfanoutSELM)
}
field(SELN,DBF_USHORT) {
prompt("Link Selection")
interest(1)
initial("1")
}
field(SELL,DBF_INLINK) {
prompt("Link Selection Loc")
promptgroup("30 - Action")
interest(1)
}
field(OUTA,DBF_OUTLINK) {
prompt("Output Spec A")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(OUTB,DBF_OUTLINK) {
prompt("Output Spec B")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(OUTC,DBF_OUTLINK) {
prompt("Output Spec C")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(OUTD,DBF_OUTLINK) {
prompt("Output Spec D")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(OUTE,DBF_OUTLINK) {
prompt("Output Spec E")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(OUTF,DBF_OUTLINK) {
prompt("Output Spec F")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(OUTG,DBF_OUTLINK) {
prompt("Output Spec G")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(OUTH,DBF_OUTLINK) {
prompt("Output Spec H")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
menu(menuOmsl)
}
field(EGU,DBF_STRING) {
prompt("Units name")
promptgroup(GUI_DISPLAY)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup("80 - Display")
interest(1)
prop(YES)
}
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(HIHI,DBF_DOUBLE) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOLO,DBF_DOUBLE) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HIGH,DBF_DOUBLE) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOW,DBF_DOUBLE) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -149,7 +149,7 @@ recordtype(dfanout) {
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -157,7 +157,7 @@ recordtype(dfanout) {
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -165,7 +165,7 @@ recordtype(dfanout) {
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -173,17 +173,17 @@ recordtype(dfanout) {
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(LALM,DBF_DOUBLE) {

View File

@@ -3,15 +3,14 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
recordtype(event) {
include "dbCommon.dbd"
field(VAL,DBF_STRING) {
prompt("Event Name To Post")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
special(SPC_MOD)
asl(ASL0)
size(40)
@@ -25,12 +24,12 @@ recordtype(event) {
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SVAL,DBF_STRING) {
@@ -39,7 +38,7 @@ recordtype(event) {
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -49,7 +48,7 @@ recordtype(event) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}

View File

@@ -20,7 +20,7 @@ recordtype(fanout) {
}
field(SELM,DBF_MENU) {
prompt("Select Mechanism")
promptgroup(GUI_LINKS)
promptgroup("30 - Action")
interest(1)
menu(fanoutSELM)
}
@@ -31,7 +31,7 @@ recordtype(fanout) {
}
field(SELL,DBF_INLINK) {
prompt("Link Selection Loc")
promptgroup(GUI_LINKS)
promptgroup("30 - Action")
interest(1)
}
field(OFFS,DBF_SHORT) {
@@ -46,82 +46,82 @@ recordtype(fanout) {
}
field(LNK0,DBF_FWDLINK) {
prompt("Forward Link 0")
promptgroup(GUI_LINKS)
promptgroup("51 - Output 0-7")
interest(1)
}
field(LNK1,DBF_FWDLINK) {
prompt("Forward Link 1")
promptgroup(GUI_LINKS)
promptgroup("51 - Output 0-7")
interest(1)
}
field(LNK2,DBF_FWDLINK) {
prompt("Forward Link 2")
promptgroup(GUI_LINKS)
promptgroup("51 - Output 0-7")
interest(1)
}
field(LNK3,DBF_FWDLINK) {
prompt("Forward Link 3")
promptgroup(GUI_LINKS)
promptgroup("51 - Output 0-7")
interest(1)
}
field(LNK4,DBF_FWDLINK) {
prompt("Forward Link 4")
promptgroup(GUI_LINKS)
promptgroup("51 - Output 0-7")
interest(1)
}
field(LNK5,DBF_FWDLINK) {
prompt("Forward Link 5")
promptgroup(GUI_LINKS)
promptgroup("51 - Output 0-7")
interest(1)
}
field(LNK6,DBF_FWDLINK) {
prompt("Forward Link 6")
promptgroup(GUI_LINKS)
promptgroup("51 - Output 0-7")
interest(1)
}
field(LNK7,DBF_FWDLINK) {
prompt("Forward Link 7")
promptgroup(GUI_LINKS)
promptgroup("51 - Output 0-7")
interest(1)
}
field(LNK8,DBF_FWDLINK) {
prompt("Forward Link 8")
promptgroup(GUI_LINKS)
promptgroup("52 - Output 8-F")
interest(1)
}
field(LNK9,DBF_FWDLINK) {
prompt("Forward Link 9")
promptgroup(GUI_LINKS)
promptgroup("52 - Output 8-F")
interest(1)
}
field(LNKA,DBF_FWDLINK) {
prompt("Forward Link 10")
promptgroup(GUI_LINKS)
promptgroup("52 - Output 8-F")
interest(1)
}
field(LNKB,DBF_FWDLINK) {
prompt("Forward Link 11")
promptgroup(GUI_LINKS)
promptgroup("52 - Output 8-F")
interest(1)
}
field(LNKC,DBF_FWDLINK) {
prompt("Forward Link 12")
promptgroup(GUI_LINKS)
promptgroup("52 - Output 8-F")
interest(1)
}
field(LNKD,DBF_FWDLINK) {
prompt("Forward Link 13")
promptgroup(GUI_LINKS)
promptgroup("52 - Output 8-F")
interest(1)
}
field(LNKE,DBF_FWDLINK) {
prompt("Forward Link 14")
promptgroup(GUI_LINKS)
promptgroup("52 - Output 8-F")
interest(1)
}
field(LNKF,DBF_FWDLINK) {
prompt("Forward Link 15")
promptgroup(GUI_LINKS)
promptgroup("52 - Output 8-F")
interest(1)
}
}

View File

@@ -3,9 +3,8 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
menu(histogramCMD) {
choice(histogramCMD_Read,"Read")
@@ -26,7 +25,7 @@ recordtype(histogram) {
}
field(NELM,DBF_USHORT) {
prompt("Num of Array Elements")
promptgroup(GUI_HIST)
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
initial("1")
@@ -46,14 +45,14 @@ recordtype(histogram) {
}
field(ULIM,DBF_DOUBLE) {
prompt("Upper Signal Limit")
promptgroup(GUI_HIST)
promptgroup("30 - Action")
special(SPC_RESET)
interest(1)
prop(YES)
}
field(LLIM,DBF_DOUBLE) {
prompt("Lower Signal Limit ")
promptgroup(GUI_HIST)
promptgroup("30 - Action")
special(SPC_RESET)
interest(1)
prop(YES)
@@ -69,13 +68,13 @@ recordtype(histogram) {
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(SVL,DBF_INLINK) {
prompt("Signal Value Location")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(BPTR,DBF_NOACCESS) {
@@ -92,7 +91,7 @@ recordtype(histogram) {
}
field(MDEL,DBF_SHORT) {
prompt("Monitor Count Deadband")
promptgroup(GUI_HIST)
promptgroup("80 - Display")
interest(1)
}
field(MCNT,DBF_SHORT) {
@@ -102,13 +101,13 @@ recordtype(histogram) {
}
field(SDEL,DBF_DOUBLE) {
prompt("Monitor Seconds Dband")
promptgroup(GUI_HIST)
promptgroup("80 - Display")
special(SPC_RESET)
interest(1)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SVAL,DBF_DOUBLE) {
@@ -116,7 +115,7 @@ recordtype(histogram) {
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -126,19 +125,19 @@ recordtype(histogram) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(HOPR,DBF_ULONG) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_ULONG) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}

View File

@@ -3,121 +3,120 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
recordtype(longin) {
include "dbCommon.dbd"
field(VAL,DBF_LONG) {
prompt("Current value")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
asl(ASL0)
pp(TRUE)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Units name")
promptgroup(GUI_DISPLAY)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
}
field(HOPR,DBF_LONG) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_LONG) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(HIHI,DBF_LONG) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOLO,DBF_LONG) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HIGH,DBF_LONG) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOW,DBF_LONG) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_LONG) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
interest(1)
}
field(AFTC, DBF_DOUBLE) {
prompt("Alarm Filter Time Constant")
promptgroup(GUI_ALARMS)
interest(1)
prompt("Alarm Filter Time Constant")
promptgroup("70 - Alarm")
interest(1)
}
field(AFVL, DBF_DOUBLE) {
prompt("Alarm Filter Value")
special(SPC_NOMOD)
interest(3)
prompt("Alarm Filter Value")
special(SPC_NOMOD)
interest(3)
}
field(ADEL,DBF_LONG) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(MDEL,DBF_LONG) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(LALM,DBF_LONG) {
@@ -137,7 +136,7 @@ recordtype(longin) {
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SVAL,DBF_LONG) {
@@ -145,7 +144,7 @@ recordtype(longin) {
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -155,7 +154,7 @@ recordtype(longin) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}

View File

@@ -3,136 +3,135 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
recordtype(longout) {
include "dbCommon.dbd"
field(VAL,DBF_LONG) {
prompt("Desired Output")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
asl(ASL0)
pp(TRUE)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_OUTPUT)
promptgroup("40 - Input")
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
menu(menuOmsl)
}
field(EGU,DBF_STRING) {
prompt("Units name")
promptgroup(GUI_DISPLAY)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
}
field(DRVH,DBF_LONG) {
prompt("Drive High Limit")
promptgroup(GUI_OUTPUT)
promptgroup("30 - Action")
pp(TRUE)
interest(1)
prop(YES)
}
field(DRVL,DBF_LONG) {
prompt("Drive Low Limit")
promptgroup(GUI_OUTPUT)
promptgroup("30 - Action")
pp(TRUE)
interest(1)
prop(YES)
}
field(HOPR,DBF_LONG) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_LONG) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(HIHI,DBF_LONG) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOLO,DBF_LONG) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HIGH,DBF_LONG) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOW,DBF_LONG) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_LONG) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
interest(1)
}
field(ADEL,DBF_LONG) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(MDEL,DBF_LONG) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(LALM,DBF_LONG) {
@@ -152,12 +151,12 @@ recordtype(longout) {
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -167,19 +166,19 @@ recordtype(longout) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID output action")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_LONG) {
prompt("INVALID output value")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
}
}

View File

@@ -34,7 +34,7 @@ recordtype(lsi) {
}
field(SIZV,DBF_USHORT) {
prompt("Size of buffers")
promptgroup(GUI_OUTPUT)
promptgroup("40 - Input")
special(SPC_NOMOD)
interest(1)
initial("41")
@@ -49,24 +49,24 @@ recordtype(lsi) {
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(MPST,DBF_MENU) {
prompt("Post Value Monitors")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
menu(menuPost)
}
field(APST,DBF_MENU) {
prompt("Post Archive Monitors")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
menu(menuPost)
}
field(SIML,DBF_INLINK) {
prompt("Simulation Mode Link")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
}
field(SIMM,DBF_MENU) {
@@ -76,13 +76,13 @@ recordtype(lsi) {
}
field(SIMS,DBF_MENU) {
prompt("Simulation Mode Severity")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
}
}

View File

@@ -34,7 +34,7 @@ recordtype(lso) {
}
field(SIZV,DBF_USHORT) {
prompt("Size of buffers")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
special(SPC_NOMOD)
interest(1)
initial("41")
@@ -50,47 +50,47 @@ recordtype(lso) {
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Link")
promptgroup(GUI_OUTPUT)
promptgroup("40 - Input")
interest(1)
}
field(IVOA,DBF_MENU) {
prompt("INVALID Output Action")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_STRING) {
prompt("INVALID Output Value")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
size(40)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
menu(menuOmsl)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(MPST,DBF_MENU) {
prompt("Post Value Monitors")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
menu(menuPost)
}
field(APST,DBF_MENU) {
prompt("Post Archive Monitors")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
menu(menuPost)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode link")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -100,13 +100,13 @@ recordtype(lso) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
}

View File

@@ -120,9 +120,9 @@ static long init_record(mbbiDirectRecord *prec, int pass)
if (prec->siol.type == CONSTANT)
recGblInitConstantLink(&prec->siol, DBF_USHORT, &prec->sval);
/* Initialize MASK if the user didn't */
if (prec->mask == 0)
prec->mask = (1 << prec->nobt) - 1;
/* Initialize MASK if the user set NOBT instead */
if (prec->mask == 0 && prec->nobt <= 32)
prec->mask = ((epicsUInt64) 1u << prec->nobt) - 1;
if (pdset->init_record) {
status = pdset->init_record(prec);

View File

@@ -10,19 +10,19 @@ recordtype(mbbiDirect) {
include "dbCommon.dbd"
field(VAL,DBF_USHORT) {
prompt("Current Value")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
asl(ASL0)
pp(TRUE)
}
field(NOBT,DBF_SHORT) {
prompt("Number of Bits")
promptgroup(GUI_MBB)
promptgroup("40 - Input")
special(SPC_NOMOD)
interest(1)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_MBB)
promptgroup("40 - Input")
interest(1)
}
field(RVAL,DBF_ULONG) {
@@ -46,12 +46,12 @@ recordtype(mbbiDirect) {
}
field(SHFT,DBF_USHORT) {
prompt("Shift")
promptgroup(GUI_MBB)
promptgroup("40 - Input")
interest(1)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(1)
}
field(SVAL,DBF_ULONG) {
@@ -59,7 +59,7 @@ recordtype(mbbiDirect) {
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -69,7 +69,7 @@ recordtype(mbbiDirect) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}

View File

@@ -137,9 +137,9 @@ static long init_record(mbbiRecord *prec, int pass)
if (prec->siol.type == CONSTANT)
recGblInitConstantLink(&prec->siol, DBF_USHORT, &prec->sval);
/* Initialize MASK if the user didn't */
if (prec->mask == 0)
prec->mask = (1 << prec->nobt) - 1;
/* Initialize MASK if the user set NOBT instead */
if (prec->mask == 0 && prec->nobt <= 32)
prec->mask = ((epicsUInt64) 1u << prec->nobt) - 1;
if (pdset->init_record)
status = pdset->init_record(prec);

View File

@@ -3,32 +3,31 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
recordtype(mbbi) {
include "dbCommon.dbd"
field(VAL,DBF_ENUM) {
prompt("Current Value")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
asl(ASL0)
pp(TRUE)
}
field(NOBT,DBF_SHORT) {
field(NOBT,DBF_USHORT) {
prompt("Number of Bits")
promptgroup(GUI_MBB)
promptgroup("40 - Input")
special(SPC_NOMOD)
interest(1)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_MBB)
promptgroup("40 - Input")
interest(1)
}
field(ZRVL,DBF_ULONG) {
prompt("Zero Value")
promptgroup(GUI_BITS1)
promptgroup("41 - Input 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -36,7 +35,7 @@ recordtype(mbbi) {
}
field(ONVL,DBF_ULONG) {
prompt("One Value")
promptgroup(GUI_BITS1)
promptgroup("41 - Input 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -44,7 +43,7 @@ recordtype(mbbi) {
}
field(TWVL,DBF_ULONG) {
prompt("Two Value")
promptgroup(GUI_BITS1)
promptgroup("41 - Input 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -52,7 +51,7 @@ recordtype(mbbi) {
}
field(THVL,DBF_ULONG) {
prompt("Three Value")
promptgroup(GUI_BITS1)
promptgroup("41 - Input 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -60,7 +59,7 @@ recordtype(mbbi) {
}
field(FRVL,DBF_ULONG) {
prompt("Four Value")
promptgroup(GUI_BITS1)
promptgroup("41 - Input 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -68,7 +67,7 @@ recordtype(mbbi) {
}
field(FVVL,DBF_ULONG) {
prompt("Five Value")
promptgroup(GUI_BITS1)
promptgroup("41 - Input 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -76,7 +75,7 @@ recordtype(mbbi) {
}
field(SXVL,DBF_ULONG) {
prompt("Six Value")
promptgroup(GUI_BITS1)
promptgroup("41 - Input 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -84,7 +83,7 @@ recordtype(mbbi) {
}
field(SVVL,DBF_ULONG) {
prompt("Seven Value")
promptgroup(GUI_BITS1)
promptgroup("41 - Input 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -92,7 +91,7 @@ recordtype(mbbi) {
}
field(EIVL,DBF_ULONG) {
prompt("Eight Value")
promptgroup(GUI_BITS2)
promptgroup("42 - Input 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -100,7 +99,7 @@ recordtype(mbbi) {
}
field(NIVL,DBF_ULONG) {
prompt("Nine Value")
promptgroup(GUI_BITS2)
promptgroup("42 - Input 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -108,7 +107,7 @@ recordtype(mbbi) {
}
field(TEVL,DBF_ULONG) {
prompt("Ten Value")
promptgroup(GUI_BITS2)
promptgroup("42 - Input 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -116,7 +115,7 @@ recordtype(mbbi) {
}
field(ELVL,DBF_ULONG) {
prompt("Eleven Value")
promptgroup(GUI_BITS2)
promptgroup("42 - Input 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -124,7 +123,7 @@ recordtype(mbbi) {
}
field(TVVL,DBF_ULONG) {
prompt("Twelve Value")
promptgroup(GUI_BITS2)
promptgroup("42 - Input 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -132,7 +131,7 @@ recordtype(mbbi) {
}
field(TTVL,DBF_ULONG) {
prompt("Thirteen Value")
promptgroup(GUI_BITS2)
promptgroup("42 - Input 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -140,7 +139,7 @@ recordtype(mbbi) {
}
field(FTVL,DBF_ULONG) {
prompt("Fourteen Value")
promptgroup(GUI_BITS2)
promptgroup("42 - Input 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -148,7 +147,7 @@ recordtype(mbbi) {
}
field(FFVL,DBF_ULONG) {
prompt("Fifteen Value")
promptgroup(GUI_BITS2)
promptgroup("42 - Input 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -156,7 +155,7 @@ recordtype(mbbi) {
}
field(ZRST,DBF_STRING) {
prompt("Zero String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -164,7 +163,7 @@ recordtype(mbbi) {
}
field(ONST,DBF_STRING) {
prompt("One String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -172,7 +171,7 @@ recordtype(mbbi) {
}
field(TWST,DBF_STRING) {
prompt("Two String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -180,7 +179,7 @@ recordtype(mbbi) {
}
field(THST,DBF_STRING) {
prompt("Three String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -188,7 +187,7 @@ recordtype(mbbi) {
}
field(FRST,DBF_STRING) {
prompt("Four String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -196,7 +195,7 @@ recordtype(mbbi) {
}
field(FVST,DBF_STRING) {
prompt("Five String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -204,7 +203,7 @@ recordtype(mbbi) {
}
field(SXST,DBF_STRING) {
prompt("Six String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -212,7 +211,7 @@ recordtype(mbbi) {
}
field(SVST,DBF_STRING) {
prompt("Seven String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -220,7 +219,7 @@ recordtype(mbbi) {
}
field(EIST,DBF_STRING) {
prompt("Eight String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -228,7 +227,7 @@ recordtype(mbbi) {
}
field(NIST,DBF_STRING) {
prompt("Nine String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -236,7 +235,7 @@ recordtype(mbbi) {
}
field(TEST,DBF_STRING) {
prompt("Ten String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -244,7 +243,7 @@ recordtype(mbbi) {
}
field(ELST,DBF_STRING) {
prompt("Eleven String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -252,7 +251,7 @@ recordtype(mbbi) {
}
field(TVST,DBF_STRING) {
prompt("Twelve String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -260,7 +259,7 @@ recordtype(mbbi) {
}
field(TTST,DBF_STRING) {
prompt("Thirteen String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -268,7 +267,7 @@ recordtype(mbbi) {
}
field(FTST,DBF_STRING) {
prompt("Fourteen String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -276,7 +275,7 @@ recordtype(mbbi) {
}
field(FFST,DBF_STRING) {
prompt("Fifteen String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -284,136 +283,136 @@ recordtype(mbbi) {
}
field(ZRSV,DBF_MENU) {
prompt("State Zero Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ONSV,DBF_MENU) {
prompt("State One Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TWSV,DBF_MENU) {
prompt("State Two Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(THSV,DBF_MENU) {
prompt("State Three Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FRSV,DBF_MENU) {
prompt("State Four Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FVSV,DBF_MENU) {
prompt("State Five Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(SXSV,DBF_MENU) {
prompt("State Six Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(SVSV,DBF_MENU) {
prompt("State Seven Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(EISV,DBF_MENU) {
prompt("State Eight Severity")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(NISV,DBF_MENU) {
prompt("State Nine Severity")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TESV,DBF_MENU) {
prompt("State Ten Severity")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ELSV,DBF_MENU) {
prompt("State Eleven Severity")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TVSV,DBF_MENU) {
prompt("State Twelve Severity")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TTSV,DBF_MENU) {
prompt("State Thirteen Sevr")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FTSV,DBF_MENU) {
prompt("State Fourteen Sevr")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FFSV,DBF_MENU) {
prompt("State Fifteen Severity")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(AFTC, DBF_DOUBLE) {
prompt("Alarm Filter Time Constant")
promptgroup(GUI_ALARMS)
interest(1)
}
field(AFVL, DBF_DOUBLE) {
prompt("Alarm Filter Value")
special(SPC_NOMOD)
interest(3)
}
field(AFTC, DBF_DOUBLE) {
prompt("Alarm Filter Time Constant")
promptgroup("70 - Alarm")
interest(1)
}
field(AFVL, DBF_DOUBLE) {
prompt("Alarm Filter Value")
special(SPC_NOMOD)
interest(3)
}
field(UNSV,DBF_MENU) {
prompt("Unknown State Severity")
promptgroup(GUI_MBB)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(COSV,DBF_MENU) {
prompt("Change of State Svr")
promptgroup(GUI_MBB)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
@@ -449,12 +448,12 @@ recordtype(mbbi) {
}
field(SHFT,DBF_USHORT) {
prompt("Shift")
promptgroup(GUI_MBB)
promptgroup("40 - Input")
interest(1)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(1)
}
field(SVAL,DBF_ULONG) {
@@ -462,7 +461,7 @@ recordtype(mbbi) {
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -472,7 +471,7 @@ recordtype(mbbi) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}

View File

@@ -123,9 +123,9 @@ static long init_record(mbboDirectRecord *prec, int pass)
if (recGblInitConstantLink(&prec->dol, DBF_USHORT, &prec->val))
prec->udf = FALSE;
/* Initialize MASK if the user didn't */
if (prec->mask == 0)
prec->mask = (1 << prec->nobt) - 1;
/* Initialize MASK if the user set NOBT instead */
if (prec->mask == 0 && prec->nobt <= 32)
prec->mask = ((epicsUInt64) 1u << prec->nobt) - 1;
if (pdset->init_record) {
status = pdset->init_record(prec);

View File

@@ -10,13 +10,13 @@ recordtype(mbboDirect) {
include "dbCommon.dbd"
field(VAL,DBF_USHORT) {
prompt("Word")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
asl(ASL0)
pp(TRUE)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
special(SPC_RESET)
pp(TRUE)
interest(1)
@@ -24,128 +24,128 @@ recordtype(mbboDirect) {
}
field(NOBT,DBF_SHORT) {
prompt("Number of Bits")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
special(SPC_NOMOD)
interest(1)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_MBB)
promptgroup("40 - Input")
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
interest(1)
}
field(B0,DBF_UCHAR) {
prompt("Bit 0")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B1,DBF_UCHAR) {
prompt("Bit 1")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B2,DBF_UCHAR) {
prompt("Bit 2")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B3,DBF_UCHAR) {
prompt("Bit 3")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B4,DBF_UCHAR) {
prompt("Bit 4")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B5,DBF_UCHAR) {
prompt("Bit 5")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B6,DBF_UCHAR) {
prompt("Bit 6")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B7,DBF_UCHAR) {
prompt("Bit 7")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B8,DBF_UCHAR) {
prompt("Bit 8")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 9-F")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B9,DBF_UCHAR) {
prompt("Bit 9")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 9-F")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BA,DBF_UCHAR) {
prompt("Bit 10")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 9-F")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BB,DBF_UCHAR) {
prompt("Bit 11")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 9-F")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BC,DBF_UCHAR) {
prompt("Bit 12")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 9-F")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BD,DBF_UCHAR) {
prompt("Bit 13")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 9-F")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BE,DBF_UCHAR) {
prompt("Bit 14")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 9-F")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BF,DBF_UCHAR) {
prompt("Bit 15")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 9-F")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -181,17 +181,17 @@ recordtype(mbboDirect) {
}
field(SHFT,DBF_ULONG) {
prompt("Shift")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
interest(1)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -201,19 +201,19 @@ recordtype(mbboDirect) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID outpt action")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_USHORT) {
prompt("INVALID output value")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
interest(2)
}
}

View File

@@ -143,9 +143,9 @@ static long init_record(mbboRecord *prec, int pass)
if (recGblInitConstantLink(&prec->dol, DBF_USHORT, &prec->val))
prec->udf = FALSE;
/* Initialize MASK if the user didn't */
if (prec->mask == 0)
prec->mask = (1 << prec->nobt) - 1;
/* Initialize MASK if the user set NOBT instead */
if (prec->mask == 0 && prec->nobt <= 32)
prec->mask = ((epicsUInt64) 1u << prec->nobt) - 1;
if (pdset->init_record) {
status = pdset->init_record(prec);

View File

@@ -3,15 +3,14 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
recordtype(mbbo) {
include "dbCommon.dbd"
field(VAL,DBF_ENUM) {
prompt("Desired Value")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
special(SPC_DBADDR)
asl(ASL0)
pp(TRUE)
@@ -20,29 +19,29 @@ recordtype(mbbo) {
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_MBB)
promptgroup("40 - Input")
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
interest(1)
menu(menuOmsl)
}
field(NOBT,DBF_SHORT) {
field(NOBT,DBF_USHORT) {
prompt("Number of Bits")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
special(SPC_NOMOD)
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
interest(1)
}
field(ZRVL,DBF_ULONG) {
prompt("Zero Value")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -50,7 +49,7 @@ recordtype(mbbo) {
}
field(ONVL,DBF_ULONG) {
prompt("One Value")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -58,7 +57,7 @@ recordtype(mbbo) {
}
field(TWVL,DBF_ULONG) {
prompt("Two Value")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -66,7 +65,7 @@ recordtype(mbbo) {
}
field(THVL,DBF_ULONG) {
prompt("Three Value")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -74,7 +73,7 @@ recordtype(mbbo) {
}
field(FRVL,DBF_ULONG) {
prompt("Four Value")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -82,7 +81,7 @@ recordtype(mbbo) {
}
field(FVVL,DBF_ULONG) {
prompt("Five Value")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -90,7 +89,7 @@ recordtype(mbbo) {
}
field(SXVL,DBF_ULONG) {
prompt("Six Value")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -98,7 +97,7 @@ recordtype(mbbo) {
}
field(SVVL,DBF_ULONG) {
prompt("Seven Value")
promptgroup(GUI_BITS1)
promptgroup("51 - Output 0-7")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -106,7 +105,7 @@ recordtype(mbbo) {
}
field(EIVL,DBF_ULONG) {
prompt("Eight Value")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -114,7 +113,7 @@ recordtype(mbbo) {
}
field(NIVL,DBF_ULONG) {
prompt("Nine Value")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -122,7 +121,7 @@ recordtype(mbbo) {
}
field(TEVL,DBF_ULONG) {
prompt("Ten Value")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -130,7 +129,7 @@ recordtype(mbbo) {
}
field(ELVL,DBF_ULONG) {
prompt("Eleven Value")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -138,7 +137,7 @@ recordtype(mbbo) {
}
field(TVVL,DBF_ULONG) {
prompt("Twelve Value")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -146,7 +145,7 @@ recordtype(mbbo) {
}
field(TTVL,DBF_ULONG) {
prompt("Thirteen Value")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -154,7 +153,7 @@ recordtype(mbbo) {
}
field(FTVL,DBF_ULONG) {
prompt("Fourteen Value")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -162,7 +161,7 @@ recordtype(mbbo) {
}
field(FFVL,DBF_ULONG) {
prompt("Fifteen Value")
promptgroup(GUI_BITS2)
promptgroup("52 - Output 8-15")
special(SPC_MOD)
pp(TRUE)
base(HEX)
@@ -170,7 +169,7 @@ recordtype(mbbo) {
}
field(ZRST,DBF_STRING) {
prompt("Zero String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -178,7 +177,7 @@ recordtype(mbbo) {
}
field(ONST,DBF_STRING) {
prompt("One String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -186,7 +185,7 @@ recordtype(mbbo) {
}
field(TWST,DBF_STRING) {
prompt("Two String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -194,7 +193,7 @@ recordtype(mbbo) {
}
field(THST,DBF_STRING) {
prompt("Three String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -202,7 +201,7 @@ recordtype(mbbo) {
}
field(FRST,DBF_STRING) {
prompt("Four String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -210,7 +209,7 @@ recordtype(mbbo) {
}
field(FVST,DBF_STRING) {
prompt("Five String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -218,7 +217,7 @@ recordtype(mbbo) {
}
field(SXST,DBF_STRING) {
prompt("Six String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -226,7 +225,7 @@ recordtype(mbbo) {
}
field(SVST,DBF_STRING) {
prompt("Seven String")
promptgroup(GUI_BITS1)
promptgroup("81 - Display 0-7")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -234,7 +233,7 @@ recordtype(mbbo) {
}
field(EIST,DBF_STRING) {
prompt("Eight String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -242,7 +241,7 @@ recordtype(mbbo) {
}
field(NIST,DBF_STRING) {
prompt("Nine String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -250,7 +249,7 @@ recordtype(mbbo) {
}
field(TEST,DBF_STRING) {
prompt("Ten String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -258,7 +257,7 @@ recordtype(mbbo) {
}
field(ELST,DBF_STRING) {
prompt("Eleven String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -266,7 +265,7 @@ recordtype(mbbo) {
}
field(TVST,DBF_STRING) {
prompt("Twelve String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -274,7 +273,7 @@ recordtype(mbbo) {
}
field(TTST,DBF_STRING) {
prompt("Thirteen String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -282,7 +281,7 @@ recordtype(mbbo) {
}
field(FTST,DBF_STRING) {
prompt("Fourteen String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -290,7 +289,7 @@ recordtype(mbbo) {
}
field(FFST,DBF_STRING) {
prompt("Fifteen String")
promptgroup(GUI_BITS2)
promptgroup("82 - Display 8-15")
special(SPC_MOD)
pp(TRUE)
interest(1)
@@ -298,126 +297,126 @@ recordtype(mbbo) {
}
field(ZRSV,DBF_MENU) {
prompt("State Zero Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ONSV,DBF_MENU) {
prompt("State One Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TWSV,DBF_MENU) {
prompt("State Two Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(THSV,DBF_MENU) {
prompt("State Three Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FRSV,DBF_MENU) {
prompt("State Four Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FVSV,DBF_MENU) {
prompt("State Five Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(SXSV,DBF_MENU) {
prompt("State Six Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(SVSV,DBF_MENU) {
prompt("State Seven Severity")
promptgroup(GUI_BITS1)
promptgroup("71 - Alarm 0-7")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(EISV,DBF_MENU) {
prompt("State Eight Severity")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(NISV,DBF_MENU) {
prompt("State Nine Severity")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TESV,DBF_MENU) {
prompt("State Ten Severity")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ELSV,DBF_MENU) {
prompt("State Eleven Severity")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TVSV,DBF_MENU) {
prompt("State Twelve Severity")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TTSV,DBF_MENU) {
prompt("State Thirteen Sevr")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FTSV,DBF_MENU) {
prompt("State Fourteen Sevr")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FFSV,DBF_MENU) {
prompt("State Fifteen Sevr")
promptgroup(GUI_BITS2)
promptgroup("72 - Alarm 8-15")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(UNSV,DBF_MENU) {
prompt("Unknown State Sevr")
promptgroup(GUI_MBB)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(COSV,DBF_MENU) {
prompt("Change of State Sevr")
promptgroup(GUI_MBB)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
@@ -462,17 +461,17 @@ recordtype(mbbo) {
}
field(SHFT,DBF_USHORT) {
prompt("Shift")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
interest(1)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -482,19 +481,19 @@ recordtype(mbbo) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_MBB)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID outpt action")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_USHORT) {
prompt("INVALID output value")
promptgroup(GUI_MBB)
promptgroup("50 - Output")
interest(2)
}
}

View File

@@ -3,21 +3,21 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
recordtype(permissive) {
include "dbCommon.dbd"
field(LABL,DBF_STRING) {
prompt("Button Label")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
pp(TRUE)
interest(1)
size(20)
}
field(VAL,DBF_USHORT) {
prompt("Status")
promptgroup("40 - Input")
asl(ASL0)
pp(TRUE)
}

View File

@@ -28,7 +28,7 @@ recordtype(printf) {
}
field(SIZV,DBF_USHORT) {
prompt("Size of VAL buffer")
promptgroup(GUI_OUTPUT)
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
initial("41")
@@ -39,69 +39,69 @@ recordtype(printf) {
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(FMT,DBF_STRING) {
prompt("Format String")
promptgroup(GUI_CALC)
promptgroup("30 - Action")
pp(TRUE)
size(81)
}
field(IVLS,DBF_STRING) {
prompt("Invalid Link String")
promptgroup(GUI_CALC)
promptgroup("30 - Action")
size(16)
initial("LNK")
}
field(INP0,DBF_INLINK) {
prompt("Input 0")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(INP1,DBF_INLINK) {
prompt("Input 1")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(INP2,DBF_INLINK) {
prompt("Input 2")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(INP3,DBF_INLINK) {
prompt("Input 3")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(INP4,DBF_INLINK) {
prompt("Input 4")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(INP5,DBF_INLINK) {
prompt("Input 5")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(INP6,DBF_INLINK) {
prompt("Input 6")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(INP7,DBF_INLINK) {
prompt("Input 7")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(INP8,DBF_INLINK) {
prompt("Input 8")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(INP9,DBF_INLINK) {
prompt("Input 9")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
%/* Number of INPx fields defined */

View File

@@ -3,9 +3,8 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
menu(selSELM) {
choice(selSELM_Specified,"Specified")
@@ -17,12 +16,13 @@ recordtype(sel) {
include "dbCommon.dbd"
field(VAL,DBF_DOUBLE) {
prompt("Result")
promptgroup("40 - Input")
asl(ASL0)
special(SPC_NOMOD)
}
field(SELM,DBF_MENU) {
prompt("Select Mechanism")
promptgroup(GUI_INPUTS)
promptgroup("30 - Action")
menu(selSELM)
}
field(SELN,DBF_USHORT) {
@@ -30,124 +30,124 @@ recordtype(sel) {
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(NVL,DBF_INLINK) {
prompt("Index Value Location")
promptgroup(GUI_INPUTS)
promptgroup("30 - Action")
interest(1)
}
field(INPA,DBF_INLINK) {
prompt("Input A")
promptgroup(GUI_SELECT)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPB,DBF_INLINK) {
prompt("Input B")
promptgroup(GUI_SELECT)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPC,DBF_INLINK) {
prompt("Input C")
promptgroup(GUI_SELECT)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPD,DBF_INLINK) {
prompt("Input D")
promptgroup(GUI_SELECT)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPE,DBF_INLINK) {
prompt("Input E")
promptgroup(GUI_SELECT)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPF,DBF_INLINK) {
prompt("Input F")
promptgroup(GUI_SELECT)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPG,DBF_INLINK) {
prompt("Input G")
promptgroup(GUI_SELECT)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPH,DBF_INLINK) {
prompt("Input H")
promptgroup(GUI_SELECT)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPI,DBF_INLINK) {
prompt("Input I")
promptgroup(GUI_SELECT)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPJ,DBF_INLINK) {
prompt("Input J")
promptgroup(GUI_SELECT)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPK,DBF_INLINK) {
prompt("Input K")
promptgroup(GUI_SELECT)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPL,DBF_INLINK) {
prompt("Input L")
promptgroup(GUI_SELECT)
promptgroup("42 - Input G-L")
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Units Name")
promptgroup(GUI_DISPLAY)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Rng")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(HIHI,DBF_DOUBLE) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOLO,DBF_DOUBLE) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HIGH,DBF_DOUBLE) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOW,DBF_DOUBLE) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -155,7 +155,7 @@ recordtype(sel) {
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -163,7 +163,7 @@ recordtype(sel) {
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -171,7 +171,7 @@ recordtype(sel) {
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -179,17 +179,17 @@ recordtype(sel) {
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(A,DBF_DOUBLE) {

View File

@@ -20,7 +20,7 @@ recordtype(seq) {
}
field(SELM,DBF_MENU) {
prompt("Select Mechanism")
promptgroup(GUI_INPUTS)
promptgroup("30 - Action")
interest(1)
menu(seqSELM)
}
@@ -31,7 +31,7 @@ recordtype(seq) {
}
field(SELL,DBF_INLINK) {
prompt("Link Selection Loc")
promptgroup(GUI_INPUTS)
promptgroup("30 - Action")
interest(1)
}
field(OFFS,DBF_SHORT) {
@@ -50,17 +50,17 @@ recordtype(seq) {
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(DLY0,DBF_DOUBLE) {
prompt("Delay 0")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DOL0,DBF_INLINK) {
prompt("Input link 0")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DO0,DBF_DOUBLE) {
@@ -69,17 +69,17 @@ recordtype(seq) {
}
field(LNK0,DBF_OUTLINK) {
prompt("Output Link 0")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DLY1,DBF_DOUBLE) {
prompt("Delay 1")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DOL1,DBF_INLINK) {
prompt("Input link1")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DO1,DBF_DOUBLE) {
@@ -88,17 +88,17 @@ recordtype(seq) {
}
field(LNK1,DBF_OUTLINK) {
prompt("Output Link 1")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DLY2,DBF_DOUBLE) {
prompt("Delay 2")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DOL2,DBF_INLINK) {
prompt("Input link 2")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DO2,DBF_DOUBLE) {
@@ -107,17 +107,17 @@ recordtype(seq) {
}
field(LNK2,DBF_OUTLINK) {
prompt("Output Link 2")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DLY3,DBF_DOUBLE) {
prompt("Delay 3")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DOL3,DBF_INLINK) {
prompt("Input link 3")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DO3,DBF_DOUBLE) {
@@ -126,17 +126,17 @@ recordtype(seq) {
}
field(LNK3,DBF_OUTLINK) {
prompt("Output Link 3")
promptgroup(GUI_SEQ1)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DLY4,DBF_DOUBLE) {
prompt("Delay 4")
promptgroup(GUI_SEQ2)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DOL4,DBF_INLINK) {
prompt("Input link 4")
promptgroup(GUI_SEQ2)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DO4,DBF_DOUBLE) {
@@ -145,17 +145,17 @@ recordtype(seq) {
}
field(LNK4,DBF_OUTLINK) {
prompt("Output Link 4")
promptgroup(GUI_SEQ2)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DLY5,DBF_DOUBLE) {
prompt("Delay 5")
promptgroup(GUI_SEQ2)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DOL5,DBF_INLINK) {
prompt("Input link 5")
promptgroup(GUI_SEQ2)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DO5,DBF_DOUBLE) {
@@ -164,17 +164,17 @@ recordtype(seq) {
}
field(LNK5,DBF_OUTLINK) {
prompt("Output Link 5")
promptgroup(GUI_SEQ2)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DLY6,DBF_DOUBLE) {
prompt("Delay 6")
promptgroup(GUI_SEQ2)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DOL6,DBF_INLINK) {
prompt("Input link 6")
promptgroup(GUI_SEQ2)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DO6,DBF_DOUBLE) {
@@ -183,17 +183,17 @@ recordtype(seq) {
}
field(LNK6,DBF_OUTLINK) {
prompt("Output Link 6")
promptgroup(GUI_SEQ2)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DLY7,DBF_DOUBLE) {
prompt("Delay 7")
promptgroup(GUI_SEQ3)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DOL7,DBF_INLINK) {
prompt("Input link 7")
promptgroup(GUI_SEQ3)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DO7,DBF_DOUBLE) {
@@ -202,17 +202,17 @@ recordtype(seq) {
}
field(LNK7,DBF_OUTLINK) {
prompt("Output Link 7")
promptgroup(GUI_SEQ3)
promptgroup("41 - Link 0-7")
interest(1)
}
field(DLY8,DBF_DOUBLE) {
prompt("Delay 8")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOL8,DBF_INLINK) {
prompt("Input link 8")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DO8,DBF_DOUBLE) {
@@ -221,17 +221,17 @@ recordtype(seq) {
}
field(LNK8,DBF_OUTLINK) {
prompt("Output Link 8")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DLY9,DBF_DOUBLE) {
prompt("Delay 9")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOL9,DBF_INLINK) {
prompt("Input link 9")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DO9,DBF_DOUBLE) {
@@ -240,17 +240,17 @@ recordtype(seq) {
}
field(LNK9,DBF_OUTLINK) {
prompt("Output Link 9")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DLYA,DBF_DOUBLE) {
prompt("Delay 10")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOLA,DBF_INLINK) {
prompt("Input link 10")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOA,DBF_DOUBLE) {
@@ -259,17 +259,17 @@ recordtype(seq) {
}
field(LNKA,DBF_OUTLINK) {
prompt("Output Link 10")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DLYB,DBF_DOUBLE) {
prompt("Delay 11")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOLB,DBF_INLINK) {
prompt("Input link 11")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOB,DBF_DOUBLE) {
@@ -278,17 +278,17 @@ recordtype(seq) {
}
field(LNKB,DBF_OUTLINK) {
prompt("Output Link 11")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DLYC,DBF_DOUBLE) {
prompt("Delay 12")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOLC,DBF_INLINK) {
prompt("Input link 12")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOC,DBF_DOUBLE) {
@@ -297,17 +297,17 @@ recordtype(seq) {
}
field(LNKC,DBF_OUTLINK) {
prompt("Output Link 12")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DLYD,DBF_DOUBLE) {
prompt("Delay 13")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOLD,DBF_INLINK) {
prompt("Input link 13")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOD,DBF_DOUBLE) {
@@ -316,17 +316,17 @@ recordtype(seq) {
}
field(LNKD,DBF_OUTLINK) {
prompt("Output Link 13")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DLYE,DBF_DOUBLE) {
prompt("Delay 14")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOLE,DBF_INLINK) {
prompt("Input link 14")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOE,DBF_DOUBLE) {
@@ -335,17 +335,17 @@ recordtype(seq) {
}
field(LNKE,DBF_OUTLINK) {
prompt("Output Link 14")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DLYF,DBF_DOUBLE) {
prompt("Delay 15")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOLF,DBF_INLINK) {
prompt("Input link 15")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
field(DOF,DBF_DOUBLE) {
@@ -354,7 +354,7 @@ recordtype(seq) {
}
field(LNKF,DBF_OUTLINK) {
prompt("Output Link 15")
promptgroup(GUI_SEQ3)
promptgroup("42 - Link 8-F")
interest(1)
}
}

View File

@@ -3,15 +3,14 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
recordtype(state) {
include "dbCommon.dbd"
field(VAL,DBF_STRING) {
prompt("Value")
promptgroup(GUI_DISPLAY)
promptgroup("40 - Input")
asl(ASL0)
pp(TRUE)
size(20)

View File

@@ -3,9 +3,8 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
menu(stringinPOST) {
choice(stringinPOST_OnChange,"On Change")
@@ -15,7 +14,7 @@ recordtype(stringin) {
include "dbCommon.dbd"
field(VAL,DBF_STRING) {
prompt("Current Value")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
asl(ASL0)
pp(TRUE)
size(40)
@@ -28,24 +27,24 @@ recordtype(stringin) {
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(MPST,DBF_MENU) {
prompt("Post Value Monitors")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
menu(stringinPOST)
}
field(APST,DBF_MENU) {
prompt("Post Archive Monitors")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
menu(stringinPOST)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SVAL,DBF_STRING) {
@@ -55,7 +54,7 @@ recordtype(stringin) {
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -65,7 +64,7 @@ recordtype(stringin) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}

View File

@@ -3,9 +3,8 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
menu(stringoutPOST) {
choice(stringoutPOST_OnChange,"On Change")
@@ -15,7 +14,7 @@ recordtype(stringout) {
include "dbCommon.dbd"
field(VAL,DBF_STRING) {
prompt("Current Value")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
asl(ASL0)
pp(TRUE)
size(40)
@@ -28,40 +27,40 @@ recordtype(stringout) {
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_OUTPUT)
promptgroup("40 - Input")
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
menu(menuOmsl)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(1)
}
field(MPST,DBF_MENU) {
prompt("Post Value Monitors")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
menu(stringoutPOST)
}
field(APST,DBF_MENU) {
prompt("Post Archive Monitors")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
menu(stringoutPOST)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -71,19 +70,19 @@ recordtype(stringout) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID output action")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_STRING) {
prompt("INVALID output value")
promptgroup(GUI_OUTPUT)
promptgroup("50 - Output")
interest(2)
size(40)
}

View File

@@ -3,9 +3,8 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
recordtype(subArray) {
include "dbCommon.dbd"
@@ -21,57 +20,57 @@ recordtype(subArray) {
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_COMMON)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(FTVL,DBF_MENU) {
prompt("Field Type of Value")
promptgroup(GUI_ALARMS)
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
menu(menuFtype)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_BITS1)
promptgroup("40 - Input")
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units Name")
promptgroup(GUI_BITS2)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Range")
promptgroup(GUI_CALC)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_CLOCK)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(MALM,DBF_ULONG) {
prompt("Maximum Elements ")
promptgroup(GUI_CLOCK)
prompt("Maximum Elements")
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(NELM,DBF_ULONG) {
prompt("Number of Elements")
promptgroup(GUI_COMPRESS)
promptgroup("30 - Action")
pp(TRUE)
initial("1")
}
field(INDX,DBF_ULONG) {
prompt("Substring Index")
promptgroup(GUI_CONVERT)
promptgroup("30 - Action")
pp(TRUE)
}
field(BUSY,DBF_SHORT) {

View File

@@ -15,14 +15,14 @@ recordtype(sub) {
}
field(INAM,DBF_STRING) {
prompt("Init Routine Name")
promptgroup(GUI_SUB)
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
size(40)
}
field(SNAM,DBF_STRING) {
prompt("Subroutine Name")
promptgroup(GUI_SUB)
promptgroup("30 - Action")
special(SPC_MOD)
interest(1)
size(40)
@@ -37,127 +37,127 @@ recordtype(sub) {
}
field(INPA,DBF_INLINK) {
prompt("Input A")
promptgroup(GUI_INPUTS)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPB,DBF_INLINK) {
prompt("Input B")
promptgroup(GUI_INPUTS)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPC,DBF_INLINK) {
prompt("Input C")
promptgroup(GUI_INPUTS)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPD,DBF_INLINK) {
prompt("Input D")
promptgroup(GUI_INPUTS)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPE,DBF_INLINK) {
prompt("Input E")
promptgroup(GUI_INPUTS)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPF,DBF_INLINK) {
prompt("Input F")
promptgroup(GUI_INPUTS)
promptgroup("41 - Input A-F")
interest(1)
}
field(INPG,DBF_INLINK) {
prompt("Input G")
promptgroup(GUI_INPUTS)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPH,DBF_INLINK) {
prompt("Input H")
promptgroup(GUI_INPUTS)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPI,DBF_INLINK) {
prompt("Input I")
promptgroup(GUI_INPUTS)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPJ,DBF_INLINK) {
prompt("Input J")
promptgroup(GUI_INPUTS)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPK,DBF_INLINK) {
prompt("Input K")
promptgroup(GUI_INPUTS)
promptgroup("42 - Input G-L")
interest(1)
}
field(INPL,DBF_INLINK) {
prompt("Input L")
promptgroup(GUI_INPUTS)
promptgroup("42 - Input G-L")
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Units Name")
promptgroup(GUI_DISPLAY)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Rng")
promptgroup(GUI_DISPLAY)
prompt("High Operating Range")
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(HIHI,DBF_DOUBLE) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOLO,DBF_DOUBLE) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(HIGH,DBF_DOUBLE) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(LOW,DBF_DOUBLE) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(BRSV,DBF_MENU) {
prompt("Bad Return Severity")
promptgroup(GUI_SUB)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -165,7 +165,7 @@ recordtype(sub) {
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -173,7 +173,7 @@ recordtype(sub) {
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -181,7 +181,7 @@ recordtype(sub) {
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES)
@@ -189,17 +189,17 @@ recordtype(sub) {
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(A,DBF_DOUBLE) {

View File

@@ -13,6 +13,7 @@ include $(TOP)/configure/CONFIG
PROD_LIBS = dbRecStd dbCore ca Com
TARGETS += $(COMMON_DIR)/recTestIoc.dbd
DBDDEPENDS_FILES += recTestIoc.dbd$(DEP)
recTestIoc_DBD = base.dbd
TESTFILES += $(COMMON_DIR)/recTestIoc.dbd
@@ -26,6 +27,7 @@ TESTFILES += ../arrayOpTest.db
TESTS += arrayOpTest
TARGETS += $(COMMON_DIR)/analogMonitorTest.dbd
DBDDEPENDS_FILES += analogMonitorTest.dbd$(DEP)
analogMonitorTest_DBD += base.dbd
TESTPROD_HOST += analogMonitorTest
analogMonitorTest_SRCS += analogMonitorTest.c

View File

@@ -56,50 +56,50 @@ recordtype(waveform) {
}
field(RARM,DBF_SHORT) {
prompt("Rearm the waveform")
promptgroup(GUI_WAVE)
promptgroup("30 - Action")
pp(TRUE)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units Name")
promptgroup(GUI_DISPLAY)
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES)
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
prop(YES)
}
field(NELM,DBF_ULONG) {
prompt("Number of Elements")
promptgroup(GUI_WAVE)
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(FTVL,DBF_MENU) {
prompt("Field Type of Value")
promptgroup(GUI_WAVE)
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
menu(menuFtype)
@@ -120,12 +120,12 @@ recordtype(waveform) {
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(1)
}
field(SIMM,DBF_MENU) {
@@ -135,22 +135,22 @@ recordtype(waveform) {
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
promptgroup("90 - Simulate")
interest(2)
menu(menuAlarmSevr)
}
field(MPST,DBF_MENU) {
prompt("Post Value Monitors")
promptgroup(GUI_DISPLAY)
interest(1)
menu(waveformPOST)
prompt("Post Value Monitors")
promptgroup("80 - Display")
interest(1)
menu(waveformPOST)
}
field(APST,DBF_MENU) {
prompt("Post Archive Monitors")
promptgroup(GUI_DISPLAY)
interest(1)
menu(waveformPOST)
}
prompt("Post Archive Monitors")
promptgroup("80 - Display")
interest(1)
menu(waveformPOST)
}
field(HASH,DBF_ULONG) {
prompt("Hash of OnChange data.")
interest(3)

View File

@@ -2,101 +2,102 @@ recordtype(xxx) {
include "dbCommon.dbd"
field(VAL,DBF_DOUBLE) {
prompt("Current EGU Value")
asl(ASL0)
promptgroup("40 - Input")
asl(ASL0)
pp(TRUE)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
promptgroup("40 - Input")
special(SPC_NOMOD)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
size(16)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(HIHI,DBF_FLOAT) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
}
field(LOLO,DBF_FLOAT) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
}
field(LOW,DBF_FLOAT) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
promptgroup("70 - Alarm")
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
promptgroup("80 - Display")
interest(1)
}
field(LALM,DBF_DOUBLE) {

View File

@@ -1,5 +1,4 @@
TOP = ../..
include $(TOP)/configure/CONFIG
ARCH = _ARCH_
TARGETS = envPaths
include $(TOP)/configure/RULES.ioc

View File

@@ -1,5 +1,4 @@
TOP = ../..
include $(TOP)/configure/CONFIG
ARCH = _ARCH_
TARGETS = envPaths
include $(TOP)/configure/RULES.ioc

View File

@@ -8,7 +8,7 @@ require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(&pushContext &popContext &dieContext &warnContext &is_reserved
&identifier &unquote &escapeCcomment &escapeCstring $RXident $RXname
$RXuint $RXint $RXhex $RXoct $RXuintx $RXintx $RXnum $RXdqs $RXsqs $RXstr);
$RXuint $RXint $RXhex $RXoct $RXuintx $RXintx $RXnum $RXdqs $RXstr);
our $RXident = qr/ [a-zA-Z] [a-zA-Z0-9_]* /x;
@@ -21,8 +21,7 @@ our $RXuintx = qr/ ( $RXhex | $RXoct | $RXuint ) /ox;
our $RXintx = qr/ ( $RXhex | $RXoct | $RXint ) /ox;
our $RXnum = qr/ -? (?: \d+ | \d* \. \d+ ) (?: [eE] [-+]? \d+ )? /x;
our $RXdqs = qr/" (?: [^"] | \\" )* " /x;
our $RXsqs = qr/' (?: [^'] | \\' )* ' /x;
our $RXstr = qr/ ( $RXname | $RXnum | $RXdqs | $RXsqs ) /ox;
our $RXstr = qr/ ( $RXname | $RXnum | $RXdqs ) /ox;
our @context;

View File

@@ -27,7 +27,7 @@ our %field_types = (
our %field_attrs = (
asl => qr/^ASL[01]$/,
initial => qr/^.*$/,
promptgroup => qr/^GUI_\w+$/,
promptgroup => qr/^.*$/,
prompt => qr/^.*$/,
special => qr/^(?:SPC_\w+|\d{3,})$/,
pp => qr/^(?:TRUE|FALSE)$/,

View File

@@ -75,7 +75,7 @@ my @apps = ('TOP'); # Records the order of definitions in RELEASE file
my $relfile = "$top/configure/RELEASE";
die "Can't find $relfile" unless (-f $relfile);
readReleaseFiles($relfile, \%macros, \@apps, $arch);
expandRelease(\%macros, \@apps);
expandRelease(\%macros);
# This is a perl switch statement:
@@ -134,6 +134,7 @@ sub relPaths {
}
sub binDirs {
die "Architecture not set (use -a option)\n" unless ($arch);
my @includes = grep !m/^ (RULES | TEMPLATE_TOP) $/x, @apps;
my @path;
foreach my $app (@includes) {
@@ -165,7 +166,6 @@ sub cdCommands {
my $ioc = $cwd;
$ioc =~ s/^.*\///; # iocname is last component of directory name
print OUT "putenv(\"ARCH=$arch\")\n";
print OUT "putenv(\"IOC=$ioc\")\n";
foreach my $app (@includes) {
@@ -188,7 +188,6 @@ sub cdCommands {
# Include parentheses anyway in case CEXP users want to use this.
#
sub envPaths {
die "Architecture not set (use -a option)" unless ($arch);
my @includes = grep !m/^ (RULES | TEMPLATE_TOP) $/x, @apps;
unlink($outfile);
@@ -197,7 +196,6 @@ sub envPaths {
my $ioc = $cwd;
$ioc =~ s/^.*\///; # iocname is last component of directory name
print OUT "epicsEnvSet(\"ARCH\",\"$arch\")\n";
print OUT "epicsEnvSet(\"IOC\",\"$ioc\")\n";
foreach my $app (@includes) {
@@ -223,7 +221,7 @@ sub checkRelease {
my @order = ();
my $relfile = "$path/configure/RELEASE";
readReleaseFiles($relfile, \%check, \@order, $arch);
expandRelease(\%check, \@order);
expandRelease(\%check);
delete $check{TOP};
delete $check{EPICS_HOST_ARCH};