21 static long read_bi_from_integer(biRecord* prec)
23 if (!prec->dpvt) {(void)recGblSetSevr(prec, COMM_ALARM, INVALID_ALARM);
return -1; }
29 scopedLock<mrf::Object> g(*priv->
O);
30 prec->rval = priv->
P->get();
31 if(prec->mask) prec->rval &= prec->mask;
35 }
CATCH(S_dev_badArgument)
41 (&add_record_inp<biRecord,epicsUInt32>),
44 &read_bi_from_integer<epicsUInt32>,
50 (&add_record_inp<biRecord,epicsUInt16>),
53 &read_bi_from_integer<epicsUInt16>,
59 (&add_record_inp<biRecord,bool>),
62 &read_bi_from_integer<bool>,
69 static long write_bo_from_integer(boRecord* prec)
71 if (!prec->dpvt) {(void)recGblSetSevr(prec, COMM_ALARM, INVALID_ALARM);
return -1; }
77 scopedLock<mrf::Object> g(*priv->
O);
78 priv->
P->set((prec->rval != 0));
80 prec->rbv = priv->
P->get();
83 prec->rval = prec->rbv;
85 if(prec->rval & prec->mask)
90 prec->val = !!prec->rval;
94 }
CATCH(S_dev_badArgument)
99 (&add_record_out<boRecord,epicsUInt32>),
100 &del_record_property,
101 &init_record_return2,
102 &write_bo_from_integer<epicsUInt32>,
109 (&add_record_out<boRecord,epicsUInt16>),
110 &del_record_property,
111 &init_record_return2,
112 &write_bo_from_integer<epicsUInt16>,
119 (&add_record_out<boRecord,bool>),
120 &del_record_property,
121 &init_record_return2,
122 &write_bo_from_integer<bool>,
125 #include <epicsExport.h> OBJECT_DSET(BIFromUINT32,(&add_record_inp< biRecord, epicsUInt32 >), &del_record_property, &init_record_empty, &read_bi_from_integer< epicsUInt32 >, NULL)
OBJECT_DSET_EXPORT(BIFromUINT32)
mrf::auto_ptr< mrf::property< T > > P