Changes for replacing default.dctsdr: Renamed all record support modules
This commit is contained in:
+85
-42
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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");
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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");
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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");
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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");
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
@@ -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]")
|
||||
}
|
||||
}
|
||||
@@ -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]);
|
||||
@@ -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
|
||||
@@ -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)
|
||||
{
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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");
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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]);
|
||||
@@ -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");
|
||||
@@ -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");
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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");
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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");
|
||||
@@ -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;
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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]);
|
||||
@@ -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
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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 {
|
||||
@@ -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)
|
||||
{
|
||||
@@ -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)
|
||||
@@ -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
@@ -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)) &&
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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]);
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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++;
|
||||
|
||||
@@ -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
|
||||
@@ -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");
|
||||
@@ -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");
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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]);
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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");
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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");
|
||||
@@ -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");
|
||||
Reference in New Issue
Block a user