remove all apsEvent support from base

This commit is contained in:
Marty Kraimer
2005-09-13 19:43:03 +00:00
parent b48c803148
commit c60d84aaf4
12 changed files with 0 additions and 1771 deletions

View File

@@ -10,10 +10,6 @@
TOP=../..
include $(TOP)/configure/CONFIG
INC += egDefs.h
INC += erDefs.h
INC += ereventDefs.h
DBDINC += aaiRecord
DBDINC += aaoRecord
DBDINC += aiRecord
@@ -24,10 +20,6 @@ DBDINC += calcRecord
DBDINC += calcoutRecord
DBDINC += compressRecord
DBDINC += dfanoutRecord
DBDINC += egRecord
DBDINC += egeventRecord
DBDINC += erRecord
DBDINC += ereventRecord
DBDINC += eventRecord
DBDINC += fanoutRecord
DBDINC += histogramRecord
@@ -57,10 +49,6 @@ LIBSRCS += calcRecord.c
LIBSRCS += calcoutRecord.c
LIBSRCS += compressRecord.c
LIBSRCS += dfanoutRecord.c
LIBSRCS += egRecord.c
LIBSRCS += egeventRecord.c
LIBSRCS += erRecord.c
LIBSRCS += ereventRecord.c
LIBSRCS += eventRecord.c
LIBSRCS += fanoutRecord.c
LIBSRCS += histogramRecord.c

View File

@@ -1,48 +0,0 @@
/*************************************************************************\
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
* National Laboratory.
* Copyright (c) 2002 The Regents of the University of California, as
* Operator of Los Alamos National Laboratory.
* EPICS BASE Versions 3.13.7
* and higher are distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
/* $Id$ */
#ifndef EPICS_EGDEFS_H
#define EPICS_EGDEFS_H
typedef long (*EG_PROC_FUN)(struct egRecord *prec);
typedef long (*EG_INIT_REC_FUN)(struct egRecord *prec);
typedef long (*EG_INIT_DEV_FUN)(int pass);
typedef struct
{
long number;
DEVSUPFUN report;
EG_INIT_DEV_FUN init;
EG_INIT_REC_FUN initRec;
DEVSUPFUN get_ioint_info;
EG_PROC_FUN proc;
} EgDsetStruct;
#define EG_SEQ_RAM_SIZE (1024*32)
#define EG_SEQ_RAM_EVENT_NULL 0
#define EG_SEQ_RAM_EVENT_END 127
#define EG_SEQ_RAM_EVENT_FREEZE 126
#define EG_SEQ_RAM_EVENT_RESET_TIME 125
#define EG_SEQ_RAM_EVENT_TICK_TIME 124
#define EG_SEQ_RAM_EVENT_RESET_PRESCALE 123
#define EG_SEQ_RAM_EVENT_HEARTBEAT 122
#define REC_EGEVENT_UNIT_TICKS (0)
#define REC_EGEVENT_UNIT_FORTNIGHTS (1)
#define REC_EGEVENT_UNIT_WEEKS (2)
#define REC_EGEVENT_UNIT_DAYS (3)
#define REC_EGEVENT_UNIT_HOURS (4)
#define REC_EGEVENT_UNIT_MINUITES (5)
#define REC_EGEVENT_UNIT_SECONDS (6)
#define REC_EGEVENT_UNIT_MILLISECONDS (7)
#define REC_EGEVENT_UNIT_MICROSECONDS (8)
#define REC_EGEVENT_UNIT_NANOSECONDS (9)
#endif

View File

