Changes for replacing default.dctsdr: Renamed all record support modules

This commit is contained in:
Marty Kraimer
1995-11-29 14:45:30 +00:00
parent fb6f4ce704
commit 93b26eee79
83 changed files with 9837 additions and 135 deletions
+85 -42
View File
@@ -2,52 +2,95 @@ EPICS = ../../../..
include Target.include
include $(EPICS)/config/CONFIG_BASE
USR_INCLUDES = -I../../drv/ansi -I../../drv/old
USR_INCLUDES = -I../drv/ansi -I../../drv/old
# SRCS.c += ../recAai.c
# SRCS.c += ../recAao.c
SRCS.c += ../recAi.c
SRCS.c += ../recAo.c
SRCS.c += ../recBi.c
SRCS.c += ../recBo.c
SRCS.c += ../recCalc.c
SRCS.c += ../recCompress.c
SRCS.c += ../recDfanout.c
SRCS.c += ../recEg.c
SRCS.c += ../recEgevent.c
SRCS.c += ../recEr.c
SRCS.c += ../recErevent.c
SRCS.c += ../recEvent.c
SRCS.c += ../recFanout.c
# SRCS.c += ../recGsub.c
SRCS.c += ../recHistogram.c
SRCS.c += ../recLongin.c
SRCS.c += ../recLongout.c
SRCS.c += ../recMbbi.c
SRCS.c += ../recMbbiDirect.c
SRCS.c += ../recMbbo.c
SRCS.c += ../recMbboDirect.c
# SRCS.c += ../recPal.c
SRCS.c += ../recPermissive.c
SRCS.c += ../recPid.c
SRCS.c += ../recPulseCounter.c
SRCS.c += ../recPulseDelay.c
SRCS.c += ../recPulseTrain.c
SRCS.c += ../recScan.c
SRCS.c += ../recSel.c
SRCS.c += ../recSeq.c
SRCS.c += ../recState.c
SRCS.c += ../recSteppermotor.c
SRCS.c += ../recStringin.c
SRCS.c += ../recStringout.c
SRCS.c += ../recSub.c
SRCS.c += ../recSubArray.c
SRCS.c += ../recTimer.c
SRCS.c += ../recWait.c
RECTYPES += aaiRecord.h
RECTYPES += aaoRecord.h
RECTYPES += aiRecord.h
RECTYPES += aoRecord.h
RECTYPES += biRecord.h
RECTYPES += boRecord.h
RECTYPES += calcRecord.h
RECTYPES += compressRecord.h
RECTYPES += dfanoutRecord.h
RECTYPES += egRecord.h
RECTYPES += egeventRecord.h
RECTYPES += erRecord.h
RECTYPES += ereventRecord.h
RECTYPES += eventRecord.h
RECTYPES += fanoutRecord.h
RECTYPES += gsubRecord.h
RECTYPES += histogramRecord.h
RECTYPES += longinRecord.h
RECTYPES += longoutRecord.h
RECTYPES += mbbiRecord.h
RECTYPES += mbbiDirectRecord.h
RECTYPES += mbboRecord.h
RECTYPES += mbboDirectRecord.h
RECTYPES += palRecord.h
RECTYPES += permissiveRecord.h
RECTYPES += pidRecord.h
RECTYPES += pulseCounterRecord.h
RECTYPES += pulseDelayRecord.h
RECTYPES += pulseTrainRecord.h
RECTYPES += scanRecord.h
RECTYPES += selRecord.h
RECTYPES += seqRecord.h
RECTYPES += stateRecord.h
RECTYPES += steppermotorRecord.h
RECTYPES += stringinRecord.h
RECTYPES += stringoutRecord.h
RECTYPES += subRecord.h
RECTYPES += subArrayRecord.h
RECTYPES += timerRecord.h
RECTYPES += waitRecord.h
RECTYPES += waveformRecord.h
SRCS.c += ../aaiRecord.c
SRCS.c += ../aaoRecord.c
SRCS.c += ../aiRecord.c
SRCS.c += ../aoRecord.c
SRCS.c += ../biRecord.c
SRCS.c += ../boRecord.c
SRCS.c += ../calcRecord.c
SRCS.c += ../compressRecord.c
SRCS.c += ../dfanoutRecord.c
SRCS.c += ../egRecord.c
SRCS.c += ../egeventRecord.c
SRCS.c += ../erRecord.c
SRCS.c += ../ereventRecord.c
SRCS.c += ../eventRecord.c
SRCS.c += ../fanoutRecord.c
SRCS.c += ../gsubRecord.c
SRCS.c += ../histogramRecord.c
SRCS.c += ../longinRecord.c
SRCS.c += ../longoutRecord.c
SRCS.c += ../mbbiRecord.c
SRCS.c += ../mbbiDirectRecord.c
SRCS.c += ../mbboRecord.c
SRCS.c += ../mbboDirectRecord.c
SRCS.c += ../palRecord.c
SRCS.c += ../permissiveRecord.c
SRCS.c += ../pidRecord.c
SRCS.c += ../pulseCounterRecord.c
SRCS.c += ../pulseDelayRecord.c
SRCS.c += ../pulseTrainRecord.c
SRCS.c += ../scanRecord.c
SRCS.c += ../selRecord.c
SRCS.c += ../seqRecord.c
SRCS.c += ../stateRecord.c
SRCS.c += ../steppermotorRecord.c
SRCS.c += ../stringinRecord.c
SRCS.c += ../stringoutRecord.c
SRCS.c += ../subRecord.c
SRCS.c += ../subArrayRecord.c
SRCS.c += ../timerRecord.c
SRCS.c += ../waitRecord.c
SRCS.c += ../recWaitCa.c
SRCS.c += ../recDynLink.c
SRCS.c += ../recDynLinkTest.c
SRCS.c += ../recWaveform.c
SRCS.c += ../waveformRecord.c
LIBOBJS = $(SRCS.c:../%.c=%.o)
+86
View File
@@ -0,0 +1,86 @@
recordtype(aai) {
include "dbCommon.ascii"
field(VAL,DBF_NOACCESS) {
prompt("Value")
asl(ASL0)
special(SPC_DBADDR)
pp(TRUE)
size(4)
extra("void * val")
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_ALARMS)
interest(1)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_BITS1)
special(SPC_NOMOD)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units Name")
promptgroup(GUI_BITS2)
interest(1)
size(16)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_CALC)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_CLOCK)
interest(1)
}
field(NELM,DBF_ULONG) {
prompt("Number of Elements")
promptgroup(GUI_COMPRESS)
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(FTVL,DBF_MENU) {
prompt("Field Type of Value")
promptgroup(GUI_CONVERT)
special(SPC_NOMOD)
interest(1)
menu(menuFtype)
}
field(NORD,DBF_ULONG) {
prompt("Number elements read")
special(SPC_NOMOD)
}
field(BPTR,DBF_NOACCESS) {
prompt("Buffer Pointer")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * bptr")
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_DISPLAY)
special(SPC_NOMOD)
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_HIST)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
}
+3 -1
View File
@@ -53,7 +53,9 @@
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <aaiRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -126,7 +128,7 @@ static long init_record(paai,pass)
/* aai.siml must be a CONSTANT or a PV_LINK or a DB_LINK */
switch (paai->siml.type) {
case (CONSTANT) :
paai->simm = paai->siml.value.value;
recGblInitConstantLink(&paai->siml,DBF_USHORT,&paai->simm);
break;
case (PV_LINK) :
status = dbCaAddInlink(&(paai->siml), (void *) paai, "SIMM");
+86
View File
@@ -0,0 +1,86 @@
recordtype(aao) {
include "dbCommon.ascii"
field(VAL,DBF_NOACCESS) {
prompt("Value")
asl(ASL0)
special(SPC_DBADDR)
pp(TRUE)
size(4)
extra("void * val")
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_ALARMS)
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_BITS1)
special(SPC_NOMOD)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units Name")
promptgroup(GUI_BITS2)
interest(1)
size(16)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_CALC)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_CLOCK)
interest(1)
}
field(NELM,DBF_ULONG) {
prompt("Number of Elements")
promptgroup(GUI_COMPRESS)
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(FTVL,DBF_MENU) {
prompt("Field Type of Value")
promptgroup(GUI_CONVERT)
special(SPC_NOMOD)
interest(1)
menu(menuFtype)
}
field(NORD,DBF_ULONG) {
prompt("Number elements read")
special(SPC_NOMOD)
}
field(BPTR,DBF_NOACCESS) {
prompt("Buffer Pointer")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * bptr")
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_DISPLAY)
special(SPC_NOMOD)
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_HIST)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
}
+3 -1
View File
@@ -53,7 +53,9 @@
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <aaoRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -126,7 +128,7 @@ static long init_record(paao,pass)
/* aao.siml must be a CONSTANT or a PV_LINK or a DB_LINK */
switch (paao->siml.type) {
case (CONSTANT) :
paao->simm = paao->siml.value.value;
recGblInitConstantLink(&paao->siml,DBF_USHORT,&paao->simm);
break;
case (PV_LINK) :
status = dbCaAddInlink(&(paao->siml), (void *) paao, "SIMM");
+220
View File
@@ -0,0 +1,220 @@
recordtype(ai) {
include "dbCommon.ascii"
field(VAL,DBF_DOUBLE) {
prompt("Current EGU Value")
asl(ASL0)
pp(TRUE)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LINR,DBF_MENU) {
prompt("Linearization")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
menu(menuConvert)
}
field(EGUF,DBF_FLOAT) {
prompt("Engineer Units Full")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGUL,DBF_FLOAT) {
prompt("Engineer Units Low")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(AOFF,DBF_FLOAT) {
prompt("Adjustment Offset")
promptgroup(GUI_CONVERT)
pp(TRUE)
interest(1)
}
field(ASLO,DBF_FLOAT) {
prompt("Adjustment Slope")
promptgroup(GUI_CONVERT)
pp(TRUE)
interest(1)
initial("1")
}
field(SMOO,DBF_FLOAT) {
prompt("Smoothing")
promptgroup(GUI_CONVERT)
interest(1)
}
field(HIHI,DBF_FLOAT) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_FLOAT) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_FLOAT) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LALM,DBF_DOUBLE) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_DOUBLE) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_DOUBLE) {
prompt("Last Val Monitored")
special(SPC_NOMOD)
interest(3)
}
field(ESLO,DBF_DOUBLE) {
prompt("Rawto EGU Slope")
special(SPC_NOMOD)
interest(2)
initial("1")
}
field(ROFF,DBF_LONG) {
prompt("Raw Offset")
pp(TRUE)
interest(2)
}
field(PBRK,DBF_NOACCESS) {
prompt("Ptrto brkTable")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * pbrk")
}
field(INIT,DBF_SHORT) {
prompt("Initialized?")
special(SPC_NOMOD)
interest(3)
}
field(LBRK,DBF_SHORT) {
prompt("LastBreak Point")
special(SPC_NOMOD)
interest(3)
}
field(RVAL,DBF_LONG) {
prompt("Current Raw Value")
pp(TRUE)
}
field(ORAW,DBF_LONG) {
prompt("Previous Raw Value")
special(SPC_NOMOD)
interest(3)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SVAL,DBF_DOUBLE) {
prompt("Simulation Value")
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
}
+4 -2
View File
@@ -88,7 +88,9 @@
#include <errMdef.h>
#include <recSup.h>
#include <special.h>
#define GEN_SIZE_OFFSET
#include <aiRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -162,7 +164,7 @@ static long init_record(pai,pass)
/* ai.siml must be a CONSTANT or a PV_LINK or a DB_LINK */
if (pai->siml.type == CONSTANT) {
pai->simm = pai->siml.value.value;
recGblInitConstantLink(&pai->siml,DBF_USHORT,&pai->simm);
}
else {
status = recGblInitFastInLink(&(pai->siml), (void *) pai, DBR_ENUM, "SIMM");
@@ -171,7 +173,7 @@ static long init_record(pai,pass)
/* ai.siol must be a CONSTANT or a PV_LINK or a DB_LINK */
if (pai->siol.type == CONSTANT) {
pai->sval = pai->siol.value.value;
recGblInitConstantLink(&pai->siol,DBF_DOUBLE,&pai->sval);
}
else {
status = recGblInitFastInLink(&(pai->siol), (void *) pai, DBR_DOUBLE, "SVAL");
+282
View File
@@ -0,0 +1,282 @@
menu(aoOIF) {
choice(aoOIF_Full,"Full")
choice(aoOIF_Incremental,"Incremental")
}
recordtype(ao) {
include "dbCommon.ascii"
field(VAL,DBF_DOUBLE) {
prompt("Desired Output")
asl(ASL0)
pp(TRUE)
}
field(OVAL,DBF_DOUBLE) {
prompt("Output Value")
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OROC,DBF_FLOAT) {
prompt("Output Rate of Chang")
promptgroup(GUI_OUTPUT)
interest(1)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
interest(1)
menu(menuOmsl)
}
field(OIF,DBF_MENU) {
prompt("Out Full/Incremental")
promptgroup(GUI_OUTPUT)
interest(1)
menu(aoOIF)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LINR,DBF_MENU) {
prompt("Linearization")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
menu(menuConvert)
}
field(EGUF,DBF_FLOAT) {
prompt("Eng Units Full")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGUL,DBF_FLOAT) {
prompt("Eng Units Low")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(ROFF,DBF_LONG) {
prompt("Raw Offset")
pp(TRUE)
interest(2)
}
field(ESLO,DBF_DOUBLE) {
prompt("EGU to Raw Slope")
special(SPC_NOMOD)
interest(2)
initial("1")
}
field(DRVH,DBF_FLOAT) {
prompt("Drive High Limit")
promptgroup(GUI_OUTPUT)
pp(TRUE)
interest(1)
}
field(DRVL,DBF_FLOAT) {
prompt("Drive Low Limit")
promptgroup(GUI_OUTPUT)
pp(TRUE)
interest(1)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(AOFF,DBF_FLOAT) {
prompt("Adjustment Offset")
promptgroup(GUI_CONVERT)
pp(TRUE)
interest(1)
}
field(ASLO,DBF_FLOAT) {
prompt("Adjustment Slope")
promptgroup(GUI_CONVERT)
pp(TRUE)
interest(1)
}
field(HIHI,DBF_FLOAT) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_FLOAT) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_FLOAT) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(RVAL,DBF_LONG) {
prompt("Current Raw Value")
pp(TRUE)
}
field(ORAW,DBF_LONG) {
prompt("Previous Raw Value")
special(SPC_NOMOD)
interest(3)
}
field(RBV,DBF_LONG) {
prompt("Readback Value")
special(SPC_NOMOD)
}
field(ORBV,DBF_LONG) {
prompt("Prev Readback Value")
special(SPC_NOMOD)
interest(3)
}
field(PVAL,DBF_DOUBLE) {
prompt("Previous value")
special(SPC_NOMOD)
interest(3)
}
field(LALM,DBF_DOUBLE) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_DOUBLE) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_DOUBLE) {
prompt("Last Val Monitored")
special(SPC_NOMOD)
interest(3)
}
field(PBRK,DBF_NOACCESS) {
prompt("Ptrto brkTable")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * pbrk")
}
field(INIT,DBF_SHORT) {
prompt("Initialized?")
special(SPC_NOMOD)
interest(3)
}
field(LBRK,DBF_SHORT) {
prompt("LastBreak Point")
special(SPC_NOMOD)
interest(3)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID output action")
promptgroup(GUI_OUTPUT)
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_DOUBLE) {
prompt("INVALID output value")
promptgroup(GUI_OUTPUT)
interest(2)
}
field(OMOD,DBF_UCHAR) {
prompt("Was OVAL modified?")
special(SPC_NOMOD)
}
}
+8 -5
View File
@@ -85,7 +85,10 @@
#include <errMdef.h>
#include <special.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <aoRecord.h>
#undef GEN_SIZE_OFFSET
#include <menuIvoa.h>
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -159,7 +162,7 @@ static long init_record(pao,pass)
/* ao.siml must be a CONSTANT or a PV_LINK or a DB_LINK */
if (pao->siml.type == CONSTANT) {
pao->simm = pao->siml.value.value;
recGblInitConstantLink(&pao->siml,DBF_USHORT,&pao->simm);
}
else {
status = recGblInitFastInLink(&(pao->siml), (void *) pao, DBR_ENUM, "SIMM");
@@ -176,8 +179,8 @@ static long init_record(pao,pass)
}
/* get the initial value if dol is a constant*/
if (pao->dol.type == CONSTANT) {
if(recGblInitConstantLink(&pao->dol,DBF_DOUBLE,&pao->val))
pao->udf = FALSE;
pao->val = pao->dol.value.value;
}
else {
status = recGblInitFastInLink(&(pao->dol), (void *) pao,
@@ -258,12 +261,12 @@ static long process(pao)
status=writeValue(pao); /* write the new value */
else {
switch (pao->ivoa) {
case (IVOA_CONTINUE) :
case (menuIvoaContinue_normally) :
status=writeValue(pao); /* write the new value */
break;
case (IVOA_NO_OUTPUT) :
case (menuIvoaDon_t_drive_outputs) :
break;
case (IVOA_OUTPUT_IVOV) :
case (menuIvoaSet_output_to_IVOV) :
if(pao->pact == FALSE){
pao->val=pao->ivov;
value=pao->ivov;
+99
View File
@@ -0,0 +1,99 @@
recordtype(bi) {
include "dbCommon.ascii"
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(VAL,DBF_ENUM) {
prompt("Current Value")
asl(ASL0)
pp(TRUE)
}
field(ZSV,DBF_MENU) {
prompt("Zero Error Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(OSV,DBF_MENU) {
prompt("One Error Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(COSV,DBF_MENU) {
prompt("Change of State Svr")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ZNAM,DBF_STRING) {
prompt("Zero Name")
promptgroup(GUI_CALC)
pp(TRUE)
interest(1)
size(20)
}
field(ONAM,DBF_STRING) {
prompt("One Name")
promptgroup(GUI_CLOCK)
pp(TRUE)
interest(1)
size(20)
}
field(RVAL,DBF_ULONG) {
prompt("Raw Value")
pp(TRUE)
}
field(ORAW,DBF_ULONG) {
prompt("prev Raw Value")
special(SPC_NOMOD)
interest(3)
}
field(MASK,DBF_ULONG) {
prompt("Hardware Mask")
special(SPC_NOMOD)
interest(1)
}
field(LALM,DBF_USHORT) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_USHORT) {
prompt("Last Value Monitored")
special(SPC_NOMOD)
interest(3)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SVAL,DBF_USHORT) {
prompt("Simulation Value")
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
}
+4 -2
View File
@@ -70,7 +70,9 @@
#include <errMdef.h>
#include <recSup.h>
#include <special.h>
#define GEN_SIZE_OFFSET
#include <biRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
@@ -132,7 +134,7 @@ static long init_record(pbi,pass)
/* bi.siml must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/
if (pbi->siml.type == CONSTANT) {
pbi->simm = pbi->siml.value.value;
recGblInitConstantLink(&pbi->siml,DBF_USHORT,&pbi->simm);
}
else {
status = recGblInitFastInLink(&(pbi->siml), (void *) pbi, DBR_ENUM, "SIMM");
@@ -142,7 +144,7 @@ static long init_record(pbi,pass)
/* bi.siol must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/
if (pbi->siol.type == CONSTANT) {
pbi->sval = pbi->siol.value.value;
recGblInitConstantLink(&pbi->siol,DBF_USHORT,&pbi->sval);
}
else {
status = recGblInitFastInLink(&(pbi->siol), (void *) pbi, DBR_USHORT, "SVAL");
+147
View File
@@ -0,0 +1,147 @@
recordtype(bo) {
include "dbCommon.ascii"
field(VAL,DBF_ENUM) {
prompt("Current Value")
asl(ASL0)
pp(TRUE)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
interest(1)
menu(menuOmsl)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("Seconds to Hold High")
promptgroup(GUI_OUTPUT)
interest(1)
}
field(ZNAM,DBF_STRING) {
prompt("Zero Name")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
size(20)
}
field(ONAM,DBF_STRING) {
prompt("One Name")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
size(20)
}
field(RVAL,DBF_ULONG) {
prompt("Raw Value")
pp(TRUE)
}
field(ORAW,DBF_ULONG) {
prompt("prev Raw Value")
special(SPC_NOMOD)
interest(3)
}
field(MASK,DBF_ULONG) {
prompt("Hardware Mask")
special(SPC_NOMOD)
interest(1)
}
field(RPVT,DBF_NOACCESS) {
prompt("Record Private")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * rpvt")
}
field(WDPT,DBF_NOACCESS) {
prompt("Watch Dog Timer ID")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * wdpt")
}
field(ZSV,DBF_MENU) {
prompt("Zero Error Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(OSV,DBF_MENU) {
prompt("One Error Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(COSV,DBF_MENU) {
prompt("Change of State Sevr")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(RBV,DBF_ULONG) {
prompt("Readback Value")
special(SPC_NOMOD)
}
field(ORBV,DBF_ULONG) {
prompt("Prev Readback Value")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_USHORT) {
prompt("Last Value Monitored")
special(SPC_NOMOD)
interest(3)
}
field(LALM,DBF_USHORT) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID outpt action")
promptgroup(GUI_OUTPUT)
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_USHORT) {
prompt("INVALID output value")
promptgroup(GUI_OUTPUT)
interest(2)
}
}
+12 -6
View File
@@ -84,7 +84,10 @@
#include <errMdef.h>
#include <recSup.h>
#include <special.h>
#define GEN_SIZE_OFFSET
#include <boRecord.h>
#undef GEN_SIZE_OFFSET
#include <menuIvoa.h>
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -185,7 +188,7 @@ static long init_record(pbo,pass)
/* bo.siml must be a CONSTANT or a PV_LINK or a DB_LINK */
if (pbo->siml.type == CONSTANT) {
pbo->simm = pbo->siml.value.value;
recGblInitConstantLink(&pbo->siml,DBF_USHORT,&pbo->simm);
}
else {
status = recGblInitFastInLink(&(pbo->siml), (void *) pbo, DBR_ENUM, "SIMM");
@@ -209,8 +212,11 @@ static long init_record(pbo,pass)
}
/* get the initial value */
if (pbo->dol.type == CONSTANT) {
if (pbo->dol.value.value == 0) pbo->val = 0;
else pbo->val = 1;
unsigned short ival;
recGblInitConstantLink(&pbo->dol,DBF_USHORT,&ival);
if (ival == 0) pbo->val = 0;
else pbo->val = 1;
pbo->udf = FALSE;
}
else {
@@ -278,12 +284,12 @@ static long process(pbo)
status=writeValue(pbo); /* write the new value */
else {
switch (pbo->ivoa) {
case (IVOA_CONTINUE) :
case (menuIvoaContinue_normally) :
status=writeValue(pbo); /* write the new value */
break;
case (IVOA_NO_OUTPUT) :
case (menuIvoaDon_t_drive_outputs) :
break;
case (IVOA_OUTPUT_IVOV) :
case (menuIvoaSet_output_to_IVOV) :
if(pbo->pact == FALSE){
/* convert val to rval */
pbo->val=pbo->ivov;
+304
View File
@@ -0,0 +1,304 @@
recordtype(calc) {
include "dbCommon.ascii"
field(VAL,DBF_DOUBLE) {
prompt("Result")
asl(ASL0)
}
field(CALC,DBF_STRING) {
prompt("Calculation")
promptgroup(GUI_CALC)
special(SPC_CALC)
pp(TRUE)
size(36)
}
field(INPA,DBF_INLINK) {
prompt("Input A")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(INPB,DBF_INLINK) {
prompt("Input B")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(INPC,DBF_INLINK) {
prompt("Input C")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(INPD,DBF_INLINK) {
prompt("Input D")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(INPE,DBF_INLINK) {
prompt("Input E")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(INPF,DBF_INLINK) {
prompt("Input F")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(INPG,DBF_INLINK) {
prompt("Input G")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(INPH,DBF_INLINK) {
prompt("Input H")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(INPI,DBF_INLINK) {
prompt("Input I")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(INPJ,DBF_INLINK) {
prompt("Input J")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(INPK,DBF_INLINK) {
prompt("Input K")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(INPL,DBF_INLINK) {
prompt("Input L")
promptgroup(GUI_CALC)
special(SPC_NOMOD)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Units Name")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Rng")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(HIHI,DBF_FLOAT) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_FLOAT) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_FLOAT) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(A,DBF_DOUBLE) {
prompt("Value of Input A")
pp(TRUE)
}
field(B,DBF_DOUBLE) {
prompt("Value of Input B")
pp(TRUE)
}
field(C,DBF_DOUBLE) {
prompt("Value of Input C")
pp(TRUE)
}
field(D,DBF_DOUBLE) {
prompt("Value of Input D")
pp(TRUE)
}
field(E,DBF_DOUBLE) {
prompt("Value of Input E")
pp(TRUE)
}
field(F,DBF_DOUBLE) {
prompt("Value of Input F")
pp(TRUE)
}
field(G,DBF_DOUBLE) {
prompt("Value of Input G")
pp(TRUE)
}
field(H,DBF_DOUBLE) {
prompt("Value of Input H")
pp(TRUE)
}
field(I,DBF_DOUBLE) {
prompt("Value of Input I")
pp(TRUE)
}
field(J,DBF_DOUBLE) {
prompt("Value of Input J")
pp(TRUE)
}
field(K,DBF_DOUBLE) {
prompt("Value of Input K")
pp(TRUE)
}
field(L,DBF_DOUBLE) {
prompt("Value of Input L")
pp(TRUE)
}
field(LA,DBF_DOUBLE) {
prompt("Prev Value of A")
special(SPC_NOMOD)
interest(3)
}
field(LB,DBF_DOUBLE) {
prompt("Prev Value of B")
special(SPC_NOMOD)
interest(3)
}
field(LC,DBF_DOUBLE) {
prompt("Prev Value of C")
special(SPC_NOMOD)
interest(3)
}
field(LD,DBF_DOUBLE) {
prompt("Prev Value of D")
special(SPC_NOMOD)
interest(3)
}
field(LE,DBF_DOUBLE) {
prompt("Prev Value of E")
special(SPC_NOMOD)
interest(3)
}
field(LF,DBF_DOUBLE) {
prompt("Prev Value of F")
special(SPC_NOMOD)
interest(3)
}
field(LG,DBF_DOUBLE) {
prompt("Prev Value of G")
special(SPC_NOMOD)
interest(3)
}
field(LH,DBF_DOUBLE) {
prompt("Prev Value of H")
special(SPC_NOMOD)
interest(3)
}
field(LI,DBF_DOUBLE) {
prompt("Prev Value of I")
special(SPC_NOMOD)
interest(3)
}
field(LJ,DBF_DOUBLE) {
prompt("Prev Value of J")
special(SPC_NOMOD)
interest(3)
}
field(LK,DBF_DOUBLE) {
prompt("Prev Value of K")
special(SPC_NOMOD)
interest(3)
}
field(LL,DBF_DOUBLE) {
prompt("Prev Value of L")
special(SPC_NOMOD)
interest(3)
}
field(LALM,DBF_DOUBLE) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_DOUBLE) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_DOUBLE) {
prompt("Last Val Monitored")
special(SPC_NOMOD)
interest(3)
}
field(RPCL,DBF_NOACCESS) {
prompt("Reverse Polish Calc")
special(SPC_NOMOD)
interest(4)
size(184)
extra("char rpcl[184]")
}
}
+3 -1
View File
@@ -85,7 +85,9 @@
#include <errMdef.h>
#include <recSup.h>
#include <special.h>
#define GEN_SIZE_OFFSET
#include <calcRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -154,7 +156,7 @@ static long init_record(pcalc,pass)
pvalue = &pcalc->a;
for(i=0; i<ARG_MAX; i++, plink++, pvalue++) {
if (plink->type == CONSTANT) {
*pvalue = plink->value.value;
recGblInitConstantLink(plink,DBF_DOUBLE,pvalue);
}
else {
status = recGblInitFastInLink(plink, (void *) pcalc, DBR_DOUBLE, Fldnames[i]);
+121
View File
@@ -0,0 +1,121 @@
menu(compressALG) {
choice(compressALG_N_to_1_Low_Value,"N to 1 Low Value")
choice(compressALG_N_to_1_High_Value,"N to 1 High Value")
choice(compressALG_N_to_1_Average,"N to 1 Average")
choice(compressALG_Average,"Average")
choice(compressALG_Circular_Buffer,"Circular Buffer")
}
recordtype(compress) {
include "dbCommon.ascii"
field(VAL,DBF_NOACCESS) {
prompt("Value")
asl(ASL0)
special(SPC_DBADDR)
pp(TRUE)
size(4)
extra("void * val")
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_COMPRESS)
special(SPC_NOMOD)
interest(1)
}
field(RES,DBF_SHORT) {
prompt("Reset")
asl(ASL0)
special(SPC_RESET)
interest(3)
}
field(ALG,DBF_MENU) {
prompt("Compression Algorithm")
promptgroup(GUI_ALARMS)
special(SPC_RESET)
interest(1)
menu(compressALG)
}
field(NSAM,DBF_ULONG) {
prompt("Number of Values")
promptgroup(GUI_COMPRESS)
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(N,DBF_ULONG) {
prompt("N to 1 Compression")
promptgroup(GUI_COMPRESS)
special(SPC_RESET)
interest(1)
initial("1")
}
field(IHIL,DBF_FLOAT) {
prompt("Init High Interest Lim")
promptgroup(GUI_COMPRESS)
interest(1)
}
field(ILIL,DBF_FLOAT) {
prompt("Init Low Interest Lim")
promptgroup(GUI_COMPRESS)
interest(1)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("EngineeringUnits")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(OFF,DBF_ULONG) {
prompt("Offset")
special(SPC_NOMOD)
}
field(NUSE,DBF_ULONG) {
prompt("Number Used")
special(SPC_NOMOD)
}
field(BPTR,DBF_NOACCESS) {
prompt("Buffer Pointer")
special(SPC_NOMOD)
interest(4)
size(4)
extra("double *bptr")
}
field(SPTR,DBF_NOACCESS) {
prompt("Summing Buffer Ptr")
special(SPC_NOMOD)
interest(4)
size(4)
extra("double *sptr")
}
field(WPTR,DBF_NOACCESS) {
prompt("Working Buffer Ptr")
special(SPC_NOMOD)
interest(4)
size(4)
extra("double *wptr")
}
field(CVB,DBF_DOUBLE) {
prompt("Compress Value Buffer")
special(SPC_NOMOD)
interest(3)
}
field(INX,DBF_ULONG) {
prompt("Compressed Array Inx")
special(SPC_NOMOD)
interest(3)
}
}
@@ -73,7 +73,9 @@
#include <errMdef.h>
#include <special.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <compressRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
+177
View File
@@ -0,0 +1,177 @@
recordtype(dfanout) {
include "dbCommon.ascii"
field(VAL,DBF_LONG) {
prompt("Desired Output")
asl(ASL0)
pp(TRUE)
}
field(OUTA,DBF_OUTLINK) {
prompt("Output Spec A")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OUTB,DBF_OUTLINK) {
prompt("Output Spec B")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OUTC,DBF_OUTLINK) {
prompt("Output Spec C")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OUTD,DBF_OUTLINK) {
prompt("Output Spec D")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OUTE,DBF_OUTLINK) {
prompt("Output Spec E")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OUTF,DBF_OUTLINK) {
prompt("Output Spec F")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OUTG,DBF_OUTLINK) {
prompt("Output Spec G")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OUTH,DBF_OUTLINK) {
prompt("Output Spec H")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
interest(1)
menu(menuOmsl)
}
field(EGU,DBF_STRING) {
prompt("Units name")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(HOPR,DBF_LONG) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_LONG) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(HIHI,DBF_LONG) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_LONG) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_LONG) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_LONG) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_LONG) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_LONG) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_LONG) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LALM,DBF_LONG) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_LONG) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_LONG) {
prompt("Last Val Monitored")
special(SPC_NOMOD)
interest(3)
}
field(IVOA,DBF_MENU) {
prompt("INVALID output action")
promptgroup(GUI_OUTPUT)
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_LONG) {
prompt("INVALID output value")
promptgroup(GUI_OUTPUT)
interest(2)
}
}
@@ -26,7 +26,9 @@
#include <errMdef.h>
#include <recSup.h>
#include <special.h>
#define GEN_SIZE_OFFSET
#include <dfanoutRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -99,8 +101,8 @@ static long init_record(pdfanout,pass)
/* get the initial value dol is a constant*/
if (pdfanout->dol.type == CONSTANT){
pdfanout->val = pdfanout->dol.value.value;
pdfanout->udf=FALSE;
if(recGblInitConstantLink(&pdfanout->dol,DBF_LONG,&pdfanout->val))
pdfanout->udf=FALSE;
}
if (pdfanout->dol.type == PV_LINK)
{
+285
View File
@@ -0,0 +1,285 @@
menu(egMOD1) {
choice(egMOD1_Off,"Off")
choice(egMOD1_Normal,"Normal")
choice(egMOD1_Normal_Recycle,"Normal Recycle")
choice(egMOD1_Single,"Single")
choice(egMOD1_Alternate,"Alternate")
}
recordtype(eg) {
include "dbCommon.ascii"
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(MOD1,DBF_MENU) {
prompt("RAM 1 Operating Mode")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(egMOD1)
}
field(R1SP,DBF_DOUBLE) {
prompt("RAM 1 Clock (Hz)")
promptgroup(GUI_DISPLAY)
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(MOD2,DBF_MENU) {
prompt("RAM 2 Operating Mode")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(egMOD1)
}
field(R2SP,DBF_DOUBLE) {
prompt("RAM 2 Clock (Hz)")
promptgroup(GUI_DISPLAY)
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(LMD1,DBF_MENU) {
prompt("Last Operating Mode1")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
menu(egMOD1)
}
field(LMD2,DBF_MENU) {
prompt("Last Operating Mode2")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
menu(egMOD1)
}
field(FIFO,DBF_MENU) {
prompt("Input FIFO Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(LFFO,DBF_MENU) {
prompt("Last FIFO Enable")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(CLR1,DBF_CHAR) {
prompt("Clear Sequence 1")
pp(TRUE)
interest(1)
}
field(CLR2,DBF_CHAR) {
prompt("Clear Sequence 2")
pp(TRUE)
interest(1)
}
field(TRG1,DBF_CHAR) {
prompt("Trigger Sequence 1")
pp(TRUE)
interest(1)
}
field(TRG2,DBF_CHAR) {
prompt("Trigger Sequence 2")
pp(TRUE)
interest(1)
}
field(ENAB,DBF_MENU) {
prompt("Master Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(LENA,DBF_LONG) {
prompt("Last Master Enable")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(TAXI,DBF_LONG) {
prompt("Taxi Violation")
interest(1)
}
field(LTAX,DBF_LONG) {
prompt("Last Taxi Violation")
special(SPC_NOMOD)
interest(1)
}
field(VME,DBF_LONG) {
prompt("Generate VME Event")
pp(TRUE)
interest(1)
}
field(ETE0,DBF_MENU) {
prompt("Trigger 0 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(ET0,DBF_LONG) {
prompt("Trigger 0 Event")
promptgroup(GUI_DISPLAY)
pp(TRUE)
base(HEX)
interest(1)
}
field(LET0,DBF_LONG) {
prompt("Last Trigger 0 Event")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(ETE1,DBF_MENU) {
prompt("Trigger 1 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(ET1,DBF_LONG) {
prompt("Trigger 1 Event")
promptgroup(GUI_DISPLAY)
pp(TRUE)
base(HEX)
interest(1)
}
field(LET1,DBF_LONG) {
prompt("Last Trigger 1 Event")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(ETE2,DBF_MENU) {
prompt("Trigger 2 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(ET2,DBF_LONG) {
prompt("Trigger 2 Event")
promptgroup(GUI_DISPLAY)
pp(TRUE)
base(HEX)
interest(1)
}
field(LET2,DBF_LONG) {
prompt("Last Trigger 2 Event")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(ETE3,DBF_MENU) {
prompt("Trigger 3 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(ET3,DBF_LONG) {
prompt("Trigger 3 Event")
promptgroup(GUI_DISPLAY)
pp(TRUE)
base(HEX)
interest(1)
}
field(LET3,DBF_LONG) {
prompt("Last Trigger 3 Event")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(ETE4,DBF_MENU) {
prompt("Trigger 4 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(ET4,DBF_LONG) {
prompt("Trigger 4 Event")
promptgroup(GUI_DISPLAY)
pp(TRUE)
base(HEX)
interest(1)
}
field(LET4,DBF_LONG) {
prompt("Last Trigger 4 Event")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(ETE5,DBF_MENU) {
prompt("Trigger 5 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(ET5,DBF_LONG) {
prompt("Trigger 5 Event")
promptgroup(GUI_DISPLAY)
pp(TRUE)
base(HEX)
interest(1)
}
field(LET5,DBF_LONG) {
prompt("Last Trigger 5 Event")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(ETE6,DBF_MENU) {
prompt("Trigger 6 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(ET6,DBF_LONG) {
prompt("Trigger 6 Event")
promptgroup(GUI_DISPLAY)
pp(TRUE)
base(HEX)
interest(1)
}
field(LET6,DBF_LONG) {
prompt("Last Trigger 6 Event")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(ETE7,DBF_MENU) {
prompt("Trigger 7 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(ET7,DBF_LONG) {
prompt("Trigger 7 Event")
promptgroup(GUI_DISPLAY)
pp(TRUE)
base(HEX)
interest(1)
}
field(LET7,DBF_LONG) {
prompt("Last Trigger 7 Event")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(VAL,DBF_CHAR) {
prompt("Worthless Value")
asl(ASL0)
special(SPC_NOMOD)
interest(1)
}
}
+2
View File
@@ -68,7 +68,9 @@ DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
#include <recSup.h>
#include <module_types.h>
#define GEN_SIZE_OFFSET
#include <egRecord.h>
#undef GEN_SIZE_OFFSET
#include <egDefs.h>
#define STATIC static
+105
View File
@@ -0,0 +1,105 @@
menu(egeventRAM) {
choice(egeventRAM_RAM_1,"RAM 1")
choice(egeventRAM_RAM_2,"RAM 2")
}
menu(egeventUNIT) {
choice(egeventUNIT_Clock_Ticks,"Clock Ticks")
choice(egeventUNIT_Fortnights,"Fortnights")
choice(egeventUNIT_Weeks,"Weeks")
choice(egeventUNIT_Days,"Days")
choice(egeventUNIT_Hours,"Hours")
choice(egeventUNIT_Minuites,"Minuites")
choice(egeventUNIT_Seconds,"Seconds")
choice(egeventUNIT_Milliseconds,"Milliseconds")
choice(egeventUNIT_Microseconds,"Microseconds")
choice(egeventUNIT_Nanoseconds,"Nanoseconds")
}
recordtype(egevent) {
include "dbCommon.ascii"
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(ENM,DBF_LONG) {
prompt("Event Number")
promptgroup(GUI_DISPLAY)
pp(TRUE)
base(HEX)
interest(1)
}
field(LEVT,DBF_LONG) {
prompt("Last Event Number")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(RAM,DBF_MENU) {
prompt("Event RAM")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(egeventRAM)
}
field(LRAM,DBF_MENU) {
prompt("Last RAM")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
menu(egeventRAM)
}
field(DELY,DBF_FLOAT) {
prompt("Desired Delay Time")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
}
field(ADLY,DBF_FLOAT) {
prompt("Actual Delay")
special(SPC_NOMOD)
interest(1)
}
field(DPOS,DBF_LONG) {
prompt("Desired Position")
special(SPC_NOMOD)
interest(1)
}
field(APOS,DBF_LONG) {
prompt("Actual Position")
special(SPC_NOMOD)
interest(1)
}
field(LDLY,DBF_FLOAT) {
prompt("Last Desired Delay")
special(SPC_NOMOD)
interest(1)
}
field(UNIT,DBF_MENU) {
prompt("Delay Units")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(egeventUNIT)
}
field(VAL,DBF_CHAR) {
prompt("Worthless Value")
asl(ASL0)
special(SPC_NOMOD)
interest(1)
}
field(ELN,DBF_NOACCESS) {
prompt("List Node")
special(SPC_NOMOD)
interest(4)
size(12)
extra("ELLNODE eln")
}
field(SELF,DBF_NOACCESS) {
prompt("Self Pointer")
special(SPC_NOMOD)
interest(4)
size(4)
extra("struct egeventRecord *self")
}
}
@@ -67,7 +67,9 @@ DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
#include <recSup.h>
#include <egRecord.h>
#define GEN_SIZE_OFFSET
#include <egeventRecord.h>
#undef GEN_SIZE_OFFSET
#include <egDefs.h>
#define STATIC static
+313
View File
@@ -0,0 +1,313 @@
menu(erTRG0) {
choice(erTRG0_Disabled,"Disabled")
choice(erTRG0_Enabled,"Enabled")
}
recordtype(er) {
include "dbCommon.ascii"
field(VAL,DBF_CHAR) {
prompt("Worthless Value")
asl(ASL0)
special(SPC_NOMOD)
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(ENAB,DBF_MENU) {
prompt("Master Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(TAXI,DBF_LONG) {
prompt("Taxi Violation")
special(SPC_NOMOD)
interest(1)
}
field(LTAX,DBF_LONG) {
prompt("Last Taxi Violation")
special(SPC_NOMOD)
interest(1)
}
field(TRG0,DBF_MENU) {
prompt("Trigger 0 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(TRG1,DBF_MENU) {
prompt("Trigger 1 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(TRG2,DBF_MENU) {
prompt("Trigger 2 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(TRG3,DBF_MENU) {
prompt("Trigger 3 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(TRG4,DBF_MENU) {
prompt("Trigger 4 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(TRG5,DBF_MENU) {
prompt("Trigger 5 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(TRG6,DBF_MENU) {
prompt("Trigger 6 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTP0,DBF_MENU) {
prompt("OTP 0 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTP1,DBF_MENU) {
prompt("OTP 1 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTP2,DBF_MENU) {
prompt("OTP 2 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTP3,DBF_MENU) {
prompt("OTP 3 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTP4,DBF_MENU) {
prompt("OTP 4 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTP5,DBF_MENU) {
prompt("OTP 5 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTP6,DBF_MENU) {
prompt("OTP 6 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTP7,DBF_MENU) {
prompt("OTP 7 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTP8,DBF_MENU) {
prompt("OTP 8 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTP9,DBF_MENU) {
prompt("OTP 9 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTPA,DBF_MENU) {
prompt("OTP 10 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTPB,DBF_MENU) {
prompt("OTP 11 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTPC,DBF_MENU) {
prompt("OTP 12 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTPD,DBF_MENU) {
prompt("OTP 13 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTL0,DBF_MENU) {
prompt("OTL 0 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTL1,DBF_MENU) {
prompt("OTL 1 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTL2,DBF_MENU) {
prompt("OTL 2 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTL3,DBF_MENU) {
prompt("OTL 3 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTL4,DBF_MENU) {
prompt("OTL 4 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTL5,DBF_MENU) {
prompt("OTL 5 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(OTL6,DBF_MENU) {
prompt("OTL 6 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(DGCM,DBF_LONG) {
prompt("DG Change Mask")
special(SPC_NOMOD)
interest(1)
}
field(DG0E,DBF_MENU) {
prompt("DG 0 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(DG0D,DBF_USHORT) {
prompt("DG 0 Delay")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
}
field(DG0W,DBF_USHORT) {
prompt("DG 0 Width")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
}
field(DG1E,DBF_MENU) {
prompt("DG 1 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(DG1D,DBF_USHORT) {
prompt("DG 1 Delay")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
}
field(DG1W,DBF_USHORT) {
prompt("DG 1 Width")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
}
field(DG2E,DBF_MENU) {
prompt("DG 2 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(DG2D,DBF_USHORT) {
prompt("DG 2 Delay")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
}
field(DG2W,DBF_USHORT) {
prompt("DG 2 Width")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
}
field(DG3E,DBF_MENU) {
prompt("DG 3 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(erTRG0)
}
field(DG3D,DBF_USHORT) {
prompt("DG 3 Delay")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
}
field(DG3W,DBF_USHORT) {
prompt("DG 3 Width")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
}
}
+2
View File
@@ -68,7 +68,9 @@ DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
#include <module_types.h>
#include <erDefs.h>
#define GEN_SIZE_OFFSET
#include <erRecord.h>
#undef GEN_SIZE_OFFSET
#define STATIC static
+150
View File
@@ -0,0 +1,150 @@
menu(ereventENAB) {
choice(ereventENAB_Disabled,"Disabled")
choice(ereventENAB_Enabled,"Enabled")
}
recordtype(erevent) {
include "dbCommon.ascii"
field(VAL,DBF_CHAR) {
prompt("Worthless Value")
asl(ASL0)
special(SPC_NOMOD)
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(ENAB,DBF_MENU) {
prompt("Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(ENM,DBF_LONG) {
prompt("Event Number")
promptgroup(GUI_DISPLAY)
pp(TRUE)
base(HEX)
interest(1)
}
field(LENM,DBF_LONG) {
prompt("Last Event Number")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(LOUT,DBF_LONG) {
prompt("Last Out Enable Mask")
special(SPC_NOMOD)
pp(TRUE)
interest(1)
}
field(OUT0,DBF_MENU) {
prompt("Out 0 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUT1,DBF_MENU) {
prompt("Out 1 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUT2,DBF_MENU) {
prompt("Out 2 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUT3,DBF_MENU) {
prompt("Out 3 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUT4,DBF_MENU) {
prompt("Out 4 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUT5,DBF_MENU) {
prompt("Out 5 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUT6,DBF_MENU) {
prompt("Out 6 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUT7,DBF_MENU) {
prompt("Out 7 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUT8,DBF_MENU) {
prompt("Out 8 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUT9,DBF_MENU) {
prompt("Out 9 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUTA,DBF_MENU) {
prompt("Out 10 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUTB,DBF_MENU) {
prompt("Out 11 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUTC,DBF_MENU) {
prompt("Out 12 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(OUTD,DBF_MENU) {
prompt("Out 13 Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
field(VME,DBF_MENU) {
prompt("VME IRQ Enable")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
menu(ereventENAB)
}
}
@@ -67,7 +67,9 @@ DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
#include <recSup.h>
#include <ereventDefs.h>
#define GEN_SIZE_OFFSET
#include <ereventRecord.h>
#undef GEN_SIZE_OFFSET
#define STATIC static
+40
View File
@@ -0,0 +1,40 @@
recordtype(event) {
include "dbCommon.ascii"
field(VAL,DBF_USHORT) {
prompt("Event Number To Post")
promptgroup(GUI_INPUTS)
asl(ASL0)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SVAL,DBF_USHORT) {
prompt("Simulation Value")
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
}
+4 -2
View File
@@ -51,7 +51,9 @@
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <eventRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -114,7 +116,7 @@ static long init_record(pevent,pass)
if (pass==0) return(0);
if (pevent->siml.type == CONSTANT) {
pevent->simm = pevent->siml.value.value;
recGblInitConstantLink(&pevent->siml,DBF_USHORT,&pevent->simm);
}
else {
status = recGblInitFastInLink(&(pevent->siml), (void *) pevent, DBR_ENUM, "SIMM");
@@ -123,7 +125,7 @@ static long init_record(pevent,pass)
}
if (pevent->siol.type == CONSTANT) {
pevent->sval = pevent->siol.value.value;
recGblInitConstantLink(&pevent->siol,DBF_USHORT,&pevent->sval);
}
else {
status = recGblInitFastInLink(&(pevent->siol), (void *) pevent, DBR_USHORT, "SVAL");
+66
View File
@@ -0,0 +1,66 @@
menu(fanoutSELM) {
choice(fanoutSELM_All,"All")
choice(fanoutSELM_Specified,"Specified")
choice(fanoutSELM_Mask,"Mask")
}
recordtype(fanout) {
include "dbCommon.ascii"
field(VAL,DBF_LONG) {
prompt("Used to trigger")
asl(ASL0)
pp(TRUE)
}
field(SELM,DBF_MENU) {
prompt("Select Mechanism")
promptgroup(GUI_LINKS)
interest(1)
menu(fanoutSELM)
}
field(SELN,DBF_USHORT) {
prompt("Link Selection")
interest(1)
initial("1")
}
field(SELL,DBF_INLINK) {
prompt("Link Selection Loc")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(LNK1,DBF_FWDLINK) {
prompt("Forward Link 1")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(LNK2,DBF_FWDLINK) {
prompt("Forward Link 2")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(LNK3,DBF_FWDLINK) {
prompt("Forward Link 3")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(LNK4,DBF_FWDLINK) {
prompt("Forward Link 4")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(LNK5,DBF_FWDLINK) {
prompt("Forward Link 5")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(LNK6,DBF_FWDLINK) {
prompt("Forward Link 6")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
}
@@ -60,7 +60,9 @@
#include <dbFldTypes.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <fanoutRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -117,11 +119,11 @@ static long init_record(pfanout,pass)
/* get link selection if sell is a constant and nonzero*/
if (pfanout->sell.type == CONSTANT) {
if (pfanout->sell.value.value != 0)
pfanout->seln = pfanout->sell.value.value;
recGblInitConstantLink(&pfanout->sell,DBF_USHORT,&pfanout->seln);
}
else {
status = recGblInitFastInLink(&(pfanout->sell), (void *) pfanout, DBR_USHORT, "SELN");
status = recGblInitFastInLink(&(pfanout->sell), (void *) pfanout,
DBR_USHORT, "SELN");
if (status)
return(status);
}
+234
View File
@@ -0,0 +1,234 @@
recordtype(gsub) {
include "dbCommon.ascii"
field(VAL,DBF_FLOAT) {
prompt("Result")
asl(ASL0)
pp(TRUE)
}
field(INAM,DBF_STRING) {
prompt("Init Routine Name")
promptgroup(GUI_SUB)
special(SPC_NOMOD)
interest(1)
size(16)
}
field(SNAM,DBF_STRING) {
prompt("Subroutine Name")
promptgroup(GUI_SUB)
special(SPC_NOMOD)
interest(1)
size(16)
}
field(SADR,DBF_NOACCESS) {
prompt("Subroutine Address")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * sadr")
}
field(STYP,DBF_SHORT) {
prompt("Subr symbol type")
special(SPC_NOMOD)
interest(3)
}
field(INPA,DBF_INLINK) {
prompt("Input A")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPB,DBF_INLINK) {
prompt("Input B")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPC,DBF_INLINK) {
prompt("Input C")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPD,DBF_INLINK) {
prompt("Input D")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPE,DBF_INLINK) {
prompt("Input E")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPF,DBF_INLINK) {
prompt("Input F")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Units Name")
promptgroup(GUI_INPUTS)
interest(1)
size(16)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Rng")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(HIHI,DBF_FLOAT) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_FLOAT) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_FLOAT) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(BRSV,DBF_MENU) {
prompt("Bad Return Severity")
promptgroup(GUI_SUB)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(A,DBF_FLOAT) {
prompt("Value of Input A")
pp(TRUE)
}
field(B,DBF_FLOAT) {
prompt("Value of Input B")
pp(TRUE)
}
field(C,DBF_FLOAT) {
prompt("Value of Input C")
pp(TRUE)
}
field(D,DBF_FLOAT) {
prompt("Value of Input D")
pp(TRUE)
}
field(E,DBF_FLOAT) {
prompt("Value of Input E")
pp(TRUE)
}
field(F,DBF_FLOAT) {
prompt("Value of Input F")
pp(TRUE)
}
field(LA,DBF_FLOAT) {
prompt("Prev Value of A")
special(SPC_NOMOD)
interest(3)
}
field(LB,DBF_FLOAT) {
prompt("Prev Value of B")
special(SPC_NOMOD)
interest(3)
}
field(LC,DBF_FLOAT) {
prompt("Prev Value of C")
special(SPC_NOMOD)
interest(3)
}
field(LD,DBF_FLOAT) {
prompt("Prev Value of D")
special(SPC_NOMOD)
interest(3)
}
field(LE,DBF_FLOAT) {
prompt("Prev Value of E")
special(SPC_NOMOD)
interest(3)
}
field(LF,DBF_FLOAT) {
prompt("Prev Value of F")
special(SPC_NOMOD)
interest(3)
}
field(LALM,DBF_FLOAT) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_FLOAT) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_FLOAT) {
prompt("Last Value Monitored")
special(SPC_NOMOD)
interest(3)
}
}
+4 -1
View File
@@ -49,7 +49,9 @@
#include <dbFldTypes.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <gsubRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -120,7 +122,8 @@ static long init_record(psub,pass)
plink = &psub->inpa;
pvalue = &psub->a;
for(i=0; i<ARG_MAX; i++, plink++, pvalue++) {
if(plink->type==CONSTANT) *pvalue = plink->value.value;
if(plink->type==CONSTANT)
recGblInitConstantLink(plink,DBF_FLOAT,pvalue);
if (plink->type == PV_LINK)
{
status = dbCaAddInlink(plink, (void *) psub, Fldnames[i]);
+120
View File
@@ -0,0 +1,120 @@
menu(histogramCMD) {
choice(histogramCMD_Read,"Read")
choice(histogramCMD_Clear,"Clear")
choice(histogramCMD_Start,"Start")
choice(histogramCMD_Stop,"Stop")
choice(histogramCMD_Setup,"Setup")
}
recordtype(histogram) {
include "dbCommon.ascii"
field(VAL,DBF_NOACCESS) {
prompt("Value")
asl(ASL0)
special(SPC_DBADDR)
size(4)
extra("void * val")
}
field(NELM,DBF_USHORT) {
prompt("Num of Array Elements")
promptgroup(GUI_HIST)
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(CSTA,DBF_SHORT) {
prompt("Collection Status")
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(CMD,DBF_MENU) {
prompt("Collection Control")
asl(ASL0)
special(SPC_CALC)
interest(1)
menu(histogramCMD)
}
field(ULIM,DBF_DOUBLE) {
prompt("Upper Signal Limit")
promptgroup(GUI_HIST)
special(SPC_RESET)
interest(1)
}
field(LLIM,DBF_DOUBLE) {
prompt("Lower Signal Limit ")
promptgroup(GUI_HIST)
special(SPC_RESET)
interest(1)
}
field(WDTH,DBF_DOUBLE) {
prompt("Element Width")
special(SPC_NOMOD)
interest(3)
}
field(SGNL,DBF_DOUBLE) {
prompt("Signal Value")
special(SPC_MOD)
}
field(SVL,DBF_INLINK) {
prompt("Signal Value Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(BPTR,DBF_NOACCESS) {
prompt("Buffer Pointer")
special(SPC_NOMOD)
interest(4)
size(4)
extra("unsigned long *bptr")
}
field(WDOG,DBF_NOACCESS) {
prompt("Watchdog callback")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * wdog")
}
field(MDEL,DBF_SHORT) {
prompt("Monitor Count Deadband")
promptgroup(GUI_HIST)
interest(1)
}
field(MCNT,DBF_SHORT) {
prompt("Counts Since Monitor")
special(SPC_NOMOD)
interest(3)
}
field(SDEL,DBF_FLOAT) {
prompt("Monitor Seconds Dband")
promptgroup(GUI_HIST)
special(SPC_NOMOD)
interest(1)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SVAL,DBF_DOUBLE) {
prompt("Simulation Value")
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
}
@@ -59,7 +59,9 @@
#include <errMdef.h>
#include <special.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <histogramRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -193,7 +195,7 @@ static long init_record(phistogram,pass)
}
if (phistogram->siml.type == CONSTANT) {
phistogram->simm = phistogram->siml.value.value;
recGblInitConstantLink(&phistogram->siml,DBF_USHORT,&phistogram->simm);
}
else {
status = recGblInitFastInLink(&(phistogram->siml), (void *) phistogram, DBR_ENUM, "SIMM");
@@ -202,7 +204,7 @@ static long init_record(phistogram,pass)
}
if (phistogram->siol.type == CONSTANT) {
phistogram->sval = phistogram->siol.value.value;
recGblInitConstantLink(&phistogram->siol,DBF_DOUBLE,&phistogram->sval);
}
else {
status = recGblInitFastInLink(&(phistogram->siol), (void *) phistogram, DBR_DOUBLE, "SVAL");
+138
View File
@@ -0,0 +1,138 @@
recordtype(longin) {
include "dbCommon.ascii"
field(VAL,DBF_LONG) {
prompt("Current value")
asl(ASL0)
pp(TRUE)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Units name")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(HOPR,DBF_LONG) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_LONG) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(HIHI,DBF_LONG) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_LONG) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_LONG) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_LONG) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_LONG) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_LONG) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_LONG) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LALM,DBF_LONG) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_LONG) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_LONG) {
prompt("Last Val Monitored")
special(SPC_NOMOD)
interest(3)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SVAL,DBF_LONG) {
prompt("Simulation Value")
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
}
@@ -58,7 +58,9 @@
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <longinRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -124,7 +126,7 @@ static long init_record(plongin,pass)
/* longin.siml must be a CONSTANT or a PV_LINK or a DB_LINK */
if (plongin->siml.type == CONSTANT) {
plongin->simm = plongin->siml.value.value;
recGblInitConstantLink(&plongin->siml,DBF_USHORT,&plongin->simm);
}
else {
status = recGblInitFastInLink(&(plongin->siml), (void *) plongin, DBR_ENUM, "SIMM");
@@ -133,7 +135,7 @@ static long init_record(plongin,pass)
/* longin.siol must be a CONSTANT or a PV_LINK or a DB_LINK */
if (plongin->siol.type == CONSTANT) {
plongin->sval = plongin->siol.value.value;
recGblInitConstantLink(&plongin->siol,DBF_LONG,&plongin->sval);
}
else {
status = recGblInitFastInLink(&(plongin->siol), (void *) plongin, DBR_LONG, "SVAL");
+158
View File
@@ -0,0 +1,158 @@
recordtype(longout) {
include "dbCommon.ascii"
field(VAL,DBF_LONG) {
prompt("Desired Output")
asl(ASL0)
pp(TRUE)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
interest(1)
menu(menuOmsl)
}
field(EGU,DBF_STRING) {
prompt("Units name")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(HOPR,DBF_LONG) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_LONG) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(HIHI,DBF_LONG) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_LONG) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_LONG) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_LONG) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_LONG) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_LONG) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_LONG) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LALM,DBF_LONG) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_LONG) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_LONG) {
prompt("Last Val Monitored")
special(SPC_NOMOD)
interest(3)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID output action")
promptgroup(GUI_OUTPUT)
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_LONG) {
prompt("INVALID output value")
promptgroup(GUI_OUTPUT)
interest(2)
}
}
@@ -60,7 +60,10 @@
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <longoutRecord.h>
#undef GEN_SIZE_OFFSET
#include <menuIvoa.h>
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -126,7 +129,7 @@ static long init_record(plongout,pass)
/* longout.siml must be a CONSTANT or a PV_LINK or a DB_LINK */
if (plongout->siml.type == CONSTANT) {
plongout->simm = plongout->siml.value.value;
recGblInitConstantLink(&plongout->siml,DBF_USHORT,&plongout->simm);
}
else {
status = recGblInitFastInLink(&(plongout->siml), (void *) plongout, DBR_ENUM, "SIMM");
@@ -147,8 +150,8 @@ static long init_record(plongout,pass)
}
/* get the initial value dol is a constant*/
if (plongout->dol.type == CONSTANT) {
plongout->val = plongout->dol.value.value;
plongout->udf=FALSE;
if(recGblInitConstantLink(&plongout->dol,DBF_LONG,&plongout->val))
plongout->udf=FALSE;
}
else {
status = recGblInitFastInLink(&(plongout->dol), (void *) plongout, DBR_LONG, "VAL");
@@ -189,12 +192,12 @@ static long process(plongout)
status=writeValue(plongout); /* write the new value */
else {
switch (plongout->ivoa) {
case (IVOA_CONTINUE) :
case (menuIvoaContinue_normally) :
status=writeValue(plongout); /* write the new value */
break;
case (IVOA_NO_OUTPUT) :
case (menuIvoaDon_t_drive_outputs) :
break;
case (IVOA_OUTPUT_IVOV) :
case (menuIvoaSet_output_to_IVOV) :
if(plongout->pact == FALSE){
plongout->val=plongout->ivov;
}
+177
View File
@@ -0,0 +1,177 @@
recordtype(mbbiDirect) {
include "dbCommon.ascii"
field(VAL,DBF_USHORT) {
prompt("Current Value")
asl(ASL0)
special(SPC_NOMOD)
pp(TRUE)
}
field(NOBT,DBF_SHORT) {
prompt("Number of Bits")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(RVAL,DBF_ULONG) {
prompt("Raw Value")
pp(TRUE)
}
field(ORAW,DBF_ULONG) {
prompt("Prev Raw Value")
special(SPC_NOMOD)
interest(3)
}
field(MASK,DBF_ULONG) {
prompt("Hardware Mask")
special(SPC_NOMOD)
interest(1)
}
field(MLST,DBF_USHORT) {
prompt("Last Value Monitored")
special(SPC_NOMOD)
interest(3)
}
field(LALM,DBF_USHORT) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(SDEF,DBF_SHORT) {
prompt("States Defined")
special(SPC_NOMOD)
interest(3)
}
field(SHFT,DBF_USHORT) {
prompt("Shift")
special(SPC_NOMOD)
interest(1)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(SVAL,DBF_USHORT) {
prompt("Simulation Value")
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_MBB)
interest(2)
menu(menuAlarmSevr)
}
field(B0,DBF_UCHAR) {
prompt("Bit 0")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
}
field(B1,DBF_UCHAR) {
prompt("Bit 1")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
}
field(B2,DBF_UCHAR) {
prompt("Bit 2")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
}
field(B3,DBF_UCHAR) {
prompt("Bit 3")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
}
field(B4,DBF_UCHAR) {
prompt("Bit 4")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
}
field(B5,DBF_UCHAR) {
prompt("Bit 5")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
}
field(B6,DBF_UCHAR) {
prompt("Bit 6")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
}
field(B7,DBF_UCHAR) {
prompt("Bit 7")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
}
field(B8,DBF_UCHAR) {
prompt("Bit 8")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
}
field(B9,DBF_UCHAR) {
prompt("Bit 9")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
}
field(BA,DBF_UCHAR) {
prompt("Bit A")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
}
field(BB,DBF_UCHAR) {
prompt("Bit B")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
}
field(BC,DBF_UCHAR) {
prompt("Bit C")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
}
field(BD,DBF_UCHAR) {
prompt("Bit D")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
}
field(BE,DBF_UCHAR) {
prompt("Bit E")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
}
field(BF,DBF_UCHAR) {
prompt("Bit F")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
}
}
@@ -48,7 +48,9 @@
#include <errMdef.h>
#include <recSup.h>
#include <special.h>
#define GEN_SIZE_OFFSET
#include <mbbiDirectRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -141,7 +143,7 @@ static long init_record(pmbbiDirect,pass)
/* mbbi.siml must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/
switch (pmbbiDirect->siml.type) {
case (CONSTANT) :
pmbbiDirect->simm = pmbbiDirect->siml.value.value;
recGblInitConstantLink(&pmbbiDirect->siml,DBF_USHORT,&pmbbiDirect->simm);
break;
case (PV_LINK) :
status = dbCaAddInlink(&(pmbbiDirect->siml), (void *) pmbbiDirect, "SIMM");
@@ -158,7 +160,7 @@ static long init_record(pmbbiDirect,pass)
/* mbbi.siol must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/
switch (pmbbiDirect->siol.type) {
case (CONSTANT) :
pmbbiDirect->sval = pmbbiDirect->siol.value.value;
recGblInitConstantLink(&pmbbiDirect->siol,DBF_USHORT,&pmbbiDirect->sval);
break;
case (PV_LINK) :
status = dbCaAddInlink(&(pmbbiDirect->siol), (void *) pmbbiDirect, "SVAL");
+446
View File
@@ -0,0 +1,446 @@
recordtype(mbbi) {
include "dbCommon.ascii"
field(VAL,DBF_ENUM) {
prompt("Current Value")
asl(ASL0)
pp(TRUE)
}
field(NOBT,DBF_SHORT) {
prompt("Number of Bits")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(ZRVL,DBF_ULONG) {
prompt("Zero Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(ONVL,DBF_ULONG) {
prompt("One Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(TWVL,DBF_ULONG) {
prompt("Two Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(THVL,DBF_ULONG) {
prompt("Three Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(FRVL,DBF_ULONG) {
prompt("Four Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(FVVL,DBF_ULONG) {
prompt("Five Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(SXVL,DBF_ULONG) {
prompt("Six Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(SVVL,DBF_ULONG) {
prompt("Seven Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(EIVL,DBF_ULONG) {
prompt("Eight Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(NIVL,DBF_ULONG) {
prompt("Nine Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(TEVL,DBF_ULONG) {
prompt("Ten Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(ELVL,DBF_ULONG) {
prompt("Eleven Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(TVVL,DBF_ULONG) {
prompt("Twelve Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(TTVL,DBF_ULONG) {
prompt("Thirteen Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(FTVL,DBF_ULONG) {
prompt("Fourteen Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(FFVL,DBF_ULONG) {
prompt("Fifteen Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(ZRST,DBF_STRING) {
prompt("Zero String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(ONST,DBF_STRING) {
prompt("One String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(TWST,DBF_STRING) {
prompt("Two String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(THST,DBF_STRING) {
prompt("Three String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(FRST,DBF_STRING) {
prompt("Four String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(FVST,DBF_STRING) {
prompt("Five String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(SXST,DBF_STRING) {
prompt("Six String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(SVST,DBF_STRING) {
prompt("Seven String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(EIST,DBF_STRING) {
prompt("Eight String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(NIST,DBF_STRING) {
prompt("Nine String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(TEST,DBF_STRING) {
prompt("Ten String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(ELST,DBF_STRING) {
prompt("Eleven String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(TVST,DBF_STRING) {
prompt("Twelve String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(TTST,DBF_STRING) {
prompt("Thirteen String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(FTST,DBF_STRING) {
prompt("Fourteen String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(FFST,DBF_STRING) {
prompt("Fifteen String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(ZRSV,DBF_MENU) {
prompt("State Zero Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ONSV,DBF_MENU) {
prompt("State One Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TWSV,DBF_MENU) {
prompt("State Two Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(THSV,DBF_MENU) {
prompt("State Three Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FRSV,DBF_MENU) {
prompt("State Four Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FVSV,DBF_MENU) {
prompt("State Five Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(SXSV,DBF_MENU) {
prompt("State Six Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(SVSV,DBF_MENU) {
prompt("State Seven Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(EISV,DBF_MENU) {
prompt("State Eight Severity")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(NISV,DBF_MENU) {
prompt("State Nine Severity")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TESV,DBF_MENU) {
prompt("State Ten Severity")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ELSV,DBF_MENU) {
prompt("State Eleven Severity")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TVSV,DBF_MENU) {
prompt("State Twelve Severity")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TTSV,DBF_MENU) {
prompt("State Thirteen Sevr")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FTSV,DBF_MENU) {
prompt("State Fourteen Sevr")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FFSV,DBF_MENU) {
prompt("State Fifteen Severity")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(UNSV,DBF_MENU) {
prompt("Unknown State Severity")
promptgroup(GUI_MBB)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(COSV,DBF_MENU) {
prompt("Change of State Svr")
promptgroup(GUI_MBB)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(RVAL,DBF_ULONG) {
prompt("Raw Value")
pp(TRUE)
}
field(ORAW,DBF_ULONG) {
prompt("Prev Raw Value")
special(SPC_NOMOD)
interest(3)
}
field(MASK,DBF_ULONG) {
prompt("Hardware Mask")
special(SPC_NOMOD)
interest(1)
}
field(MLST,DBF_USHORT) {
prompt("Last Value Monitored")
special(SPC_NOMOD)
interest(3)
}
field(LALM,DBF_USHORT) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(SDEF,DBF_SHORT) {
prompt("States Defined")
special(SPC_NOMOD)
interest(3)
}
field(SHFT,DBF_USHORT) {
prompt("Shift")
special(SPC_NOMOD)
interest(1)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(SVAL,DBF_USHORT) {
prompt("Simulation Value")
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_MBB)
interest(2)
menu(menuAlarmSevr)
}
}
+4 -2
View File
@@ -71,7 +71,9 @@
#include <errMdef.h>
#include <recSup.h>
#include <special.h>
#define GEN_SIZE_OFFSET
#include <mbbiRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
@@ -155,7 +157,7 @@ static long init_record(pmbbi,pass)
/* mbbi.siml must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/
if (pmbbi->siml.type == CONSTANT) {
pmbbi->simm = pmbbi->siml.value.value;
recGblInitConstantLink(&pmbbi->siml,DBF_USHORT,&pmbbi->simm);
}
else {
status = recGblInitFastInLink(&(pmbbi->siml), (void *) pmbbi, DBR_ENUM, "SIMM");
@@ -165,7 +167,7 @@ static long init_record(pmbbi,pass)
/* mbbi.siol must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/
if (pmbbi->siol.type == CONSTANT) {
pmbbi->sval = pmbbi->siol.value.value;
recGblInitConstantLink(&pmbbi->siol,DBF_USHORT,&pmbbi->sval);
}
else {
status = recGblInitFastInLink(&(pmbbi->siol), (void *) pmbbi, DBR_USHORT, "SVAL");
+204
View File
@@ -0,0 +1,204 @@
recordtype(mbboDirect) {
include "dbCommon.ascii"
field(VAL,DBF_USHORT) {
prompt("Word")
asl(ASL0)
special(SPC_NOMOD)
pp(TRUE)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_MBB)
special(SPC_RESET)
pp(TRUE)
interest(1)
menu(menuOmsl)
}
field(NOBT,DBF_SHORT) {
prompt("Number of Bits")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(B0,DBF_UCHAR) {
prompt("Bit 0")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B1,DBF_UCHAR) {
prompt("Bit 1")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B2,DBF_UCHAR) {
prompt("Bit 2")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B3,DBF_UCHAR) {
prompt("Bit 3")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B4,DBF_UCHAR) {
prompt("Bit 4")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B5,DBF_UCHAR) {
prompt("Bit 5")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B6,DBF_UCHAR) {
prompt("Bit 6")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B7,DBF_UCHAR) {
prompt("Bit 7")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B8,DBF_UCHAR) {
prompt("Bit 8")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(B9,DBF_UCHAR) {
prompt("Bit 9")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BA,DBF_UCHAR) {
prompt("Bit 10")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BB,DBF_UCHAR) {
prompt("Bit 11")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BC,DBF_UCHAR) {
prompt("Bit 12")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BD,DBF_UCHAR) {
prompt("Bit 13")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BE,DBF_UCHAR) {
prompt("Bit 14")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(BF,DBF_UCHAR) {
prompt("Bit 15")
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(RVAL,DBF_ULONG) {
prompt("Raw Value")
special(SPC_NOMOD)
pp(TRUE)
}
field(ORAW,DBF_ULONG) {
prompt("Prev Raw Value")
special(SPC_NOMOD)
interest(3)
}
field(RBV,DBF_ULONG) {
prompt("Readback Value")
special(SPC_NOMOD)
}
field(ORBV,DBF_ULONG) {
prompt("Prev Readback Value")
special(SPC_NOMOD)
interest(3)
}
field(MASK,DBF_ULONG) {
prompt("Hardware Mask")
special(SPC_NOMOD)
interest(1)
}
field(MLST,DBF_ULONG) {
prompt("Last Value Monitored")
special(SPC_NOMOD)
interest(3)
}
field(LALM,DBF_ULONG) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(SHFT,DBF_ULONG) {
prompt("Shift")
special(SPC_NOMOD)
interest(1)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_MBB)
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID outpt action")
promptgroup(GUI_MBB)
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_USHORT) {
prompt("INVALID output value")
promptgroup(GUI_MBB)
interest(2)
}
}
@@ -48,7 +48,9 @@
#include <errMdef.h>
#include <recSup.h>
#include <special.h>
#define GEN_SIZE_OFFSET
#include <mbboDirectRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -118,7 +120,7 @@ static long init_record(pmbboDirect,pass)
/* mbbo.siml must be a CONSTANT or a PV_LINK or a DB_LINK */
switch (pmbboDirect->siml.type) {
case (CONSTANT) :
pmbboDirect->simm = pmbboDirect->siml.value.value;
recGblInitConstantLink(&pmbboDirect->siml,DBF_USHORT,&pmbboDirect->simm);
break;
case (PV_LINK) :
status = dbCaAddInlink(&(pmbboDirect->siml), (void *) pmbboDirect, "SIMM");
@@ -148,7 +150,7 @@ static long init_record(pmbboDirect,pass)
return(S_dev_missingSup);
}
if (pmbboDirect->dol.type == CONSTANT){
pmbboDirect->val = pmbboDirect->dol.value.value;
recGblInitConstantLink(&pmbboDirect->dol,DBF_USHORT,&pmbboDirect->val);
}
/* initialize mask*/
pmbboDirect->mask = 0;
+475
View File
@@ -0,0 +1,475 @@
recordtype(mbbo) {
include "dbCommon.ascii"
field(VAL,DBF_ENUM) {
prompt("Desired Value")
asl(ASL0)
pp(TRUE)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_MBB)
interest(1)
menu(menuOmsl)
}
field(NOBT,DBF_SHORT) {
prompt("Number of Bits")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(ZRVL,DBF_ULONG) {
prompt("Zero Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(ONVL,DBF_ULONG) {
prompt("One Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(TWVL,DBF_ULONG) {
prompt("Two Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(THVL,DBF_ULONG) {
prompt("Three Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(FRVL,DBF_ULONG) {
prompt("Four Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(FVVL,DBF_ULONG) {
prompt("Five Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(SXVL,DBF_ULONG) {
prompt("Six Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(SVVL,DBF_ULONG) {
prompt("Seven Value")
promptgroup(GUI_BITS1)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(EIVL,DBF_ULONG) {
prompt("Eight Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(NIVL,DBF_ULONG) {
prompt("Nine Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(TEVL,DBF_ULONG) {
prompt("Ten Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(ELVL,DBF_ULONG) {
prompt("Eleven Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(TVVL,DBF_ULONG) {
prompt("Twelve Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(TTVL,DBF_ULONG) {
prompt("Thirteen Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(FTVL,DBF_ULONG) {
prompt("Fourteen Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(FFVL,DBF_ULONG) {
prompt("Fifteen Value")
promptgroup(GUI_BITS2)
special(SPC_MOD)
pp(TRUE)
base(HEX)
interest(1)
}
field(ZRST,DBF_STRING) {
prompt("Zero String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(ONST,DBF_STRING) {
prompt("One String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(TWST,DBF_STRING) {
prompt("Two String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(THST,DBF_STRING) {
prompt("Three String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(FRST,DBF_STRING) {
prompt("Four String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(FVST,DBF_STRING) {
prompt("Five String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(SXST,DBF_STRING) {
prompt("Six String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(SVST,DBF_STRING) {
prompt("Seven String")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
size(16)
}
field(EIST,DBF_STRING) {
prompt("Eight String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(NIST,DBF_STRING) {
prompt("Nine String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(TEST,DBF_STRING) {
prompt("Ten String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(ELST,DBF_STRING) {
prompt("Eleven String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(TVST,DBF_STRING) {
prompt("Twelve String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(TTST,DBF_STRING) {
prompt("Thirteen String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(FTST,DBF_STRING) {
prompt("Fourteen String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(FFST,DBF_STRING) {
prompt("Fifteen String")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
size(16)
}
field(ZRSV,DBF_MENU) {
prompt("State Zero Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ONSV,DBF_MENU) {
prompt("State One Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TWSV,DBF_MENU) {
prompt("State Two Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(THSV,DBF_MENU) {
prompt("State Three Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FRSV,DBF_MENU) {
prompt("State Four Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FVSV,DBF_MENU) {
prompt("State Five Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(SXSV,DBF_MENU) {
prompt("State Six Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(SVSV,DBF_MENU) {
prompt("State Seven Severity")
promptgroup(GUI_BITS1)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(EISV,DBF_MENU) {
prompt("State Eight Severity")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(NISV,DBF_MENU) {
prompt("State Nine Severity")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TESV,DBF_MENU) {
prompt("State Ten Severity")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ELSV,DBF_MENU) {
prompt("State Eleven Severity")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TVSV,DBF_MENU) {
prompt("State Twelve Severity")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(TTSV,DBF_MENU) {
prompt("State Thirteen Sevr")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FTSV,DBF_MENU) {
prompt("State Fourteen Sevr")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(FFSV,DBF_MENU) {
prompt("State Fifteen Sevr")
promptgroup(GUI_BITS2)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(UNSV,DBF_MENU) {
prompt("Unknown State Sevr")
promptgroup(GUI_MBB)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(COSV,DBF_MENU) {
prompt("Change of State Sevr")
promptgroup(GUI_MBB)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(RVAL,DBF_ULONG) {
prompt("Raw Value")
pp(TRUE)
}
field(ORAW,DBF_ULONG) {
prompt("Prev Raw Value")
special(SPC_NOMOD)
interest(3)
}
field(RBV,DBF_ULONG) {
prompt("Readback Value")
special(SPC_NOMOD)
}
field(ORBV,DBF_ULONG) {
prompt("Prev Readback Value")
special(SPC_NOMOD)
interest(3)
}
field(MASK,DBF_ULONG) {
prompt("Hardware Mask")
special(SPC_NOMOD)
interest(1)
}
field(MLST,DBF_USHORT) {
prompt("Last Value Monitored")
special(SPC_NOMOD)
interest(3)
}
field(LALM,DBF_USHORT) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(SDEF,DBF_SHORT) {
prompt("States Defined")
special(SPC_NOMOD)
interest(3)
}
field(SHFT,DBF_USHORT) {
prompt("Shift")
special(SPC_NOMOD)
interest(1)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_MBB)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_MBB)
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID outpt action")
promptgroup(GUI_MBB)
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_USHORT) {
prompt("INVALID output value")
promptgroup(GUI_MBB)
interest(2)
}
}
+9 -6
View File
@@ -75,7 +75,10 @@
#include <errMdef.h>
#include <recSup.h>
#include <special.h>
#define GEN_SIZE_OFFSET
#include <mbboRecord.h>
#undef GEN_SIZE_OFFSET
#include <menuIvoa.h>
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -163,7 +166,7 @@ static long init_record(pmbbo,pass)
/* mbbo.siml must be a CONSTANT or a PV_LINK or a DB_LINK */
if (pmbbo->siml.type == CONSTANT) {
pmbbo->simm = pmbbo->siml.value.value;
recGblInitConstantLink(&pmbbo->siml,DBF_USHORT,&pmbbo->simm);
}
else {
status = recGblInitFastInLink(&(pmbbo->siml), (void *) pmbbo, DBR_ENUM, "SIMM");
@@ -186,8 +189,8 @@ static long init_record(pmbbo,pass)
return(S_dev_missingSup);
}
if (pmbbo->dol.type == CONSTANT){
pmbbo->val = pmbbo->dol.value.value;
pmbbo->udf = FALSE;
if(recGblInitConstantLink(&pmbbo->dol,DBF_USHORT,&pmbbo->val))
pmbbo->udf = FALSE;
}
else {
status = recGblInitFastInLink(&(pmbbo->dol), (void *) pmbbo, DBR_USHORT, "VAL");
@@ -278,12 +281,12 @@ CONTINUE:
status=writeValue(pmbbo); /* write the new value */
else {
switch (pmbbo->ivoa) {
case (IVOA_CONTINUE) :
case (menuIvoaContinue_normally) :
status=writeValue(pmbbo); /* write the new value */
break;
case (IVOA_NO_OUTPUT) :
case (menuIvoaDon_t_drive_outputs) :
break;
case (IVOA_OUTPUT_IVOV) :
case (menuIvoaSet_output_to_IVOV) :
if (pmbbo->pact == FALSE){
pmbbo->val=pmbbo->ivov;
convert(pmbbo);
+336
View File
@@ -0,0 +1,336 @@
recordtype(pal) {
include "dbCommon.ascii"
field(VAL,DBF_ULONG) {
prompt("Result")
asl(ASL0)
}
field(JEDF,DBF_STRING) {
prompt("jedfile")
promptgroup(GUI_INPUTS)
pp(TRUE)
interest(1)
size(36)
}
field(PPTR,DBF_NOACCESS) {
prompt("paldata")
interest(4)
size(4)
extra("void * pptr")
}
field(INPA,DBF_INLINK) {
prompt("Input A")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(INPB,DBF_INLINK) {
prompt("Input B")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(INPC,DBF_INLINK) {
prompt("Input C")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(INPD,DBF_INLINK) {
prompt("Input D")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(INPE,DBF_INLINK) {
prompt("Input E")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(INPF,DBF_INLINK) {
prompt("Input F")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(INPG,DBF_INLINK) {
prompt("Input G")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(INPH,DBF_INLINK) {
prompt("Input H")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(INPI,DBF_INLINK) {
prompt("Input I")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(INPJ,DBF_INLINK) {
prompt("Input J")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(INPK,DBF_INLINK) {
prompt("Input K")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(INPL,DBF_INLINK) {
prompt("Input L")
promptgroup(GUI_LINKS)
special(SPC_NOMOD)
interest(1)
}
field(A0,DBF_DOUBLE) {
prompt("0 thresh of Input A")
promptgroup(GUI_INPUTS)
interest(1)
}
field(A1,DBF_DOUBLE) {
prompt("1 thresh of Input A")
promptgroup(GUI_INPUTS)
interest(1)
}
field(B0,DBF_DOUBLE) {
prompt("0 thresh of Input B")
promptgroup(GUI_INPUTS)
interest(1)
}
field(B1,DBF_DOUBLE) {
prompt("1 thresh of Input B")
promptgroup(GUI_INPUTS)
interest(1)
}
field(C0,DBF_DOUBLE) {
prompt("0 thresh of Input C")
promptgroup(GUI_INPUTS)
interest(1)
}
field(C1,DBF_DOUBLE) {
prompt("1 thresh of Input C")
promptgroup(GUI_INPUTS)
interest(1)
}
field(D0,DBF_DOUBLE) {
prompt("0 thresh of Input D")
promptgroup(GUI_INPUTS)
interest(1)
}
field(D1,DBF_DOUBLE) {
prompt("1 thresh of Input D")
promptgroup(GUI_INPUTS)
interest(1)
}
field(E0,DBF_DOUBLE) {
prompt("0 thresh of Input E")
promptgroup(GUI_INPUTS)
interest(1)
}
field(E1,DBF_DOUBLE) {
prompt("1 thresh of Input E")
promptgroup(GUI_INPUTS)
interest(1)
}
field(F0,DBF_DOUBLE) {
prompt("0 thresh of Input F")
promptgroup(GUI_INPUTS)
interest(1)
}
field(F1,DBF_DOUBLE) {
prompt("1 thresh of Input F")
promptgroup(GUI_INPUTS)
interest(1)
}
field(G0,DBF_DOUBLE) {
prompt("0 thresh of Input G")
promptgroup(GUI_INPUTS)
interest(1)
}
field(G1,DBF_DOUBLE) {
prompt("1 thresh of Input G")
promptgroup(GUI_INPUTS)
interest(1)
}
field(H0,DBF_DOUBLE) {
prompt("0 thresh of Input H")
promptgroup(GUI_INPUTS)
interest(1)
}
field(H1,DBF_DOUBLE) {
prompt("1 thresh of Input H")
promptgroup(GUI_INPUTS)
interest(1)
}
field(I0,DBF_DOUBLE) {
prompt("0 thresh of Input I")
promptgroup(GUI_INPUTS)
interest(1)
}
field(I1,DBF_DOUBLE) {
prompt("1 thresh of Input I")
promptgroup(GUI_INPUTS)
interest(1)
}
field(J0,DBF_DOUBLE) {
prompt("0 thresh of Input J")
promptgroup(GUI_INPUTS)
interest(1)
}
field(J1,DBF_DOUBLE) {
prompt("1 thresh of Input J")
promptgroup(GUI_INPUTS)
interest(1)
}
field(K0,DBF_DOUBLE) {
prompt("0 thresh of Input K")
promptgroup(GUI_INPUTS)
interest(1)
}
field(K1,DBF_DOUBLE) {
prompt("1 thresh of Input K")
promptgroup(GUI_INPUTS)
interest(1)
}
field(L0,DBF_DOUBLE) {
prompt("0 thresh of Input L")
promptgroup(GUI_INPUTS)
interest(1)
}
field(L1,DBF_DOUBLE) {
prompt("1 thresh of Input L")
promptgroup(GUI_INPUTS)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Units Name")
promptgroup(GUI_INPUTS)
interest(1)
size(16)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_INPUTS)
interest(1)
}
field(A,DBF_DOUBLE) {
prompt("value of input A")
}
field(B,DBF_DOUBLE) {
prompt("value of input B")
}
field(C,DBF_DOUBLE) {
prompt("value of input C")
}
field(D,DBF_DOUBLE) {
prompt("value of input D")
}
field(E,DBF_DOUBLE) {
prompt("value of input E")
}
field(F,DBF_DOUBLE) {
prompt("value of input F")
}
field(G,DBF_DOUBLE) {
prompt("value of input G")
}
field(H,DBF_DOUBLE) {
prompt("value of input H")
}
field(I,DBF_DOUBLE) {
prompt("value of input I")
}
field(J,DBF_DOUBLE) {
prompt("value of input J")
}
field(K,DBF_DOUBLE) {
prompt("value of input K")
}
field(L,DBF_DOUBLE) {
prompt("value of input L")
}
field(LA,DBF_DOUBLE) {
prompt("prev value of A")
}
field(LB,DBF_DOUBLE) {
prompt("prev value of B")
}
field(LC,DBF_DOUBLE) {
prompt("prev value of C")
}
field(LD,DBF_DOUBLE) {
prompt("prev value of D")
}
field(LE,DBF_DOUBLE) {
prompt("prev value of E")
}
field(LF,DBF_DOUBLE) {
prompt("prev value of F")
}
field(LG,DBF_DOUBLE) {
prompt("prev value of G")
}
field(LH,DBF_DOUBLE) {
prompt("prev value of H")
}
field(LI,DBF_DOUBLE) {
prompt("prev value of I")
}
field(LJ,DBF_DOUBLE) {
prompt("prev value of J")
}
field(LK,DBF_DOUBLE) {
prompt("prev value of K")
}
field(LL,DBF_DOUBLE) {
prompt("prev value of L")
}
field(Q0,DBF_UCHAR) {
prompt("Value of Q0")
}
field(Q1,DBF_UCHAR) {
prompt("Value of Q1")
}
field(Q2,DBF_UCHAR) {
prompt("Value of Q2")
}
field(Q3,DBF_UCHAR) {
prompt("Value of Q3")
}
field(Q4,DBF_UCHAR) {
prompt("Value of Q4")
}
field(Q5,DBF_UCHAR) {
prompt("Value of Q5")
}
field(Q6,DBF_UCHAR) {
prompt("Value of Q6")
}
field(Q7,DBF_UCHAR) {
prompt("Value of Q7")
}
field(Q8,DBF_UCHAR) {
prompt("Value of Q8")
}
field(Q9,DBF_UCHAR) {
prompt("Value of Q9")
}
field(QA,DBF_UCHAR) {
prompt("Value of QA")
}
field(QB,DBF_UCHAR) {
prompt("Value of QB")
}
field(MLST,DBF_ULONG) {
prompt("Last Val Monitored")
special(SPC_NOMOD)
interest(3)
}
}
+3 -1
View File
@@ -45,7 +45,9 @@
#include <errMdef.h>
#include <recSup.h>
#include <special.h>
#define GEN_SIZE_OFFSET
#include <palRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -115,7 +117,7 @@ static long init_record(ppal,pass)
pvalue = &ppal->a;
for(i=0; i<ARG_MAX; i++, plink++, pvalue++) {
if (plink->type==CONSTANT) {
*pvalue = plink->value.value;
recGblInitConstantLink(plink,DBF_DOUBLE,pvalue);
}
else {
status = recGblInitFastInLink(plink, (void *) ppal, DBR_DOUBLE, Fldnames[i]);
+29
View File
@@ -0,0 +1,29 @@
recordtype(permissive) {
include "dbCommon.ascii"
field(LABL,DBF_STRING) {
prompt("Button Label")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
size(20)
}
field(VAL,DBF_USHORT) {
prompt("Status")
asl(ASL0)
pp(TRUE)
}
field(OVAL,DBF_USHORT) {
prompt("Old Status")
special(SPC_NOMOD)
interest(3)
}
field(WFLG,DBF_USHORT) {
prompt("Wait Flag")
pp(TRUE)
}
field(OFLG,DBF_USHORT) {
prompt("Old Flag")
special(SPC_NOMOD)
interest(3)
}
}
@@ -47,7 +47,9 @@
#include <dbFldTypes.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <permissiveRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
+193
View File
@@ -0,0 +1,193 @@
recordtype(pid) {
include "dbCommon.ascii"
field(VAL,DBF_FLOAT) {
prompt("Setpoint")
asl(ASL0)
pp(TRUE)
}
field(CVL,DBF_INLINK) {
prompt("Controlled Value Loc")
promptgroup(GUI_PID)
special(SPC_NOMOD)
interest(1)
}
field(STPL,DBF_INLINK) {
prompt("Setpoint Location")
promptgroup(GUI_PID)
special(SPC_NOMOD)
interest(1)
}
field(SMSL,DBF_MENU) {
prompt("Setpoint Mode Select")
promptgroup(GUI_PID)
interest(1)
menu(menuOmsl)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDT,DBF_FLOAT) {
prompt("Min Delta T")
promptgroup(GUI_PID)
interest(1)
}
field(KP,DBF_FLOAT) {
prompt("Proportional Gain")
promptgroup(GUI_PID)
interest(1)
}
field(KI,DBF_FLOAT) {
prompt("Intergral Gain")
promptgroup(GUI_PID)
interest(1)
}
field(KD,DBF_FLOAT) {
prompt("Derivative Gain")
promptgroup(GUI_PID)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(HIHI,DBF_FLOAT) {
prompt("Hihi Deviation Limit")
promptgroup(GUI_ALARMS)
interest(1)
}
field(LOLO,DBF_FLOAT) {
prompt("Lolo Deviation Limit")
promptgroup(GUI_ALARMS)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("High Deviation Limit")
promptgroup(GUI_ALARMS)
interest(1)
}
field(LOW,DBF_FLOAT) {
prompt("Low Deviation Limit")
promptgroup(GUI_ALARMS)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_FLOAT) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_FLOAT) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_FLOAT) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(ODEL,DBF_FLOAT) {
prompt("DM Deadband")
promptgroup(GUI_PID)
interest(1)
}
field(CVAL,DBF_FLOAT) {
prompt("Controlled Value")
}
field(DM,DBF_FLOAT) {
prompt("Change in Manip Var")
special(SPC_NOMOD)
}
field(ODM,DBF_FLOAT) {
prompt("Prev Change")
special(SPC_NOMOD)
interest(3)
}
field(P,DBF_FLOAT) {
prompt("P component")
special(SPC_NOMOD)
interest(2)
}
field(I,DBF_FLOAT) {
prompt("I component")
special(SPC_NOMOD)
interest(2)
}
field(D,DBF_FLOAT) {
prompt("D component")
special(SPC_NOMOD)
interest(2)
}
field(CT,DBF_ULONG) {
prompt("Clock Ticks Prev")
special(SPC_NOMOD)
interest(4)
}
field(DT,DBF_FLOAT) {
prompt("Delta T")
special(SPC_NOMOD)
interest(2)
}
field(ERR,DBF_FLOAT) {
prompt("Error")
special(SPC_NOMOD)
interest(2)
}
field(DERR,DBF_FLOAT) {
prompt("Change in Error")
special(SPC_NOMOD)
interest(2)
}
field(LALM,DBF_FLOAT) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_FLOAT) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_FLOAT) {
prompt("Last Value Monitored")
special(SPC_NOMOD)
interest(3)
}
}
+3 -1
View File
@@ -58,7 +58,9 @@ unsigned long tickGet();
#include <dbFldTypes.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <pidRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -116,7 +118,7 @@ static long init_record(ppid,pass)
/* initialize the setpoint for constant setpoint */
if (ppid->stpl.type == CONSTANT){
ppid->val = ppid->stpl.value.value;
if(recGblInitConstantLink(&ppid->stpl,DBF_FLOAT,&ppid->val))
ppid->udf = FALSE;
}
else {
+106
View File
@@ -0,0 +1,106 @@
menu(pulseCounterCNTE) {
choice(pulseCounterCNTE_Rising_Edge,"Rising Edge")
choice(pulseCounterCNTE_Falling_Edge,"Falling Edge")
}
menu(pulseCounterGTYP) {
choice(pulseCounterGTYP_Hardware,"Hardware")
choice(pulseCounterGTYP_Software,"Software")
}
menu(pulseCounterCMD) {
choice(pulseCounterCMD_Read,"Read")
choice(pulseCounterCMD_Clear,"Clear")
choice(pulseCounterCMD_Start,"Start")
choice(pulseCounterCMD_Stop,"Stop")
choice(pulseCounterCMD_Setup,"Setup")
}
menu(pulseCounterSGV) {
choice(pulseCounterSGV_Inactive,"Inactive")
choice(pulseCounterSGV_Active,"Active")
}
menu(pulseCounterCSIZ) {
choice(pulseCounterCSIZ_16_bit,"16 bit")
choice(pulseCounterCSIZ_32_bit,"32 bit")
}
recordtype(pulseCounter) {
include "dbCommon.ascii"
field(VAL,DBF_ULONG) {
prompt("Counter Value")
asl(ASL0)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_PULSE)
special(SPC_NOMOD)
interest(1)
}
field(GTYP,DBF_MENU) {
prompt("Gate Type")
promptgroup(GUI_PULSE)
interest(1)
menu(pulseCounterGTYP)
}
field(HGV,DBF_SHORT) {
prompt("Hardware Gate Value")
promptgroup(GUI_PULSE)
}
field(SGL,DBF_INLINK) {
prompt("Soft Gate Location")
promptgroup(GUI_PULSE)
special(SPC_NOMOD)
interest(1)
}
field(SGV,DBF_MENU) {
prompt("Soft Gate Value")
promptgroup(GUI_PULSE)
menu(pulseCounterSGV)
}
field(OSGV,DBF_USHORT) {
prompt("Old Soft Gate Value")
special(SPC_NOMOD)
interest(3)
}
field(CSIZ,DBF_MENU) {
prompt("Counter Size")
promptgroup(GUI_PULSE)
interest(1)
menu(pulseCounterCSIZ)
}
field(CNTE,DBF_MENU) {
prompt("Counter Sounce Edge")
promptgroup(GUI_PULSE)
interest(1)
menu(pulseCounterCNTE)
}
field(CNTS,DBF_SHORT) {
prompt("Count Source")
promptgroup(GUI_PULSE)
interest(1)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
initial("4.3e+09")
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(CMD,DBF_MENU) {
prompt("Command")
asl(ASL0)
pp(TRUE)
interest(1)
menu(pulseCounterCMD)
}
field(SCMD,DBF_USHORT) {
prompt("Save Command")
special(SPC_NOMOD)
interest(3)
}
field(CPTR,DBF_ULONG) {
prompt("Callback")
special(SPC_NOMOD)
}
}
@@ -46,13 +46,14 @@
#include <alarm.h>
#include <dbDefs.h>
#include <dbAccess.h>
#include <dbRecDes.h>
#include <dbFldTypes.h>
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#include <callback.h>
#define GEN_SIZE_OFFSET
#include <pulseCounterRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -152,8 +153,7 @@ static long init_record(struct pulseCounterRecord *ppc, int pass)
/* get the hgv value if sgl is a constant*/
if (ppc->sgl.type == CONSTANT && ppc->gtyp == SOFTWARE)
if(ppc->sgl.value.value!=0)
ppc->sgv = ppc->sgl.value.value;
recGblInitConstantLink(&ppc->sgl,DBF_USHORT,&ppc->sgv);
if (ppc->sgl.type == PV_LINK && ppc->gtyp == SOFTWARE)
{
+164
View File
@@ -0,0 +1,164 @@
menu(pulseDelayCTYP) {
choice(pulseDelayCTYP_Internal,"Internal")
choice(pulseDelayCTYP_External,"External")
}
menu(pulseDelayLLOW) {
choice(pulseDelayLLOW_Logic_Low_0,"Logic Low=0")
choice(pulseDelayLLOW_Logic_Low_1,"Logic Low=1")
}
menu(pulseDelayCEDG) {
choice(pulseDelayCEDG_Rising_Edge,"Rising Edge")
choice(pulseDelayCEDG_Falling_Edge,"Falling Edge")
}
menu(pulseDelayTTYP) {
choice(pulseDelayTTYP_Hardware,"Hardware")
choice(pulseDelayTTYP_Software,"Software")
}
menu(pulseDelaySTV) {
choice(pulseDelaySTV_Disable,"Disable")
choice(pulseDelaySTV_Enable,"Enable")
}
menu(pulseDelayUNIT) {
choice(pulseDelayUNIT_Seconds,"Seconds")
choice(pulseDelayUNIT_Milliseconds,"Milliseconds")
choice(pulseDelayUNIT_Microseconds,"Microseconds")
choice(pulseDelayUNIT_Nanoseconds,"Nanoseconds")
choice(pulseDelayUNIT_Picoseconds,"Picoseconds")
}
menu(pulseDelayVAL) {
choice(pulseDelayVAL_Inactive,"Inactive")
choice(pulseDelayVAL_Active,"Active")
}
recordtype(pulseDelay) {
include "dbCommon.ascii"
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_PULSE)
special(SPC_NOMOD)
interest(1)
}
field(UNIT,DBF_MENU) {
prompt("Delay Time Units")
promptgroup(GUI_PULSE)
interest(1)
menu(pulseDelayUNIT)
}
field(DLY,DBF_DOUBLE) {
prompt("Pulse Delay")
promptgroup(GUI_PULSE)
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(WIDE,DBF_DOUBLE) {
prompt("Pulse Width")
promptgroup(GUI_PULSE)
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(ODLY,DBF_DOUBLE) {
prompt("Old Pulse Delay")
special(SPC_NOMOD)
interest(3)
}
field(OWID,DBF_DOUBLE) {
prompt("Old Pulse Width")
special(SPC_NOMOD)
interest(3)
}
field(CTYP,DBF_MENU) {
prompt("Clock Type")
promptgroup(GUI_CLOCK)
interest(1)
menu(pulseDelayCTYP)
}
field(CEDG,DBF_MENU) {
prompt("Clock Signal Edge")
promptgroup(GUI_CLOCK)
interest(1)
menu(pulseDelayCEDG)
}
field(ECS,DBF_SHORT) {
prompt("Ext Clock Source")
promptgroup(GUI_CLOCK)
interest(1)
}
field(ECR,DBF_DOUBLE) {
prompt("Ext Clock Rate (HZ)")
promptgroup(GUI_CLOCK)
interest(1)
}
field(LLOW,DBF_MENU) {
prompt("Low Logic Level")
promptgroup(GUI_CLOCK)
interest(1)
menu(pulseDelayLLOW)
}
field(VAL,DBF_MENU) {
prompt("Trigger Detect")
asl(ASL0)
menu(pulseDelayVAL)
}
field(TTYP,DBF_MENU) {
prompt("Trigger Type")
promptgroup(GUI_CLOCK)
interest(1)
menu(pulseDelayTTYP)
}
field(HTS,DBF_ENUM) {
prompt("Hardware Trigger Src")
promptgroup(GUI_CLOCK)
special(SPC_MOD)
pp(TRUE)
interest(1)
}
field(STL,DBF_INLINK) {
prompt("Soft Trigger Location")
promptgroup(GUI_CLOCK)
special(SPC_NOMOD)
interest(1)
}
field(STV,DBF_MENU) {
prompt("Soft Trigger Value")
promptgroup(GUI_CLOCK)
special(SPC_MOD)
pp(TRUE)
interest(1)
menu(pulseDelaySTV)
}
field(GLNK,DBF_INLINK) {
prompt("Soft Gate Location")
promptgroup(GUI_PULSE)
special(SPC_NOMOD)
interest(1)
}
field(GATE,DBF_MENU) {
prompt("Soft Gate Value")
promptgroup(GUI_PULSE)
special(SPC_MOD)
pp(TRUE)
interest(1)
menu(pulseDelaySTV)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(PFLD,DBF_USHORT) {
prompt("Field Processing")
special(SPC_NOMOD)
interest(3)
}
}
@@ -49,12 +49,13 @@
#include <alarm.h>
#include <dbDefs.h>
#include <dbAccess.h>
#include <dbRecDes.h>
#include <dbFldTypes.h>
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <pulseDelayRecord.h>
#undef GEN_SIZE_OFFSET
/* defines used in special routine */
@@ -139,8 +140,7 @@ static long init_record(ppd,pass)
/* get the soft trigger value if stl is a constant*/
if(ppd->stl.type==CONSTANT)
{
if(ppd->stl.value.value!=0)
ppd->stv=ppd->stl.value.value;
recGblInitConstantLink(&ppd->stl,DBF_USHORT,&ppd->stv);
}
if(ppd->stl.type==PV_LINK)
@@ -152,9 +152,7 @@ static long init_record(ppd,pass)
/* get the soft gate value if glnk is a constant*/
if(ppd->glnk.type==CONSTANT)
{
/* changed by jbk */
if(ppd->glnk.value.value!=0)
ppd->gate=ppd->glnk.value.value;
recGblInitConstantLink(&ppd->glnk,DBF_USHORT,&ppd->gate);
}
if(ppd->glnk.type==PV_LINK)
+137
View File
@@ -0,0 +1,137 @@
menu(pulseTrainCTYP) {
choice(pulseTrainCTYP_Internal,"Internal")
choice(pulseTrainCTYP_External,"External")
}
menu(pulseTrainLLOW) {
choice(pulseTrainLLOW_Logic_Low_0,"Logic Low=0")
choice(pulseTrainLLOW_Logic_Low_1,"Logic Low=1")
}
menu(pulseTrainCEDG) {
choice(pulseTrainCEDG_Rising_Edge,"Rising Edge")
choice(pulseTrainCEDG_Falling_Edge,"Falling Edge")
}
menu(pulseTrainGTYP) {
choice(pulseTrainGTYP_Hardware,"Hardware")
choice(pulseTrainGTYP_Software,"Software")
}
menu(pulseTrainSGV) {
choice(pulseTrainSGV_Inactive,"Inactive")
choice(pulseTrainSGV_Active,"Active")
}
menu(pulseTrainUNIT) {
choice(pulseTrainUNIT_Seconds,"Seconds")
choice(pulseTrainUNIT_Milliseconds,"Milliseconds")
choice(pulseTrainUNIT_Microseconds,"Microseconds")
choice(pulseTrainUNIT_Nanoseconds,"Nanoseconds")
choice(pulseTrainUNIT_Picoseconds,"Picoseconds")
}
recordtype(pulseTrain) {
include "dbCommon.ascii"
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_PULSE)
special(SPC_NOMOD)
interest(1)
}
field(UNIT,DBF_MENU) {
prompt("Delay Time Units")
promptgroup(GUI_PULSE)
interest(1)
menu(pulseTrainUNIT)
}
field(PER,DBF_DOUBLE) {
prompt("Pulse Period")
promptgroup(GUI_PULSE)
interest(1)
}
field(DCY,DBF_DOUBLE) {
prompt("Duty Cycle %")
promptgroup(GUI_PULSE)
interest(1)
}
field(OPER,DBF_DOUBLE) {
prompt("Old pulse Period")
special(SPC_NOMOD)
pp(TRUE)
interest(3)
}
field(ODCY,DBF_DOUBLE) {
prompt("Old duty Cycle %")
special(SPC_NOMOD)
pp(TRUE)
interest(3)
}
field(GTYP,DBF_MENU) {
prompt("Gate Type")
promptgroup(GUI_PULSE)
interest(1)
menu(pulseTrainGTYP)
}
field(HGV,DBF_SHORT) {
prompt("Hardware Gate Value")
promptgroup(GUI_PULSE)
}
field(SGV,DBF_MENU) {
prompt("Soft Gate Value")
promptgroup(GUI_PULSE)
menu(pulseTrainSGV)
}
field(SGL,DBF_INLINK) {
prompt("Soft Gate Location")
promptgroup(GUI_PULSE)
special(SPC_NOMOD)
interest(1)
}
field(OSGV,DBF_USHORT) {
prompt("Old Soft Gate Value")
special(SPC_NOMOD)
}
field(VAL,DBF_SHORT) {
prompt("Not Used")
asl(ASL0)
pp(TRUE)
}
field(CTYP,DBF_MENU) {
prompt("Clock Type")
promptgroup(GUI_CLOCK)
interest(1)
menu(pulseTrainCTYP)
}
field(CEDG,DBF_MENU) {
prompt("Clock Signal Edge")
promptgroup(GUI_CLOCK)
interest(1)
menu(pulseTrainCEDG)
}
field(ECS,DBF_SHORT) {
prompt("Ext Clock Source")
promptgroup(GUI_CLOCK)
interest(1)
}
field(ECR,DBF_DOUBLE) {
prompt("Ext Clock Rate (HZ)")
promptgroup(GUI_CLOCK)
interest(1)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LLOW,DBF_MENU) {
prompt("Low Logic Level")
promptgroup(GUI_CLOCK)
interest(1)
menu(pulseTrainLLOW)
}
}
@@ -52,12 +52,13 @@
#include <alarm.h>
#include <dbDefs.h>
#include <dbAccess.h>
#include <dbRecDes.h>
#include <dbFldTypes.h>
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <pulseTrainRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -138,8 +139,7 @@ static long init_record(ppt,pass)
/* get the hgv value if sgl is a constant*/
if (ppt->sgl.type == CONSTANT )
{
if(ppt->sgl.value.value!=0)
ppt->hgv = ppt->sgl.value.value;
recGblInitConstantLink(&ppt->sgl,DBF_SHORT,&ppt->hgv);
}
if (ppt->sgl.type == PV_LINK )
File diff suppressed because it is too large Load Diff
+8 -7
View File
@@ -99,7 +99,6 @@
#include <cvtTable.h>
#include <dbDefs.h>
#include <dbAccess.h>
#include <dbRecDes.h>
#include <dbScan.h>
#include <dbDefs.h>
#include <dbFldTypes.h>
@@ -108,7 +107,9 @@
#include <recSup.h>
#include <special.h>
#include <choiceScan.h>
#define GEN_SIZE_OFFSET
#include <scanRecord.h>
#undef GEN_SIZE_OFFSET
#include <callback.h>
#include <taskwd.h>
#include <drvTS.h> /* also includes timers.h and tsDefs.h */
@@ -784,7 +785,7 @@ static long cvt_dbaddr(paddr)
short fieldOffset;
unsigned short i;
fieldOffset = ((struct fldDes *)(paddr->pfldDes))->offset;
fieldOffset = ((dbFldDes *)(paddr->pfldDes))->offset;
/* for the double buffered arrays, must use the field offset
because you don't know what the pointer will be */
@@ -835,7 +836,7 @@ static long get_array_info(paddr,no_elements,offset)
which array they are interested by comparing the address of the
field to the array pointers */
fieldOffset = ((struct fldDes *)(paddr->pfldDes))->offset;
fieldOffset = ((dbFldDes *)(paddr->pfldDes))->offset;
pPvStat = &precPvt->pscan->d1nv;
for(i=0; i < NUM_DET; i++, pDetFields++, pPvStat++) {
@@ -902,7 +903,7 @@ static long put_array_info(paddr,nNew)
"positioner" array p_pa. Determine which positioner and store
nelem for future use. Also check against current npts */
fieldOffset = ((struct fldDes *)(paddr->pfldDes))->offset;
fieldOffset = ((dbFldDes *)(paddr->pfldDes))->offset;
for(i=0; i < NUM_POS; i++, pPosFields++) {
if(((char *)&pPosFields->p_pa - (char *)pscan) == fieldOffset) {
@@ -1009,7 +1010,7 @@ static long get_units(paddr,units)
/* Use the field offset to see which detector or positioner it is */
fieldOffset = ((struct fldDes *)(paddr->pfldDes))->offset;
fieldOffset = ((dbFldDes *)(paddr->pfldDes))->offset;
for(i=0; i < NUM_POS; i++, pPosFields++) {
if((fieldOffset >= ((char *)&pPosFields->p_pp - (char *)pscan)) &&
@@ -1043,7 +1044,7 @@ static long get_precision(paddr,precision)
/* Use the field offset to see which detector or positioner it is */
fieldOffset = ((struct fldDes *)(paddr->pfldDes))->offset;
fieldOffset = ((dbFldDes *)(paddr->pfldDes))->offset;
for(i=0; i < NUM_POS; i++, pPosFields++) {
if((fieldOffset >= ((char *)&pPosFields->p_pp - (char *)pscan)) &&
@@ -1076,7 +1077,7 @@ static long get_graphic_double(paddr,pgd)
/* Use the field offset to see which detector or positioner it is */
fieldOffset = ((struct fldDes *)(paddr->pfldDes))->offset;
fieldOffset = ((dbFldDes *)(paddr->pfldDes))->offset;
for(i=0; i < NUM_POS; i++, pPosFields++) {
if((fieldOffset >= ((char *)&pPosFields->p_pp - (char *)pscan)) &&
+311
View File
@@ -0,0 +1,311 @@
menu(selSELM) {
choice(selSELM_Specified,"Specified")
choice(selSELM_High_Signal,"High Signal")
choice(selSELM_Low_Signal,"Low Signal")
choice(selSELM_Median_Signal,"Median Signal")
}
recordtype(sel) {
include "dbCommon.ascii"
field(VAL,DBF_DOUBLE) {
prompt("Result")
asl(ASL0)
special(SPC_NOMOD)
}
field(SELM,DBF_MENU) {
prompt("Select Mechanism")
promptgroup(GUI_INPUTS)
menu(selSELM)
}
field(SELN,DBF_USHORT) {
prompt("Index value")
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(NVL,DBF_INLINK) {
prompt("Index Value Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPA,DBF_INLINK) {
prompt("Input A")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(INPB,DBF_INLINK) {
prompt("Input B")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(INPC,DBF_INLINK) {
prompt("Input C")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(INPD,DBF_INLINK) {
prompt("Input D")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(INPE,DBF_INLINK) {
prompt("Input E")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(INPF,DBF_INLINK) {
prompt("Input F")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(INPG,DBF_INLINK) {
prompt("Input G")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(INPH,DBF_INLINK) {
prompt("Input H")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(INPI,DBF_INLINK) {
prompt("Input I")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(INPJ,DBF_INLINK) {
prompt("Input J")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(INPK,DBF_INLINK) {
prompt("Input K")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(INPL,DBF_INLINK) {
prompt("Input L")
promptgroup(GUI_SELECT)
special(SPC_NOMOD)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Units Name")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Rng")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(HIHI,DBF_FLOAT) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_FLOAT) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_FLOAT) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(A,DBF_DOUBLE) {
prompt("Value of Input A")
pp(TRUE)
}
field(B,DBF_DOUBLE) {
prompt("Value of Input B")
pp(TRUE)
}
field(C,DBF_DOUBLE) {
prompt("Value of Input C")
pp(TRUE)
}
field(D,DBF_DOUBLE) {
prompt("Value of Input D")
pp(TRUE)
}
field(E,DBF_DOUBLE) {
prompt("Value of Input E")
pp(TRUE)
}
field(F,DBF_DOUBLE) {
prompt("Value of Input F")
pp(TRUE)
}
field(G,DBF_DOUBLE) {
prompt("Value of Input G")
pp(TRUE)
}
field(H,DBF_DOUBLE) {
prompt("Value of Input H")
pp(TRUE)
}
field(I,DBF_DOUBLE) {
prompt("Value of Input I")
pp(TRUE)
}
field(J,DBF_DOUBLE) {
prompt("Value of Input J")
pp(TRUE)
}
field(K,DBF_DOUBLE) {
prompt("Value of Input K")
pp(TRUE)
}
field(L,DBF_DOUBLE) {
prompt("Value of Input L")
pp(TRUE)
}
field(LA,DBF_DOUBLE) {
prompt("Prev Value of A")
special(SPC_NOMOD)
interest(3)
}
field(LB,DBF_DOUBLE) {
prompt("Prev Value of B")
special(SPC_NOMOD)
interest(3)
}
field(LC,DBF_DOUBLE) {
prompt("Prev Value of C")
special(SPC_NOMOD)
interest(3)
}
field(LD,DBF_DOUBLE) {
prompt("Prev Value of D")
special(SPC_NOMOD)
interest(3)
}
field(LE,DBF_DOUBLE) {
prompt("Prev Value of E")
special(SPC_NOMOD)
interest(3)
}
field(LF,DBF_DOUBLE) {
prompt("Prev Value of F")
special(SPC_NOMOD)
interest(3)
}
field(LG,DBF_DOUBLE) {
prompt("Prev Value of G")
special(SPC_NOMOD)
interest(3)
}
field(LH,DBF_DOUBLE) {
prompt("Prev Value of H")
special(SPC_NOMOD)
interest(3)
}
field(LI,DBF_DOUBLE) {
prompt("Prev Value of I")
special(SPC_NOMOD)
interest(3)
}
field(LJ,DBF_DOUBLE) {
prompt("Prev Value of J")
special(SPC_NOMOD)
interest(3)
}
field(LK,DBF_DOUBLE) {
prompt("Prev Value of K")
special(SPC_NOMOD)
interest(3)
}
field(LL,DBF_DOUBLE) {
prompt("Prev Value of L")
special(SPC_NOMOD)
interest(3)
}
field(LALM,DBF_DOUBLE) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_DOUBLE) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_DOUBLE) {
prompt("Last Val Monitored")
special(SPC_NOMOD)
interest(3)
}
}
+5 -3
View File
@@ -60,7 +60,9 @@
#include <dbFldTypes.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <selRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -132,7 +134,7 @@ static long init_record(psel,pass)
/* get seln initial value if nvl is a constant*/
if (psel->nvl.type == CONSTANT ) {
psel->seln = psel->nvl.value.value;
recGblInitConstantLink(&psel->nvl,DBF_USHORT,&psel->seln);
}
else {
status = recGblInitFastInLink(&(psel->nvl), (void *) psel, DBR_USHORT, "SELN");
@@ -144,8 +146,8 @@ static long init_record(psel,pass)
pvalue = &psel->a;
for(i=0; i<SEL_MAX; i++, plink++, pvalue++) {
*pvalue = 1e+30;
if (plink->type==CONSTANT && plink->value.value != 0.) {
*pvalue = plink->value.value;
if (plink->type==CONSTANT) {
recGblInitConstantLink(plink,DBF_DOUBLE,pvalue);
}
else {
status = recGblInitFastInLink(plink, (void *) psel, DBR_DOUBLE, Fldnames[i]);
+245
View File
@@ -0,0 +1,245 @@
menu(seqSELM) {
choice(seqSELM_All,"All")
choice(seqSELM_Specified,"Specified")
choice(seqSELM_Mask,"Mask")
}
recordtype(seq) {
include "dbCommon.ascii"
field(VAL,DBF_LONG) {
prompt("Used to trigger")
asl(ASL0)
pp(TRUE)
}
field(SELM,DBF_MENU) {
prompt("Select Mechanism")
promptgroup(GUI_INPUTS)
interest(1)
menu(seqSELM)
}
field(SELN,DBF_USHORT) {
prompt("Link Selection")
interest(1)
initial("1")
}
field(SELL,DBF_INLINK) {
prompt("Link Selection Loc")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(DLY1,DBF_DOUBLE) {
prompt("Delay 1")
promptgroup(GUI_SEQ1)
interest(1)
}
field(DOL1,DBF_INLINK) {
prompt("Input link1")
promptgroup(GUI_SEQ1)
special(SPC_NOMOD)
interest(1)
}
field(DO1,DBF_DOUBLE) {
prompt("Constant input 1")
interest(1)
}
field(LNK1,DBF_OUTLINK) {
prompt("Output Link 1")
promptgroup(GUI_SEQ1)
special(SPC_NOMOD)
interest(1)
}
field(DLY2,DBF_DOUBLE) {
prompt("Delay 2")
promptgroup(GUI_SEQ1)
interest(1)
}
field(DOL2,DBF_INLINK) {
prompt("Input link 2")
promptgroup(GUI_SEQ1)
special(SPC_NOMOD)
interest(1)
}
field(DO2,DBF_DOUBLE) {
prompt("Constant input 2")
interest(1)
}
field(LNK2,DBF_OUTLINK) {
prompt("Output Link 2")
promptgroup(GUI_SEQ1)
special(SPC_NOMOD)
interest(1)
}
field(DLY3,DBF_DOUBLE) {
prompt("Delay 3")
promptgroup(GUI_SEQ1)
interest(1)
}
field(DOL3,DBF_INLINK) {
prompt("Input link 3")
promptgroup(GUI_SEQ1)
special(SPC_NOMOD)
interest(1)
}
field(DO3,DBF_DOUBLE) {
prompt("Constant input 3")
interest(1)
}
field(LNK3,DBF_OUTLINK) {
prompt("Output Link 3")
promptgroup(GUI_SEQ1)
special(SPC_NOMOD)
interest(1)
}
field(DLY4,DBF_DOUBLE) {
prompt("Delay 4")
promptgroup(GUI_SEQ2)
interest(1)
}
field(DOL4,DBF_INLINK) {
prompt("Input link 4")
promptgroup(GUI_SEQ2)
special(SPC_NOMOD)
interest(1)
}
field(DO4,DBF_DOUBLE) {
prompt("Constant input 4")
interest(1)
}
field(LNK4,DBF_OUTLINK) {
prompt("Output Link 4")
promptgroup(GUI_SEQ2)
special(SPC_NOMOD)
interest(1)
}
field(DLY5,DBF_DOUBLE) {
prompt("Delay 5")
promptgroup(GUI_SEQ2)
interest(1)
}
field(DOL5,DBF_INLINK) {
prompt("Input link 5")
promptgroup(GUI_SEQ2)
special(SPC_NOMOD)
interest(1)
}
field(DO5,DBF_DOUBLE) {
prompt("Constant input 5")
interest(1)
}
field(LNK5,DBF_OUTLINK) {
prompt("Output Link 5")
promptgroup(GUI_SEQ2)
special(SPC_NOMOD)
interest(1)
}
field(DLY6,DBF_DOUBLE) {
prompt("Delay 6")
promptgroup(GUI_SEQ2)
interest(1)
}
field(DOL6,DBF_INLINK) {
prompt("Input link 6")
promptgroup(GUI_SEQ2)
special(SPC_NOMOD)
interest(1)
}
field(DO6,DBF_DOUBLE) {
prompt("Constant input 6")
interest(1)
}
field(LNK6,DBF_OUTLINK) {
prompt("Output Link 6")
promptgroup(GUI_SEQ2)
special(SPC_NOMOD)
interest(1)
}
field(DLY7,DBF_DOUBLE) {
prompt("Delay 7")
promptgroup(GUI_SEQ3)
interest(1)
}
field(DOL7,DBF_INLINK) {
prompt("Input link 7")
promptgroup(GUI_SEQ3)
special(SPC_NOMOD)
interest(1)
}
field(DO7,DBF_DOUBLE) {
prompt("Constant input 7")
interest(1)
}
field(LNK7,DBF_OUTLINK) {
prompt("Output Link 7")
promptgroup(GUI_SEQ3)
special(SPC_NOMOD)
interest(1)
}
field(DLY8,DBF_DOUBLE) {
prompt("Delay 8")
promptgroup(GUI_SEQ3)
interest(1)
}
field(DOL8,DBF_INLINK) {
prompt("Input link 8")
promptgroup(GUI_SEQ3)
special(SPC_NOMOD)
interest(1)
}
field(DO8,DBF_DOUBLE) {
prompt("Constant input 8")
interest(1)
}
field(LNK8,DBF_OUTLINK) {
prompt("Output Link 8")
promptgroup(GUI_SEQ3)
special(SPC_NOMOD)
interest(1)
}
field(DLY9,DBF_DOUBLE) {
prompt("Delay 9")
promptgroup(GUI_SEQ3)
interest(1)
}
field(DOL9,DBF_INLINK) {
prompt("Input link 9")
promptgroup(GUI_SEQ3)
special(SPC_NOMOD)
interest(1)
}
field(DO9,DBF_DOUBLE) {
prompt("Constant input 9")
interest(1)
}
field(LNK9,DBF_OUTLINK) {
prompt("Output Link 9")
promptgroup(GUI_SEQ3)
special(SPC_NOMOD)
interest(1)
}
field(DLYA,DBF_DOUBLE) {
prompt("Delay 10")
promptgroup(GUI_SEQ3)
interest(1)
}
field(DOLA,DBF_INLINK) {
prompt("Input link 10")
promptgroup(GUI_SEQ3)
special(SPC_NOMOD)
interest(1)
}
field(DOA,DBF_DOUBLE) {
prompt("Constant input 10")
interest(1)
}
field(LNKA,DBF_OUTLINK) {
prompt("Output Link 10")
promptgroup(GUI_SEQ3)
special(SPC_NOMOD)
interest(1)
}
}
+5 -3
View File
@@ -48,7 +48,9 @@
#include <special.h>
#include <callback.h>
#define GEN_SIZE_OFFSET
#include <seqRecord.h>
#undef GEN_SIZE_OFFSET
#include <choiceSeq.h>
int seqRecDebug = 0;
@@ -131,11 +133,11 @@ int pass;
((struct callbackSeq *) (pseq->dpvt))->wd_id = wdCreate();
/* Get link selection if sell is a constant and nonzero */
if (pseq->sell.type==CONSTANT && pseq->sell.value.value!=0 )
if (pseq->sell.type==CONSTANT)
{
if (seqRecDebug > 5)
printf("init_record(%s) SELL is a constant\n", pseq->name);
pseq->seln = pseq->sell.value.value;
recGblInitConstantLink(&pseq->sell,DBF_USHORT,&pseq->seln);
}
/* If is a channel access link, deal with it. */
@@ -155,7 +157,7 @@ int pass;
char DumbCaString[10];
if (plink->dol.type == CONSTANT)
plink->dov = plink->dol.value.value;
recGblInitConstantLink(&plink->dol,DBF_DOUBLE,&plink->dov);
index++;
+16
View File
@@ -0,0 +1,16 @@
recordtype(state) {
include "dbCommon.ascii"
field(VAL,DBF_STRING) {
prompt("Value")
promptgroup(GUI_DISPLAY)
asl(ASL0)
pp(TRUE)
size(20)
}
field(OVAL,DBF_STRING) {
prompt("Prev Value")
special(SPC_NOMOD)
interest(3)
size(20)
}
}
@@ -49,7 +49,9 @@
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <stateRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
+308
View File
@@ -0,0 +1,308 @@
menu(steppermotorIALG) {
choice(steppermotorIALG_No_Initialization,"No Initialization")
choice(steppermotorIALG_Move_to_the_Positive_Limit,"Move to the Positive Limit")
choice(steppermotorIALG_Move_to_the_Negative_Limit,"Move to the Negative Limit")
}
menu(steppermotorMODE) {
choice(steppermotorMODE_Velocity,"Velocity")
choice(steppermotorMODE_Position,"Position")
}
recordtype(steppermotor) {
include "dbCommon.ascii"
field(VAL,DBF_FLOAT) {
prompt("Desired Value")
asl(ASL0)
special(SPC_MOD)
pp(TRUE)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(RDBL,DBF_INLINK) {
prompt("Readback Location")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
interest(1)
menu(menuOmsl)
}
field(ACCL,DBF_FLOAT) {
prompt("Seconds to Velocity")
promptgroup(GUI_MOTOR)
interest(1)
}
field(VELO,DBF_FLOAT) {
prompt("Velocity Rotation/Sec")
promptgroup(GUI_MOTOR)
interest(1)
}
field(DIST,DBF_FLOAT) {
prompt("Dist of One Pulse")
promptgroup(GUI_MOTOR)
interest(1)
}
field(IVAL,DBF_FLOAT) {
prompt("Value at init")
promptgroup(GUI_MOTOR)
interest(1)
}
field(MODE,DBF_MENU) {
prompt("Operating Mode")
promptgroup(GUI_MOTOR)
interest(1)
menu(steppermotorMODE)
}
field(CMOD,DBF_MENU) {
prompt("Current Operating Mode")
promptgroup(GUI_MOTOR)
interest(1)
menu(steppermotorMODE)
}
field(IALG,DBF_MENU) {
prompt("Initialization Alg")
promptgroup(GUI_MOTOR)
interest(1)
menu(steppermotorIALG)
}
field(MRES,DBF_USHORT) {
prompt("Motor Pulses/Revolution")
promptgroup(GUI_MOTOR)
interest(1)
}
field(ERES,DBF_USHORT) {
prompt("Encoder Pulses/Rev")
promptgroup(GUI_MOTOR)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(DRVH,DBF_FLOAT) {
prompt("Drive High Limit")
promptgroup(GUI_OUTPUT)
pp(TRUE)
interest(1)
}
field(DRVL,DBF_FLOAT) {
prompt("Drive Low Limit")
promptgroup(GUI_OUTPUT)
pp(TRUE)
interest(1)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(HIHI,DBF_FLOAT) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_FLOAT) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_FLOAT) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HLSV,DBF_MENU) {
prompt("HW Limit Violation Svr")
promptgroup(GUI_MOTOR)
pp(TRUE)
interest(2)
menu(menuAlarmSevr)
}
field(MDEL,DBF_FLOAT) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(ADEL,DBF_FLOAT) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(RDBD,DBF_FLOAT) {
prompt("Retry Deadband")
promptgroup(GUI_MOTOR)
interest(1)
}
field(RTRY,DBF_SHORT) {
prompt("Number of retries")
promptgroup(GUI_MOTOR)
interest(1)
}
field(STHM,DBF_SHORT) {
prompt("Set Home")
pp(TRUE)
interest(2)
}
field(STOP,DBF_SHORT) {
prompt("Stop motor")
pp(TRUE)
interest(2)
}
field(DMOV,DBF_SHORT) {
prompt("Done moving to value")
interest(2)
}
field(RVAL,DBF_LONG) {
prompt("Current Raw Value")
pp(TRUE)
}
field(RBV,DBF_FLOAT) {
prompt("Readback Value")
interest(1)
}
field(RRBV,DBF_LONG) {
prompt("Raw Readback Value")
interest(1)
}
field(ALST,DBF_FLOAT) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_FLOAT) {
prompt("Last Value Monitored")
special(SPC_NOMOD)
interest(3)
}
field(INIT,DBF_SHORT) {
prompt("Initialize")
interest(2)
}
field(MCW,DBF_SHORT) {
prompt("Mtr Clckws Lim")
pp(TRUE)
interest(2)
}
field(MCCW,DBF_SHORT) {
prompt("Mtr Cntr Clockwise Lmt")
pp(TRUE)
interest(2)
}
field(CW,DBF_SHORT) {
prompt("Clockwise Limit")
pp(TRUE)
interest(2)
}
field(CCW,DBF_SHORT) {
prompt("Counter Clockwise Lmt")
pp(TRUE)
interest(2)
}
field(DIR,DBF_SHORT) {
prompt("Direction of Travel")
pp(TRUE)
interest(2)
}
field(MOVN,DBF_SHORT) {
prompt("Moving Status")
interest(2)
}
field(CVEL,DBF_SHORT) {
prompt("Constant Velocity")
interest(2)
}
field(RCNT,DBF_SHORT) {
prompt("Retry count")
interest(2)
}
field(POSM,DBF_SHORT) {
prompt("Positive motion")
interest(2)
}
field(LVAL,DBF_FLOAT) {
prompt("Last Value")
special(SPC_NOMOD)
interest(3)
}
field(EPOS,DBF_FLOAT) {
prompt("Encoder position rdbck")
interest(2)
}
field(MPOS,DBF_FLOAT) {
prompt("Motor position rdbck")
interest(2)
}
field(MISS,DBF_FLOAT) {
prompt("First attemp error")
interest(2)
}
field(LVEL,DBF_FLOAT) {
prompt("Last Velocity set")
interest(2)
}
field(LACC,DBF_FLOAT) {
prompt("Last acc set")
interest(2)
}
}
@@ -113,7 +113,9 @@
#include <errMdef.h>
#include <recSup.h>
#include <special.h>
#define GEN_SIZE_OFFSET
#include <steppermotorRecord.h>
#undef GEN_SIZE_OFFSET
#include <steppermotor.h>
/* Create RSET - Record Support Entry Table*/
@@ -203,8 +205,8 @@ static long init_record(psm,pass)
/* get the initial value if dol is a constant*/
if (psm->dol.type == CONSTANT ){
if(recGblInitConstantLink(&psm->dol,DBF_FLOAT,&psm->val))
psm->udf = FALSE;
psm->val = psm->dol.value.value;
}
else {
status = recGblInitFastInLink(&(psm->dol), (void *) psm, DBR_FLOAT, "VAL");
+50
View File
@@ -0,0 +1,50 @@
recordtype(stringin) {
include "dbCommon.ascii"
field(VAL,DBF_STRING) {
prompt("Current Value")
promptgroup(GUI_INPUTS)
asl(ASL0)
pp(TRUE)
size(40)
}
field(OVAL,DBF_STRING) {
prompt("Previous Value")
special(SPC_NOMOD)
interest(3)
size(40)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SVAL,DBF_STRING) {
prompt("Simulation Value")
pp(TRUE)
size(40)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
}
@@ -53,7 +53,9 @@
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <stringinRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -116,7 +118,7 @@ static long init_record(pstringin,pass)
if (pass==0) return(0);
if (pstringin->siml.type == CONSTANT) {
pstringin->simm = pstringin->siml.value.value;
recGblInitConstantLink(&pstringin->siml,DBF_USHORT,&pstringin->simm);
}
else {
status = recGblInitFastInLink(&(pstringin->siml), (void *) pstringin, DBR_ENUM, "SIMM");
@@ -126,9 +128,7 @@ static long init_record(pstringin,pass)
/* stringin.siol must be a CONSTANT or a PV_LINK or a DB_LINK */
if (pstringin->siol.type == CONSTANT) {
if (pstringin->siol.value.value!=0.0 ){
sprintf(pstringin->sval,"%-14.7g",pstringin->siol.value.value);
}
recGblInitConstantLink(&pstringin->siol,DBF_STRING,pstringin->sval);
}
else {
status = recGblInitFastInLink(&(pstringin->siol), (void *) pstringin, DBR_STRING, "SVAL");
+69
View File
@@ -0,0 +1,69 @@
recordtype(stringout) {
include "dbCommon.ascii"
field(VAL,DBF_STRING) {
prompt("Current Value")
promptgroup(GUI_OUTPUT)
asl(ASL0)
pp(TRUE)
size(40)
}
field(OVAL,DBF_STRING) {
prompt("Previous Value")
special(SPC_NOMOD)
interest(3)
size(40)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
interest(1)
menu(menuOmsl)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
special(SPC_NOMOD)
interest(1)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID output action")
promptgroup(GUI_OUTPUT)
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_STRING) {
prompt("INVALID output value")
promptgroup(GUI_OUTPUT)
interest(2)
size(40)
}
}
@@ -58,7 +58,10 @@
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <stringoutRecord.h>
#undef GEN_SIZE_OFFSET
#include <menuIvoa.h>
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -121,7 +124,7 @@ static long init_record(pstringout,pass)
if (pass==0) return(0);
if (pstringout->siml.type == CONSTANT) {
pstringout->simm = pstringout->siml.value.value;
recGblInitConstantLink(&pstringout->siml,DBF_USHORT,&pstringout->simm);
}
else {
status = recGblInitFastInLink(&(pstringout->siml), (void *) pstringout, DBR_ENUM, "SIMM");
@@ -142,10 +145,8 @@ static long init_record(pstringout,pass)
}
/* get the initial value dol is a constant*/
if (pstringout->dol.type == CONSTANT){
if (pstringout->dol.value.value!=0.0 ){
sprintf(pstringout->val,"%-14.7g",pstringout->dol.value.value);
}
pstringout->udf=FALSE;
if(recGblInitConstantLink(&pstringout->dol,DBF_STRING,pstringout->val))
pstringout->udf=FALSE;
}
if (pstringout->dol.type == PV_LINK)
{
@@ -189,12 +190,12 @@ static long process(pstringout)
status=writeValue(pstringout); /* write the new value */
else {
switch (pstringout->ivoa) {
case (IVOA_CONTINUE) :
case (menuIvoaContinue_normally) :
status=writeValue(pstringout); /* write the new value */
break;
case (IVOA_NO_OUTPUT) :
case (menuIvoaDon_t_drive_outputs) :
break;
case (IVOA_OUTPUT_IVOV) :
case (menuIvoaSet_output_to_IVOV) :
if(pstringout->pact == FALSE){
strcpy(pstringout->val,pstringout->ivov);
}
+78
View File
@@ -0,0 +1,78 @@
recordtype(subArray) {
include "dbCommon.ascii"
field(VAL,DBF_NOACCESS) {
prompt("Value")
asl(ASL0)
special(SPC_DBADDR)
pp(TRUE)
size(4)
extra("void * val")
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_COMMON)
interest(1)
}
field(FTVL,DBF_MENU) {
prompt("Field Type of Value")
promptgroup(GUI_ALARMS)
special(SPC_NOMOD)
interest(1)
menu(menuFtype)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_BITS1)
special(SPC_NOMOD)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units Name")
promptgroup(GUI_BITS2)
interest(1)
size(16)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_CALC)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_CLOCK)
interest(1)
}
field(MALM,DBF_ULONG) {
prompt("Maximum Elements ")
promptgroup(GUI_CLOCK)
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(NELM,DBF_ULONG) {
prompt("Number of Elements")
promptgroup(GUI_COMPRESS)
pp(TRUE)
initial("1")
}
field(INDX,DBF_ULONG) {
prompt("Substring Index")
promptgroup(GUI_CONVERT)
pp(TRUE)
}
field(BUSY,DBF_SHORT) {
prompt("Busy Indicator")
special(SPC_NOMOD)
}
field(NORD,DBF_LONG) {
prompt("Number elements read")
special(SPC_NOMOD)
}
field(BPTR,DBF_NOACCESS) {
prompt("Buffer Pointer")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * bptr")
}
}
@@ -51,7 +51,9 @@
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <subArrayRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
+324
View File
@@ -0,0 +1,324 @@
recordtype(sub) {
include "dbCommon.ascii"
field(VAL,DBF_DOUBLE) {
prompt("Result")
asl(ASL0)
pp(TRUE)
}
field(INAM,DBF_STRING) {
prompt("Init Routine Name")
promptgroup(GUI_SUB)
special(SPC_NOMOD)
interest(1)
size(16)
}
field(SNAM,DBF_STRING) {
prompt("Subroutine Name")
promptgroup(GUI_SUB)
special(SPC_NOMOD)
interest(1)
size(16)
}
field(SADR,DBF_NOACCESS) {
prompt("Subroutine Address")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * sadr")
}
field(STYP,DBF_SHORT) {
prompt("Subr symbol type")
special(SPC_NOMOD)
interest(3)
}
field(INPA,DBF_INLINK) {
prompt("Input A")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPB,DBF_INLINK) {
prompt("Input B")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPC,DBF_INLINK) {
prompt("Input C")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPD,DBF_INLINK) {
prompt("Input D")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPE,DBF_INLINK) {
prompt("Input E")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPF,DBF_INLINK) {
prompt("Input F")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPG,DBF_INLINK) {
prompt("Input G")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPH,DBF_INLINK) {
prompt("Input H")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPI,DBF_INLINK) {
prompt("Input I")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPJ,DBF_INLINK) {
prompt("Input J")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPK,DBF_INLINK) {
prompt("Input K")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(INPL,DBF_INLINK) {
prompt("Input L")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Units Name")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Rng")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(HIHI,DBF_FLOAT) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_FLOAT) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_FLOAT) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(BRSV,DBF_MENU) {
prompt("Bad Return Severity")
promptgroup(GUI_SUB)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(A,DBF_DOUBLE) {
prompt("Value of Input A")
pp(TRUE)
}
field(B,DBF_DOUBLE) {
prompt("Value of Input B")
pp(TRUE)
}
field(C,DBF_DOUBLE) {
prompt("Value of Input C")
pp(TRUE)
}
field(D,DBF_DOUBLE) {
prompt("Value of Input D")
pp(TRUE)
}
field(E,DBF_DOUBLE) {
prompt("Value of Input E")
pp(TRUE)
}
field(F,DBF_DOUBLE) {
prompt("Value of Input F")
pp(TRUE)
}
field(G,DBF_DOUBLE) {
prompt("Value of Input G")
pp(TRUE)
}
field(H,DBF_DOUBLE) {
prompt("Value of Input H")
pp(TRUE)
}
field(I,DBF_DOUBLE) {
prompt("Value of Input I")
pp(TRUE)
}
field(J,DBF_DOUBLE) {
prompt("Value of Input J")
pp(TRUE)
}
field(K,DBF_DOUBLE) {
prompt("Value of Input K")
pp(TRUE)
}
field(L,DBF_DOUBLE) {
prompt("Value of Input L")
pp(TRUE)
}
field(LA,DBF_DOUBLE) {
prompt("Prev Value of A")
special(SPC_NOMOD)
interest(3)
}
field(LB,DBF_DOUBLE) {
prompt("Prev Value of B")
special(SPC_NOMOD)
interest(3)
}
field(LC,DBF_DOUBLE) {
prompt("Prev Value of C")
special(SPC_NOMOD)
interest(3)
}
field(LD,DBF_DOUBLE) {
prompt("Prev Value of D")
special(SPC_NOMOD)
interest(3)
}
field(LE,DBF_DOUBLE) {
prompt("Prev Value of E")
special(SPC_NOMOD)
interest(3)
}
field(LF,DBF_DOUBLE) {
prompt("Prev Value of F")
special(SPC_NOMOD)
interest(3)
}
field(LG,DBF_DOUBLE) {
prompt("Prev Value of G")
special(SPC_NOMOD)
interest(3)
}
field(LH,DBF_DOUBLE) {
prompt("Prev Value of H")
special(SPC_NOMOD)
interest(3)
}
field(LI,DBF_DOUBLE) {
prompt("Prev Value of I")
special(SPC_NOMOD)
interest(3)
}
field(LJ,DBF_DOUBLE) {
prompt("Prev Value of J")
special(SPC_NOMOD)
interest(3)
}
field(LK,DBF_DOUBLE) {
prompt("Prev Value of K")
special(SPC_NOMOD)
interest(3)
}
field(LL,DBF_DOUBLE) {
prompt("Prev Value of L")
special(SPC_NOMOD)
interest(3)
}
field(LALM,DBF_DOUBLE) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_DOUBLE) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_DOUBLE) {
prompt("Last Value Monitored")
special(SPC_NOMOD)
interest(3)
}
}
+3 -1
View File
@@ -62,7 +62,9 @@
#include <dbFldTypes.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <subRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -133,7 +135,7 @@ static long init_record(psub,pass)
pvalue = &psub->a;
for(i=0; i<ARG_MAX; i++, plink++, pvalue++) {
if (plink->type==CONSTANT) {
*pvalue = plink->value.value;
recGblInitConstantLink(plink,DBF_DOUBLE,pvalue);
}
else {
status = recGblInitFastInLink(plink, (void *) psub, DBR_DOUBLE, Fldnames[i]);
+233
View File
@@ -0,0 +1,233 @@
menu(timerTIMU) {
choice(timerTIMU_milliseconds,"milliseconds")
choice(timerTIMU_microseconds,"microseconds")
choice(timerTIMU_nanoseconds,"nanoseconds")
choice(timerTIMU_picoseconds,"picoseconds")
}
menu(timerTSRC) {
choice(timerTSRC_external,"external")
choice(timerTSRC_internal,"internal")
}
menu(timerPTST) {
choice(timerPTST_low,"low")
choice(timerPTST_high,"high")
}
recordtype(timer) {
include "dbCommon.ascii"
field(TORG,DBF_INLINK) {
prompt("Trigger Origin")
promptgroup(GUI_TIMER)
special(SPC_NOMOD)
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_PULSE)
special(SPC_NOMOD)
interest(1)
}
field(VAL,DBF_SHORT) {
prompt("Status")
asl(ASL0)
pp(TRUE)
}
field(TSRC,DBF_MENU) {
prompt("Clock Source")
promptgroup(GUI_TIMER)
interest(1)
menu(timerTSRC)
}
field(PTST,DBF_MENU) {
prompt("Pre-Trigger State")
promptgroup(GUI_TIMER)
pp(TRUE)
interest(1)
menu(timerPTST)
}
field(TEVT,DBF_SHORT) {
prompt("Event on Trigger")
promptgroup(GUI_TIMER)
pp(TRUE)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_TIMER)
interest(1)
}
field(TIMU,DBF_MENU) {
prompt("Time Units")
promptgroup(GUI_TIMER)
interest(1)
menu(timerTIMU)
}
field(MAIN,DBF_MENU) {
prompt("Maintain on reboot")
promptgroup(GUI_TIMER)
pp(TRUE)
interest(1)
menu(menuYesNo)
}
field(RDT1,DBF_FLOAT) {
prompt("Reboot Delay of 1")
interest(1)
}
field(RPW1,DBF_FLOAT) {
prompt("Reboot Width of 1")
interest(1)
}
field(PDLY,DBF_FLOAT) {
prompt("Delay Source to Inp")
promptgroup(GUI_TIMER)
interest(1)
}
field(DUT1,DBF_FLOAT) {
prompt("Delay Until Trigger 1")
promptgroup(GUI_PULSE)
pp(TRUE)
interest(1)
}
field(OPW1,DBF_FLOAT) {
prompt("Output Pulse Width 1")
promptgroup(GUI_PULSE)
pp(TRUE)
interest(1)
}
field(DUT2,DBF_FLOAT) {
prompt("Delay Until Trigger 2")
promptgroup(GUI_PULSE)
pp(TRUE)
interest(1)
}
field(OPW2,DBF_FLOAT) {
prompt("Output Pulse Width 2")
promptgroup(GUI_PULSE)
pp(TRUE)
interest(1)
}
field(DUT3,DBF_FLOAT) {
prompt("Delay Until Trigger 3")
promptgroup(GUI_PULSE)
pp(TRUE)
interest(1)
}
field(OPW3,DBF_FLOAT) {
prompt("Output Pulse Width 3")
promptgroup(GUI_PULSE)
pp(TRUE)
interest(1)
}
field(DUT4,DBF_FLOAT) {
prompt("Delay Until Trigger 4")
promptgroup(GUI_PULSE)
pp(TRUE)
interest(1)
}
field(OPW4,DBF_FLOAT) {
prompt("Output Pulse Width 4")
promptgroup(GUI_PULSE)
pp(TRUE)
interest(1)
}
field(DUT5,DBF_FLOAT) {
prompt("Delay Until Trigger 5")
promptgroup(GUI_PULSE)
pp(TRUE)
interest(1)
}
field(OPW5,DBF_FLOAT) {
prompt("Output Pulse Width 5")
promptgroup(GUI_PULSE)
pp(TRUE)
interest(1)
}
field(T1DL,DBF_DOUBLE) {
prompt("Delay for trigger 1")
interest(2)
}
field(T1WD,DBF_DOUBLE) {
prompt("Width of Trigger 1")
interest(2)
}
field(T2DL,DBF_DOUBLE) {
prompt("Delay for trigger 2")
interest(2)
}
field(T2WD,DBF_DOUBLE) {
prompt("Width of Trigger 2")
interest(2)
}
field(T3DL,DBF_DOUBLE) {
prompt("Delay for trigger 3")
interest(2)
}
field(T3WD,DBF_DOUBLE) {
prompt("Width of Trigger 3")
interest(2)
}
field(T4DL,DBF_DOUBLE) {
prompt("Delay for trigger 4")
interest(2)
}
field(T4WD,DBF_DOUBLE) {
prompt("Width of Trigger 4")
interest(2)
}
field(T5DL,DBF_DOUBLE) {
prompt("Delay for trigger 5")
interest(2)
}
field(T5WD,DBF_DOUBLE) {
prompt("Width of Trigger 5")
interest(2)
}
field(T1TD,DBF_FLOAT) {
prompt("Trailing Delay of 1")
interest(2)
}
field(T1LD,DBF_FLOAT) {
prompt("Leading Delay of 1")
interest(2)
}
field(T2TD,DBF_FLOAT) {
prompt("Trailing Delay of 2")
interest(2)
}
field(T2LD,DBF_FLOAT) {
prompt("Leading Delay of 2")
interest(2)
}
field(T3TD,DBF_FLOAT) {
prompt("Trailing Delay of 3")
interest(2)
}
field(T3LD,DBF_FLOAT) {
prompt("Leading Delay of 3")
interest(2)
}
field(T4TD,DBF_FLOAT) {
prompt("Trailing Delay of 4")
interest(2)
}
field(T4LD,DBF_FLOAT) {
prompt("Leading Delay of 4")
interest(2)
}
field(T5TD,DBF_FLOAT) {
prompt("Trailing Delay of 5")
interest(2)
}
field(T5LD,DBF_FLOAT) {
prompt("Leading Delay of 5")
interest(2)
}
field(TRDL,DBF_FLOAT) {
prompt("Trigger Origin Delay")
interest(2)
}
field(TDIS,DBF_SHORT) {
prompt("Timing Pulse Disable")
pp(TRUE)
interest(2)
}
}
+3 -1
View File
@@ -67,7 +67,9 @@
#include <errMdef.h>
#include <recSup.h>
#include <module_types.h>
#define GEN_SIZE_OFFSET
#include <timerRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -140,7 +142,7 @@ static long init_record(ptimer, pass)
/* get the delay initial value if torg is a constant*/
if (ptimer->torg.type == CONSTANT) {
ptimer->trdl = ptimer->torg.value.value;
recGblInitConstantLink(&ptimer->torg,DBF_FLOAT,&ptimer->trdl);
}
else {
status = recGblInitFastInLink(&(ptimer->torg), (void *) ptimer, DBR_FLOAT, "TRDL");
+509
View File
@@ -0,0 +1,509 @@
menu(waitOOPT) {
choice(waitOOPT_Every_Time,"Every Time")
choice(waitOOPT_On_Change,"On Change")
choice(waitOOPT_When_Zero,"When Zero")
choice(waitOOPT_When_Non_zero,"When Non-zero")
choice(waitOOPT_Transition_To_Zero,"Transition To Zero")
choice(waitOOPT_Transition_To_Non_zero,"Transition To Non-zero")
}
menu(waitDOPT) {
choice(waitDOPT_Use_VAL,"Use VAL")
choice(waitDOPT_Use_DOL,"Use DOL")
}
menu(waitINAP) {
choice(waitINAP_No,"No")
choice(waitINAP_Yes,"Yes")
}
menu(waitINAV) {
choice(waitINAV_PV_OK,"PV OK")
choice(waitINAV_PV_BAD,"PV BAD")
choice(waitINAV_No_PV,"No PV")
}
recordtype(wait) {
include "dbCommon.ascii"
field(VERS,DBF_FLOAT) {
prompt("Code Version")
special(SPC_NOMOD)
initial("1")
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_ALARMS)
asl(ASL0)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_BITS1)
asl(ASL0)
interest(1)
}
field(INIT,DBF_SHORT) {
prompt("Initialized?")
special(SPC_NOMOD)
interest(3)
}
field(CBST,DBF_NOACCESS) {
prompt("Pointer to cbStruct")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * cbst")
}
field(INAN,DBF_STRING) {
prompt("INPA PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(110)
interest(1)
size(40)
}
field(INBN,DBF_STRING) {
prompt("INPB PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(111)
interest(1)
size(40)
}
field(INCN,DBF_STRING) {
prompt("INPC PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(112)
interest(1)
size(40)
}
field(INDN,DBF_STRING) {
prompt("INPD PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(113)
interest(1)
size(40)
}
field(INEN,DBF_STRING) {
prompt("INPE PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(114)
interest(1)
size(40)
}
field(INFN,DBF_STRING) {
prompt("INPF PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(115)
interest(1)
size(40)
}
field(INGN,DBF_STRING) {
prompt("INPG PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(116)
interest(1)
size(40)
}
field(INHN,DBF_STRING) {
prompt("INPH PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(117)
interest(1)
size(40)
}
field(ININ,DBF_STRING) {
prompt("INPI PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(118)
interest(1)
size(40)
}
field(INJN,DBF_STRING) {
prompt("INPJ PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(119)
interest(1)
size(40)
}
field(INKN,DBF_STRING) {
prompt("INPK PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(120)
interest(1)
size(40)
}
field(INLN,DBF_STRING) {
prompt("INPL PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(121)
interest(1)
size(40)
}
field(DOLN,DBF_STRING) {
prompt("DOL PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(122)
interest(1)
size(40)
}
field(OUTN,DBF_STRING) {
prompt("OUT PV Name")
promptgroup(GUI_CALC)
asl(ASL0)
special(123)
interest(1)
size(40)
}
field(INAV,DBF_MENU) {
prompt("INPA PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(INBV,DBF_MENU) {
prompt("INPB PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(INCV,DBF_MENU) {
prompt("INPC PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(INDV,DBF_MENU) {
prompt("INPD PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(INEV,DBF_MENU) {
prompt("INPE PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(INFV,DBF_MENU) {
prompt("INPF PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(INGV,DBF_MENU) {
prompt("INPG PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(INHV,DBF_MENU) {
prompt("INPH PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(INIV,DBF_MENU) {
prompt("INPI PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(INJV,DBF_MENU) {
prompt("INPJ PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(INKV,DBF_MENU) {
prompt("INPK PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(INLV,DBF_MENU) {
prompt("INPL PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(DOLV,DBF_MENU) {
prompt("DOL PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(OUTV,DBF_MENU) {
prompt("OUT PV Status")
special(SPC_NOMOD)
interest(1)
menu(waitINAV)
}
field(A,DBF_DOUBLE) {
prompt("Value of Input A")
pp(TRUE)
}
field(B,DBF_DOUBLE) {
prompt("Value of Input B")
pp(TRUE)
}
field(C,DBF_DOUBLE) {
prompt("Value of Input C")
pp(TRUE)
}
field(D,DBF_DOUBLE) {
prompt("Value of Input D")
pp(TRUE)
}
field(E,DBF_DOUBLE) {
prompt("Value of Input E")
pp(TRUE)
}
field(F,DBF_DOUBLE) {
prompt("Value of Input F")
pp(TRUE)
}
field(G,DBF_DOUBLE) {
prompt("Value of Input G")
pp(TRUE)
}
field(H,DBF_DOUBLE) {
prompt("Value of Input H")
pp(TRUE)
}
field(I,DBF_DOUBLE) {
prompt("Value of Input I")
pp(TRUE)
}
field(J,DBF_DOUBLE) {
prompt("Value of Input J")
pp(TRUE)
}
field(K,DBF_DOUBLE) {
prompt("Value of Input K")
pp(TRUE)
}
field(L,DBF_DOUBLE) {
prompt("Value of Input L")
pp(TRUE)
}
field(LA,DBF_DOUBLE) {
prompt("Last Val of Input A")
}
field(LB,DBF_DOUBLE) {
prompt("Last Val of Input B")
}
field(LC,DBF_DOUBLE) {
prompt("Last Val of Input C")
}
field(LD,DBF_DOUBLE) {
prompt("Last Val of Input D")
}
field(LE,DBF_DOUBLE) {
prompt("Last Val of Input E")
}
field(LF,DBF_DOUBLE) {
prompt("Last Val of Input F")
}
field(LG,DBF_DOUBLE) {
prompt("Last Val of Input G")
}
field(LH,DBF_DOUBLE) {
prompt("Last Val of Input H")
}
field(LI,DBF_DOUBLE) {
prompt("Last Val of Input I")
}
field(LJ,DBF_DOUBLE) {
prompt("Last Val of Input J")
}
field(LK,DBF_DOUBLE) {
prompt("Last Val of Input K")
}
field(LL,DBF_DOUBLE) {
prompt("Last Val of Input L")
}
field(INAP,DBF_MENU) {
prompt("INPA causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(INBP,DBF_MENU) {
prompt("INPB causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(INCP,DBF_MENU) {
prompt("INPC causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(INDP,DBF_MENU) {
prompt("INPD causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(INEP,DBF_MENU) {
prompt("INPE causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(INFP,DBF_MENU) {
prompt("INPF causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(INGP,DBF_MENU) {
prompt("INPG causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(INHP,DBF_MENU) {
prompt("INPH causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(INIP,DBF_MENU) {
prompt("INPI causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(INJP,DBF_MENU) {
prompt("INPJ causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(INKP,DBF_MENU) {
prompt("INPK causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(INLP,DBF_MENU) {
prompt("INPL causes I/O INTR")
promptgroup(GUI_CALC)
interest(1)
menu(waitINAP)
}
field(CALC,DBF_STRING) {
prompt("Calculation")
promptgroup(GUI_CLOCK)
asl(ASL0)
special(SPC_CALC)
size(36)
}
field(RPCL,DBF_NOACCESS) {
prompt("Reverse Polish Calc")
special(SPC_NOMOD)
interest(4)
size(184)
extra("char rpcl[184]")
}
field(CLCV,DBF_LONG) {
prompt("CALC Valid")
interest(1)
}
field(VAL,DBF_DOUBLE) {
prompt("Value Field")
}
field(OVAL,DBF_DOUBLE) {
prompt("Old Value")
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_COMMON)
interest(1)
}
field(OOPT,DBF_MENU) {
prompt("Output Execute Opt")
promptgroup(GUI_CALC)
interest(1)
menu(waitOOPT)
}
field(ODLY,DBF_FLOAT) {
prompt("Output Execute Delay")
promptgroup(GUI_ALARMS)
asl(ASL0)
interest(1)
}
field(DOPT,DBF_MENU) {
prompt("Output Data Option")
promptgroup(GUI_CALC)
interest(1)
menu(waitDOPT)
}
field(DOLD,DBF_DOUBLE) {
prompt("Desired Output Data")
promptgroup(GUI_CLOCK)
asl(ASL0)
interest(1)
}
field(OEVT,DBF_USHORT) {
prompt("Event To Issue")
promptgroup(GUI_CLOCK)
asl(ASL0)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_CLOCK)
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_CLOCK)
interest(1)
}
field(ALST,DBF_DOUBLE) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_DOUBLE) {
prompt("Last Val Monitored")
special(SPC_NOMOD)
interest(3)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_PULSE)
special(SPC_NOMOD)
interest(1)
}
field(SVAL,DBF_DOUBLE) {
prompt("Simulation Value")
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_PULSE)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_SELECT)
interest(2)
menu(menuAlarmSevr)
}
}
+4 -2
View File
@@ -92,7 +92,9 @@
#include <taskwd.h>
#include <choiceWait.h>
#define GEN_SIZE_OFFSET
#include <waitRecord.h>
#undef GEN_SIZE_OFFSET
#include <recDynLink.h>
@@ -600,7 +602,7 @@ struct waitRecord *pwait;
/* wait.siml must be a CONSTANT or a PV_LINK or a DB_LINK */
switch (pwait->siml.type) {
case (CONSTANT) :
pwait->simm = pwait->siml.value.value;
recGblInitConstantLink(&pwait->siml,DBF_USHORT,&pwait->simm);
break;
case (PV_LINK) :
status = dbCaAddInlink(&(pwait->siml), (void *) pwait, "SIMM");
@@ -617,7 +619,7 @@ struct waitRecord *pwait;
/* wait.siol must be a CONSTANT or a PV_LINK or a DB_LINK */
switch (pwait->siol.type) {
case (CONSTANT) :
pwait->sval = pwait->siol.value.value;
recGblInitConstantLink(&pwait->siol,DBF_DOUBLE,&pwait->sval);
break;
case (PV_LINK) :
status = dbCaAddInlink(&(pwait->siol), (void *) pwait, "SVAL");
+96
View File
@@ -0,0 +1,96 @@
recordtype(waveform) {
include "dbCommon.ascii"
field(VAL,DBF_NOACCESS) {
prompt("Value")
asl(ASL0)
special(SPC_DBADDR)
pp(TRUE)
size(4)
extra("void * val")
}
field(RARM,DBF_SHORT) {
prompt("Rearm the waveform")
promptgroup(GUI_WAVE)
pp(TRUE)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units Name")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(NELM,DBF_ULONG) {
prompt("Number of Elements")
promptgroup(GUI_WAVE)
special(SPC_NOMOD)
interest(1)
initial("1")
}
field(FTVL,DBF_MENU) {
prompt("Field Type of Value")
promptgroup(GUI_WAVE)
special(SPC_NOMOD)
interest(1)
menu(menuFtype)
}
field(BUSY,DBF_SHORT) {
prompt("Busy Indicator")
special(SPC_NOMOD)
}
field(NORD,DBF_ULONG) {
prompt("Number elements read")
special(SPC_NOMOD)
}
field(BPTR,DBF_NOACCESS) {
prompt("Buffer Pointer")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * bptr")
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
}
@@ -75,7 +75,9 @@
#include <devSup.h>
#include <errMdef.h>
#include <recSup.h>
#define GEN_SIZE_OFFSET
#include <waveformRecord.h>
#undef GEN_SIZE_OFFSET
/* Create RSET - Record Support Entry Table*/
#define report NULL
@@ -159,7 +161,7 @@ static long init_record(pwf,pass)
/* wf.siml must be a CONSTANT or a PV_LINK or a DB_LINK */
switch (pwf->siml.type) {
case (CONSTANT) :
pwf->simm = pwf->siml.value.value;
recGblInitConstantLink(&pwf->siml,DBF_USHORT,&pwf->simm);
break;
case (PV_LINK) :
status = dbCaAddInlink(&(pwf->siml), (void *) pwf, "SIMM");