do time stamp rounding in each individual module

This commit is contained in:
Roger Cole
1992-03-09 10:51:26 +00:00
parent ca84c015bc
commit 1d709a6e12
4 changed files with 20 additions and 4 deletions
+3 -1
View File
@@ -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(
+6 -1
View File
@@ -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 <fields.h> with <alarm.h>
* .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;
+6 -1
View File
@@ -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 <fields.h> with <alarm.h>
* .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) {
+5 -1
View File
@@ -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 <fields.h> with <alarm.h>
* .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