@@ -1,157 +0,0 @@
/*************************************************************************\
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
* National Laboratory.
* Copyright (c) 2002 The Regents of the University of California, as
* Operator of Los Alamos National Laboratory.
* EPICS BASE Versions 3.13.7
* and higher are distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
/*
*
* Author: John Winans
* Date: 8/27/93
*
*/
#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include "dbDefs.h"
#include "epicsPrint.h"
#include "alarm.h"
#include "dbAccess.h"
#include "dbEvent.h"
#include "dbFldTypes.h"
#include "devSup.h"
#include "errMdef.h"
#include "recSup.h"
#include "recGbl.h"
#define GEN_SIZE_OFFSET
#include "egRecord.h"
#undef GEN_SIZE_OFFSET
#include "egDefs.h"
#include "epicsExport.h"
#define STATIC static
STATIC void EgMonitor(struct egRecord *pRec);
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
STATIC long EgInitRec(struct egRecord *, int);
STATIC long EgProc(struct egRecord *);
#define special NULL
#define get_value NULL
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
#define get_units NULL
#define get_precision NULL
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
#define get_graphic_double NULL
#define get_control_double NULL
#define get_alarm_double NULL
rset egRSET={
RSETNUMBER,
report,
initialize,
EgInitRec,
EgProc,
special,
get_value,
cvt_dbaddr,
get_array_info,
put_array_info,
get_units,
get_precision,
get_enum_str,
get_enum_strs,
put_enum_str,
get_graphic_double,
get_control_double,
get_alarm_double
};
epicsExportAddress(rset,egRSET);
STATIC long EgInitRec(struct egRecord *pRec, int pass)
{
EgDsetStruct *pDset = (EgDsetStruct *) pRec->dset;
if (pass == 1)
{
/* Init the card via driver calls */
/* Make sure we have a usable device support module */
if (pDset == NULL)
{
recGblRecordError(S_dev_noDSET,(void *)pRec, "eg: EgInitRec");
return(S_dev_noDSET);
}
if (pDset->number < 5)
{
recGblRecordError(S_dev_missingSup,(void *)pRec, "eg: EgInitRec");
return(S_dev_missingSup);
}
if( pDset->initRec != NULL)
return(*pDset->initRec)(pRec);
}
pRec->taxi = 0;
return(0);
}
/******************************************************************************
******************************************************************************/
STATIC long EgProc(struct egRecord *pRec)
{
EgDsetStruct *pDset = (EgDsetStruct *) pRec->dset;
pRec->pact=TRUE;
pRec->ltax = pRec->taxi; /* The only monitorable field we can change */
if (pRec->tpro > 10)
printf("recEg::EgProc(%s) entered\n", pRec->name);
if (pDset->proc != NULL)
(*pDset->proc)(pRec);
/* Take care of time stamps and such */
pRec->udf=FALSE;
/*tsLocalTime(&pRec->time);*/
recGblGetTimeStamp(pRec);
/* Deal with monitor stuff */
EgMonitor(pRec);
/* process the forward scan link record */
recGblFwdLink(pRec);
pRec->pact=FALSE;
return(0);
}
/******************************************************************************
*
******************************************************************************/
STATIC void EgMonitor(struct egRecord *pRec)
{
unsigned short monitor_mask;
monitor_mask = recGblResetAlarms(pRec);
monitor_mask |= (DBE_VALUE | DBE_LOG);
db_post_events(pRec, &pRec->val, monitor_mask);
if (pRec->taxi != pRec->ltax)
db_post_events(pRec, &pRec->taxi, monitor_mask);
return;
}

View File

@@ -1,293 +0,0 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
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.dbd"
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
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)
}
}

View File

