8 #include <waveformRecord.h> 16 static const double pi_180 = 0.017453292519943295;
20 long init_spin(waveformRecord *
prec)
22 if(prec->ftvl==menuFtypeDOUBLE)
27 long process_spin(waveformRecord *prec)
29 if(prec->dpvt != &dummy) {
34 const double freq = 360.0*pi_180/100;
36 double *val =
static_cast<double*
>(prec->bptr);
38 long ret = dbGetLink(&prec->inp,
DBF_DOUBLE, &phase, 0, 0);
46 for(
size_t i=0, N=prec->nelm;
i<N;
i++)
47 val[
i] = sin(freq*
i+phase);
49 prec->nord = prec->nelm;
54 template<
typename REC>
61 long (*get_ioint_info)(int, REC *,
IOSCANPVT*);
62 long (*process)(REC *);
65 dset5<waveformRecord> devWfPDBDemo = {5,0,0,&init_spin,0,&process_spin};
epicsExportAddress(dset, devWfPDBDemo)
struct ioscan_head * IOSCANPVT
epics::pvData::PVStructurePtr dummy