diff --git a/src/rec/recCalc.c b/src/rec/recCalc.c index 5439b2643..7cb9ca404 100644 --- a/src/rec/recCalc.c +++ b/src/rec/recCalc.c @@ -62,6 +62,7 @@ * .20 02-05-92 jba Changed function arguments from paddr to precord * .21 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double * .22 02-28-92 jba ANSI C changes + * .23 06-02-92 jba changed graphic/control limits for hihi,high,low,lolo */ #include @@ -246,10 +247,26 @@ static long get_graphic_double(paddr,pgd) { struct calcRecord *pcalc=(struct calcRecord *)paddr->precord; - if(paddr->pfield==(void *)&pcalc->val){ + if(paddr->pfield==(void *)&pcalc->val + || paddr->pfield==(void *)&pcalc->hihi + || paddr->pfield==(void *)&pcalc->high + || paddr->pfield==(void *)&pcalc->low + || paddr->pfield==(void *)&pcalc->lolo){ pgd->upper_disp_limit = pcalc->hopr; pgd->lower_disp_limit = pcalc->lopr; - } else recGblGetGraphicDouble(paddr,pgd); + return(0); + } + + if(paddr->pfield>=(void *)&pcalc->a && paddr->pfield<=(void *)&pcalc->l){ + pgd->upper_disp_limit = pcalc->hopr; + pgd->lower_disp_limit = pcalc->lopr; + return(0); + } + if(paddr->pfield>=(void *)&pcalc->la && paddr->pfield<=(void *)&pcalc->ll){ + pgd->upper_disp_limit = pcalc->hopr; + pgd->lower_disp_limit = pcalc->lopr; + return(0); + } return(0); } @@ -259,10 +276,26 @@ static long get_control_double(paddr,pcd) { struct calcRecord *pcalc=(struct calcRecord *)paddr->precord; - if(paddr->pfield==(void *)&pcalc->val){ + if(paddr->pfield==(void *)&pcalc->val + || paddr->pfield==(void *)&pcalc->hihi + || paddr->pfield==(void *)&pcalc->high + || paddr->pfield==(void *)&pcalc->low + || paddr->pfield==(void *)&pcalc->lolo){ pcd->upper_ctrl_limit = pcalc->hopr; pcd->lower_ctrl_limit = pcalc->lopr; - } else recGblGetControlDouble(paddr,pcd); + return(0); + } + + if(paddr->pfield>=(void *)&pcalc->a && paddr->pfield<=(void *)&pcalc->l){ + pcd->upper_ctrl_limit = pcalc->hopr; + pcd->lower_ctrl_limit = pcalc->lopr; + return(0); + } + if(paddr->pfield>=(void *)&pcalc->la && paddr->pfield<=(void *)&pcalc->ll){ + pcd->upper_ctrl_limit = pcalc->hopr; + pcd->lower_ctrl_limit = pcalc->lopr; + return(0); + } return(0); } static long get_alarm_double(paddr,pad) diff --git a/src/rec/recSel.c b/src/rec/recSel.c index 9d84856df..c269a6001 100644 --- a/src/rec/recSel.c +++ b/src/rec/recSel.c @@ -37,6 +37,7 @@ * .04 02-05-92 jba Changed function arguments from paddr to precord * .05 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double * .06 02-28-92 jba ANSI C changes + * .07 06-02-92 jba changed graphic/control limits for hihi,high,low,lolo */ #include @@ -226,7 +227,11 @@ static long get_graphic_double(paddr,pgd) double *pvalue,*plvalue; int i; - if(paddr->pfield==(void *)&psel->val){ + if(paddr->pfield==(void *)&psel->val + || paddr->pfield==(void *)&psel->hihi + || paddr->pfield==(void *)&psel->high + || paddr->pfield==(void *)&psel->low + || paddr->pfield==(void *)&psel->lolo){ pgd->upper_disp_limit = psel->hopr; pgd->lower_disp_limit = psel->lopr; return(0); @@ -254,7 +259,11 @@ static long get_control_double(paddr,pcd) double *pvalue; int i; - if(paddr->pfield==(void *)&psel->val){ + if(paddr->pfield==(void *)&psel->val + || paddr->pfield==(void *)&psel->hihi + || paddr->pfield==(void *)&psel->high + || paddr->pfield==(void *)&psel->low + || paddr->pfield==(void *)&psel->lolo){ pcd->upper_ctrl_limit = psel->hopr; pcd->lower_ctrl_limit = psel->lopr; return(0); diff --git a/src/rec/recSub.c b/src/rec/recSub.c index c4aca9308..9ceb955c8 100644 --- a/src/rec/recSub.c +++ b/src/rec/recSub.c @@ -37,6 +37,7 @@ * .05 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double * .06 02-28-92 jba ANSI C changes * .07 04-10-92 jba pact now used to test for asyn processing, not status + * .08 06-02-92 jba changed graphic/control limits for hihi,high,low,lolo */ #include @@ -231,10 +232,26 @@ static long get_graphic_double(paddr,pgd) { struct subRecord *psub=(struct subRecord *)paddr->precord; - if(paddr->pfield==(void *)&psub->val){ + if(paddr->pfield==(void *)&psub->val + || paddr->pfield==(void *)&psub->hihi + || paddr->pfield==(void *)&psub->high + || paddr->pfield==(void *)&psub->low + || paddr->pfield==(void *)&psub->lolo){ pgd->upper_disp_limit = psub->hopr; pgd->lower_disp_limit = psub->lopr; - } else recGblGetGraphicDouble(paddr,pgd); + return(0); + } + + if(paddr->pfield>=(void *)&psub->a && paddr->pfield<=(void *)&psub->l){ + pgd->upper_disp_limit = psub->hopr; + pgd->lower_disp_limit = psub->lopr; + return(0); + } + if(paddr->pfield>=(void *)&psub->la && paddr->pfield<=(void *)&psub->ll){ + pgd->upper_disp_limit = psub->hopr; + pgd->lower_disp_limit = psub->lopr; + return(0); + } return(0); } @@ -244,12 +261,29 @@ static long get_control_double(paddr,pcd) { struct subRecord *psub=(struct subRecord *)paddr->precord; - if(paddr->pfield==(void *)&psub->val){ + if(paddr->pfield==(void *)&psub->val + || paddr->pfield==(void *)&psub->hihi + || paddr->pfield==(void *)&psub->high + || paddr->pfield==(void *)&psub->low + || paddr->pfield==(void *)&psub->lolo){ pcd->upper_ctrl_limit = psub->hopr; pcd->lower_ctrl_limit = psub->lopr; - } else recGblGetControlDouble(paddr,pcd); + return(0); + } + + if(paddr->pfield>=(void *)&psub->a && paddr->pfield<=(void *)&psub->l){ + pcd->upper_ctrl_limit = psub->hopr; + pcd->lower_ctrl_limit = psub->lopr; + return(0); + } + if(paddr->pfield>=(void *)&psub->la && paddr->pfield<=(void *)&psub->ll){ + pcd->upper_ctrl_limit = psub->hopr; + pcd->lower_ctrl_limit = psub->lopr; + return(0); + } return(0); } + static long get_alarm_double(paddr,pad) struct dbAddr *paddr; struct dbr_alDouble *pad;