@@ -1,221 +0,0 @@
/*************************************************************************\
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
* National Laboratory.
* Copyright (c) 2002 The Regents of the University of California, as
* Operator of Los Alamos National Laboratory.
* EPICS BASE Versions 3.13.7
* and higher are distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
/*
* Author: John Winans
* Date: 8/27/93
*
*/
#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include "dbDefs.h"
#include "epicsPrint.h"
#include "alarm.h"
#include "dbAccess.h"
#include "dbEvent.h"
#include "dbFldTypes.h"
#include "devSup.h"
#include "errMdef.h"
#include "recSup.h"
#include "recGbl.h"
#include "egRecord.h"
#define GEN_SIZE_OFFSET
#include "egeventRecord.h"
#undef GEN_SIZE_OFFSET
#include "egDefs.h"
#include "epicsExport.h"
#define STATIC static
STATIC void EgEventMonitor(struct egeventRecord *pRec);
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
STATIC long EgEventInitRec(struct egeventRecord *, int);
STATIC long EgEventProc(struct egeventRecord *);
#define special NULL
#define get_value NULL
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
#define get_units NULL
#define get_precision NULL
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
static long get_graphic_double(struct dbAddr *paddr, struct dbr_grDouble *pgd);
static long get_control_double(struct dbAddr *paddr, struct dbr_ctrlDouble *pcd);
static long get_alarm_double(struct dbAddr *paddr, struct dbr_alDouble *pad);
rset egeventRSET={
RSETNUMBER,
report,
initialize,
EgEventInitRec,
EgEventProc,
special,
get_value,
cvt_dbaddr,
get_array_info,
put_array_info,
get_units,
get_precision,
get_enum_str,
get_enum_strs,
put_enum_str,
get_graphic_double,
get_control_double,
get_alarm_double
};
epicsExportAddress(rset,egeventRSET);
STATIC long EgEventInitRec(struct egeventRecord *pRec, int pass)
{
EgDsetStruct *pDset = (EgDsetStruct *) pRec->dset;
printf("EgEventInitRec(%s, %d)\n", pRec->name, pass);
if (pass == 1)
{
/* Init the card via driver calls */
/* Make sure we have a usable device support module */
if (pDset == NULL)
{
recGblRecordError(S_dev_noDSET,(void *)pRec, "eg: EgEventInitRec");
return(S_dev_noDSET);
}
if (pDset->number < 5)
{
recGblRecordError(S_dev_missingSup,(void *)pRec, "eg: EgEventInitRec");
return(S_dev_missingSup);
}
if( pDset->initRec != NULL)
return(*pDset->initRec)((void *)pRec);
}
return(0);
}
/******************************************************************************
******************************************************************************/
STATIC long EgEventProc(struct egeventRecord *pRec)
{
EgDsetStruct *pDset = (EgDsetStruct *) pRec->dset;
pRec->pact=TRUE;
if (pRec->tpro > 10)
printf("recEgEvent::EgEventProc(%s) entered\n", pRec->name);
if (pDset->proc)
(*pDset->proc)((void *)pRec);
/* Take care of time stamps and such */
pRec->udf=FALSE;
/* tsLocalTime(&pRec->time);*/
recGblGetTimeStamp(pRec);
/* Deal with monitor stuff */
EgEventMonitor(pRec);
/* process the forward scan link record */
recGblFwdLink(pRec);
pRec->pact=FALSE;
return(0);
}
/******************************************************************************
*
******************************************************************************/
STATIC void EgEventMonitor(struct egeventRecord *pRec)
{
unsigned short monitor_mask;
monitor_mask = recGblResetAlarms(pRec);
monitor_mask |= (DBE_VALUE | DBE_LOG);
db_post_events(pRec, &pRec->val, monitor_mask);
#if 0 /* this is done in the device support code */
db_post_events(pRec, &pRec->adly, monitor_mask);
db_post_events(pRec, &pRec->dpos, monitor_mask);
db_post_events(pRec, &pRec->apos, monitor_mask);
#endif
return;
}
/******************************************************************************
*
*
******************************************************************************/
static long get_graphic_double(struct dbAddr *paddr, struct dbr_grDouble *pgd)
{
struct egeventRecord *pRec=(struct egeventRecord *)paddr->precord;
if(paddr->pfield==(void *)&pRec->val)
{
pgd->upper_disp_limit = 0;
pgd->lower_disp_limit = 0;
}
else if(paddr->pfield==(void *)&pRec->dely
|| paddr->pfield==(void *)&pRec->adly
|| paddr->pfield==(void *)&pRec->dpos
|| paddr->pfield==(void *)&pRec->apos)
{
pgd->upper_disp_limit = (32*1024) - 1;
pgd->lower_disp_limit = 0;
}
else if(paddr->pfield==(void *)&pRec->enm)
{
pgd->upper_disp_limit = 255;
pgd->lower_disp_limit = 0;
}
else
recGblGetGraphicDouble(paddr,pgd);
return(0);
}
static long get_control_double(struct dbAddr *paddr, struct dbr_ctrlDouble *pcd)
{
struct egeventRecord *pRec=(struct egeventRecord *)paddr->precord;
if(paddr->pfield==(void *)&pRec->val)
{
pcd->upper_ctrl_limit = 0;
pcd->lower_ctrl_limit = 1;
}
else if(paddr->pfield==(void *)&pRec->dely
|| paddr->pfield==(void *)&pRec->adly
|| paddr->pfield==(void *)&pRec->dpos
|| paddr->pfield==(void *)&pRec->apos)
{
pcd->upper_ctrl_limit = (32*1024) -1;
pcd->lower_ctrl_limit = 0;
}
else
recGblGetControlDouble(paddr,pcd);
return(0);
}
static long get_alarm_double(struct dbAddr *paddr, struct dbr_alDouble *pad)
{
#if 0
{
pad->upper_alarm_limit = 2;
pad->upper_warning_limit = 2;
pad->lower_warning_limit = -1;
pad->lower_alarm_limit = -1;
} else
#endif
recGblGetAlarmDouble(paddr,pad);
return(0);
}

