From 7560fb1bb1e16fdd68fa7210a5c972c6f4f52718 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 8 Jun 2011 11:16:26 -0500 Subject: [PATCH] rec/compress: Post monitors on NUSE field Matt Pearson asked for NUSE monitors, so clients can track how much data has been collected. --- src/rec/compressRecord.c | 12 +++++++----- src/rec/compressRecord.dbd | 4 ++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/rec/compressRecord.c b/src/rec/compressRecord.c index f001fd4b8..2879852d8 100644 --- a/src/rec/compressRecord.c +++ b/src/rec/compressRecord.c @@ -92,12 +92,14 @@ static void reset(compressRecord *prec) static void monitor(compressRecord *prec) { - unsigned short monitor_mask; + unsigned short alarm_mask = recGblResetAlarms(prec); + unsigned short monitor_mask = alarm_mask | DBE_LOG | DBE_VALUE; - monitor_mask = recGblResetAlarms(prec); - monitor_mask |= (DBE_LOG|DBE_VALUE); - if(monitor_mask) db_post_events(prec,prec->bptr,monitor_mask); - return; + if (alarm_mask || prec->nuse != prec->ouse) { + db_post_events(prec, &prec->nuse, monitor_mask); + prec->ouse = prec->nuse; + } + db_post_events(prec, prec->bptr, monitor_mask); } static void put_value(compressRecord *prec,double *psource, epicsInt32 n) diff --git a/src/rec/compressRecord.dbd b/src/rec/compressRecord.dbd index e3bcd438e..45f5a2957 100644 --- a/src/rec/compressRecord.dbd +++ b/src/rec/compressRecord.dbd @@ -95,6 +95,10 @@ recordtype(compress) { prompt("Number Used") special(SPC_NOMOD) } + field(OUSE,DBF_ULONG) { + prompt("Old Number Used") + special(SPC_NOMOD) + } field(BPTR,DBF_NOACCESS) { prompt("Buffer Pointer") special(SPC_NOMOD)