diff --git a/src/dev/devAiSoft.c b/src/dev/devAiSoft.c index 706601aab..77d3ed887 100644 --- a/src/dev/devAiSoft.c +++ b/src/dev/devAiSoft.c @@ -1,7 +1,5 @@ /* devAiSoft.c */ /* base/src/dev $Id$ */ - -/* devAiSoft.c - Device Support Routines for soft Analog Input Records*/ /* * Original Author: Bob Dalesio * Current Author: Marty Kraimer @@ -35,14 +33,10 @@ * .11 10-10-92 jba replaced code with recGblGetLinkValue call * ... */ - - - #include #include #include #include - #include #include #include @@ -51,7 +45,6 @@ #include #include #include - /* Create the dset for devAiSoft */ static long init_record(); static long read_ai(); @@ -70,9 +63,9 @@ struct { init_record, NULL, read_ai, - NULL }; + NULL +}; - static long init_record(pai) struct aiRecord *pai; { @@ -81,8 +74,8 @@ static long init_record(pai) /* ai.inp must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/ switch (pai->inp.type) { case (CONSTANT) : - if(recGblInitConstantLink(&pai->inp,DBF_DOUBLE,&pai->val)) - pai->udf = FALSE; + if(recGblInitConstantLink(&pai->inp,DBF_DOUBLE,&pai->val)) + pai->udf = FALSE; break; case (PV_LINK) : case (DB_LINK) : @@ -98,16 +91,13 @@ static long init_record(pai) pai->linr = 0; return(0); } - + static long read_ai(pai) struct aiRecord *pai; { long status; status = dbGetLink(&(pai->inp),DBR_DOUBLE, &(pai->val),0,0); - - if (pai->inp.type!=CONSTANT && RTN_SUCCESS(status)) - pai->udf = FALSE; - + if (pai->inp.type!=CONSTANT && RTN_SUCCESS(status)) pai->udf = FALSE; return(2); /*don't convert*/ } diff --git a/src/dev/devAiSoftRaw.c b/src/dev/devAiSoftRaw.c index 5faae9fbc..953a882b7 100644 --- a/src/dev/devAiSoftRaw.c +++ b/src/dev/devAiSoftRaw.c @@ -1,7 +1,5 @@ /* devAiSoftRaw.c */ /* base/src/dev $Id$ */ - -/* devAiSoftRaw.c - Device Support Routines for soft Analog Input Records*/ /* * Original Author: Bob Dalesio * Current Author: Marty Kraimer @@ -36,13 +34,10 @@ * .04 10-10-92 jba replaced code with recGblGetLinkValue call * ... */ - - #include #include #include #include - #include #include #include @@ -51,7 +46,6 @@ #include #include #include - /* Create the dset for devAiSoftRaw */ static long init_record(); static long read_ai(); @@ -71,9 +65,9 @@ struct { init_record, NULL, read_ai, - special_linconv}; + special_linconv +}; - static long init_record(pai) struct aiRecord *pai; { @@ -95,14 +89,13 @@ static long init_record(pai) } return(0); } - + static long read_ai(pai) struct aiRecord *pai; { long status; status = dbGetLink(&(pai->inp),DBR_LONG,&(pai->rval),0,0); - return(0); } @@ -110,8 +103,5 @@ static long special_linconv(pai,after) struct aiRecord *pai; int after; { - - if(!after) return(0); - return(0); } diff --git a/src/dev/devBiSoft.c b/src/dev/devBiSoft.c index fe23febdf..a5274a1c6 100644 --- a/src/dev/devBiSoft.c +++ b/src/dev/devBiSoft.c @@ -1,7 +1,5 @@ /* devBiSoft.c */ /* base/src/dev $Id$ */ - -/* devBiSoft.c - Device Support Routines for Soft Binary Input*/ /* * Original Author: Bob Dalesio * Current Author: Marty Kraimer @@ -35,13 +33,10 @@ * .03 10-10-92 jba replaced code with recGblGetLinkValue call * ... */ - - #include #include #include #include - #include #include #include @@ -49,11 +44,9 @@ #include #include #include - /* Create the dset for devBiSoft */ static long init_record(); static long read_bi(); - struct { long number; DEVSUPFUN report; @@ -67,9 +60,9 @@ struct { NULL, init_record, NULL, - read_bi}; + read_bi +}; - static long init_record(pbi) struct biRecord *pbi; { @@ -78,8 +71,8 @@ static long init_record(pbi) /* bi.inp must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK */ switch (pbi->inp.type) { case (CONSTANT) : - if(recGblInitConstantLink(&pbi->inp,DBF_ENUM,&pbi->val)) - pbi->udf = FALSE; + if(recGblInitConstantLink(&pbi->inp,DBF_ENUM,&pbi->val)) + pbi->udf = FALSE; break; case (DB_LINK) : case (PV_LINK) : @@ -92,15 +85,13 @@ static long init_record(pbi) } return(0); } - + static long read_bi(pbi) struct biRecord *pbi; { long status; status = dbGetLink(&pbi->inp, DBR_USHORT, &pbi->val,0,0); - if(pbi->inp.type!=CONSTANT && RTN_SUCCESS(status)) pbi->udf=FALSE; - return(2); } diff --git a/src/dev/devBiSoftRaw.c b/src/dev/devBiSoftRaw.c index d0b7b8343..a527c5904 100644 --- a/src/dev/devBiSoftRaw.c +++ b/src/dev/devBiSoftRaw.c @@ -1,7 +1,5 @@ /* devBiSoftRaw.c */ /* base/src/dev $Id$ */ - -/* devBiSoftRaw.c - Device Support Routines for Soft Binary Input*/ /* * Original Author: Bob Dalesio * Current Author: Marty Kraimer @@ -36,13 +34,10 @@ * .04 10-10-92 jba replaced code with recGblGetLinkValue call * ... */ - - #include #include #include #include - #include #include #include @@ -50,11 +45,9 @@ #include #include #include - /* Create the dset for devBiSoftRaw */ static long init_record(); static long read_bi(); - struct { long number; DEVSUPFUN report; @@ -68,9 +61,9 @@ struct { NULL, init_record, NULL, - read_bi}; + read_bi +}; - static long init_record(pbi) struct biRecord *pbi; { @@ -92,13 +85,12 @@ static long init_record(pbi) } return(0); } - + static long read_bi(pbi) struct biRecord *pbi; { long status; status = dbGetLink(&pbi->inp, DBR_ULONG, &pbi->rval,0,0); - return(0); } diff --git a/src/dev/devEventSoft.c b/src/dev/devEventSoft.c index ed91336af..5dfb1bd73 100644 --- a/src/dev/devEventSoft.c +++ b/src/dev/devEventSoft.c @@ -1,7 +1,5 @@ /* devEventSoft.c */ /* base/src/dev $Id$ */ - -/* devEventSoft.c - Device Support Routines for Soft Event Input */ /* * Author: Janet Anderson * Date: 04-21-91 @@ -34,13 +32,10 @@ * .03 10-10-92 jba replaced code with recGblGetLinkValue call * .04 03-03-94 mrk Move constant link value to val only if val is zero */ - - #include #include #include #include - #include #include #include @@ -52,7 +47,6 @@ /* Create the dset for devEventSoft */ static long init_record(); static long read_event(); - struct { long number; DEVSUPFUN report; @@ -66,7 +60,8 @@ struct { NULL, init_record, NULL, - read_event}; + read_event +}; static long init_record(pevent) struct eventRecord *pevent; @@ -76,8 +71,8 @@ static long init_record(pevent) /* event.inp must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/ switch (pevent->inp.type) { case (CONSTANT) : - if(recGblInitConstantLink(&pevent->inp,DBF_USHORT,&pevent->val)) - pevent->udf = FALSE; + if(recGblInitConstantLink(&pevent->inp,DBF_USHORT,&pevent->val)) + pevent->udf = FALSE; break; case (PV_LINK) : case (DB_LINK) : @@ -90,11 +85,11 @@ static long init_record(pevent) } return(0); } - + static long read_event(pevent) struct eventRecord *pevent; { - long status,options=0,nRequest=1; + long status; status = dbGetLink(&pevent->inp,DBR_USHORT,&pevent->val,0,0); if(pevent->inp.type!=CONSTANT && RTN_SUCCESS(status)) pevent->udf=FALSE; diff --git a/src/dev/devEventTestIoEvent.c b/src/dev/devEventTestIoEvent.c index 1f05aa865..b227cd45b 100644 --- a/src/dev/devEventTestIoEvent.c +++ b/src/dev/devEventTestIoEvent.c @@ -1,7 +1,5 @@ /* devEventTestIoEvent.c */ /* base/src/dev $Id$ */ - -/* devEventTestIoEvent.c - Device Support Routines for ioEvent*/ /* * Author: Marty Kraimer * Date: 01/09/92 @@ -39,7 +37,6 @@ #include #include #include - #include #include #include @@ -63,11 +60,11 @@ struct { init, NULL, get_ioint_info, - read_event}; + read_event +}; static IOSCANPVT ioscanpvt; WDOG_ID wd_id=NULL; - static long init(after) int after; diff --git a/src/dev/devHistogramSoft.c b/src/dev/devHistogramSoft.c index caa005b1f..4c22ff217 100644 --- a/src/dev/devHistogramSoft.c +++ b/src/dev/devHistogramSoft.c @@ -1,7 +1,5 @@ /* devHistogramSoft.c */ /* base/src/dev $Id$ */ - -/* devHistogramSoft.c - Device Support Routines for soft Histogram Input */ /* * Author: Janet Anderson * Date: 07/02/91 @@ -34,14 +32,10 @@ * .03 03-13-92 jba ANSI C changes * ... */ - - - #include #include #include #include - #include #include #include @@ -50,7 +44,6 @@ #include #include #include - /* Create the dset for devHistogramSoft */ static long init_record(); static long read_histogram(); @@ -69,9 +62,9 @@ struct { init_record, NULL, read_histogram, - NULL}; + NULL +}; - static long init_record(phistogram) struct histogramRecord *phistogram; { @@ -80,8 +73,8 @@ static long init_record(phistogram) /* histogram.svl must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/ switch (phistogram->svl.type) { case (CONSTANT) : - if(recGblInitConstantLink(&phistogram->svl,DBF_DOUBLE,&phistogram->sgnl)) - phistogram->udf = FALSE; + if(recGblInitConstantLink(&phistogram->svl,DBF_DOUBLE,&phistogram->sgnl)) + phistogram->udf = FALSE; break; case (PV_LINK) : case (DB_LINK) : @@ -94,13 +87,12 @@ static long init_record(phistogram) } return(status); } - + static long read_histogram(phistogram) struct histogramRecord *phistogram; { long status; status = dbGetLink(&phistogram->svl,DBR_DOUBLE, &phistogram->sgnl,0,0); - return(0); /*add count*/ } diff --git a/src/dev/devHistogramTestAsyn.c b/src/dev/devHistogramTestAsyn.c index dc5868330..59e323628 100644 --- a/src/dev/devHistogramTestAsyn.c +++ b/src/dev/devHistogramTestAsyn.c @@ -1,7 +1,5 @@ /* devHistogramTestAsyn.c */ /* base/src/dev $Id$ */ - -/* devHistogramTestAsyn.c - Device Support Routines for testing asynchronous processing*/ /* * Author: Janet Anderson * Date: 07/02/91 @@ -37,14 +35,12 @@ * .06 04-05-94 mrk ANSI changes to callback routines * ... */ - #include #include #include #include #include #include - #include #include #include @@ -55,7 +51,7 @@ #include #include #include - + /* Create the dset for devHistogramTestAsyn */ static long init_record(); static long read_histogram(); @@ -107,8 +103,8 @@ static long init_record(phistogram) callbackSetCallback(myCallback,&pcallback->callback); pcallback->precord = (struct dbCommon *)phistogram; pcallback->wd_id = wdCreate(); - if(recGblInitConstantLink(&phistogram->svl,DBF_DOUBLE,&phistogram->sgnl)) - phistogram->udf = FALSE; + if(recGblInitConstantLink(&phistogram->svl,DBF_DOUBLE,&phistogram->sgnl)) + phistogram->udf = FALSE; break; default : recGblRecordError(S_db_badField,(void *)phistogram, diff --git a/src/dev/devLiSoft.c b/src/dev/devLiSoft.c index 66d715276..a245d096a 100644 --- a/src/dev/devLiSoft.c +++ b/src/dev/devLiSoft.c @@ -1,7 +1,5 @@ /* devLiSoft.c */ /* base/src/dev $Id$ */ - -/* devLiSoft.c - Device Support Routines for Soft Longin Input */ /* * Author: Janet Anderson * Date: 09-23-91 @@ -33,8 +31,6 @@ * .02 03-13-92 jba ANSI C changes * .03 10-10-92 jba replaced code with recGblGetLinkValue call */ - - #include #include #include @@ -65,7 +61,8 @@ struct { NULL, init_record, NULL, - read_longin}; + read_longin +}; static long init_record(plongin) struct longinRecord *plongin; @@ -75,8 +72,8 @@ static long init_record(plongin) /* longin.inp must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/ switch (plongin->inp.type) { case (CONSTANT) : - if(recGblInitConstantLink(&plongin->inp,DBF_LONG,&plongin->val)) - plongin->udf = FALSE; + if(recGblInitConstantLink(&plongin->inp,DBF_LONG,&plongin->val)) + plongin->udf = FALSE; break; case (PV_LINK) : case (DB_LINK) : @@ -89,7 +86,7 @@ static long init_record(plongin) } return(0); } - + static long read_longin(plongin) struct longinRecord *plongin; { diff --git a/src/dev/devLoSoft.c b/src/dev/devLoSoft.c index 8ac16129e..3942b340f 100644 --- a/src/dev/devLoSoft.c +++ b/src/dev/devLoSoft.c @@ -1,7 +1,5 @@ /* devLoSoft.c */ /* base/src/dev $Id$ */ - -/* devLoSoft.c - Device Support Routines for Soft Longout Output */ /* * Author: Janet Anderson * Date: 09-23-91 @@ -33,7 +31,6 @@ * .02 03-13-92 jba ANSI C changes * .03 10-10-92 jba replaced code with recGblGetLinkValue call */ - #include #include #include @@ -46,12 +43,9 @@ #include #include #include - -static long init_record(); - /* Create the dset for devLoSoft */ +static long init_record(); static long write_longout(); - struct { long number; DEVSUPFUN report; @@ -65,8 +59,8 @@ struct { NULL, init_record, NULL, - write_longout}; - + write_longout +}; static long init_record(plongout) struct longoutRecord *plongout; @@ -80,6 +74,5 @@ static long write_longout(plongout) long status; status = dbPutLink(&plongout->out,DBR_LONG, &plongout->val,1); - return(0); } diff --git a/src/dev/devMbbiDirectSoft.c b/src/dev/devMbbiDirectSoft.c index f39f903dd..9a7e74f15 100644 --- a/src/dev/devMbbiDirectSoft.c +++ b/src/dev/devMbbiDirectSoft.c @@ -1,7 +1,5 @@ /* devMbbiDirectSoft.c */ /* base/src/dev $Id$ */ - -/* devMbbiDirectSoft.c - Device Support for Soft Direct Multibit Binary Input*/ /* * Original Author: Bob Dalesio * Current Author: Matthew Needes @@ -33,8 +31,6 @@ * (Modification log in devMbbiSoft.c applies) * .01 10-08-93 mcn (created) support for direct mbbi records */ - - #include #include #include @@ -47,11 +43,9 @@ #include #include #include - /* Create the dset for devMbbiSoft */ static long init_record(); static long read_mbbi(); - struct { long number; DEVSUPFUN report; @@ -65,9 +59,9 @@ struct { NULL, init_record, NULL, - read_mbbi}; + read_mbbi +}; - static long init_record(pmbbi) struct mbbiDirectRecord *pmbbi; { @@ -76,8 +70,8 @@ static long init_record(pmbbi) /* mbbi.inp must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/ switch (pmbbi->inp.type) { case (CONSTANT) : - if(recGblInitConstantLink(&pmbbi->inp,DBF_ENUM,&pmbbi->val)) - pmbbi->udf = FALSE; + if(recGblInitConstantLink(&pmbbi->inp,DBF_ENUM,&pmbbi->val)) + pmbbi->udf = FALSE; break; case (DB_LINK) : case (PV_LINK) : @@ -90,7 +84,7 @@ static long init_record(pmbbi) } return(0); } - + static long read_mbbi(pmbbi) struct mbbiDirectRecord *pmbbi; { diff --git a/src/dev/devMbbiDirectSoftRaw.c b/src/dev/devMbbiDirectSoftRaw.c index fd8b8ceae..ab8e87184 100644 --- a/src/dev/devMbbiDirectSoftRaw.c +++ b/src/dev/devMbbiDirectSoftRaw.c @@ -1,7 +1,5 @@ /* devMbbiDirectSoftRaw.c */ /* base/src/dev $Id$ */ - -/* devMbbiDirectSoftRaw.c - Device Support for Direct Soft MBBI */ /* * Original Author: Bob Dalesio * Current Author: Matthew Needes @@ -33,7 +31,6 @@ * (modification log of devMbbiDirectSoftRaw applies) * .01 10-08-93 mcn device support for direct mbbi records. */ - #include #include #include @@ -46,11 +43,9 @@ #include #include #include - /* Create the dset for devMbbiDirectSoftRaw */ static long init_record(); static long read_mbbi(); - struct { long number; DEVSUPFUN report; @@ -64,9 +59,9 @@ struct { NULL, init_record, NULL, - read_mbbi}; + read_mbbi +}; - static long init_record(pmbbi) struct mbbiDirectRecord *pmbbi; { @@ -88,13 +83,12 @@ static long init_record(pmbbi) } return(0); } - + static long read_mbbi(pmbbi) struct mbbiDirectRecord *pmbbi; { long status; status = dbGetLink(&pmbbi->inp,DBR_LONG,&pmbbi->rval,0,0); - return(0); } diff --git a/src/dev/devMbbiSoft.c b/src/dev/devMbbiSoft.c index 4ed5beb2a..3c8fe6fb6 100644 --- a/src/dev/devMbbiSoft.c +++ b/src/dev/devMbbiSoft.c @@ -1,7 +1,5 @@ /* devMbbiSoft.c */ /* base/src/dev $Id$ */ - -/* devMbbiSoft.c - Device Support Routines for Soft Multibit Binary Input*/ /* * Original Author: Bob Dalesio * Current Author: Marty Kraimer @@ -35,13 +33,10 @@ * .03 10-10-92 jba replaced code with recGblGetLinkValue call * ... */ - - #include #include #include #include - #include #include #include @@ -49,12 +44,9 @@ #include #include #include - - /* Create the dset for devMbbiSoft */ static long init_record(); static long read_mbbi(); - struct { long number; DEVSUPFUN report; @@ -68,21 +60,21 @@ struct { NULL, init_record, NULL, - read_mbbi}; + read_mbbi +}; - static long init_record(pmbbi) struct mbbiRecord *pmbbi; { long status; if (pmbbi->inp.type == CONSTANT) { - if(recGblInitConstantLink(&pmbbi->inp,DBF_ENUM,&pmbbi->val)) - pmbbi->udf = FALSE; + if(recGblInitConstantLink(&pmbbi->inp,DBF_ENUM,&pmbbi->val)) + pmbbi->udf = FALSE; } return(0); } - + static long read_mbbi(pmbbi) struct mbbiRecord *pmbbi; { diff --git a/src/dev/devMbbiSoftRaw.c b/src/dev/devMbbiSoftRaw.c index 42c1d692f..c1edec74b 100644 --- a/src/dev/devMbbiSoftRaw.c +++ b/src/dev/devMbbiSoftRaw.c @@ -1,7 +1,5 @@ /* devMbbiSoftRaw.c */ /* base/src/dev $Id$ */ - -/* devMbbiSoftRaw.c - Device Support Routines for Soft Multibit Binary Input*/ /* * Original Author: Bob Dalesio * Current Author: Marty Kraimer @@ -36,8 +34,6 @@ * .04 10-10-92 jba replaced code with recGblGetLinkValue call * ... */ - - #include #include #include @@ -50,11 +46,9 @@ #include #include #include - /* Create the dset for devMbbiSoftRaw */ static long init_record(); static long read_mbbi(); - struct { long number; DEVSUPFUN report; @@ -68,9 +62,9 @@ struct { NULL, init_record, NULL, - read_mbbi}; + read_mbbi +}; - static long init_record(pmbbi) struct mbbiRecord *pmbbi; { @@ -81,7 +75,7 @@ static long init_record(pmbbi) } return(0); } - + static long read_mbbi(pmbbi) struct mbbiRecord *pmbbi; { diff --git a/src/dev/devMbboDirectSoft.c b/src/dev/devMbboDirectSoft.c index a6f9288e1..10eadc768 100644 --- a/src/dev/devMbboDirectSoft.c +++ b/src/dev/devMbboDirectSoft.c @@ -1,7 +1,5 @@ /* devMbboDirectSoft.c */ /* base/src/dev $Id$ */ - -/* devMbboDirectSoft.c - Device Support for Soft mbbo Direct */ /* * Original Author: Bob Dalesio * Current Author: Matthew Needes @@ -33,8 +31,6 @@ * (log for devMbboSoft applies) * 1. 10-08-93 mcn (created) dev support for MbboDirect records */ - - #include #include #include @@ -47,12 +43,9 @@ #include #include #include - -static long init_record(); - /* Create the dset for devMbboSoft */ +static long init_record(); static long write_mbbo(); - struct { long number; DEVSUPFUN report; @@ -66,14 +59,12 @@ struct { NULL, init_record, NULL, - write_mbbo}; - - + write_mbbo +}; static long init_record(pmbbo) struct mbboDirectRecord *pmbbo; { - long status = 0; /* dont convert */ @@ -88,6 +79,5 @@ static long write_mbbo(pmbbo) long status; status = dbPutLink(&pmbbo->out,DBR_USHORT,&pmbbo->val,1); - return(0); } diff --git a/src/dev/devMbboDirectSoftRaw.c b/src/dev/devMbboDirectSoftRaw.c index 4ff3f2db3..6e787ea11 100644 --- a/src/dev/devMbboDirectSoftRaw.c +++ b/src/dev/devMbboDirectSoftRaw.c @@ -1,7 +1,5 @@ /* devMbboDirectSoftRaw.c */ /* base/src/dev $Id$ */ - -/* devMbboDirectSoftRaw.c - Device Support SoftRaw Direct mbbo */ /* * Author: Janet Anderson * Current Author: Matthew Needes @@ -33,8 +31,6 @@ * (log for devMbboSoftRaw.c applies) * .01 10-08-93 mcn (created) device support for devMbboDirect records */ - - #include #include #include @@ -48,11 +44,9 @@ #include #include -static long init_record(); - /* Create the dset for devMbboDirectSoftRaw */ +static long init_record(); static long write_mbbo(); - struct { long number; DEVSUPFUN report; @@ -66,9 +60,8 @@ struct { NULL, init_record, NULL, - write_mbbo}; - - + write_mbbo +}; static long init_record(pmbbo) struct mbboDirectRecord *pmbbo; diff --git a/src/dev/devMbboSoft.c b/src/dev/devMbboSoft.c index 2f1ce54a8..3e929f069 100644 --- a/src/dev/devMbboSoft.c +++ b/src/dev/devMbboSoft.c @@ -1,7 +1,5 @@ /* devMbboSoft.c */ /* base/src/dev $Id$ */ - -/* devMbboSoft.c - Device Support Routines for Soft Multibit Binary Output*/ /* * Original Author: Bob Dalesio * Current Author: Marty Kraimer @@ -36,8 +34,6 @@ * .04 10-10-92 jba replaced code with recGblGetLinkValue call * ... */ - - #include #include #include @@ -50,12 +46,9 @@ #include #include #include - -static long init_record(); - /* Create the dset for devMbboSoft */ +static long init_record(); static long write_mbbo(); - struct { long number; DEVSUPFUN report; @@ -69,9 +62,8 @@ struct { NULL, init_record, NULL, - write_mbbo}; - - + write_mbbo +}; static long init_record(pmbbo) struct mbboRecord *pmbbo; diff --git a/src/dev/devMbboSoftRaw.c b/src/dev/devMbboSoftRaw.c index b6184f7fa..e7bddb98b 100644 --- a/src/dev/devMbboSoftRaw.c +++ b/src/dev/devMbboSoftRaw.c @@ -1,7 +1,5 @@ /* devMbboSoftRaw.c */ /* base/src/dev $Id$ */ - -/* devMbboSoftRaw.c - Device Support Routines for SoftRaw Multibit Binary Output*/ /* * Author: Janet Anderson * Date: 3-28-92 @@ -33,8 +31,6 @@ * .02 10-10-92 jba replaced code with recGblGetLinkValue call * ... */ - - #include #include #include @@ -47,12 +43,9 @@ #include #include #include - -static long init_record(); - /* Create the dset for devMbboSoftRaw */ +static long init_record(); static long write_mbbo(); - struct { long number; DEVSUPFUN report; @@ -66,9 +59,8 @@ struct { NULL, init_record, NULL, - write_mbbo}; - - + write_mbbo +}; static long init_record(pmbbo) struct mbboRecord *pmbbo; diff --git a/src/dev/devPtSoft.c b/src/dev/devPtSoft.c index 891db0870..db57103fe 100644 --- a/src/dev/devPtSoft.c +++ b/src/dev/devPtSoft.c @@ -1,7 +1,5 @@ /* devPtSoft.c */ /* base/src/dev $Id$ */ - -/* devPtSoft.c - Device Support Routines for Soft Pulse Generator Output */ /* * Author: Janet Anderson * Date: 6-1-91 @@ -34,8 +32,6 @@ * .03 10-10-92 jba replaced code with recGblGetLinkValue call * ... */ - - #include #include #include @@ -52,7 +48,6 @@ /* Create the dset for devPtSoft */ static long init_record(); static long write_pt(); - struct { long number; DEVSUPFUN report; @@ -66,7 +61,8 @@ struct { NULL, init_record, NULL, - write_pt}; + write_pt +}; static long init_record(ppt) struct pulseTrainRecord *ppt; diff --git a/src/dev/devSiSoft.c b/src/dev/devSiSoft.c index 781fb67c4..adcb2a066 100644 --- a/src/dev/devSiSoft.c +++ b/src/dev/devSiSoft.c @@ -1,7 +1,5 @@ /* devSiSoft.c */ /* base/src/dev $Id$ */ - -/* devSiSoft.c - Device Support Routines for Soft String Input */ /* * Author: Janet Anderson * Date: 04-21-91 @@ -51,7 +49,6 @@ /* Create the dset for devSiSoft */ static long init_record(); static long read_stringin(); - struct { long number; DEVSUPFUN report; @@ -65,7 +62,8 @@ struct { NULL, init_record, NULL, - read_stringin}; + read_stringin +}; static long init_record(pstringin) struct stringinRecord *pstringin; @@ -89,7 +87,7 @@ static long init_record(pstringin) } return(0); } - + static long read_stringin(pstringin) struct stringinRecord *pstringin; { diff --git a/src/dev/devSoSoft.c b/src/dev/devSoSoft.c index 8411a401c..47a4bff90 100644 --- a/src/dev/devSoSoft.c +++ b/src/dev/devSoSoft.c @@ -1,7 +1,5 @@ /* devSoSoft.c */ /* base/src/dev $Id$ */ - -/* devSoSoft.c - Device Support Routines for Soft String Output */ /* * Author: Janet Anderson * Date: 04-21-91 @@ -50,7 +48,6 @@ /* Create the dset for devSoSoft */ static long init_record(); static long write_stringout(); - struct { long number; DEVSUPFUN report; @@ -64,8 +61,8 @@ struct { NULL, init_record, NULL, - write_stringout}; - + write_stringout +}; static long init_record(pstringout) struct stringoutRecord *pstringout; @@ -79,6 +76,5 @@ static long write_stringout(pstringout) long status; status = dbPutLink(&pstringout->out,DBR_STRING,pstringout->val,1); - return(status); } diff --git a/src/rec/aaiRecord.c b/src/rec/aaiRecord.c index 373467386..d302b0cb8 100644 --- a/src/rec/aaiRecord.c +++ b/src/rec/aaiRecord.c @@ -37,7 +37,7 @@ * Modification Log: * ----------------- */ - + #include #include #include @@ -56,7 +56,7 @@ #define GEN_SIZE_OFFSET #include #undef GEN_SIZE_OFFSET - + /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL @@ -124,12 +124,7 @@ static long init_record(paai,pass) if(paai->nelm<=0) paai->nelm=1; return(0); } - - /* aai.siml must be a CONSTANT or a PV_LINK or a DB_LINK */ - if (paai->siml.type == CONSTANT) { - recGblInitConstantLink(&paai->siml,DBF_USHORT,&paai->simm); - } - + recGblInitConstantLink(&paai->siml,DBF_USHORT,&paai->simm); /* must have dset defined */ if(!(pdset = (struct aaidset *)(paai->dset))) { recGblRecordError(S_dev_noDSET,(void *)paai,"aai: init_record"); @@ -283,7 +278,7 @@ static void monitor(paai) return; } - + static long readValue(paai) struct aaiRecord *paai; { diff --git a/src/rec/aaoRecord.c b/src/rec/aaoRecord.c index d28fa38d5..4b0a12126 100644 --- a/src/rec/aaoRecord.c +++ b/src/rec/aaoRecord.c @@ -37,7 +37,7 @@ * Modification Log: * ----------------- */ - + #include #include #include @@ -56,7 +56,7 @@ #define GEN_SIZE_OFFSET #include #undef GEN_SIZE_OFFSET - + /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL @@ -124,12 +124,7 @@ static long init_record(paao,pass) if(paao->nelm<=0) paao->nelm=1; return(0); } - - /* aao.siml must be a CONSTANT or a PV_LINK or a DB_LINK */ - if (paao->siml.type == CONSTANT) { - recGblInitConstantLink(&paao->siml,DBF_USHORT,&paao->simm); - } - + recGblInitConstantLink(&paao->siml,DBF_USHORT,&paao->simm); /* must have dset defined */ if(!(pdset = (struct aaodset *)(paao->dset))) { recGblRecordError(S_dev_noDSET,(void *)paao,"aao: init_record"); @@ -280,7 +275,7 @@ static void monitor(paao) return; } - + static long writeValue(paao) struct aaoRecord *paao; { diff --git a/src/rec/biRecord.c b/src/rec/biRecord.c index 8876eeefa..6edf7e2f0 100644 --- a/src/rec/biRecord.c +++ b/src/rec/biRecord.c @@ -132,16 +132,8 @@ static long init_record(pbi,pass) if (pass==0) return(0); - /* bi.siml must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/ - if (pbi->siml.type == CONSTANT) { - recGblInitConstantLink(&pbi->siml,DBF_USHORT,&pbi->simm); - } - - /* bi.siol must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/ - if (pbi->siol.type == CONSTANT) { - recGblInitConstantLink(&pbi->siol,DBF_USHORT,&pbi->sval); - } - + recGblInitConstantLink(&pbi->siml,DBF_USHORT,&pbi->simm); + recGblInitConstantLink(&pbi->siol,DBF_USHORT,&pbi->sval); if(!(pdset = (struct bidset *)(pbi->dset))) { recGblRecordError(S_dev_noDSET,(void *)pbi,"bi: init_record"); return(S_dev_noDSET); @@ -275,7 +267,7 @@ static void alarm(pbi) pbi->lalm = val; return; } - + static void monitor(pbi) struct biRecord *pbi; { diff --git a/src/rec/compressRecord.c b/src/rec/compressRecord.c index 1cee28dfd..9faf7d90d 100644 --- a/src/rec/compressRecord.c +++ b/src/rec/compressRecord.c @@ -83,7 +83,7 @@ static long init_record(); static long process(); static long special(); -static long get_value(); +#define get_value NULL static long cvt_dbaddr(); static long get_array_info(); static long put_array_info(); @@ -114,217 +114,19 @@ struct rset compressRSET={ put_enum_str, get_graphic_double, get_control_double, - get_alarm_double }; - -#define compressNTO1LOW 0 -#define compressNTO1HIGH 1 -#define compressNTO1AVG 2 -#define AVERAGE 3 -#define CIRBUF 4 - -static void monitor(); -static void put_value(); -static int compress_array(); -static int compress_scalar(); -static int array_average(); - + get_alarm_double +}; -static long init_record(pcompress,pass) - struct compressRecord *pcompress; - int pass; +static void reset(compressRecord *pcompress) { - - if (pass==0){ - pcompress->bptr = (double *)calloc(pcompress->nsam,sizeof(double)); - /* allocate memory for the summing buffer for conversions requiring it */ - if (pcompress->alg == AVERAGE){ - pcompress->sptr = (double *)calloc(pcompress->nsam,sizeof(double)); - } - return(0); - } - if(pcompress->wptr==NULL && pcompress->inp.type==DB_LINK) { - struct dbAddr *pdbAddr = - (struct dbAddr *)(pcompress->inp.value.pv_link.pvt); - - pcompress->wptr = (double *)calloc(pdbAddr->no_elements,sizeof(double)); - } - return(0); + pcompress->nuse = 0; + pcompress->off= 0; + pcompress->inx = 0; + pcompress->cvb = 0.0; + pcompress->res = 0; } - -static long process(pcompress) - struct compressRecord *pcompress; -{ - long status=0; - - pcompress->pact = TRUE; - - if (pcompress->inp.type == CONSTANT) { - status=0; - }else if (pcompress->wptr == NULL) { - recGblSetSevr(pcompress,READ_ALARM,INVALID_ALARM); - status=0; - } else { - struct dbAddr *pdbAddr = - (struct dbAddr *)(pcompress->inp.value.pv_link.pvt); - long no_elements=pdbAddr->no_elements; - int alg=pcompress->alg; - - if(dbGetLink(&pcompress->inp,DBF_DOUBLE, - pcompress->wptr,0,&no_elements)!=0){ - recGblSetSevr(pcompress,LINK_ALARM,INVALID_ALARM); - } - - if(alg==AVERAGE) { - status = array_average(pcompress,pcompress->wptr,no_elements); - } else if(alg==CIRBUF) { - (void)put_value(pcompress,pcompress->wptr,no_elements); - status = 0; - } else if(pdbAddr->no_elements>1) { - status = compress_array(pcompress,pcompress->wptr,no_elements); - }else if(no_elements==1){ - status = compress_scalar(pcompress,pcompress->wptr); - }else status=1; - } - - /* check event list */ - if(status!=1) { - pcompress->udf=FALSE; - recGblGetTimeStamp(pcompress); - monitor(pcompress); - /* process the forward scan link record */ - recGblFwdLink(pcompress); - } - pcompress->pact=FALSE; - return(0); -} - - -static long special(paddr,after) - struct dbAddr *paddr; - int after; -{ - struct compressRecord *pcompress = (struct compressRecord *)(paddr->precord); - int special_type = paddr->special; - - if(!after) return(0); - switch(special_type) { - case(SPC_RESET): - pcompress->nuse = 0; - pcompress->off= 0; - pcompress->inx = 0; - pcompress->cvb = 0.0; - pcompress->res = 0; - return(0); - default: - recGblDbaddrError(S_db_badChoice,paddr,"compress: special"); - return(S_db_badChoice); - } -} - -static long get_value(pcompress,pvdes) - struct compressRecord *pcompress; - struct valueDes *pvdes; -{ - pvdes->field_type = DBF_DOUBLE; - pvdes->no_elements=pcompress->nuse; - (double *)(pvdes->pvalue) = pcompress->bptr; - return(0); -} - -static long cvt_dbaddr(paddr) - struct dbAddr *paddr; -{ - struct compressRecord *pcompress=(struct compressRecord *)paddr->precord; - - paddr->pfield = (void *)(pcompress->bptr); - paddr->no_elements = pcompress->nsam; - paddr->field_type = DBF_DOUBLE; - paddr->field_size = sizeof(double); - paddr->dbr_field_type = DBF_DOUBLE; - return(0); -} - -static long get_array_info(paddr,no_elements,offset) - struct dbAddr *paddr; - long *no_elements; - long *offset; -{ - struct compressRecord *pcompress=(struct compressRecord *)paddr->precord; - - *no_elements = pcompress->nuse; - if(pcompress->nuse==pcompress->nsam) *offset = pcompress->off; - else *offset = 0; - return(0); -} - -static long put_array_info(paddr,nNew) - struct dbAddr *paddr; - long nNew; -{ - struct compressRecord *pcompress=(struct compressRecord *)paddr->precord; - - pcompress->off = (pcompress->off + nNew) % (pcompress->nsam); - pcompress->nuse = (pcompress->nuse + nNew); - if(pcompress->nuse > pcompress->nsam) pcompress->nuse = pcompress->nsam; - return(0); -} - -static long get_units(paddr,units) - struct dbAddr *paddr; - char *units; -{ - struct compressRecord *pcompress=(struct compressRecord *)paddr->precord; - - strncpy(units,pcompress->egu,DB_UNITS_SIZE); - return(0); -} - -static long get_precision(paddr,precision) - struct dbAddr *paddr; - long *precision; -{ - struct compressRecord *pcompress=(struct compressRecord *)paddr->precord; - - *precision = pcompress->prec; - if(paddr->pfield == (void *)pcompress->bptr) return(0); - recGblGetPrec(paddr,precision); - return(0); -} - -static long get_graphic_double(paddr,pgd) - struct dbAddr *paddr; - struct dbr_grDouble *pgd; -{ - struct compressRecord *pcompress=(struct compressRecord *)paddr->precord; - - if(paddr->pfield==(void *)pcompress->bptr - || paddr->pfield==(void *)&pcompress->ihil - || paddr->pfield==(void *)&pcompress->ilil){ - pgd->upper_disp_limit = pcompress->hopr; - pgd->lower_disp_limit = pcompress->lopr; - } else recGblGetGraphicDouble(paddr,pgd); - return(0); -} - -static long get_control_double(paddr,pcd) - struct dbAddr *paddr; - struct dbr_ctrlDouble *pcd; -{ - struct compressRecord *pcompress=(struct compressRecord *)paddr->precord; - - if(paddr->pfield==(void *)pcompress->bptr - || paddr->pfield==(void *)&pcompress->ihil - || paddr->pfield==(void *)&pcompress->ilil){ - pcd->upper_ctrl_limit = pcompress->hopr; - pcd->lower_ctrl_limit = pcompress->lopr; - } else recGblGetControlDouble(paddr,pcd); - return(0); -} - - -static void monitor(pcompress) - struct compressRecord *pcompress; +static void monitor(compressRecord *pcompress) { unsigned short monitor_mask; @@ -333,11 +135,8 @@ static void monitor(pcompress) if(monitor_mask) db_post_events(pcompress,pcompress->bptr,monitor_mask); return; } - -static void put_value(pcompress,psource,n) - struct compressRecord *pcompress; - double *psource; - long n; + +static void put_value(compressRecord *pcompress,double *psource, long n) { /* treat bptr as pointer to a circular buffer*/ double *pdest; @@ -362,10 +161,8 @@ static void put_value(pcompress,psource,n) return; } -static int compress_array(pcompress,psource,no_elements) -struct compressRecord *pcompress; -double *psource; -long no_elements; +static int compress_array(compressRecord *pcompress, + double *psource,long no_elements) { long i,j; long nnew; @@ -391,7 +188,7 @@ long no_elements; /* compress according to specified algorithm */ switch (pcompress->alg){ - case (compressNTO1LOW): + case (compressALG_N_to_1_Low_Value): /* compress N to 1 keeping the lowest value */ for (i = 0; i < nnew; i++){ value = *psource++; @@ -401,7 +198,7 @@ long no_elements; put_value(pcompress,&value,1); } break; - case (compressNTO1HIGH): + case (compressALG_N_to_1_High_Value): /* compress N to 1 keeping the highest value */ for (i = 0; i < nnew; i++){ value = *psource++; @@ -411,7 +208,7 @@ long no_elements; put_value(pcompress,&value,1); } break; - case (compressNTO1AVG): + case (compressALG_N_to_1_Average): /* compress N to 1 keeping the average value */ for (i = 0; i < nnew; i++){ value = 0; @@ -425,10 +222,8 @@ long no_elements; return(0); } -static int array_average(pcompress,psource,no_elements) -struct compressRecord *pcompress; -double *psource; -long no_elements; +static int array_average(compressRecord *pcompress, + double *psource,long no_elements) { long i; long nnow; @@ -436,12 +231,10 @@ long no_elements; double *psum; double multiplier; long inx=pcompress->inx; - struct dbAddr *pdbAddr = (struct dbAddr *)(pcompress->inp.value.pv_link.pvt); - long ninp=pdbAddr->no_elements; long nuse,n; nuse = nsam; - if(nuse>ninp) nuse = ninp; + if(nuse>no_elements) nuse = no_elements; nnow=nuse; if(nnow>no_elements) nnow=no_elements; psum = (double *)pcompress->sptr; @@ -475,9 +268,7 @@ long no_elements; return(0); } -static int compress_scalar(pcompress,psource) -struct compressRecord *pcompress; -double *psource; +static int compress_scalar(struct compressRecord *pcompress,double *psource) { double value = *psource; double *pdest=&pcompress->cvb; @@ -485,15 +276,15 @@ double *psource; /* compress according to specified algorithm */ switch (pcompress->alg){ - case (compressNTO1LOW): + case (compressALG_N_to_1_Low_Value): if ((value < *pdest) || (inx == 0)) *pdest = value; break; - case (compressNTO1HIGH): + case (compressALG_N_to_1_High_Value): if ((value > *pdest) || (inx == 0)) *pdest = value; break; - case (compressNTO1AVG): + case (compressALG_N_to_1_Average): if (inx == 0) *pdest = value; else { @@ -512,3 +303,175 @@ double *psource; return(1); } } + +/*Beginning of record support routines*/ +static long init_record(pcompress,pass) + compressRecord *pcompress; + int pass; +{ + if (pass==0){ + if(pcompress->nsam<1) pcompress->nsam = 1; + pcompress->bptr = (double *)calloc(pcompress->nsam,sizeof(double)); + /* allocate memory for the summing buffer for conversions requiring it */ + if (pcompress->alg == compressALG_Average){ + pcompress->sptr = (double *)calloc(pcompress->nsam,sizeof(double)); + } + } + return(0); +} + +static long process(pcompress) + compressRecord *pcompress; +{ + long status=0; + long nelements = 0; + int alg = pcompress->alg; + + pcompress->pact = TRUE; + if(!dbIsLinkConnected(&pcompress->inp) + || !dbGetNelements(&pcompress->inp,&nelements) + || nelements<=0) { + recGblSetSevr(pcompress,READ_ALARM,INVALID_ALARM); + } else { + if(!pcompress->wptr || nelements!=pcompress->inpn) { + free(pcompress->wptr); + pcompress->wptr = (double *)dbCalloc(nelements,sizeof(double)); + pcompress->inpn = nelements; + reset(pcompress); + } + status = dbGetLink(&pcompress->inp,DBF_DOUBLE,pcompress->wptr,0,&nelements); + if(status || nelements<=0) { + recGblSetSevr(pcompress,LINK_ALARM,INVALID_ALARM); + status = 0; + } else { + if(alg==compressALG_Average) { + status = array_average(pcompress,pcompress->wptr,nelements); + } else if(alg==compressALG_Circular_Buffer) { + (void)put_value(pcompress,pcompress->wptr,nelements); + status = 0; + } else if(nelements>1) { + status = compress_array(pcompress,pcompress->wptr,nelements); + }else if(nelements==1){ + status = compress_scalar(pcompress,pcompress->wptr); + }else status=1; + } + } + /* check event list */ + if(status!=1) { + pcompress->udf=FALSE; + recGblGetTimeStamp(pcompress); + monitor(pcompress); + /* process the forward scan link record */ + recGblFwdLink(pcompress); + } + pcompress->pact=FALSE; + return(0); +} + +static long special(paddr,after) + struct dbAddr *paddr; + int after; +{ + compressRecord *pcompress = (compressRecord *)(paddr->precord); + int special_type = paddr->special; + + if(!after) return(0); + switch(special_type) { + case(SPC_RESET): + reset(pcompress); + return(0); + default: + recGblDbaddrError(S_db_badChoice,paddr,"compress: special"); + return(S_db_badChoice); + } +} + +static long cvt_dbaddr(paddr) + struct dbAddr *paddr; +{ + compressRecord *pcompress=(compressRecord *)paddr->precord; + + paddr->pfield = (void *)(pcompress->bptr); + paddr->no_elements = pcompress->nsam; + paddr->field_type = DBF_DOUBLE; + paddr->field_size = sizeof(double); + paddr->dbr_field_type = DBF_DOUBLE; + return(0); +} + +static long get_array_info(paddr,no_elements,offset) + struct dbAddr *paddr; + long *no_elements; + long *offset; +{ + compressRecord *pcompress=(compressRecord *)paddr->precord; + + *no_elements = pcompress->nuse; + if(pcompress->nuse==pcompress->nsam) *offset = pcompress->off; + else *offset = 0; + return(0); +} + +static long put_array_info(paddr,nNew) + struct dbAddr *paddr; + long nNew; +{ + compressRecord *pcompress=(compressRecord *)paddr->precord; + + pcompress->off = (pcompress->off + nNew) % (pcompress->nsam); + pcompress->nuse = (pcompress->nuse + nNew); + if(pcompress->nuse > pcompress->nsam) pcompress->nuse = pcompress->nsam; + return(0); +} + +static long get_units(paddr,units) + struct dbAddr *paddr; + char *units; +{ + compressRecord *pcompress=(compressRecord *)paddr->precord; + + strncpy(units,pcompress->egu,DB_UNITS_SIZE); + return(0); +} + +static long get_precision(paddr,precision) + struct dbAddr *paddr; + long *precision; +{ + compressRecord *pcompress=(compressRecord *)paddr->precord; + + *precision = pcompress->prec; + if(paddr->pfield == (void *)pcompress->bptr) return(0); + recGblGetPrec(paddr,precision); + return(0); +} + +static long get_graphic_double(paddr,pgd) + struct dbAddr *paddr; + struct dbr_grDouble *pgd; +{ + compressRecord *pcompress=(compressRecord *)paddr->precord; + + if(paddr->pfield==(void *)pcompress->bptr + || paddr->pfield==(void *)&pcompress->ihil + || paddr->pfield==(void *)&pcompress->ilil){ + pgd->upper_disp_limit = pcompress->hopr; + pgd->lower_disp_limit = pcompress->lopr; + } else recGblGetGraphicDouble(paddr,pgd); + return(0); +} + +static long get_control_double(paddr,pcd) + struct dbAddr *paddr; + struct dbr_ctrlDouble *pcd; +{ + compressRecord *pcompress=(compressRecord *)paddr->precord; + + if(paddr->pfield==(void *)pcompress->bptr + || paddr->pfield==(void *)&pcompress->ihil + || paddr->pfield==(void *)&pcompress->ilil){ + pcd->upper_ctrl_limit = pcompress->hopr; + pcd->lower_ctrl_limit = pcompress->lopr; + } else recGblGetControlDouble(paddr,pcd); + return(0); +} diff --git a/src/rec/compressRecord.dbd b/src/rec/compressRecord.dbd index 52568f1a6..a8fad1e0b 100644 --- a/src/rec/compressRecord.dbd +++ b/src/rec/compressRecord.dbd @@ -107,6 +107,11 @@ recordtype(compress) { size(4) extra("double *wptr") } + field(INPN,DBF_LONG) { + prompt("Number of elements in Working Buffer") + special(SPC_NOMOD) + interest(4) + } field(CVB,DBF_DOUBLE) { prompt("Compress Value Buffer") special(SPC_NOMOD) diff --git a/src/rec/dfanoutRecord.c b/src/rec/dfanoutRecord.c index 83dff38b0..dce44763d 100644 --- a/src/rec/dfanoutRecord.c +++ b/src/rec/dfanoutRecord.c @@ -93,38 +93,28 @@ static long init_record(pdfanout,pass) } return(0); } - + static long process(pdfanout) struct dfanoutRecord *pdfanout; { - long status=0; - unsigned char pact=pdfanout->pact; - - if (!pdfanout->pact && pdfanout->omsl == CLOSED_LOOP){ - status = dbGetLink(&(pdfanout->dol), - DBR_LONG,&(pdfanout->val),0,0); - if(pdfanout->dol.type!=CONSTANT && RTN_SUCCESS(status)) pdfanout->udf=FALSE; - } - - pdfanout->pact = TRUE; - - recGblGetTimeStamp(pdfanout); + long status=0; + unsigned char pact=pdfanout->pact; + if (!pdfanout->pact && pdfanout->omsl == CLOSED_LOOP){ + status = dbGetLink(&(pdfanout->dol),DBR_LONG,&(pdfanout->val),0,0); + if(pdfanout->dol.type!=CONSTANT && RTN_SUCCESS(status)) pdfanout->udf=FALSE; + } + pdfanout->pact = TRUE; + recGblGetTimeStamp(pdfanout); /* Push out the data to all the forward links */ - status = push_values(pdfanout); - /* check for alarms */ - alarm(pdfanout); - /* check event list */ - monitor(pdfanout); - - /* process the forward scan link record */ - recGblFwdLink(pdfanout); - - - pdfanout->pact=FALSE; - return(status); + status = push_values(pdfanout); + alarm(pdfanout); + monitor(pdfanout); + recGblFwdLink(pdfanout); + pdfanout->pact=FALSE; + return(status); } - + static long get_value(pdfanout,pvdes) struct dfanoutRecord *pdfanout; struct valueDes *pvdes; @@ -134,7 +124,7 @@ static long get_value(pdfanout,pvdes) (long *)(pvdes->pvalue) = &pdfanout->val; return(0); } - + static long get_units(paddr,units) struct dbAddr *paddr; char *units; @@ -204,34 +194,35 @@ static void alarm(pdfanout) recGblSetSevr(pdfanout,UDF_ALARM,INVALID_ALARM); return; } - hihi = pdfanout->hihi; lolo = pdfanout->lolo; high = pdfanout->high; low = pdfanout->low; - hhsv = pdfanout->hhsv; llsv = pdfanout->llsv; hsv = pdfanout->hsv; lsv = pdfanout->lsv; + hihi = pdfanout->hihi; lolo = pdfanout->lolo; + high = pdfanout->high; low = pdfanout->low; + hhsv = pdfanout->hhsv; llsv = pdfanout->llsv; + hsv = pdfanout->hsv; lsv = pdfanout->lsv; val = pdfanout->val; hyst = pdfanout->hyst; lalm = pdfanout->lalm; - /* alarm condition hihi */ if (hhsv && (val >= hihi || ((lalm==hihi) && (val >= hihi-hyst)))){ - if (recGblSetSevr(pdfanout,HIHI_ALARM,pdfanout->hhsv)) pdfanout->lalm = hihi; - return; + if(recGblSetSevr(pdfanout,HIHI_ALARM,pdfanout->hhsv)) + pdfanout->lalm = hihi; + return; } - /* alarm condition lolo */ if (llsv && (val <= lolo || ((lalm==lolo) && (val <= lolo+hyst)))){ - if (recGblSetSevr(pdfanout,LOLO_ALARM,pdfanout->llsv)) pdfanout->lalm = lolo; - return; + if(recGblSetSevr(pdfanout,LOLO_ALARM,pdfanout->llsv)) + pdfanout->lalm = lolo; + return; } - /* alarm condition high */ if (hsv && (val >= high || ((lalm==high) && (val >= high-hyst)))){ - if (recGblSetSevr(pdfanout,HIGH_ALARM,pdfanout->hsv)) pdfanout->lalm = high; - return; + if(recGblSetSevr(pdfanout,HIGH_ALARM,pdfanout->hsv)) + pdfanout->lalm = high; + return; } - /* alarm condition low */ if (lsv && (val <= low || ((lalm==low) && (val <= low+hyst)))){ - if (recGblSetSevr(pdfanout,LOW_ALARM,pdfanout->lsv)) pdfanout->lalm = low; - return; + if(recGblSetSevr(pdfanout,LOW_ALARM,pdfanout->lsv)) + pdfanout->lalm = low; + return; } - /* we get here only if val is out of alarm by at least hyst */ pdfanout->lalm = val; return; @@ -270,7 +261,7 @@ static void monitor(pdfanout) } return; } - + static long push_values(pdfanout) struct dfanoutRecord *pdfanout; { diff --git a/src/rec/fanoutRecord.c b/src/rec/fanoutRecord.c index 9aed8e072..bf00b8656 100644 --- a/src/rec/fanoutRecord.c +++ b/src/rec/fanoutRecord.c @@ -101,35 +101,46 @@ struct rset fanoutRSET={ put_enum_str, get_graphic_double, get_control_double, - get_alarm_double }; - -#define SELECT_ALL 0 -#define SELECTED 1 -#define SELECT_MASK 2 - + get_alarm_double +}; static long init_record(pfanout,pass) struct fanoutRecord *pfanout; int pass; { -/* Added for Channel Access Links */ long status; if (pass==0) return(0); - - /* get link selection if sell is a constant and nonzero*/ - if (pfanout->sell.type == CONSTANT) { - recGblInitConstantLink(&pfanout->sell,DBF_USHORT,&pfanout->seln); - } + recGblInitConstantLink(&pfanout->sell,DBF_USHORT,&pfanout->seln); return(0); } +static void scanLink(fanoutRecord *pfanout,struct link *plink) +{ + /*This routine pokes into private db stuff */ + void *precord = (void *)pfanout; + struct pv_link *pvlink; + short fwdLinkValue; + + if(plink->type==CONSTANT) return; + if(plink->type==DB_LINK) { + DBADDR *paddr = (DBADDR *)plink->value.pv_link.pvt; + dbScanPassive(precord,paddr->precord); + return; + } + if(plink->type!=CA_LINK) return; + pvlink = &plink->value.pv_link; + if(!(pvlink->pvlMask & pvlOptFWD)) return; + fwdLinkValue = 1; + dbCaPutLink(plink,DBR_SHORT,&fwdLinkValue,1); + return; +} + static long process(pfanout) struct fanoutRecord *pfanout; { unsigned short stat,sevr,nsta,nsev; - struct link *plink; unsigned short state; short i; @@ -141,21 +152,15 @@ static long process(pfanout) /* fetch link selection */ dbGetLink(&(pfanout->sell),DBR_USHORT,&(pfanout->seln),0,0); switch (pfanout->selm){ - case (SELECT_ALL): - if (pfanout->lnk1.type!=CONSTANT) - dbScanPassive((void *)pfanout,((struct dbAddr *)pfanout->lnk1.value.pv_link.pvt)->precord); - if (pfanout->lnk2.type!=CONSTANT) - dbScanPassive((void *)pfanout,((struct dbAddr *)pfanout->lnk2.value.pv_link.pvt)->precord); - if (pfanout->lnk3.type!=CONSTANT) - dbScanPassive((void *)pfanout,((struct dbAddr *)pfanout->lnk3.value.pv_link.pvt)->precord); - if (pfanout->lnk4.type!=CONSTANT) - dbScanPassive((void *)pfanout,((struct dbAddr *)pfanout->lnk4.value.pv_link.pvt)->precord); - if (pfanout->lnk5.type!=CONSTANT) - dbScanPassive((void *)pfanout,((struct dbAddr *)pfanout->lnk5.value.pv_link.pvt)->precord); - if (pfanout->lnk6.type!=CONSTANT) - dbScanPassive((void *)pfanout,((struct dbAddr *)pfanout->lnk6.value.pv_link.pvt)->precord); + case (fanoutSELM_All): + if (pfanout->lnk1.type!=CONSTANT) scanLink(pfanout,&pfanout->lnk1); + if (pfanout->lnk2.type!=CONSTANT) scanLink(pfanout,&pfanout->lnk2); + if (pfanout->lnk3.type!=CONSTANT) scanLink(pfanout,&pfanout->lnk3); + if (pfanout->lnk4.type!=CONSTANT) scanLink(pfanout,&pfanout->lnk4); + if (pfanout->lnk5.type!=CONSTANT) scanLink(pfanout,&pfanout->lnk5); + if (pfanout->lnk6.type!=CONSTANT) scanLink(pfanout,&pfanout->lnk6); break; - case (SELECTED): + case (fanoutSELM_Specified): if(pfanout->seln>6) { recGblSetSevr(pfanout,SOFT_ALARM,INVALID_ALARM); break; @@ -165,9 +170,9 @@ static long process(pfanout) } plink=&(pfanout->lnk1); plink += (pfanout->seln-1); - dbScanPassive((void *)pfanout,((struct dbAddr *)plink->value.pv_link.pvt)->precord); + scanLink(pfanout,plink); break; - case (SELECT_MASK): + case (fanoutSELM_Mask): if(pfanout->seln==0) { break; } @@ -178,8 +183,7 @@ static long process(pfanout) plink=&(pfanout->lnk1); state=pfanout->seln; for ( i=0; i<6; i++, state>>=1, plink++) { - if(state & 1 && plink->type!=CONSTANT) - dbScanPassive((void *)pfanout,((struct dbAddr *)plink->value.pv_link.pvt)->precord); + if(state & 1 && plink->type!=CONSTANT) scanLink(pfanout,plink); } break; default: @@ -192,7 +196,6 @@ static long process(pfanout) monitor_mask = recGblResetAlarms(pfanout); /* process the forward scan link record */ recGblFwdLink(pfanout); - pfanout->pact=FALSE; return(0); } diff --git a/src/rec/longoutRecord.c b/src/rec/longoutRecord.c index dd78f1536..74a9d10e7 100644 --- a/src/rec/longoutRecord.c +++ b/src/rec/longoutRecord.c @@ -1,7 +1,5 @@ /* recLongout.c */ /* base/src/rec $Id$ */ - -/* recLongout.c - Record Support Routines for Longout records */ /* * Author: Janet Anderson * Date: 9/23/91 @@ -45,8 +43,6 @@ * .14 09-18-92 jba pact now set in recGblGetLinkValue * .15 03-29-94 mcn converted to fast links */ - - #include #include #include @@ -71,7 +67,7 @@ static long init_record(); static long process(); #define special NULL -static long get_value(); +#define get_value NULL #define cvt_dbaddr NULL #define get_array_info NULL #define put_array_info NULL @@ -126,12 +122,9 @@ static long init_record(plongout,pass) long status=0; if (pass==0) return(0); - - /* longout.siml must be a CONSTANT or a PV_LINK or a DB_LINK */ if (plongout->siml.type == CONSTANT) { recGblInitConstantLink(&plongout->siml,DBF_USHORT,&plongout->simm); } - if(!(pdset = (struct longoutdset *)(plongout->dset))) { recGblRecordError(S_dev_noDSET,(void *)plongout,"longout: init_record"); return(S_dev_noDSET); @@ -141,12 +134,10 @@ static long init_record(plongout,pass) recGblRecordError(S_dev_missingSup,(void *)plongout,"longout: init_record"); return(S_dev_missingSup); } - /* get the initial value dol is a constant*/ if (plongout->dol.type == CONSTANT) { if(recGblInitConstantLink(&plongout->dol,DBF_LONG,&plongout->val)) plongout->udf=FALSE; } - if( pdset->init_record ) { if((status=(*pdset->init_record)(plongout))) return(status); } @@ -215,16 +206,6 @@ static long process(plongout) return(status); } -static long get_value(plongout,pvdes) - struct longoutRecord *plongout; - struct valueDes *pvdes; -{ - pvdes->field_type = DBF_LONG; - pvdes->no_elements=1; - (long *)(pvdes->pvalue) = &plongout->val; - return(0); -} - static long get_units(paddr,units) struct dbAddr *paddr; char *units; diff --git a/src/rec/mbbiRecord.c b/src/rec/mbbiRecord.c index 9816d5b93..27e4f46f3 100644 --- a/src/rec/mbbiRecord.c +++ b/src/rec/mbbiRecord.c @@ -1,7 +1,5 @@ /* recMbbi.c */ /* base/src/rec $Id$ */ - -/* recMbbi.c - Record Support Routines for multi bit binary Input records */ /* * Original Author: Bob Dalesio * Current Author: Marty Kraimer @@ -62,7 +60,6 @@ #include #include #include - #include #include #include @@ -80,7 +77,7 @@ static long init_record(); static long process(); static long special(); -static long get_value(); +#define get_value NULL #define cvt_dbaddr NULL #define get_array_info NULL #define put_array_info NULL @@ -92,7 +89,6 @@ static long put_enum_str(); #define get_graphic_double NULL #define get_control_double NULL #define get_alarm_double NULL - struct rset mbbiRSET={ RSETNUMBER, report, @@ -124,7 +120,6 @@ struct mbbidset { /* multi bit binary input dset */ static void alarm(); static void monitor(); static long readValue(); - static void init_common(pmbbi) struct mbbiRecord *pmbbi; @@ -155,16 +150,12 @@ static long init_record(pmbbi,pass) if (pass==0) return(0); - /* mbbi.siml must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/ if (pmbbi->siml.type == CONSTANT) { recGblInitConstantLink(&pmbbi->siml,DBF_USHORT,&pmbbi->simm); } - - /* mbbi.siol must be a CONSTANT or a PV_LINK or a DB_LINK or a CA_LINK*/ if (pmbbi->siol.type == CONSTANT) { recGblInitConstantLink(&pmbbi->siol,DBF_USHORT,&pmbbi->sval); } - if(!(pdset = (struct mbbidset *)(pmbbi->dset))) { recGblRecordError(S_dev_noDSET,(void *)pmbbi,"mbbi: init_record"); return(S_dev_noDSET); @@ -264,16 +255,6 @@ static long special(paddr,after) } } -static long get_value(pmbbi,pvdes) - struct mbbiRecord *pmbbi; - struct valueDes *pvdes; -{ - pvdes->field_type = DBF_ENUM; - pvdes->no_elements=1; - (unsigned short *)(pvdes->pvalue) = &pmbbi->val; - return(0); -} - static long get_enum_str(paddr,pstring) struct dbAddr *paddr; char *pstring; @@ -310,6 +291,7 @@ static long get_enum_strs(paddr,pes) pes->no_str=no_str; return(0); } + static long put_enum_str(paddr,pstring) struct dbAddr *paddr; char *pstring; @@ -331,7 +313,7 @@ static long put_enum_str(paddr,pstring) } return(S_db_badChoice); } - + static void alarm(pmbbi) struct mbbiRecord *pmbbi; { diff --git a/src/rec/pidRecord.c b/src/rec/pidRecord.c index e6225b096..d5e6ef9d8 100644 --- a/src/rec/pidRecord.c +++ b/src/rec/pidRecord.c @@ -68,7 +68,7 @@ unsigned long tickGet(); static long init_record(); static long process(); #define special NULL -static long get_value(); +#define get_value NULL #define cvt_dbaddr NULL #define get_array_info NULL #define put_array_info NULL @@ -111,20 +111,15 @@ static long init_record(ppid,pass) struct pidRecord *ppid; int pass; { - /* Added for Channel Access Links */ - long status; - if (pass==0) return(0); - /* initialize the setpoint for constant setpoint */ if (ppid->stpl.type == CONSTANT){ if(recGblInitConstantLink(&ppid->stpl,DBF_FLOAT,&ppid->val)) ppid->udf = FALSE; } - return(0); } - + static long process(ppid) struct pidRecord *ppid; { @@ -136,31 +131,13 @@ static long process(ppid) ppid->pact = FALSE; return(0); } - recGblGetTimeStamp(ppid); - /* check for alarms */ alarm(ppid); - - - /* check event list */ monitor(ppid); - - /* process the forward scan link record */ recGblFwdLink(ppid); - ppid->pact=FALSE; return(status); } - -static long get_value(ppid,pvdes) - struct pidRecord *ppid; - struct valueDes *pvdes; -{ - pvdes->field_type = DBF_FLOAT; - pvdes->no_elements=1; - (float *)(pvdes->pvalue) = &ppid->val; - return(0); -} static long get_units(paddr,units) struct dbAddr *paddr; diff --git a/src/rec/pulseDelayRecord.c b/src/rec/pulseDelayRecord.c index 99c68c3ec..9dafce017 100644 --- a/src/rec/pulseDelayRecord.c +++ b/src/rec/pulseDelayRecord.c @@ -188,35 +188,21 @@ static long process(ppd) } - if (status==0) status=(*pdset->write_pd)(ppd); /* write the new value */ + if (status==0) status=(*pdset->write_pd)(ppd); /* write the new value */ - /* reset field causing processing parameter */ - /* used to be set to zero, use a bit to detect val field change */ - ppd->pfld&=0x0f00; + /* reset field causing processing parameter */ + /* used to be set to zero, use a bit to detect val field change */ + ppd->pfld&=0x0f00; - /* check if device support set pact */ - if ( !pact && ppd->pact ) return(0); - ppd->pact = TRUE; - - ppd->udf=FALSE; - recGblGetTimeStamp(ppd); - - /* check event list */ - monitor(ppd); - - /* process the forward scan link record */ - recGblFwdLink(ppd); - - ppd->pact=FALSE; - - if(status) - { - recGblSetSevr(ppd,READ_ALARM,INVALID_ALARM); - } - - return(0); - /* return(status); if card missing, causing error on console for - db_get */ + /* check if device support set pact */ + if ( !pact && ppd->pact ) return(0); + ppd->pact = TRUE; + ppd->udf=FALSE; + recGblGetTimeStamp(ppd); + monitor(ppd); + recGblFwdLink(ppd); + ppd->pact=FALSE; + return(0); } static long get_value(ppd,pvdes) diff --git a/src/rec/pulseTrainRecord.c b/src/rec/pulseTrainRecord.c index ba6ad6004..4a02609fd 100644 --- a/src/rec/pulseTrainRecord.c +++ b/src/rec/pulseTrainRecord.c @@ -208,7 +208,7 @@ static long process(ppt) recGblFwdLink(ppt); ppt->pact=FALSE; - return(status); + return(0); } static long get_value(ppt,pvdes) diff --git a/src/rec/waveformRecord.c b/src/rec/waveformRecord.c index ebcae5ed7..bffe69630 100644 --- a/src/rec/waveformRecord.c +++ b/src/rec/waveformRecord.c @@ -78,14 +78,13 @@ #define GEN_SIZE_OFFSET #include #undef GEN_SIZE_OFFSET - /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL static long init_record(); static long process(); #define special NULL -static long get_value(); +#define get_value NULL static long cvt_dbaddr(); static long get_array_info(); static long put_array_info(); @@ -97,7 +96,6 @@ static long get_precision(); static long get_graphic_double(); static long get_control_double(); #define get_alarm_double NULL - struct rset waveformRSET={ RSETNUMBER, report, @@ -117,7 +115,6 @@ struct rset waveformRSET={ get_graphic_double, get_control_double, get_alarm_double }; - struct wfdset { /* waveform dset */ long number; DEVSUPFUN dev_report; @@ -126,18 +123,10 @@ struct wfdset { /* waveform dset */ DEVSUPFUN get_ioint_info; DEVSUPFUN read_wf; /*returns: (-1,0)=>(failure,success)*/ }; - /*sizes of field types*/ static int sizeofTypes[] = {0,1,1,2,2,4,4,4,8,2}; - static void monitor(); static long readValue(); - -/*Following from timing system */ -/* -extern unsigned int gts_trigger_counter; -*/ - static long init_record(pwf,pass) struct waveformRecord *pwf; @@ -214,17 +203,6 @@ static long process(pwf) return(0); } -static long get_value(pwf,pvdes) - struct waveformRecord *pwf; - struct valueDes *pvdes; -{ - - pvdes->no_elements=pwf->nord; - pvdes->pvalue = pwf->bptr; - pvdes->field_type = pwf->ftvl; - return(0); -} - static long cvt_dbaddr(paddr) struct dbAddr *paddr; { @@ -238,7 +216,7 @@ static long cvt_dbaddr(paddr) paddr->dbr_field_type = pwf->ftvl; return(0); } - + static long get_array_info(paddr,no_elements,offset) struct dbAddr *paddr; long *no_elements; @@ -261,7 +239,7 @@ static long put_array_info(paddr,nNew) if(pwf->nord > pwf->nelm) pwf->nord = pwf->nelm; return(0); } - + static long get_units(paddr,units) struct dbAddr *paddr; char *units; @@ -283,7 +261,7 @@ static long get_precision(paddr,precision) recGblGetPrec(paddr,precision); return(0); } - + static long get_graphic_double(paddr,pgd) struct dbAddr *paddr; struct dbr_grDouble *pgd; @@ -308,7 +286,7 @@ static long get_control_double(paddr,pcd) } else recGblGetControlDouble(paddr,pcd); return(0); } - + static void monitor(pwf) struct waveformRecord *pwf; {