Export and use int64indset, set USE_TYPED_DSET

This commit is contained in:
Andrew Johnson
2019-11-16 22:40:08 -06:00
parent 7893445a2e
commit 7e1d165092
6 changed files with 29 additions and 40 deletions

View File

@@ -25,6 +25,7 @@ stdRecords += dfanoutRecord
stdRecords += eventRecord
stdRecords += fanoutRecord
stdRecords += histogramRecord
int64inRecord_CFLAGS += -DUSE_TYPED_DSET
stdRecords += int64inRecord
stdRecords += int64outRecord
stdRecords += longinRecord

View File

@@ -83,14 +83,6 @@ rset int64inRSET={
epicsExportAddress(rset,int64inRSET);
struct int64indset { /* int64in input dset */
long number;
DEVSUPFUN dev_report;
DEVSUPFUN init;
DEVSUPFUN init_record; /*returns: (-1,0)=>(failure,success)*/
DEVSUPFUN get_ioint_info;
DEVSUPFUN read_int64in; /*returns: (-1,0)=>(failure,success)*/
};
static void checkAlarms(int64inRecord *prec, epicsTimeStamp *timeLast);
static void monitor(int64inRecord *prec);
static long readValue(int64inRecord *prec);
@@ -113,12 +105,12 @@ static long init_record(dbCommon *pcommon, int pass)
return(S_dev_noDSET);
}
/* must have read_int64in function defined */
if( (pdset->number < 5) || (pdset->read_int64in == NULL) ) {
if ((pdset->common.number < 5) || (pdset->read_int64in == NULL)) {
recGblRecordError(S_dev_missingSup,(void *)prec,"int64in: init_record");
return(S_dev_missingSup);
}
if( pdset->init_record ) {
if((status=(*pdset->init_record)(prec))) return(status);
if (pdset->common.init_record) {
if ((status = pdset->common.init_record(pcommon))) return status;
}
prec->mlst = prec->val;
prec->alst = prec->val;

View File

@@ -111,6 +111,15 @@ monitoring deadband functionality.
=cut
include "dbCommon.dbd"
%#include "devSup.h"
%
%/* Declare Device Support Entry Table */
%struct int64inRecord;
%typedef struct int64indset {
% dset common;
% long (*read_int64in)(struct int64inRecord *prec);
%} int64indset;
%
field(VAL,DBF_INT64) {
prompt("Current value")
promptgroup("40 - Input")