diff --git a/src/rec/aoRecord.c b/src/rec/aoRecord.c index 32f6970cc..4c67457c3 100644 --- a/src/rec/aoRecord.c +++ b/src/rec/aoRecord.c @@ -229,13 +229,12 @@ static long process(pao) /* fetch value and convert*/ if (pao->pact == FALSE) { - if ((pao->dol.type != CONSTANT) && - (pao->omsl == CLOSED_LOOP)) { - - status = fetch_value(pao, &value); + if ((pao->dol.type != CONSTANT) + && (pao->omsl == CLOSED_LOOP)) { + status = fetch_value(pao, &value); } else { - value = pao->val; + value = pao->val; } if(!status) convert(pao, value); } @@ -448,6 +447,7 @@ static long fetch_value(pao,pvalue) recGblSetSevr(pao,LINK_ALARM,INVALID_ALARM); return(status); } + pao->udf = FALSE; if (pao->oif == aoOIF_Incremental) *pvalue += pao->val; @@ -466,7 +466,6 @@ static void convert(pao,value) } pao->val = value; pao->pval = value; - pao->udf = FALSE; /* now set value equal to desired output value */ /* apply the output rate of change */ diff --git a/src/rec/calcRecord.c b/src/rec/calcRecord.c index 0d97ce096..59e056dbd 100644 --- a/src/rec/calcRecord.c +++ b/src/rec/calcRecord.c @@ -305,7 +305,7 @@ static void alarm(pcalc) struct calcRecord *pcalc; { double val; - float hyst, lalm, hihi, high, low, lolo; + double hyst, lalm, hihi, high, low, lolo; unsigned short hhsv, llsv, hsv, lsv; if(pcalc->udf == TRUE ){ diff --git a/src/rec/calcoutRecord.c b/src/rec/calcoutRecord.c index d56c1ad13..f0fe7a71a 100644 --- a/src/rec/calcoutRecord.c +++ b/src/rec/calcoutRecord.c @@ -499,7 +499,7 @@ static void alarm(pcalc) struct calcoutRecord *pcalc; { double val; - float hyst, lalm, hihi, high, low, lolo; + double hyst, lalm, hihi, high, low, lolo; unsigned short hhsv, llsv, hsv, lsv; if(pcalc->udf == TRUE ){ diff --git a/src/rec/dfanoutRecord.c b/src/rec/dfanoutRecord.c index b6043cfcc..029addf00 100644 --- a/src/rec/dfanoutRecord.c +++ b/src/rec/dfanoutRecord.c @@ -74,7 +74,7 @@ struct rset dfanoutRSET={ static void alarm(); static void monitor(); -static long push_values(); +static void push_values(); #define OUT_ARG_MAX 8 @@ -105,8 +105,8 @@ static long process(pdfanout) pdfanout->pact = TRUE; recGblGetTimeStamp(pdfanout); /* Push out the data to all the forward links */ - status = push_values(pdfanout); alarm(pdfanout); + push_values(pdfanout); monitor(pdfanout); recGblFwdLink(pdfanout); pdfanout->pact=FALSE; @@ -175,7 +175,7 @@ static void alarm(pdfanout) struct dfanoutRecord *pdfanout; { double val; - float hyst, lalm, hihi, high, low, lolo; + double hyst, lalm, hihi, high, low, lolo; unsigned short hhsv, llsv, hsv, lsv; if(pdfanout->udf == TRUE ){ @@ -250,7 +250,7 @@ static void monitor(pdfanout) return; } -static long push_values(pdfanout) +static void push_values(pdfanout) struct dfanoutRecord *pdfanout; { struct link *plink; /* structure of the link field */ @@ -259,7 +259,6 @@ struct dfanoutRecord *pdfanout; for(i=0, plink=&(pdfanout->outa); ival),1); - if (!RTN_SUCCESS(status)) return(-1); + if(status) recGblSetSevr(pdfanout,LINK_ALARM,MAJOR_ALARM); } - return(0); } diff --git a/src/rec/selRecord.c b/src/rec/selRecord.c index afe42b644..ae80db53b 100644 --- a/src/rec/selRecord.c +++ b/src/rec/selRecord.c @@ -285,7 +285,7 @@ static void alarm(psel) struct selRecord *psel; { double val; - float hyst, lalm, hihi, high, low, lolo; + double hyst, lalm, hihi, high, low, lolo; unsigned short hhsv, llsv, hsv, lsv; if(psel->udf == TRUE ){ diff --git a/src/rec/subRecord.c b/src/rec/subRecord.c index e58a1e560..447e2097e 100644 --- a/src/rec/subRecord.c +++ b/src/rec/subRecord.c @@ -288,7 +288,7 @@ static void alarm(psub) struct subRecord *psub; { double val; - float hyst, lalm, hihi, high, low, lolo; + double hyst, lalm, hihi, high, low, lolo; unsigned short hhsv, llsv, hsv, lsv; if(psub->udf == TRUE ){