diff --git a/modules/database/src/std/dev/devBiSoftRaw.c b/modules/database/src/std/dev/devBiSoftRaw.c index 0b57974b9..0f1ab2fdd 100644 --- a/modules/database/src/std/dev/devBiSoftRaw.c +++ b/modules/database/src/std/dev/devBiSoftRaw.c @@ -51,6 +51,9 @@ static long readLocked(struct link *pinp, void *dummy) if (status) return status; + if (prec->mask) + prec->rval &= prec->mask; + if (dbLinkIsConstant(&prec->tsel) && prec->tse == epicsTimeEventDeviceTime) dbGetTimeStamp(pinp, &prec->time); diff --git a/modules/database/src/std/rec/biRecord.dbd.pod b/modules/database/src/std/rec/biRecord.dbd.pod index 40ecd0293..157c33fe6 100644 --- a/modules/database/src/std/rec/biRecord.dbd.pod +++ b/modules/database/src/std/rec/biRecord.dbd.pod @@ -60,8 +60,10 @@ this chapter for information on soft device support. If the record gets its values from hardware or uses the C device support, the device support routines place the value in the RVAL -field which is then converted using the process described in the next -section. +field. +(Since UNRELEASED) If the MASK field is non-zero, then this MASK is applied to RVAL. +The value of RVAL is then converted using the process described in the +next section. =fields INP, DTYP, ZNAM, ONAM, RVAL, VAL