- Record updates:
. histogramRecord . eventRecord . aaiRecord . aaoRecord - Device support updates: . devHistogramSoft (histogramRecord) . devEventSoft (eventRecord) . devAaiSoft (aaiRecord) . devAaoSoft (aaoRecord) - Fixes in already-migrated records . lsiRecord: replaced 'struct lsidset' with typedef(ed) 'lsidset' . int64inRecord (similar as above) . int64outRecord (similar as above) . calcRecord: minor fix in init_record() prototype declaration - Note: the comments about return values in dset structs were outright copied from .c to .pod/.dbd files without confirmation if they are indeed correct!
This commit is contained in:
@@ -13,7 +13,9 @@ SRC_DIRS += $(STDDIR)/dev
|
||||
|
||||
DBD += devSoft.dbd
|
||||
|
||||
devAaiSoft_CFLAGS += -DUSE_TYPED_DSET
|
||||
dbRecStd_SRCS += devAaiSoft.c
|
||||
devAaoSoft_CFLAGS += -DUSE_TYPED_DSET
|
||||
dbRecStd_SRCS += devAaoSoft.c
|
||||
devAiSoft_CFLAGS += -DUSE_TYPED_DSET
|
||||
dbRecStd_SRCS += devAiSoft.c
|
||||
@@ -35,7 +37,9 @@ dbRecStd_SRCS += devBoSoftRaw.c
|
||||
dbRecStd_SRCS += devBoDbState.c
|
||||
devCalcoutSoft_CFLAGS += -DUSE_TYPED_DSET
|
||||
dbRecStd_SRCS += devCalcoutSoft.c
|
||||
devEventSoft_CFLAGS += -DUSE_TYPED_DSET
|
||||
dbRecStd_SRCS += devEventSoft.c
|
||||
devHistogramSoft_CFLAGS += -DUSE_TYPED_DSET
|
||||
dbRecStd_SRCS += devHistogramSoft.c
|
||||
devI64inSoft_CFLAGS += -DUSE_TYPED_DSET
|
||||
dbRecStd_SRCS += devI64inSoft.c
|
||||
|
||||
@@ -32,28 +32,18 @@
|
||||
#include "epicsExport.h"
|
||||
|
||||
/* Create the dset for devAaiSoft */
|
||||
static long init_record();
|
||||
static long read_aai();
|
||||
static long init_record(dbCommon *pcommon);
|
||||
static long read_aai(aaiRecord *prec);
|
||||
|
||||
struct {
|
||||
long number;
|
||||
DEVSUPFUN report;
|
||||
DEVSUPFUN init;
|
||||
DEVSUPFUN init_record;
|
||||
DEVSUPFUN get_ioint_info;
|
||||
DEVSUPFUN read_aai;
|
||||
} devAaiSoft = {
|
||||
5,
|
||||
NULL,
|
||||
NULL,
|
||||
init_record,
|
||||
NULL,
|
||||
aaidset devAaiSoft = {
|
||||
{5, NULL, NULL, init_record, NULL},
|
||||
read_aai
|
||||
};
|
||||
epicsExportAddress(dset,devAaiSoft);
|
||||
epicsExportAddress(dset, devAaiSoft);
|
||||
|
||||
static long init_record(aaiRecord *prec)
|
||||
static long init_record(dbCommon *pcommon)
|
||||
{
|
||||
aaiRecord *prec = (aaiRecord *)pcommon;
|
||||
DBLINK *plink = &prec->inp;
|
||||
|
||||
/* This is pass 0, link hasn't been initialized yet */
|
||||
|
||||
@@ -30,28 +30,19 @@
|
||||
#include "epicsExport.h"
|
||||
|
||||
/* Create the dset for devAaoSoft */
|
||||
static long init_record();
|
||||
static long write_aao();
|
||||
static long init_record(dbCommon *pcommon);
|
||||
static long write_aao(aaoRecord *prec);
|
||||
|
||||
struct {
|
||||
long number;
|
||||
DEVSUPFUN report;
|
||||
DEVSUPFUN init;
|
||||
DEVSUPFUN init_record;
|
||||
DEVSUPFUN get_ioint_info;
|
||||
DEVSUPFUN read_aao;
|
||||
} devAaoSoft = {
|
||||
5,
|
||||
NULL,
|
||||
NULL,
|
||||
init_record,
|
||||
NULL,
|
||||
aaodset devAaoSoft = {
|
||||
{5, NULL, NULL, init_record, NULL},
|
||||
write_aao
|
||||
};
|
||||
epicsExportAddress(dset,devAaoSoft);
|
||||
epicsExportAddress(dset, devAaoSoft);
|
||||
|
||||
static long init_record(aaoRecord *prec)
|
||||
static long init_record(dbCommon *pcommon)
|
||||
{
|
||||
aaoRecord *prec = (aaoRecord *)pcommon;
|
||||
|
||||
if (dbLinkIsConstant(&prec->out)) {
|
||||
prec->nord = 0;
|
||||
}
|
||||
|
||||
@@ -25,28 +25,19 @@
|
||||
#include "epicsExport.h"
|
||||
|
||||
/* Create the dset for devEventSoft */
|
||||
static long init_record(eventRecord *prec);
|
||||
static long init_record(dbCommon *pcommon);
|
||||
static long read_event(eventRecord *prec);
|
||||
|
||||
struct {
|
||||
long number;
|
||||
DEVSUPFUN report;
|
||||
DEVSUPFUN init;
|
||||
DEVSUPFUN init_record;
|
||||
DEVSUPFUN get_ioint_info;
|
||||
DEVSUPFUN read_event;
|
||||
} devEventSoft = {
|
||||
5,
|
||||
NULL,
|
||||
NULL,
|
||||
init_record,
|
||||
NULL,
|
||||
eventdset devEventSoft = {
|
||||
{5, NULL, NULL, init_record, NULL},
|
||||
read_event
|
||||
};
|
||||
epicsExportAddress(dset, devEventSoft);
|
||||
|
||||
static long init_record(eventRecord *prec)
|
||||
static long init_record(dbCommon *pcommon)
|
||||
{
|
||||
eventRecord *prec = (eventRecord *)pcommon;
|
||||
|
||||
if (recGblInitConstantLink(&prec->inp, DBF_STRING, prec->val))
|
||||
prec->udf = FALSE;
|
||||
|
||||
|
||||
@@ -28,29 +28,19 @@
|
||||
#include "epicsExport.h"
|
||||
|
||||
/* Create the dset for devHistogramSoft */
|
||||
static long init_record(histogramRecord *prec);
|
||||
static long init_record(dbCommon *pcommon);
|
||||
static long read_histogram(histogramRecord *prec);
|
||||
struct {
|
||||
long number;
|
||||
DEVSUPFUN report;
|
||||
DEVSUPFUN init;
|
||||
DEVSUPFUN init_record;
|
||||
DEVSUPFUN get_ioint_info;
|
||||
DEVSUPFUN read_histogram;
|
||||
DEVSUPFUN special_linconv;
|
||||
}devHistogramSoft={
|
||||
6,
|
||||
NULL,
|
||||
NULL,
|
||||
init_record,
|
||||
NULL,
|
||||
read_histogram,
|
||||
NULL
|
||||
|
||||
histogramdset devHistogramSoft = {
|
||||
{6, NULL, NULL, init_record, NULL},
|
||||
read_histogram, NULL
|
||||
};
|
||||
epicsExportAddress(dset,devHistogramSoft);
|
||||
|
||||
static long init_record(histogramRecord *prec)
|
||||
epicsExportAddress(dset, devHistogramSoft);
|
||||
|
||||
static long init_record(dbCommon *pcommon)
|
||||
{
|
||||
histogramRecord *prec = (histogramRecord *)pcommon;
|
||||
|
||||
if (recGblInitConstantLink(&prec->svl,DBF_DOUBLE,&prec->sgnl))
|
||||
prec->udf = FALSE;
|
||||
|
||||
|
||||
@@ -11,11 +11,13 @@
|
||||
|
||||
SRC_DIRS += $(STDDIR)/rec
|
||||
|
||||
aaiRecord_CFLAGS += -DUSE_TYPED_DSET
|
||||
stdRecords += aaiRecord
|
||||
aaoRecord_CFLAGS += -DUSE_TYPED_DSET
|
||||
stdRecords += aaoRecord
|
||||
aiRecord_CFLAGS += -DUSE_TYPED_DSET
|
||||
aoRecord_CFLAGS += -DUSE_TYPED_DSET
|
||||
stdRecords += aiRecord
|
||||
aoRecord_CFLAGS += -DUSE_TYPED_DSET
|
||||
stdRecords += aoRecord
|
||||
stdRecords += aSubRecord
|
||||
biRecord_CFLAGS += -DUSE_TYPED_DSET
|
||||
@@ -27,8 +29,10 @@ calcoutRecord_CFLAGS += -DUSE_TYPED_DSET
|
||||
stdRecords += calcoutRecord
|
||||
stdRecords += compressRecord
|
||||
stdRecords += dfanoutRecord
|
||||
eventRecord_CFLAGS += -DUSE_TYPED_DSET
|
||||
stdRecords += eventRecord
|
||||
stdRecords += fanoutRecord
|
||||
histogramRecord_CFLAGS += -DUSE_TYPED_DSET
|
||||
stdRecords += histogramRecord
|
||||
int64inRecord_CFLAGS += -DUSE_TYPED_DSET
|
||||
stdRecords += int64inRecord
|
||||
|
||||
@@ -90,22 +90,13 @@ rset aaiRSET={
|
||||
};
|
||||
epicsExportAddress(rset,aaiRSET);
|
||||
|
||||
struct aaidset { /* aai dset */
|
||||
long number;
|
||||
DEVSUPFUN dev_report;
|
||||
DEVSUPFUN init;
|
||||
DEVSUPFUN init_record; /*returns: (-1,0)=>(failure,success)*/
|
||||
DEVSUPFUN get_ioint_info;
|
||||
DEVSUPFUN read_aai; /*returns: (-1,0)=>(failure,success)*/
|
||||
};
|
||||
|
||||
static void monitor(aaiRecord *);
|
||||
static long readValue(aaiRecord *);
|
||||
|
||||
static long init_record(struct dbCommon *pcommon, int pass)
|
||||
{
|
||||
struct aaiRecord *prec = (struct aaiRecord *)pcommon;
|
||||
struct aaidset *pdset = (struct aaidset *)(prec->dset);
|
||||
aaidset *pdset = (aaidset *)(prec->dset);
|
||||
|
||||
/* must have dset defined */
|
||||
if (!pdset) {
|
||||
@@ -125,8 +116,8 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
not change after links are established before pass 1
|
||||
*/
|
||||
|
||||
if (pdset->init_record) {
|
||||
long status = pdset->init_record(prec);
|
||||
if (pdset->common.init_record) {
|
||||
long status = pdset->common.init_record(pcommon);
|
||||
|
||||
/* init_record may set the bptr to point to the data */
|
||||
if (status)
|
||||
@@ -143,7 +134,7 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
recGblInitSimm(pcommon, &prec->sscn, &prec->oldsimm, &prec->simm, &prec->siml);
|
||||
|
||||
/* must have read_aai function defined */
|
||||
if (pdset->number < 5 || pdset->read_aai == NULL) {
|
||||
if (pdset->common.number < 5 || pdset->read_aai == NULL) {
|
||||
recGblRecordError(S_dev_missingSup, prec, "aai: init_record");
|
||||
return S_dev_missingSup;
|
||||
}
|
||||
@@ -153,7 +144,7 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
static long process(struct dbCommon *pcommon)
|
||||
{
|
||||
struct aaiRecord *prec = (struct aaiRecord *)pcommon;
|
||||
struct aaidset *pdset = (struct aaidset *)(prec->dset);
|
||||
aaidset *pdset = (aaidset *)(prec->dset);
|
||||
long status;
|
||||
unsigned char pact = prec->pact;
|
||||
|
||||
@@ -339,7 +330,7 @@ static void monitor(aaiRecord *prec)
|
||||
|
||||
static long readValue(aaiRecord *prec)
|
||||
{
|
||||
struct aaidset *pdset = (struct aaidset *) prec->dset;
|
||||
aaidset *pdset = (aaidset *) prec->dset;
|
||||
long status;
|
||||
|
||||
/* NB: Device support must post updates to NORD */
|
||||
|
||||
@@ -12,6 +12,15 @@ menu(aaiPOST) {
|
||||
}
|
||||
recordtype(aai) {
|
||||
include "dbCommon.dbd"
|
||||
%
|
||||
%/* Declare Device Support Entry Table */
|
||||
%struct aaiRecord;
|
||||
%typedef struct aaidset {
|
||||
% dset common; /*init_record returns: (-1,0)=>(failure,success)*/
|
||||
% long (*read_aai)(struct aaiRecord *prec); /*returns: (-1,0)=>(failure,success)*/
|
||||
%} aaidset;
|
||||
%#define HAS_aaidset
|
||||
%
|
||||
field(VAL,DBF_NOACCESS) {
|
||||
prompt("Value")
|
||||
asl(ASL0)
|
||||
|
||||
@@ -90,22 +90,13 @@ rset aaoRSET={
|
||||
};
|
||||
epicsExportAddress(rset,aaoRSET);
|
||||
|
||||
struct aaodset { /* aao dset */
|
||||
long number;
|
||||
DEVSUPFUN dev_report;
|
||||
DEVSUPFUN init;
|
||||
DEVSUPFUN init_record; /*returns: (-1,0)=>(failure,success)*/
|
||||
DEVSUPFUN get_ioint_info;
|
||||
DEVSUPFUN write_aao; /*returns: (-1,0)=>(failure,success)*/
|
||||
};
|
||||
|
||||
static void monitor(aaoRecord *);
|
||||
static long writeValue(aaoRecord *);
|
||||
|
||||
static long init_record(struct dbCommon *pcommon, int pass)
|
||||
{
|
||||
struct aaoRecord *prec = (struct aaoRecord *)pcommon;
|
||||
struct aaodset *pdset = (struct aaodset *)(prec->dset);
|
||||
aaodset *pdset = (aaodset *)(prec->dset);
|
||||
long status;
|
||||
|
||||
/* must have dset defined */
|
||||
@@ -130,9 +121,9 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
not change after links are established before pass 1
|
||||
*/
|
||||
|
||||
if (pdset->init_record) {
|
||||
if (pdset->common.init_record) {
|
||||
/* init_record may set the bptr to point to the data */
|
||||
if ((status = pdset->init_record(prec)))
|
||||
if ((status = pdset->common.init_record(pcommon)))
|
||||
return status;
|
||||
}
|
||||
if (!prec->bptr) {
|
||||
@@ -146,7 +137,7 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
recGblInitSimm(pcommon, &prec->sscn, &prec->oldsimm, &prec->simm, &prec->siml);
|
||||
|
||||
/* must have write_aao function defined */
|
||||
if (pdset->number < 5 || pdset->write_aao == NULL) {
|
||||
if (pdset->common.number < 5 || pdset->write_aao == NULL) {
|
||||
recGblRecordError(S_dev_missingSup, prec, "aao: init_record");
|
||||
return S_dev_missingSup;
|
||||
}
|
||||
@@ -156,7 +147,7 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
static long process(struct dbCommon *pcommon)
|
||||
{
|
||||
struct aaoRecord *prec = (struct aaoRecord *)pcommon;
|
||||
struct aaodset *pdset = (struct aaodset *)(prec->dset);
|
||||
aaodset *pdset = (aaodset *)(prec->dset);
|
||||
long status;
|
||||
unsigned char pact = prec->pact;
|
||||
|
||||
@@ -339,7 +330,7 @@ static void monitor(aaoRecord *prec)
|
||||
|
||||
static long writeValue(aaoRecord *prec)
|
||||
{
|
||||
struct aaodset *pdset = (struct aaodset *) prec->dset;
|
||||
aaodset *pdset = (aaodset *) prec->dset;
|
||||
long status = 0;
|
||||
|
||||
if (!prec->pact) {
|
||||
|
||||
@@ -12,6 +12,15 @@ menu(aaoPOST) {
|
||||
}
|
||||
recordtype(aao) {
|
||||
include "dbCommon.dbd"
|
||||
%
|
||||
%/* Declare Device Support Entry Table */
|
||||
%struct aaoRecord;
|
||||
%typedef struct aaodset {
|
||||
% dset common; /*init_record returns: (-1,0)=>(failure,success)*/
|
||||
% long (*write_aao)(struct aaoRecord *prec); /*returns: (-1,0)=>(failure,success)*/
|
||||
%} aaodset;
|
||||
%#define HAS_aaodset
|
||||
%
|
||||
field(VAL,DBF_NOACCESS) {
|
||||
prompt("Value")
|
||||
asl(ASL0)
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
#define report NULL
|
||||
#define initialize NULL
|
||||
static long init_record(struct dbCommon *prec, int pass);
|
||||
static long init_record(struct dbCommon *pcommon, int pass);
|
||||
static long process(struct dbCommon *prec);
|
||||
static long special(DBADDR *paddr, int after);
|
||||
#define get_value NULL
|
||||
|
||||
@@ -80,14 +80,6 @@ rset eventRSET={
|
||||
};
|
||||
epicsExportAddress(rset,eventRSET);
|
||||
|
||||
struct eventdset { /* event input dset */
|
||||
long number;
|
||||
DEVSUPFUN dev_report;
|
||||
DEVSUPFUN init;
|
||||
DEVSUPFUN init_record; /*returns: (-1,0)=>(failure,success)*/
|
||||
DEVSUPFUN get_ioint_info;
|
||||
DEVSUPFUN read_event;/*(0)=> success */
|
||||
};
|
||||
static void monitor(eventRecord *);
|
||||
static long readValue(eventRecord *);
|
||||
|
||||
@@ -95,7 +87,7 @@ static long readValue(eventRecord *);
|
||||
static long init_record(struct dbCommon *pcommon, int pass)
|
||||
{
|
||||
struct eventRecord *prec = (struct eventRecord *)pcommon;
|
||||
struct eventdset *pdset;
|
||||
eventdset *pdset;
|
||||
long status=0;
|
||||
|
||||
if (pass == 0) return 0;
|
||||
@@ -103,8 +95,8 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
recGblInitSimm(pcommon, &prec->sscn, &prec->oldsimm, &prec->simm, &prec->siml);
|
||||
recGblInitConstantLink(&prec->siol, DBF_STRING, &prec->sval);
|
||||
|
||||
if( (pdset=(struct eventdset *)(prec->dset)) && (pdset->init_record) )
|
||||
status=(*pdset->init_record)(prec);
|
||||
if( (pdset=(eventdset *)(prec->dset)) && (pdset->common.init_record) )
|
||||
status=(*pdset->common.init_record)(pcommon);
|
||||
|
||||
prec->epvt = eventNameToHandle(prec->val);
|
||||
|
||||
@@ -114,11 +106,11 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
static long process(struct dbCommon *pcommon)
|
||||
{
|
||||
struct eventRecord *prec = (struct eventRecord *)pcommon;
|
||||
struct eventdset *pdset = (struct eventdset *)(prec->dset);
|
||||
eventdset *pdset = (eventdset *)(prec->dset);
|
||||
long status=0;
|
||||
unsigned char pact=prec->pact;
|
||||
|
||||
if((pdset!=NULL) && (pdset->number >= 5) && pdset->read_event )
|
||||
if((pdset!=NULL) && (pdset->common.number >= 5) && pdset->read_event )
|
||||
status=readValue(prec); /* read the new value */
|
||||
/* check if device support set pact */
|
||||
if ( !pact && prec->pact ) return(0);
|
||||
@@ -173,7 +165,7 @@ static void monitor(eventRecord *prec)
|
||||
|
||||
static long readValue(eventRecord *prec)
|
||||
{
|
||||
struct eventdset *pdset = (struct eventdset *) prec->dset;
|
||||
eventdset *pdset = (eventdset *) prec->dset;
|
||||
long status = 0;
|
||||
|
||||
if (!prec->pact) {
|
||||
|
||||
@@ -44,6 +44,16 @@ simulation mode parameters
|
||||
recordtype(event) {
|
||||
include "dbCommon.dbd"
|
||||
|
||||
%
|
||||
%/* Declare Device Support Entry Table */
|
||||
%struct eventRecord;
|
||||
%typedef struct eventdset {
|
||||
% dset common; /*init_record returns: (-1,0)=>(failure,success)*/
|
||||
% long (*read_event)(struct eventRecord *prec); /*(0)=> success */
|
||||
%} eventdset;
|
||||
%#define HAS_eventdset
|
||||
%
|
||||
|
||||
=head3 Scan Parameters
|
||||
|
||||
The event record has the standard fields for specifying under what circumstances
|
||||
|
||||
@@ -87,17 +87,6 @@ epicsExportAddress(rset,histogramRSET);
|
||||
int histogramSDELprecision = 2;
|
||||
epicsExportAddress(int, histogramSDELprecision);
|
||||
|
||||
struct histogramdset { /* histogram input dset */
|
||||
long number;
|
||||
DEVSUPFUN dev_report;
|
||||
DEVSUPFUN init;
|
||||
DEVSUPFUN init_record; /*returns: (-1,0)=>(failure,success)*/
|
||||
DEVSUPFUN get_ioint_info;
|
||||
DEVSUPFUN read_histogram;/*(0,2)=> success and add_count, don't add_count)*/
|
||||
/* if add_count then sgnl added to array */
|
||||
DEVSUPFUN special_linconv;
|
||||
};
|
||||
|
||||
/* control block for callback*/
|
||||
typedef struct myCallback {
|
||||
epicsCallback callback;
|
||||
@@ -165,7 +154,7 @@ static long wdogInit(histogramRecord *prec)
|
||||
static long init_record(struct dbCommon *pcommon, int pass)
|
||||
{
|
||||
struct histogramRecord *prec = (struct histogramRecord *)pcommon;
|
||||
struct histogramdset *pdset;
|
||||
histogramdset *pdset;
|
||||
|
||||
if (pass == 0) {
|
||||
/* allocate space for histogram array */
|
||||
@@ -186,21 +175,21 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
recGblInitConstantLink(&prec->siol, DBF_DOUBLE, &prec->sval);
|
||||
|
||||
/* must have device support defined */
|
||||
pdset = (struct histogramdset *) prec->dset;
|
||||
pdset = (histogramdset *) prec->dset;
|
||||
if (!pdset) {
|
||||
recGblRecordError(S_dev_noDSET, prec, "histogram: init_record");
|
||||
return S_dev_noDSET;
|
||||
}
|
||||
|
||||
/* must have read_histogram function defined */
|
||||
if (pdset->number < 6 || !pdset->read_histogram) {
|
||||
if (pdset->common.number < 6 || !pdset->read_histogram) {
|
||||
recGblRecordError(S_dev_missingSup, prec, "histogram: init_record");
|
||||
return S_dev_missingSup;
|
||||
}
|
||||
|
||||
/* call device support init_record */
|
||||
if (pdset->init_record) {
|
||||
long status = pdset->init_record(prec);
|
||||
if (pdset->common.init_record) {
|
||||
long status = pdset->common.init_record(pcommon);
|
||||
|
||||
if (status)
|
||||
return status;
|
||||
@@ -211,7 +200,7 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
static long process(struct dbCommon *pcommon)
|
||||
{
|
||||
struct histogramRecord *prec = (struct histogramRecord *)pcommon;
|
||||
struct histogramdset *pdset = (struct histogramdset *) prec->dset;
|
||||
histogramdset *pdset = (histogramdset *) prec->dset;
|
||||
int pact = prec->pact;
|
||||
long status;
|
||||
|
||||
@@ -380,7 +369,7 @@ static long clear_histogram(histogramRecord *prec)
|
||||
|
||||
static long readValue(histogramRecord *prec)
|
||||
{
|
||||
struct histogramdset *pdset = (struct histogramdset *) prec->dset;
|
||||
histogramdset *pdset = (histogramdset *) prec->dset;
|
||||
long status = 0;
|
||||
|
||||
if (!prec->pact) {
|
||||
|
||||
@@ -14,6 +14,16 @@ menu(histogramCMD) {
|
||||
}
|
||||
recordtype(histogram) {
|
||||
include "dbCommon.dbd"
|
||||
%
|
||||
%/* Declare Device Support Entry Table */
|
||||
%struct histogramRecord;
|
||||
%typedef struct histogramdset {
|
||||
% dset common; /*init_record returns: (-1,0)=>(failure,success)*/
|
||||
% long (*read_histogram)(struct histogramRecord *prec); /*(0,2)=> success and add_count, don't add_count); if add_count then sgnl added to array*/
|
||||
% long (*special_linconv)(struct histogramRecord *prec, int after);
|
||||
%} histogramdset;
|
||||
%#define HAS_histogramdset
|
||||
%
|
||||
field(VAL,DBF_NOACCESS) {
|
||||
prompt("Value")
|
||||
asl(ASL0)
|
||||
|
||||
@@ -91,7 +91,7 @@ static long readValue(int64inRecord *prec);
|
||||
static long init_record(dbCommon *pcommon, int pass)
|
||||
{
|
||||
int64inRecord *prec = (int64inRecord*)pcommon;
|
||||
struct int64indset *pdset;
|
||||
int64indset *pdset;
|
||||
long status;
|
||||
|
||||
if (pass == 0) return 0;
|
||||
@@ -100,7 +100,7 @@ static long init_record(dbCommon *pcommon, int pass)
|
||||
recGblInitSimm(pcommon, &prec->sscn, &prec->oldsimm, &prec->simm, &prec->siml);
|
||||
recGblInitConstantLink(&prec->siol, DBF_INT64, &prec->sval);
|
||||
|
||||
if(!(pdset = (struct int64indset *)(prec->dset))) {
|
||||
if(!(pdset = (int64indset *)(prec->dset))) {
|
||||
recGblRecordError(S_dev_noDSET,(void *)prec,"int64in: init_record");
|
||||
return(S_dev_noDSET);
|
||||
}
|
||||
@@ -121,7 +121,7 @@ static long init_record(dbCommon *pcommon, int pass)
|
||||
static long process(dbCommon *pcommon)
|
||||
{
|
||||
int64inRecord *prec = (int64inRecord*)pcommon;
|
||||
struct int64indset *pdset = (struct int64indset *)(prec->dset);
|
||||
int64indset *pdset = (int64indset *)(prec->dset);
|
||||
long status;
|
||||
unsigned char pact=prec->pact;
|
||||
epicsTimeStamp timeLast;
|
||||
@@ -389,7 +389,7 @@ static void monitor(int64inRecord *prec)
|
||||
|
||||
static long readValue(int64inRecord *prec)
|
||||
{
|
||||
struct int64indset *pdset = (struct int64indset *) prec->dset;
|
||||
int64indset *pdset = (int64indset *) prec->dset;
|
||||
long status = 0;
|
||||
|
||||
if (!prec->pact) {
|
||||
|
||||
@@ -89,14 +89,14 @@ static void convert(int64outRecord *prec, epicsInt64 value);
|
||||
static long init_record(dbCommon *pcommon, int pass)
|
||||
{
|
||||
int64outRecord *prec = (int64outRecord*)pcommon;
|
||||
struct int64outdset *pdset;
|
||||
int64outdset *pdset;
|
||||
long status=0;
|
||||
|
||||
if (pass == 0) return 0;
|
||||
|
||||
recGblInitSimm(pcommon, &prec->sscn, &prec->oldsimm, &prec->simm, &prec->siml);
|
||||
|
||||
if(!(pdset = (struct int64outdset *)(prec->dset))) {
|
||||
if(!(pdset = (int64outdset *)(prec->dset))) {
|
||||
recGblRecordError(S_dev_noDSET,(void *)prec,"int64out: init_record");
|
||||
return(S_dev_noDSET);
|
||||
}
|
||||
@@ -121,7 +121,7 @@ static long init_record(dbCommon *pcommon, int pass)
|
||||
static long process(dbCommon *pcommon)
|
||||
{
|
||||
int64outRecord *prec = (int64outRecord*)pcommon;
|
||||
struct int64outdset *pdset = (struct int64outdset *)(prec->dset);
|
||||
int64outdset *pdset = (int64outdset *)(prec->dset);
|
||||
long status=0;
|
||||
epicsInt64 value;
|
||||
unsigned char pact=prec->pact;
|
||||
@@ -369,7 +369,7 @@ static void monitor(int64outRecord *prec)
|
||||
|
||||
static long writeValue(int64outRecord *prec)
|
||||
{
|
||||
struct int64outdset *pdset = (struct int64outdset *) prec->dset;
|
||||
int64outdset *pdset = (int64outdset *) prec->dset;
|
||||
long status = 0;
|
||||
|
||||
if (!prec->pact) {
|
||||
|
||||
@@ -221,7 +221,7 @@ static void monitor(lsiRecord *prec)
|
||||
|
||||
static long readValue(lsiRecord *prec)
|
||||
{
|
||||
struct lsidset *pdset = (struct lsidset *) prec->dset;
|
||||
lsidset *pdset = (lsidset *) prec->dset;
|
||||
long status = 0;
|
||||
|
||||
if (!prec->pact) {
|
||||
|
||||
Reference in New Issue
Block a user