diff --git a/src/libCom/sydSubrCA.c b/src/libCom/sydSubrCA.c index 2e4388c6e..818fa20eb 100644 --- a/src/libCom/sydSubrCA.c +++ b/src/libCom/sydSubrCA.c @@ -32,6 +32,7 @@ * .04 09-23-91 rac allow async completion of ca_search * .05 02-13-92 rac use ADEL for monitoring; perform time-stamp * rounding if requested + * .06 03-08-92 rac use deadband from pSspec for monitoring * * make options * -DvxWorks makes a version for VxWorks @@ -247,7 +248,8 @@ chid pCh; /* channel pointer */ } if (pSChan->evid == NULL) { stat = ca_add_masked_array_event(pSChan->dbrType, pSChan->elCount, pCh, - sydCAFuncMonHandler, NULL, 0., 0., 0., &pSChan->evid, DBE_LOG); + sydCAFuncMonHandler, NULL, 0., 0., 0., &pSChan->evid, + pSChan->pSspec->deadband); if (stat != ECA_NORMAL) { retStat = S_syd_ERROR; (void)printf( diff --git a/src/libCom/sydSubrCF.c b/src/libCom/sydSubrCF.c index 670b4c177..666549713 100644 --- a/src/libCom/sydSubrCF.c +++ b/src/libCom/sydSubrCF.c @@ -4,7 +4,7 @@ * * Experimental Physics and Industrial Control System (EPICS) * - * Copyright 1991, the Regents of the University of California, + * Copyright 1991-92, the Regents of the University of California, * and the University of Chicago Board of Governors. * * This software was produced under U.S. Government contracts: @@ -30,6 +30,7 @@ * .02 06-19-91 rac replace with * .03 08-06-91 rac allow specifying file name * .04 09-11-91 rac finish allowing user specified name + * .05 02-27-92 rac do ts rounding here instead of sydSubr.c * * make options * -DvxWorks makes a version for VxWorks @@ -192,6 +193,10 @@ void *pArg; /* I pointer to arg, as required by funcCode */ pSChan->inStatus[i] = SYD_B_FULL; else pSChan->inStatus[i] = SYD_B_RESTART; + if (pSspec->roundNsec > 0) { + sydTsRound(&pSChan->pInBuf[i]->tfltval.stamp, + pSspec->roundNsec); + } } else if ((pChanDesc->flags & AR_CDESC_EOF) != 0) pSChan->inStatus[i] = SYD_B_EOF; diff --git a/src/libCom/sydSubrPFO.c b/src/libCom/sydSubrPFO.c index 0a22df3b9..5203a0a04 100644 --- a/src/libCom/sydSubrPFO.c +++ b/src/libCom/sydSubrPFO.c @@ -4,7 +4,7 @@ * * Experimental Physics and Industrial Control System (EPICS) * - * Copyright 1991, the Regents of the University of California, + * Copyright 1991-92, the Regents of the University of California, * and the University of Chicago Board of Governors. * * This software was produced under U.S. Government contracts: @@ -28,6 +28,7 @@ * .00 12-04-90 rac initial version * .01 06-18-91 rac installed in SCCS * .02 06-19-91 rac replace with + * .03 02-27-92 rac do ts rounding here instead of sydSubr.c * * make options * -DvxWorks makes a version for VxWorks @@ -150,6 +151,10 @@ void *pArg; /* I pointer to arg, as required by funcCode */ pSChan->lastInBuf = bufNum; if (pSChan->firstInBuf < 0) pSChan->firstInBuf = bufNum; + if (pSspec->roundNsec > 0) { + sydTsRound(&pSChan->pInBuf[bufNum]->tfltval.stamp, + pSspec->roundNsec); + } } } else if (funcCode == SYD_FC_POSITION) { diff --git a/src/libCom/sydSubrSSF.c b/src/libCom/sydSubrSSF.c index 73fe15a1d..c1d423234 100644 --- a/src/libCom/sydSubrSSF.c +++ b/src/libCom/sydSubrSSF.c @@ -4,7 +4,7 @@ * * Experimental Physics and Industrial Control System (EPICS) * - * Copyright 1991, the Regents of the University of California, + * Copyright 1991-92, the Regents of the University of California, * and the University of Chicago Board of Governors. * * This software was produced under U.S. Government contracts: @@ -29,6 +29,7 @@ * .01 06-18-91 rac installed in SCCS * .02 06-19-91 rac replace with * .03 08-14-91 rac jjj + * .04 02-27-92 rac do ts rounding here instead of sydSubr.c * * make options * -DvxWorks makes a version for VxWorks @@ -385,8 +386,11 @@ void *pArg; /* I pointer to arg, as required by funcCode */ * SYD_B_FULL this is an ordinary sample * SYD_B_EOF end of file * o the file will be positioned following the %endHeader% line +* o if time stamp rounding has been requested, it will be done *----------------------------------------------------------------------------*/ bufStat = sydSSFFuncSeekSample(ssFile, &timeStamp); + if (pSspec->roundNsec > 0) + sydTsRound(&timeStamp, pSspec->roundNsec); /*----------------------------------------------------------------------------- * now, read the actual data. This is done by processing all the data