View File

@@ -1,111 +0,0 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
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.dbd"
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
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_DOUBLE) {
prompt("Desired Delay Time")
promptgroup(GUI_DISPLAY)
pp(TRUE)
interest(1)
}
field(ADLY,DBF_DOUBLE) {
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_DOUBLE) {
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)
extra("ELLNODE eln")
}
field(SELF,DBF_NOACCESS) {
prompt("Self Pointer")
special(SPC_NOMOD)
interest(4)
extra("struct egeventRecord *self")
}
}

View File

@@ -1,22 +0,0 @@
/*************************************************************************\
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
* National Laboratory.
* Copyright (c) 2002 The Regents of the University of California, as
* Operator of Los Alamos National Laboratory.
* EPICS BASE Versions 3.13.7
* and higher are distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
#ifndef EPICS_ERDEFS_H
#define EPICS_ERDEFS_H
typedef struct ErDsetStruct {
long number;
DEVSUPFUN report;
DEVSUPFUN init;
DEVSUPFUN init_record;
DEVSUPFUN get_ioint_info;
DEVSUPFUN proc;
} ErDsetStruct;
#endif

View File

@@ -1,259 +0,0 @@
/*************************************************************************\
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
* National Laboratory.
* Copyright (c) 2002 The Regents of the University of California, as
* Operator of Los Alamos National Laboratory.
* EPICS BASE Versions 3.13.7
* and higher are distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
/*
*
* Author: John Winans
* Date: 9/27/93
*/
#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include "dbDefs.h"
#include "epicsPrint.h"
#include "alarm.h"
#include "dbAccess.h"
#include "dbEvent.h"
#include "dbFldTypes.h"
#include "devSup.h"
#include "errMdef.h"
#include "recSup.h"
#include "recGbl.h"
#include "erDefs.h"
#define GEN_SIZE_OFFSET
#include "erRecord.h"
#undef GEN_SIZE_OFFSET
#include "epicsExport.h"
#define STATIC static
STATIC void ErMonitor(struct erRecord *pRec);
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
STATIC long ErInitRec(struct erRecord *, int);
STATIC long ErProc(struct erRecord *);
#define ErSpecial NULL
#define get_value NULL
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
#define get_units NULL
#define get_precision NULL
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
static long get_graphic_double(struct dbAddr *paddr, struct dbr_grDouble *pgd);
static long get_control_double(struct dbAddr *paddr, struct dbr_ctrlDouble *pcd);
static long get_alarm_double(struct dbAddr *paddr, struct dbr_alDouble *pad);
rset erRSET={
RSETNUMBER,
report,
initialize,
ErInitRec,
ErProc,
ErSpecial,
get_value,
cvt_dbaddr,
get_array_info,
put_array_info,
get_units,
get_precision,
get_enum_str,
get_enum_strs,
put_enum_str,
get_graphic_double,
get_control_double,
get_alarm_double
};
epicsExportAddress(rset,erRSET);
/******************************************************************************
*
* Init an ER record.
*
******************************************************************************/
STATIC long ErInitRec(struct erRecord *pRec, int pass)
{
ErDsetStruct *pDset = (ErDsetStruct *) pRec->dset;
if (pass == 1)
{
/* Init the card via driver calls */
/* Make sure we have a usable device support module */
if (pDset == NULL)
{
recGblRecordError(S_dev_noDSET,(void *)pRec, "er: ErInitRec");
return(S_dev_noDSET);
}
if (pDset->number < 5)
{
recGblRecordError(S_dev_missingSup,(void *)pRec, "er: ErInitRec");
return(S_dev_missingSup);
}
if( pDset->init_record != NULL)
return(*pDset->init_record)(pRec);
}
pRec->taxi = 0;
return(0);
}
/******************************************************************************
*
* Process an ER record.
*
******************************************************************************/
STATIC long ErProc(struct erRecord *pRec)
{
ErDsetStruct *pDset = (ErDsetStruct *) pRec->dset;
pRec->pact=TRUE;
pRec->ltax = pRec->taxi; /* The only monitorable field we can change */
if (pRec->tpro > 10)
printf("recEr::ErProc(%s) entered\n", pRec->name);
if (pDset->proc != NULL)
(*pDset->proc)(pRec);
/* Take care of time stamps and such */
pRec->udf=FALSE;
/* tsLocalTime(&pRec->time);*/
recGblGetTimeStamp(pRec);
/* Deal with monitor stuff */
ErMonitor(pRec);
/* process the forward scan link record */
recGblFwdLink(pRec);
pRec->pact=FALSE;
return(0);
}
#if 0 /* this is not needed */
/******************************************************************************
*
* Used to check for changed field values
*
******************************************************************************/
STATIC long ErSpecial(struct dbAddr *paddr, int after)
{
struct erRecord *pRec = (struct erRecord *)(paddr->precord);
void *p
if(!after)
return(0);
/* Make sure we have the proper special flag type spec'd */
if (pdbAddr->special != SPC_MOD)
{
recGblDbaddrError(S_db_badChoice,pdbAddr,"bp: special");
return(S_db_badChoice);
}
p = (void *)(pdbAddr->pfield);
/* Figure out which field has been changed */
if (p == &pRec->dg0d)
pRec->dgcm |= 1;
else ...
return(0);
}
#endif
/******************************************************************************
*
* Post any events for fields that might have changed while processing.
*
******************************************************************************/
STATIC void ErMonitor(struct erRecord *pRec)
{
unsigned short monitor_mask;
monitor_mask = recGblResetAlarms(pRec);
monitor_mask |= (DBE_VALUE | DBE_LOG);
db_post_events(pRec, &pRec->val, monitor_mask);
if (pRec->taxi != pRec->ltax)
db_post_events(pRec, &pRec->taxi, monitor_mask);
return;
}
static long get_graphic_double(struct dbAddr *paddr, struct dbr_grDouble *pgd)
{
struct erRecord *pRec=(struct erRecord *)paddr->precord;
if(paddr->pfield==(void *)&pRec->val)
{
pgd->upper_disp_limit = 0;
pgd->lower_disp_limit = 0;
}
else if(paddr->pfield==(void *)&pRec->dg0d
|| paddr->pfield==(void *)&pRec->dg0w
|| paddr->pfield==(void *)&pRec->dg1d
|| paddr->pfield==(void *)&pRec->dg1w
|| paddr->pfield==(void *)&pRec->dg2d
|| paddr->pfield==(void *)&pRec->dg2w
|| paddr->pfield==(void *)&pRec->dg3d
|| paddr->pfield==(void *)&pRec->dg3w)
{
pgd->upper_disp_limit = 64*1024;
pgd->lower_disp_limit = 0;
}
else
recGblGetGraphicDouble(paddr,pgd);
return(0);
}
static long get_control_double(struct dbAddr *paddr, struct dbr_ctrlDouble *pcd)
{
struct erRecord *pRec=(struct erRecord *)paddr->precord;
if(paddr->pfield==(void *)&pRec->val)
{
pcd->upper_ctrl_limit = 0;
pcd->lower_ctrl_limit = 1;
}
else if(paddr->pfield==(void *)&pRec->dg0d
|| paddr->pfield==(void *)&pRec->dg0w
|| paddr->pfield==(void *)&pRec->dg1d
|| paddr->pfield==(void *)&pRec->dg1w
|| paddr->pfield==(void *)&pRec->dg2d
|| paddr->pfield==(void *)&pRec->dg2w
|| paddr->pfield==(void *)&pRec->dg3d
|| paddr->pfield==(void *)&pRec->dg3w)
{
pcd->upper_ctrl_limit = 64*1024;
pcd->lower_ctrl_limit = 0;
}
else
recGblGetControlDouble(paddr,pcd);
return(0);
}
static long get_alarm_double(struct dbAddr *paddr, struct dbr_alDouble *pad)
{
#if 0
{
pad->upper_alarm_limit = 2;
pad->upper_warning_limit = 2;
pad->lower_warning_limit = -1;
pad->lower_alarm_limit = -1;
} else
#endif
recGblGetAlarmDouble(paddr,pad);
return(0);
}

