.ascii=>.db
This commit is contained in:
@@ -4,6 +4,10 @@ include $(EPICS)/config/CONFIG_BASE
|
||||
|
||||
USR_INCLUDES = -I../drv/ansi -I../../drv/old
|
||||
|
||||
INC += egDefs.h
|
||||
INC += erDefs.h
|
||||
INC += ereventDefs.h
|
||||
|
||||
RECTYPES += aaiRecord.h
|
||||
RECTYPES += aaoRecord.h
|
||||
RECTYPES += aiRecord.h
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(aai) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_NOACCESS) {
|
||||
prompt("Value")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(aao) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_NOACCESS) {
|
||||
prompt("Value")
|
||||
asl(ASL0)
|
||||
@@ -98,7 +98,7 @@
|
||||
static long init_record();
|
||||
static long process();
|
||||
static long special();
|
||||
static long get_value();
|
||||
#define get_value NULL
|
||||
#define cvt_dbaddr NULL
|
||||
#define get_array_info NULL
|
||||
#define put_array_info NULL
|
||||
@@ -131,7 +131,7 @@ struct rset aiRSET={
|
||||
get_control_double,
|
||||
get_alarm_double};
|
||||
|
||||
struct aidset { /* analog input dset */
|
||||
typedef struct aidset { /* analog input dset */
|
||||
long number;
|
||||
DEVSUPFUN dev_report;
|
||||
DEVSUPFUN init;
|
||||
@@ -140,7 +140,7 @@ struct aidset { /* analog input dset */
|
||||
DEVSUPFUN read_ai;/*(0,2)=> success and convert,don't convert)*/
|
||||
/* if convert then raw value stored in rval */
|
||||
DEVSUPFUN special_linconv;
|
||||
};
|
||||
}aidset;
|
||||
|
||||
|
||||
/*Following from timing system */
|
||||
@@ -148,17 +148,16 @@ struct aidset { /* analog input dset */
|
||||
extern unsigned int gts_trigger_counter;
|
||||
*/
|
||||
|
||||
static void alarm();
|
||||
static void convert();
|
||||
static void monitor();
|
||||
static long readValue();
|
||||
static void alarm(aiRecord *pai);
|
||||
static void convert(aiRecord *pai);
|
||||
static void monitor(aiRecord *pai);
|
||||
static long readValue(aiRecord *pai);
|
||||
|
||||
static long init_record(pai,pass)
|
||||
struct aiRecord *pai;
|
||||
int pass;
|
||||
static long init_record(void *precord,int pass)
|
||||
{
|
||||
struct aidset *pdset;
|
||||
long status;
|
||||
aiRecord *pai = (aiRecord *)precord;
|
||||
aidset *pdset;
|
||||
long status;
|
||||
|
||||
if (pass==0) return(0);
|
||||
|
||||
@@ -180,7 +179,7 @@ static long init_record(pai,pass)
|
||||
if (status) return(status);
|
||||
}
|
||||
|
||||
if(!(pdset = (struct aidset *)(pai->dset))) {
|
||||
if(!(pdset = (aidset *)(pai->dset))) {
|
||||
recGblRecordError(S_dev_noDSET,(void *)pai,"ai: init_record");
|
||||
return(S_dev_noDSET);
|
||||
}
|
||||
@@ -197,10 +196,10 @@ static long init_record(pai,pass)
|
||||
return(0);
|
||||
}
|
||||
|
||||
static long process(pai)
|
||||
struct aiRecord *pai;
|
||||
static long process(void *precord)
|
||||
{
|
||||
struct aidset *pdset = (struct aidset *)(pai->dset);
|
||||
aiRecord *pai = (aiRecord *)precord;
|
||||
aidset *pdset = (aidset *)(pai->dset);
|
||||
long status;
|
||||
unsigned char pact=pai->pact;
|
||||
|
||||
@@ -243,13 +242,11 @@ static long process(pai)
|
||||
return(status);
|
||||
}
|
||||
|
||||
static long special(paddr,after)
|
||||
struct dbAddr *paddr;
|
||||
int after;
|
||||
static long special(DBADDR *paddr,int after)
|
||||
{
|
||||
struct aiRecord *pai = (struct aiRecord *)(paddr->precord);
|
||||
struct aidset *pdset = (struct aidset *) (pai->dset);
|
||||
int special_type = paddr->special;
|
||||
aiRecord *pai = (aiRecord *)(paddr->precord);
|
||||
aidset *pdset = (aidset *) (pai->dset);
|
||||
int special_type = paddr->special;
|
||||
|
||||
switch(special_type) {
|
||||
case(SPC_LINCONV):
|
||||
@@ -265,32 +262,18 @@ static long special(paddr,after)
|
||||
return(S_db_badChoice);
|
||||
}
|
||||
}
|
||||
|
||||
static long get_value(pai,pvdes)
|
||||
struct aiRecord *pai;
|
||||
struct valueDes *pvdes;
|
||||
{
|
||||
pvdes->field_type = DBF_DOUBLE;
|
||||
pvdes->no_elements=1;
|
||||
(double *)(pvdes->pvalue) = &pai->val;
|
||||
return(0);
|
||||
}
|
||||
|
||||
static long get_units(paddr,units)
|
||||
struct dbAddr *paddr;
|
||||
char *units;
|
||||
static long get_units(DBADDR *paddr, char *units)
|
||||
{
|
||||
struct aiRecord *pai=(struct aiRecord *)paddr->precord;
|
||||
aiRecord *pai=(aiRecord *)paddr->precord;
|
||||
|
||||
strncpy(units,pai->egu,DB_UNITS_SIZE);
|
||||
return(0);
|
||||
}
|
||||
|
||||
static long get_precision(paddr,precision)
|
||||
struct dbAddr *paddr;
|
||||
long *precision;
|
||||
static long get_precision(DBADDR *paddr, long *precision)
|
||||
{
|
||||
struct aiRecord *pai=(struct aiRecord *)paddr->precord;
|
||||
aiRecord *pai=(aiRecord *)paddr->precord;
|
||||
|
||||
*precision = pai->prec;
|
||||
if(paddr->pfield == (void *)&pai->val) return(0);
|
||||
@@ -298,57 +281,55 @@ static long get_precision(paddr,precision)
|
||||
return(0);
|
||||
}
|
||||
|
||||
static long get_graphic_double(paddr,pgd)
|
||||
struct dbAddr *paddr;
|
||||
struct dbr_grDouble *pgd;
|
||||
static long get_graphic_double(DBADDR *paddr,struct dbr_grDouble *pgd)
|
||||
{
|
||||
struct aiRecord *pai=(struct aiRecord *)paddr->precord;
|
||||
aiRecord *pai=(aiRecord *)paddr->precord;
|
||||
int fieldIndex = dbGetFieldIndex(paddr);
|
||||
|
||||
if(paddr->pfield==(void *)&pai->val ||
|
||||
paddr->pfield==(void *)&pai->hihi ||
|
||||
paddr->pfield==(void *)&pai->high ||
|
||||
paddr->pfield==(void *)&pai->low ||
|
||||
paddr->pfield==(void *)&pai->lolo){
|
||||
if(fieldIndex == aiRecordVAL
|
||||
|| fieldIndex == aiRecordHIHI
|
||||
|| fieldIndex == aiRecordHIGH
|
||||
|| fieldIndex == aiRecordLOW
|
||||
|| fieldIndex == aiRecordLOLO
|
||||
|| fieldIndex == aiRecordHOPR
|
||||
|| fieldIndex == aiRecordLOPR) {
|
||||
pgd->upper_disp_limit = pai->hopr;
|
||||
pgd->lower_disp_limit = pai->lopr;
|
||||
} else recGblGetGraphicDouble(paddr,pgd);
|
||||
return(0);
|
||||
}
|
||||
|
||||
static long get_control_double(paddr,pcd)
|
||||
struct dbAddr *paddr;
|
||||
struct dbr_ctrlDouble *pcd;
|
||||
static long get_control_double(DBADDR *paddr,struct dbr_ctrlDouble *pcd)
|
||||
{
|
||||
struct aiRecord *pai=(struct aiRecord *)paddr->precord;
|
||||
aiRecord *pai=(aiRecord *)paddr->precord;
|
||||
int fieldIndex = dbGetFieldIndex(paddr);
|
||||
|
||||
if(paddr->pfield==(void *)&pai->val ||
|
||||
paddr->pfield==(void *)&pai->hihi ||
|
||||
paddr->pfield==(void *)&pai->high ||
|
||||
paddr->pfield==(void *)&pai->low ||
|
||||
paddr->pfield==(void *)&pai->lolo){
|
||||
pcd->upper_ctrl_limit = pai->hopr;
|
||||
pcd->lower_ctrl_limit = pai->lopr;
|
||||
if(fieldIndex == aiRecordVAL
|
||||
|| fieldIndex == aiRecordHIHI
|
||||
|| fieldIndex == aiRecordHIGH
|
||||
|| fieldIndex == aiRecordLOW
|
||||
|| fieldIndex == aiRecordLOLO) {
|
||||
pcd->upper_ctrl_limit = pai->hopr;
|
||||
pcd->lower_ctrl_limit = pai->lopr;
|
||||
} else recGblGetControlDouble(paddr,pcd);
|
||||
return(0);
|
||||
}
|
||||
|
||||
static long get_alarm_double(paddr,pad)
|
||||
struct dbAddr *paddr;
|
||||
struct dbr_alDouble *pad;
|
||||
static long get_alarm_double(DBADDR *paddr,struct dbr_alDouble *pad)
|
||||
{
|
||||
struct aiRecord *pai=(struct aiRecord *)paddr->precord;
|
||||
aiRecord *pai=(aiRecord *)paddr->precord;
|
||||
int fieldIndex = dbGetFieldIndex(paddr);
|
||||
|
||||
if(paddr->pfield==(void *)&pai->val){
|
||||
pad->upper_alarm_limit = pai->hihi;
|
||||
pad->upper_warning_limit = pai->high;
|
||||
pad->lower_warning_limit = pai->low;
|
||||
pad->lower_alarm_limit = pai->lolo;
|
||||
if(fieldIndex == aiRecordVAL) {
|
||||
pad->upper_alarm_limit = pai->hihi;
|
||||
pad->upper_warning_limit = pai->high;
|
||||
pad->lower_warning_limit = pai->low;
|
||||
pad->lower_alarm_limit = pai->lolo;
|
||||
} else recGblGetAlarmDouble(paddr,pad);
|
||||
return(0);
|
||||
}
|
||||
|
||||
static void alarm(pai)
|
||||
struct aiRecord *pai;
|
||||
static void alarm(aiRecord *pai)
|
||||
{
|
||||
double val;
|
||||
float hyst, lalm, hihi, high, low, lolo;
|
||||
@@ -391,8 +372,7 @@ static void alarm(pai)
|
||||
return;
|
||||
}
|
||||
|
||||
static void convert(pai)
|
||||
struct aiRecord *pai;
|
||||
static void convert(aiRecord *pai)
|
||||
{
|
||||
double val;
|
||||
float aslo=pai->aslo;
|
||||
@@ -428,8 +408,7 @@ struct aiRecord *pai;
|
||||
return;
|
||||
}
|
||||
|
||||
static void monitor(pai)
|
||||
struct aiRecord *pai;
|
||||
static void monitor(aiRecord *pai)
|
||||
{
|
||||
unsigned short monitor_mask;
|
||||
double delta;
|
||||
@@ -466,11 +445,10 @@ static void monitor(pai)
|
||||
return;
|
||||
}
|
||||
|
||||
static long readValue(pai)
|
||||
struct aiRecord *pai;
|
||||
static long readValue(aiRecord *pai)
|
||||
{
|
||||
long status;
|
||||
struct aidset *pdset = (struct aidset *) (pai->dset);
|
||||
aidset *pdset = (aidset *) (pai->dset);
|
||||
|
||||
if (pai->pact == TRUE){
|
||||
status=(*pdset->read_ai)(pai);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(ai) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_DOUBLE) {
|
||||
prompt("Current EGU Value")
|
||||
asl(ASL0)
|
||||
@@ -3,7 +3,7 @@ menu(aoOIF) {
|
||||
choice(aoOIF_Incremental,"Incremental")
|
||||
}
|
||||
recordtype(ao) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_DOUBLE) {
|
||||
prompt("Desired Output")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(bi) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(INP,DBF_INLINK) {
|
||||
prompt("Input Specification")
|
||||
promptgroup(GUI_INPUTS)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(bo) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_ENUM) {
|
||||
prompt("Current Value")
|
||||
asl(ASL0)
|
||||
@@ -135,7 +135,7 @@ static int fetch_values();
|
||||
|
||||
#define ARG_MAX 12
|
||||
/* Fldnames should have as many as ARG_MAX */
|
||||
static char Fldnames[ARG_MAX][FLDNAME_SZ] =
|
||||
static char *Fldnames[ARG_MAX] =
|
||||
{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"};
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(calc) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_DOUBLE) {
|
||||
prompt("Result")
|
||||
asl(ASL0)
|
||||
106
src/rec/choiceScan.h
Normal file
106
src/rec/choiceScan.h
Normal file
@@ -0,0 +1,106 @@
|
||||
/*
|
||||
* Author: Ned Arnold
|
||||
* Date: 4-28-94
|
||||
*
|
||||
* Experimental Physics and Industrial Control System (EPICS)
|
||||
*
|
||||
* Copyright 1991, the Regents of the University of California,
|
||||
* and the University of Chicago Board of Governors.
|
||||
*
|
||||
* This software was produced under U.S. Government contracts:
|
||||
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
||||
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
||||
*
|
||||
* Initial development by:
|
||||
* The Controls and Automation Group (AT-8)
|
||||
* Ground Test Accelerator
|
||||
* Accelerator Technology Division
|
||||
* Los Alamos National Laboratory
|
||||
*
|
||||
* Co-developed with
|
||||
* The Controls and Computing Group
|
||||
* Accelerator Systems Division
|
||||
* Advanced Photon Source
|
||||
* Argonne National Laboratory
|
||||
*
|
||||
* Modification Log:
|
||||
* -----------------
|
||||
* .01 mm-dd-yy iii Comment
|
||||
* .02 08-23-94 nda Added SPC_SC_? for easier determination of special fields
|
||||
* .03 12-06-94 nda Added SPC_SC_FFO, SPC_SC_F, and REC_SCAN_FFO
|
||||
*/
|
||||
|
||||
#ifndef INC_SCANchoice_h
|
||||
#define INC_SCANchoice 1
|
||||
|
||||
#define SPC_SC_S 111 /* start position */
|
||||
#define SPC_SC_I 112 /* step increment */
|
||||
#define SPC_SC_E 113 /* end position */
|
||||
#define SPC_SC_C 114 /* center position */
|
||||
#define SPC_SC_W 115 /* width */
|
||||
#define SPC_SC_N 116 /* # of steps */
|
||||
#define SPC_SC_FFO 117 /* FrzFlag Override */
|
||||
#define SPC_SC_F 118 /* FrzFlag Changing */
|
||||
#define SPC_SC_DPT 119 /* Desired Pt */
|
||||
#define SPC_SC_MO 120 /* scan mode */
|
||||
|
||||
#define REC_SC_P1 130
|
||||
#define REC_SC_P2 131
|
||||
#define REC_SC_P3 132
|
||||
#define REC_SC_P4 133
|
||||
|
||||
#define REC_SC_R1 134
|
||||
#define REC_SC_R2 135
|
||||
#define REC_SC_R3 136
|
||||
#define REC_SC_R4 137
|
||||
|
||||
#define REC_SC_D1 138
|
||||
#define REC_SC_D2 139
|
||||
#define REC_SC_D3 140
|
||||
#define REC_SC_D4 141
|
||||
#define REC_SC_D5 142
|
||||
#define REC_SC_D6 143
|
||||
#define REC_SC_D7 144
|
||||
#define REC_SC_D8 145
|
||||
#define REC_SC_D9 146
|
||||
#define REC_SC_D10 147
|
||||
#define REC_SC_D11 148
|
||||
#define REC_SC_D12 149
|
||||
#define REC_SC_D13 150
|
||||
#define REC_SC_D14 151
|
||||
#define REC_SC_D15 152
|
||||
|
||||
#define REC_SC_T1 153
|
||||
#define REC_SC_T2 154
|
||||
|
||||
#define REC_SC_BS 155
|
||||
#define REC_SC_AS 156
|
||||
|
||||
#define REC_SCAN_MO 0
|
||||
#define REC_SCAN_MO_LIN 0
|
||||
#define REC_SCAN_MO_TAB 1
|
||||
#define REC_SCAN_MO_OTF 2
|
||||
|
||||
#define REC_SCAN_FRZ 1
|
||||
#define REC_SCAN_FRZ_NO 0
|
||||
#define REC_SCAN_FRZ_YES 1
|
||||
|
||||
#define REC_SCAN_FFO 2
|
||||
#define REC_SCAN_FFO_NO 0
|
||||
#define REC_SCAN_FFO_YES 1
|
||||
|
||||
#define REC_SCAN_AS 3
|
||||
#define REC_SCAN_AS_NO 0
|
||||
#define REC_SCAN_AS_ST 1
|
||||
#define REC_SCAN_AS_BS 2
|
||||
|
||||
#define REC_SCAN_AR 4
|
||||
#define REC_SCAN_AR_ABS 0
|
||||
#define REC_SCAN_AR_REL 1
|
||||
|
||||
#define REC_SCAN_DYNL 5
|
||||
#define REC_SCAN_DYNL_OK 0
|
||||
#define REC_SCAN_DYNL_NC 1
|
||||
#define REC_SCAN_DYNL_NO_PV 2
|
||||
|
||||
#endif
|
||||
73
src/rec/choiceWait.h
Normal file
73
src/rec/choiceWait.h
Normal file
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* Author: Ned Arnold
|
||||
* Date: 4-28-94
|
||||
*
|
||||
* Experimental Physics and Industrial Control System (EPICS)
|
||||
*
|
||||
* Copyright 1991, the Regents of the University of California,
|
||||
* and the University of Chicago Board of Governors.
|
||||
*
|
||||
* This software was produced under U.S. Government contracts:
|
||||
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
||||
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
||||
*
|
||||
* Initial development by:
|
||||
* The Controls and Automation Group (AT-8)
|
||||
* Ground Test Accelerator
|
||||
* Accelerator Technology Division
|
||||
* Los Alamos National Laboratory
|
||||
*
|
||||
* Co-developed with
|
||||
* The Controls and Computing Group
|
||||
* Accelerator Systems Division
|
||||
* Advanced Photon Source
|
||||
* Argonne National Laboratory
|
||||
*
|
||||
* Modification Log:
|
||||
* -----------------
|
||||
* .01 mm-dd-yy iii Comment
|
||||
*/
|
||||
|
||||
#ifndef INC_WAITchoice_h
|
||||
#define INC_WAITchoice 1
|
||||
|
||||
#define REC_WAIT_OUT_OPT 0
|
||||
#define REC_WAIT_OUT_OPT_EVERY 0
|
||||
#define REC_WAIT_OUT_OPT_CHANGE 1
|
||||
#define REC_WAIT_OUT_OPT_WHEN_ZERO 2
|
||||
#define REC_WAIT_OUT_OPT_WHEN_NZERO 3
|
||||
#define REC_WAIT_OUT_OPT_CHG_TO_ZERO 4
|
||||
#define REC_WAIT_OUT_OPT_CHG_TO_NZERO 5
|
||||
|
||||
#define REC_WAIT_DATA_OPT 1
|
||||
#define REC_WAIT_DATA_OPT_VAL 0
|
||||
#define REC_WAIT_DATA_OPT_DOL 1
|
||||
|
||||
#define REC_WAIT_INPP 2
|
||||
#define REC_WAIT_INPP_NPROC 0
|
||||
#define REC_WAIT_INPP_PROC 1
|
||||
|
||||
#define REC_WAIT_DYNL 3
|
||||
#define REC_WAIT_DYNL_OK 0
|
||||
#define REC_WAIT_DYNL_NC 1
|
||||
#define REC_WAIT_DYNL_NO_PV 2
|
||||
|
||||
/* DON'T CHANGE THESE DEFINITIONS !!!! */
|
||||
/* Indexes used to process dynamic links */
|
||||
/* Must start above 103, because SPC_CALC = 103 */
|
||||
#define REC_WAIT_A 110
|
||||
#define REC_WAIT_B 111
|
||||
#define REC_WAIT_C 112
|
||||
#define REC_WAIT_D 113
|
||||
#define REC_WAIT_E 114
|
||||
#define REC_WAIT_F 115
|
||||
#define REC_WAIT_G 116
|
||||
#define REC_WAIT_H 117
|
||||
#define REC_WAIT_I 118
|
||||
#define REC_WAIT_J 119
|
||||
#define REC_WAIT_K 120
|
||||
#define REC_WAIT_L 121
|
||||
#define REC_WAIT_O 122
|
||||
#define REC_WAIT_P 123
|
||||
|
||||
#endif
|
||||
@@ -6,7 +6,7 @@ menu(compressALG) {
|
||||
choice(compressALG_Circular_Buffer,"Circular Buffer")
|
||||
}
|
||||
recordtype(compress) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_NOACCESS) {
|
||||
prompt("Value")
|
||||
asl(ASL0)
|
||||
@@ -76,7 +76,7 @@ static long push_values();
|
||||
|
||||
#define OUT_ARG_MAX 8
|
||||
|
||||
static char Ofldnames[OUT_ARG_MAX][FLDNAME_SZ] =
|
||||
static char *Ofldnames[OUT_ARG_MAX] =
|
||||
{"OUTA", "OUTB", "OUTC", "OUTD", "OUTE", "OUTF", "OUTG", "OUTH"};
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(dfanout) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_LONG) {
|
||||
prompt("Desired Output")
|
||||
asl(ASL0)
|
||||
39
src/rec/egDefs.h
Normal file
39
src/rec/egDefs.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/* $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
|
||||
@@ -6,7 +6,7 @@ menu(egMOD1) {
|
||||
choice(egMOD1_Alternate,"Alternate")
|
||||
}
|
||||
recordtype(eg) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(OUT,DBF_OUTLINK) {
|
||||
prompt("Output Specification")
|
||||
promptgroup(GUI_OUTPUT)
|
||||
@@ -15,7 +15,7 @@ menu(egeventUNIT) {
|
||||
choice(egeventUNIT_Nanoseconds,"Nanoseconds")
|
||||
}
|
||||
recordtype(egevent) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(OUT,DBF_OUTLINK) {
|
||||
prompt("Output Specification")
|
||||
promptgroup(GUI_OUTPUT)
|
||||
13
src/rec/erDefs.h
Normal file
13
src/rec/erDefs.h
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
#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
|
||||
@@ -3,7 +3,7 @@ menu(erTRG0) {
|
||||
choice(erTRG0_Enabled,"Enabled")
|
||||
}
|
||||
recordtype(er) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_CHAR) {
|
||||
prompt("Worthless Value")
|
||||
asl(ASL0)
|
||||
12
src/rec/ereventDefs.h
Normal file
12
src/rec/ereventDefs.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#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
|
||||
@@ -3,7 +3,7 @@ menu(ereventENAB) {
|
||||
choice(ereventENAB_Enabled,"Enabled")
|
||||
}
|
||||
recordtype(erevent) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_CHAR) {
|
||||
prompt("Worthless Value")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(event) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_USHORT) {
|
||||
prompt("Event Number To Post")
|
||||
promptgroup(GUI_INPUTS)
|
||||
@@ -4,7 +4,7 @@ menu(fanoutSELM) {
|
||||
choice(fanoutSELM_Mask,"Mask")
|
||||
}
|
||||
recordtype(fanout) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_LONG) {
|
||||
prompt("Used to trigger")
|
||||
asl(ASL0)
|
||||
@@ -99,7 +99,7 @@ static void monitor();
|
||||
|
||||
#define ARG_MAX 6
|
||||
/* Fldnames should have as many as ARG_MAX */
|
||||
static char Fldnames[ARG_MAX][FLDNAME_SZ] =
|
||||
static char *Fldnames[ARG_MAX] =
|
||||
{"A", "B", "C", "D", "E", "F"};
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(gsub) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_FLOAT) {
|
||||
prompt("Result")
|
||||
asl(ASL0)
|
||||
@@ -6,7 +6,7 @@ menu(histogramCMD) {
|
||||
choice(histogramCMD_Setup,"Setup")
|
||||
}
|
||||
recordtype(histogram) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_NOACCESS) {
|
||||
prompt("Value")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(longin) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_LONG) {
|
||||
prompt("Current value")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(longout) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_LONG) {
|
||||
prompt("Desired Output")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(mbbiDirect) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_USHORT) {
|
||||
prompt("Current Value")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(mbbi) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_ENUM) {
|
||||
prompt("Current Value")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(mbboDirect) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_USHORT) {
|
||||
prompt("Word")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(mbbo) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_ENUM) {
|
||||
prompt("Desired Value")
|
||||
asl(ASL0)
|
||||
@@ -95,7 +95,7 @@ struct pal * palinit();
|
||||
|
||||
#define ARG_MAX 12
|
||||
/* Fldnames should have as many as ARG_MAX */
|
||||
static char Fldnames[ARG_MAX][FLDNAME_SZ] =
|
||||
static char *Fldnames[ARG_MAX] =
|
||||
{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"};
|
||||
#define OUT_MAX 12
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(pal) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_ULONG) {
|
||||
prompt("Result")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(permissive) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(LABL,DBF_STRING) {
|
||||
prompt("Button Label")
|
||||
promptgroup(GUI_DISPLAY)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(pid) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_FLOAT) {
|
||||
prompt("Setpoint")
|
||||
asl(ASL0)
|
||||
@@ -22,7 +22,7 @@ menu(pulseCounterCSIZ) {
|
||||
choice(pulseCounterCSIZ_32_bit,"32 bit")
|
||||
}
|
||||
recordtype(pulseCounter) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_ULONG) {
|
||||
prompt("Counter Value")
|
||||
asl(ASL0)
|
||||
@@ -30,7 +30,7 @@ menu(pulseDelayVAL) {
|
||||
choice(pulseDelayVAL_Active,"Active")
|
||||
}
|
||||
recordtype(pulseDelay) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(OUT,DBF_OUTLINK) {
|
||||
prompt("Output Specification")
|
||||
promptgroup(GUI_PULSE)
|
||||
@@ -26,7 +26,7 @@ menu(pulseTrainUNIT) {
|
||||
choice(pulseTrainUNIT_Picoseconds,"Picoseconds")
|
||||
}
|
||||
recordtype(pulseTrain) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(OUT,DBF_OUTLINK) {
|
||||
prompt("Output Specification")
|
||||
promptgroup(GUI_PULSE)
|
||||
@@ -96,7 +96,6 @@
|
||||
#include <taskLib.h>
|
||||
|
||||
#include <alarm.h>
|
||||
#include <cvtTable.h>
|
||||
#include <dbDefs.h>
|
||||
#include <dbAccess.h>
|
||||
#include <dbScan.h>
|
||||
|
||||
@@ -26,7 +26,7 @@ menu(scanP1NV) {
|
||||
choice(scanP1NV_No_PV,"No PV")
|
||||
}
|
||||
recordtype(scan) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VERS,DBF_DOUBLE) {
|
||||
prompt("Code Version")
|
||||
special(SPC_NOMOD)
|
||||
@@ -116,7 +116,7 @@ static void monitor();
|
||||
|
||||
#define ARG_MAX 12
|
||||
/* Fldnames should have as many as ARG_MAX */
|
||||
static char Fldnames[ARG_MAX][FLDNAME_SZ] =
|
||||
static char *Fldnames[ARG_MAX] =
|
||||
{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"};
|
||||
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ menu(selSELM) {
|
||||
choice(selSELM_Median_Signal,"Median Signal")
|
||||
}
|
||||
recordtype(sel) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_DOUBLE) {
|
||||
prompt("Result")
|
||||
asl(ASL0)
|
||||
@@ -51,7 +51,6 @@
|
||||
#define GEN_SIZE_OFFSET
|
||||
#include <seqRecord.h>
|
||||
#undef GEN_SIZE_OFFSET
|
||||
#include <choiceSeq.h>
|
||||
|
||||
int seqRecDebug = 0;
|
||||
|
||||
@@ -241,12 +240,12 @@ struct seqRecord *pseq;
|
||||
pcb->callBack.priority = pseq->prio;
|
||||
|
||||
/*
|
||||
* We should not bother supporting REC_SEQ_SELM_ALL or REC_SEQ_SELM_SPECIFIC
|
||||
* they can both be supported by simply providing REC_SEQ_SELM_MASK.
|
||||
* We should not bother supporting seqSELM_All or seqSELM_Specified
|
||||
* they can both be supported by simply providing seqSELM_Mask.
|
||||
* build the proper mask using these other silly modes if necessary.
|
||||
*/
|
||||
|
||||
if (pseq->selm == REC_SEQ_SELM_ALL)
|
||||
if (pseq->selm == seqSELM_All)
|
||||
{
|
||||
lmask = SELN_BIT_MASK;
|
||||
}
|
||||
@@ -259,7 +258,7 @@ struct seqRecord *pseq;
|
||||
nRequest = 1;
|
||||
recGblGetLinkValue(&(pseq->sell), (void *)pseq, DBR_USHORT, &(pseq->seln), &options,&nRequest);
|
||||
}
|
||||
if (pseq->selm == REC_SEQ_SELM_SPECIFIC)
|
||||
if (pseq->selm == seqSELM_Specified)
|
||||
{
|
||||
if(pseq->seln>10)
|
||||
{ /* Invalid selection number */
|
||||
@@ -272,7 +271,7 @@ struct seqRecord *pseq;
|
||||
lmask = 1;
|
||||
lmask <<= pseq->seln - 1;
|
||||
}
|
||||
else if (pseq->selm == REC_SEQ_SELM_MASK)
|
||||
else if (pseq->selm == seqSELM_Mask)
|
||||
{
|
||||
lmask = (pseq->seln) & SELN_BIT_MASK;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ menu(seqSELM) {
|
||||
choice(seqSELM_Mask,"Mask")
|
||||
}
|
||||
recordtype(seq) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_LONG) {
|
||||
prompt("Used to trigger")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(state) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_STRING) {
|
||||
prompt("Value")
|
||||
promptgroup(GUI_DISPLAY)
|
||||
@@ -8,7 +8,7 @@ menu(steppermotorMODE) {
|
||||
choice(steppermotorMODE_Position,"Position")
|
||||
}
|
||||
recordtype(steppermotor) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_FLOAT) {
|
||||
prompt("Desired Value")
|
||||
asl(ASL0)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(stringin) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_STRING) {
|
||||
prompt("Current Value")
|
||||
promptgroup(GUI_INPUTS)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(stringout) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_STRING) {
|
||||
prompt("Current Value")
|
||||
promptgroup(GUI_OUTPUT)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(subArray) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_NOACCESS) {
|
||||
prompt("Value")
|
||||
asl(ASL0)
|
||||
@@ -112,7 +112,7 @@ static void monitor();
|
||||
|
||||
#define ARG_MAX 12
|
||||
/* Fldnames should have as many as ARG_MAX */
|
||||
static char Fldnames[ARG_MAX][FLDNAME_SZ] =
|
||||
static char *Fldnames[ARG_MAX] =
|
||||
{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"};
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(sub) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_DOUBLE) {
|
||||
prompt("Result")
|
||||
asl(ASL0)
|
||||
@@ -13,7 +13,7 @@ menu(timerPTST) {
|
||||
choice(timerPTST_high,"high")
|
||||
}
|
||||
recordtype(timer) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(TORG,DBF_INLINK) {
|
||||
prompt("Trigger Origin")
|
||||
promptgroup(GUI_TIMER)
|
||||
@@ -77,7 +77,6 @@
|
||||
#include <wdLib.h>
|
||||
|
||||
#include <alarm.h>
|
||||
#include <cvtTable.h>
|
||||
#include <dbDefs.h>
|
||||
#include <dbAccess.h>
|
||||
#include <dbScan.h>
|
||||
@@ -165,7 +164,7 @@ struct {
|
||||
#define DOL_INDEX ARG_MAX
|
||||
#define OUT_INDEX (ARG_MAX + IN_PVS)
|
||||
#define NUM_LINKS (ARG_MAX + IN_PVS + OUT_PVS)
|
||||
#define PVN_SIZE 40 /*must match the length defined in waitRecord.ascii*/
|
||||
#define PVN_SIZE 40 /*must match the length defined in waitRecord.db*/
|
||||
#define Q_SIZE 50
|
||||
#define PV_OK REC_WAIT_DYNL_OK /* from choiceWait.h */
|
||||
#define PV_NC REC_WAIT_DYNL_NC /* from choiceWait.h */
|
||||
|
||||
@@ -20,7 +20,7 @@ menu(waitINAV) {
|
||||
choice(waitINAV_No_PV,"No PV")
|
||||
}
|
||||
recordtype(wait) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VERS,DBF_FLOAT) {
|
||||
prompt("Code Version")
|
||||
special(SPC_NOMOD)
|
||||
@@ -1,5 +1,5 @@
|
||||
recordtype(waveform) {
|
||||
include "dbCommon.ascii"
|
||||
include "dbCommon.db"
|
||||
field(VAL,DBF_NOACCESS) {
|
||||
prompt("Value")
|
||||
asl(ASL0)
|
||||
Reference in New Issue
Block a user