View File

@@ -1,321 +0,0 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
menu(erTRG0) {
choice(erTRG0_Disabled,"Disabled")
choice(erTRG0_Enabled,"Enabled")
}
recordtype(er) {
include "dbCommon.dbd"
field(VAL,DBF_CHAR) {
prompt("Worthless Value")
asl(ASL0)
special(SPC_NOMOD)
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
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)
}
}

View File

@@ -1,21 +0,0 @@
/*************************************************************************\
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
* National Laboratory.
* Copyright (c) 2002 The Regents of the University of California, as
* Operator of Los Alamos National Laboratory.
* EPICS BASE Versions 3.13.7
* and higher are distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
#ifndef EPICS_EREVENTDEFS_H
#define EPICS_EREVENTDEFS_H
typedef struct EreventDsetStruct {
long number;
DEVSUPFUN report;
DEVSUPFUN init;
DEVSUPFUN initRec;
DEVSUPFUN get_ioint_info;
DEVSUPFUN proc;
} EreventDsetStruct;
#endif

View File

@@ -1,148 +0,0 @@
/*************************************************************************\
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
* National Laboratory.
* Copyright (c) 2002 The Regents of the University of California, as
* Operator of Los Alamos National Laboratory.
* EPICS BASE Versions 3.13.7
* and higher are distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
/*
*
* Author: John Winans
* Date: 8/27/93
*/
#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include "dbDefs.h"
#include "epicsPrint.h"
#include "alarm.h"
#include "dbAccess.h"
#include "dbEvent.h"
#include "dbFldTypes.h"
#include "devSup.h"
#include "errMdef.h"
#include "recSup.h"
#include "recGbl.h"
#include "ereventDefs.h"
#define GEN_SIZE_OFFSET
#include "ereventRecord.h"
#undef GEN_SIZE_OFFSET
#include "epicsExport.h"
#define STATIC static
STATIC void ErEventMonitor(struct ereventRecord *pRec);
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
STATIC long ErEventInitRec(struct ereventRecord *, int);
STATIC long ErEventProc(struct ereventRecord *);
#define special NULL
#define get_value NULL
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
#define get_units NULL
#define get_precision NULL
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
#define get_graphic_double NULL
#define get_control_double NULL
#define get_alarm_double NULL
rset ereventRSET={
RSETNUMBER,
report,
initialize,
ErEventInitRec,
ErEventProc,
special,
get_value,
cvt_dbaddr,
get_array_info,
put_array_info,
get_units,
get_precision,
get_enum_str,
get_enum_strs,
put_enum_str,
get_graphic_double,
get_control_double,
get_alarm_double
};
epicsExportAddress(rset,ereventRSET);
STATIC long ErEventInitRec(struct ereventRecord *pRec, int pass)
{
EreventDsetStruct *pDset = (EreventDsetStruct *) pRec->dset;
if (pass == 1)
{
/* Init the card via driver calls */
/* Make sure we have a usable device support module */
if (pDset == NULL)
{
recGblRecordError(S_dev_noDSET,(void *)pRec, "eg: ErEventInitRec");
return(S_dev_noDSET);
}
if (pDset->number < 5)
{
recGblRecordError(S_dev_missingSup,(void *)pRec, "eg: ErEventInitRec");
return(S_dev_missingSup);
}
if( pDset->initRec != NULL)
return(*pDset->initRec)(pRec);
}
return(0);
}
/******************************************************************************
******************************************************************************/
STATIC long ErEventProc(struct ereventRecord *pRec)
{
EreventDsetStruct *pDset = (EreventDsetStruct *) pRec->dset;
pRec->pact=TRUE;
if (pRec->tpro > 10)
printf("recErEvent::ErEventProc(%s) entered\n", pRec->name);
if (pDset->proc)
(*pDset->proc)(pRec);
/* Take care of time stamps and such */
pRec->udf=FALSE;
/* tsLocalTime(&pRec->time);*/
recGblGetTimeStamp(pRec);
/* Deal with monitor stuff */
ErEventMonitor(pRec);
/* process the forward scan link record */
recGblFwdLink(pRec);
pRec->pact=FALSE;
return(0);
}
/******************************************************************************
*
******************************************************************************/
STATIC void ErEventMonitor(struct ereventRecord *pRec)
{
unsigned short monitor_mask;
monitor_mask = recGblResetAlarms(pRec);
monitor_mask |= (DBE_VALUE | DBE_LOG);
db_post_events(pRec, &pRec->val, monitor_mask);
return;
}

View File

@@ -1,158 +0,0 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
menu(ereventENAB) {
choice(ereventENAB_Disabled,"Disabled")
choice(ereventENAB_Enabled,"Enabled")
}
recordtype(erevent) {
include "dbCommon.dbd"
field(VAL,DBF_CHAR) {
prompt("Worthless Value")
asl(ASL0)
special(SPC_NOMOD)
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
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)
}
}