Changed get_precision,get_graphic_double,get_control_double, ANSI C changes

This commit is contained in:
Janet B. Anderson
1992-02-28 17:43:41 +00:00
parent 35f0be8ea0
commit e87551df24
12 changed files with 309 additions and 194 deletions
+20 -12
View File
@@ -59,12 +59,15 @@
* .19 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .20 12-18-91 jba Changed E_IO_INTERRUPT to SCAN_IO_EVENT
* .21 02-05-92 jba Changed function arguments from paddr to precord
* .22 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double
* .23 02-28-92 jba ANSI C changes
*/
#include <vxWorks.h>
#include <types.h>
#include <stdioLib.h>
#include <lstLib.h>
#include <string.h>
#include <alarm.h>
#include <dbDefs.h>
@@ -80,21 +83,21 @@
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
long special();
long get_value();
static long init_record();
static long process();
static long special();
static long get_value();
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
long get_units();
long get_precision();
static long get_units();
static long get_precision();
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
long get_alarm_double();
static long get_graphic_double();
static long get_control_double();
static long get_alarm_double();
struct rset aiRSET={
RSETNUMBER,
@@ -252,6 +255,8 @@ static long get_precision(paddr,precision)
struct aiRecord *pai=(struct aiRecord *)paddr->precord;
*precision = pai->prec;
if(paddr->pfield == (void *)&pai->val) return(0);
recGblGetPrec(paddr,precision);
return(0);
}
@@ -261,8 +266,10 @@ static long get_graphic_double(paddr,pgd)
{
struct aiRecord *pai=(struct aiRecord *)paddr->precord;
pgd->upper_disp_limit = pai->hopr;
pgd->lower_disp_limit = pai->lopr;
if(paddr->pfield==(void *)&pai->val){
pgd->upper_disp_limit = pai->hopr;
pgd->lower_disp_limit = pai->lopr;
} else recGblGetGraphicDouble(paddr,pgd);
return(0);
}
@@ -272,8 +279,10 @@ static long get_control_double(paddr,pcd)
{
struct aiRecord *pai=(struct aiRecord *)paddr->precord;
if(paddr->pfield==(void *)&pai->val){
pcd->upper_ctrl_limit = pai->hopr;
pcd->lower_ctrl_limit = pai->lopr;
} else recGblGetControlDouble(paddr,pcd);
return(0);
}
@@ -418,4 +427,3 @@ static void monitor(pai)
}
return;
}
+27 -12
View File
@@ -53,12 +53,15 @@
* .20 09-25-91 jba added breakpoint table conversion
* .21 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .22 02-05-92 jba Changed function arguments from paddr to precord
* .23 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double
* .24 02-28-92 jba ANSI C changes
*/
#include <vxWorks.h>
#include <types.h>
#include <stdioLib.h>
#include <lstLib.h>
#include <string.h>
#include <alarm.h>
#include <dbDefs.h>
@@ -73,21 +76,21 @@
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
long special();
static long init_record();
static long process();
static long special();
long get_value();
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
long get_units();
long get_precision();
static long get_units();
static long get_precision();
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
long get_alarm_double();
static long get_graphic_double();
static long get_control_double();
static long get_alarm_double();
struct rset aoRSET={
RSETNUMBER,
@@ -271,6 +274,10 @@ static long get_precision(paddr,precision)
struct aoRecord *pao=(struct aoRecord *)paddr->precord;
*precision = pao->prec;
if(paddr->pfield == (void *)&pao->val
|| paddr->pfield == (void *)&pao->oval
|| paddr->pfield == (void *)&pao->pval) return(0);
recGblGetPrec(paddr,precision);
return(0);
}
@@ -280,8 +287,12 @@ static long get_graphic_double(paddr,pgd)
{
struct aoRecord *pao=(struct aoRecord *)paddr->precord;
pgd->upper_disp_limit = pao->hopr;
pgd->lower_disp_limit = pao->lopr;
if(paddr->pfield==(void *)&pao->val
|| paddr->pfield==(void *)&pao->oval
|| paddr->pfield==(void *)&pao->pval){
pgd->upper_disp_limit = pao->hopr;
pgd->lower_disp_limit = pao->lopr;
} else recGblGetGraphicDouble(paddr,pgd);
return(0);
}
@@ -291,8 +302,12 @@ static long get_control_double(paddr,pcd)
{
struct aoRecord *pao=(struct aoRecord *)paddr->precord;
pcd->upper_ctrl_limit = pao->drvh;
pcd->lower_ctrl_limit = pao->drvl;
if(paddr->pfield==(void *)&pao->val
|| paddr->pfield==(void *)&pao->oval
|| paddr->pfield==(void *)&pao->pval){
pcd->upper_ctrl_limit = pao->drvh;
pcd->lower_ctrl_limit = pao->drvl;
} else recGblGetControlDouble(paddr,pcd);
return(0);
}
static long get_alarm_double(paddr,pad)
+24 -15
View File
@@ -60,12 +60,15 @@
* to libCalc
* .19 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .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
*/
#include <vxWorks.h>
#include <types.h>
#include <stdioLib.h>
#include <lstLib.h>
#include <string.h>
#include <alarm.h>
#include <dbDefs.h>
@@ -79,21 +82,21 @@
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
long special();
long get_value();
static long init_record();
static long process();
static long special();
static long get_value();
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
long get_units();
long get_precision();
static static long get_units();
static long get_precision();
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
long get_alarm_double();
static long get_graphic_double();
static long get_control_double();
static long get_alarm_double();
struct rset calcRSET={
RSETNUMBER,
@@ -139,7 +142,7 @@ static long init_record(pcalc)
}
status=postfix(pcalc->calc,rpbuf,&error_number);
if(status) return(status);
bcopy(rpbuf,pcalc->rpcl,sizeof(pcalc->rpcl));
memcpy(rpbuf,pcalc->rpcl,sizeof(pcalc->rpcl));
return(0);
}
@@ -179,7 +182,7 @@ static long special(paddr,after)
case(SPC_CALC):
status=postfix(pcalc->calc,rpbuf,&error_number);
if(status) return(status);
bcopy(rpbuf,pcalc->rpcl,sizeof(pcalc->rpcl));
memcpy(rpbuf,pcalc->rpcl,sizeof(pcalc->rpcl));
db_post_events(pcalc,pcalc->calc,DBE_VALUE);
return(0);
default:
@@ -215,6 +218,8 @@ static long get_precision(paddr,precision)
struct calcRecord *pcalc=(struct calcRecord *)paddr->precord;
*precision = pcalc->prec;
if(paddr->pfield == (void *)&pcalc->val) return(0);
recGblGetPrec(paddr,precision);
return(0);
}
@@ -224,8 +229,10 @@ static long get_graphic_double(paddr,pgd)
{
struct calcRecord *pcalc=(struct calcRecord *)paddr->precord;
pgd->upper_disp_limit = pcalc->hopr;
pgd->lower_disp_limit = pcalc->lopr;
if(paddr->pfield==(void *)&pcalc->val){
pgd->upper_disp_limit = pcalc->hopr;
pgd->lower_disp_limit = pcalc->lopr;
} else recGblGetGraphicDouble(paddr,pgd);
return(0);
}
@@ -235,8 +242,10 @@ static long get_control_double(paddr,pcd)
{
struct calcRecord *pcalc=(struct calcRecord *)paddr->precord;
pcd->upper_ctrl_limit = pcalc->hopr;
pcd->lower_ctrl_limit = pcalc->lopr;
if(paddr->pfield==(void *)&pcalc->val){
pcd->upper_ctrl_limit = pcalc->hopr;
pcd->lower_ctrl_limit = pcalc->lopr;
} else recGblGetControlDouble(paddr,pcd);
return(0);
}
static long get_alarm_double(paddr,pad)
+26 -18
View File
@@ -50,13 +50,17 @@
* .10 10-11-90 mrk Made changes for new record support
* .11 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .12 02-05-92 jba Changed function arguments from paddr to precord
* .13 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double
* .14 02-28-92 jba ANSI C changes
*/
#include <vxWorks.h>
#include <types.h>
#include <stdioLib.h>
#include <lstLib.h>
#include <memLib.h>
#include <math.h>
#include <string.h>
#include <alarm.h>
#include <dbDefs.h>
@@ -70,20 +74,20 @@
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
long special();
long get_value();
long cvt_dbaddr();
long get_array_info();
long put_array_info();
long get_units();
long get_precision();
static long init_record();
static long process();
static long special();
static long get_value();
static long cvt_dbaddr();
static long get_array_info();
static long put_array_info();
static long get_units();
static long get_precision();
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
static long get_graphic_double();
static long get_control_double();
#define get_alarm_double NULL
struct rset compressRSET={
@@ -230,7 +234,7 @@ static long cvt_dbaddr(paddr)
/* This may get called before init_record. If so just call it*/
if(pcompress->bptr==NULL) (void)init_record(pcompress);
paddr->pfield = (caddr_t)(pcompress->bptr);
paddr->pfield = (void *)(pcompress->bptr);
paddr->no_elements = pcompress->nsam;
paddr->field_type = DBF_DOUBLE;
paddr->field_size = sizeof(double);
@@ -280,6 +284,8 @@ static long get_precision(paddr,precision)
struct compressRecord *pcompress=(struct compressRecord *)paddr->precord;
*precision = pcompress->prec;
if(paddr->pfield == (void *)pcompress->val) return(0);
recGblGetPrec(paddr,precision);
return(0);
}
@@ -289,8 +295,10 @@ static long get_graphic_double(paddr,pgd)
{
struct compressRecord *pcompress=(struct compressRecord *)paddr->precord;
pgd->upper_disp_limit = pcompress->hopr;
pgd->lower_disp_limit = pcompress->lopr;
if(paddr->pfield==(void *)pcompress->val){
pgd->upper_disp_limit = pcompress->hopr;
pgd->lower_disp_limit = pcompress->lopr;
} else recGblGetGraphicDouble(paddr,pgd);
return(0);
}
@@ -300,8 +308,10 @@ static long get_control_double(paddr,pcd)
{
struct compressRecord *pcompress=(struct compressRecord *)paddr->precord;
pcd->upper_ctrl_limit = pcompress->hopr;
pcd->lower_ctrl_limit = pcompress->lopr;
if(paddr->pfield==(void *)pcompress->val){
pcd->upper_ctrl_limit = pcompress->hopr;
pcd->lower_ctrl_limit = pcompress->lopr;
} else recGblGetControlDouble(paddr,pcd);
return(0);
}
@@ -310,7 +320,6 @@ static void monitor(pcompress)
struct compressRecord *pcompress;
{
unsigned short monitor_mask;
short mdct;
short stat,sevr,nsta,nsev;
/* get previous stat and sevr and new stat and sevr*/
@@ -367,7 +376,6 @@ long no_elements;
long i,j;
long nnew;
long nsam=pcompress->nsam;
double *pdest;
double value;
long n;
+18 -11
View File
@@ -31,6 +31,8 @@
* -----------------
* .01 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .02 02-05-92 jba Changed function arguments from paddr to precord
* .03 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double
* .04 02-28-92 jba ANSI C changes
*/
@@ -38,6 +40,7 @@
#include <types.h>
#include <stdioLib.h>
#include <lstLib.h>
#include <string.h>
#include <alarm.h>
#include <dbDefs.h>
@@ -51,21 +54,21 @@
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
static long init_record();
static long process();
#define special NULL
long get_value();
static long get_value();
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
long get_units();
static long get_units();
#define get_precision NULL
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
long get_alarm_double();
static long get_graphic_double();
static long get_control_double();
static long get_alarm_double();
struct rset longinRSET={
RSETNUMBER,
@@ -180,8 +183,10 @@ static long get_graphic_double(paddr,pgd)
{
struct longinRecord *plongin=(struct longinRecord *)paddr->precord;
pgd->upper_disp_limit = plongin->hopr;
pgd->lower_disp_limit = plongin->lopr;
if(paddr->pfield==(void *)plongin->val){
pgd->upper_disp_limit = plongin->hopr;
pgd->lower_disp_limit = plongin->lopr;
} else recGblGetGraphicDouble(paddr,pgd);
return(0);
}
@@ -191,8 +196,10 @@ static long get_control_double(paddr,pcd)
{
struct longinRecord *plongin=(struct longinRecord *)paddr->precord;
pcd->upper_ctrl_limit = plongin->hopr;
pcd->lower_ctrl_limit = plongin->lopr;
if(paddr->pfield==(void *)plongin->val){
pcd->upper_ctrl_limit = plongin->hopr;
pcd->lower_ctrl_limit = plongin->lopr;
} else recGblGetControlDouble(paddr,pcd);
return(0);
}
+30 -12
View File
@@ -33,12 +33,15 @@
* .01 10-15-90 mrk changes for new record support
* .02 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .03 02-05-92 jba Changed function arguments from paddr to precord
* .04 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double
* .05 02-28-92 jba ANSI C changes
*/
#include <vxWorks.h>
#include <types.h>
#include <stdioLib.h>
#include <lstLib.h>
#include <string.h>
/*since tickLib is not defined just define tickGet*/
unsigned long tickGet();
@@ -53,21 +56,21 @@ unsigned long tickGet();
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
static long init_record();
static long process();
#define special NULL
long get_value();
static long get_value();
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
long get_units();
long get_precision();
static long get_units();
static long get_precision();
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
long get_alarm_double();
static long get_graphic_double();
static long get_control_double();
static long get_alarm_double();
struct rset pidRSET={
RSETNUMBER,
@@ -160,6 +163,9 @@ static long get_precision(paddr,precision)
struct pidRecord *ppid=(struct pidRecord *)paddr->precord;
*precision = ppid->prec;
if(paddr->pfield == (void *)&ppid->val
|| paddr->pfield == (void *)&ppid->cval) return(0);
recGblGetPrec(paddr,precision);
return(0);
}
@@ -170,8 +176,14 @@ static long get_graphic_double(paddr,pgd)
{
struct pidRecord *ppid=(struct pidRecord *)paddr->precord;
pgd->upper_disp_limit = ppid->hopr;
pgd->lower_disp_limit = ppid->lopr;
if(paddr->pfield==(void *)&ppid->val
|| paddr->pfield==(void *)&ppid->p
|| paddr->pfield==(void *)&ppid->i
|| paddr->pfield==(void *)&ppid->d
|| paddr->pfield==(void *)&ppid->cval){
pgd->upper_disp_limit = ppid->hopr;
pgd->lower_disp_limit = ppid->lopr;
} else recGblGetGraphicDouble(paddr,pgd);
return(0);
}
@@ -181,8 +193,14 @@ static long get_control_double(paddr,pcd)
{
struct pidRecord *ppid=(struct pidRecord *)paddr->precord;
pcd->upper_ctrl_limit = ppid->hopr;
pcd->lower_ctrl_limit = ppid->lopr;
if(paddr->pfield==(void *)&ppid->val
|| paddr->pfield==(void *)&ppid->p
|| paddr->pfield==(void *)&ppid->i
|| paddr->pfield==(void *)&ppid->d
|| paddr->pfield==(void *)&ppid->cval){
pcd->upper_ctrl_limit = ppid->hopr;
pcd->lower_ctrl_limit = ppid->lopr;
} else recGblGetControlDouble(paddr,pcd);
return(0);
}
static long get_alarm_double(paddr,pad)
+14 -21
View File
@@ -31,6 +31,8 @@
* -----------------
* .01 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .02 02-05-92 jba Changed function arguments from paddr to precord
* .03 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double
* .04 02-28-92 jba ANSI C changes
*/
#include <vxWorks.h>
@@ -51,20 +53,20 @@
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
static long init_record();
static long process();
#define special NULL
long get_value();
static long get_value();
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
#define get_units NULL
long get_precision();
static long get_precision();
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
static long get_graphic_double();
static long get_control_double();
#define get_alarm_double NULL
struct rset pulseDelayRSET={
@@ -127,7 +129,6 @@ static long process(ppd)
{
struct pddset *pdset = (struct pddset *)(ppd->dset);
long status=0;
long options,nRequest;
/* must have write_pd functions defined */
if( (pdset==NULL) || (pdset->write_pd==NULL) ) {
@@ -172,6 +173,8 @@ static long get_precision(paddr,precision)
struct pulseDelayRecord *ppd=(struct pulseDelayRecord *)paddr->precord;
*precision = ppd->prec;
if(paddr->pfield == (void *)&ppd->val) return(0);
recGblGetPrec(paddr,precision);
return(0);
}
@@ -180,16 +183,11 @@ static long get_graphic_double(paddr,pgd)
struct dbr_grDouble *pgd;
{
struct pulseDelayRecord *ppd=(struct pulseDelayRecord *)paddr->precord;
struct fldDes *pfldDes=(struct fldDes *)(paddr->pfldDes);
if(((void *)(paddr->pfield))==((void *)&(ppd->clks))){
pgd->upper_disp_limit = (double)pfldDes->range2.value.short_value;
pgd->lower_disp_limit = (double)pfldDes->range1.value.short_value;
} else {
if(paddr->pfield==(void *)&ppd->val){
pgd->upper_disp_limit = ppd->hopr;
pgd->lower_disp_limit = ppd->lopr;
}
} else recGblGetGraphicDouble(paddr,pgd);
return(0);
}
@@ -198,16 +196,11 @@ static long get_control_double(paddr,pcd)
struct dbr_ctrlDouble *pcd;
{
struct pulseDelayRecord *ppd=(struct pulseDelayRecord *)paddr->precord;
struct fldDes *pfldDes=(struct fldDes *)(paddr->pfldDes);
if(((void *)(paddr->pfield))==((void *)&(ppd->clks))){
pcd->upper_ctrl_limit = (double)pfldDes->range2.value.short_value;
pcd->lower_ctrl_limit = (double)pfldDes->range1.value.short_value;
} else {
if(paddr->pfield==(void *)&ppd->val){
pcd->upper_ctrl_limit = ppd->hopr;
pcd->lower_ctrl_limit = ppd->lopr;
}
} else recGblGetControlDouble(paddr,pcd);
return(0);
}
+19 -42
View File
@@ -32,6 +32,8 @@
* .01 10-24-91 jba New device support changes
* .02 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .03 02-05-92 jba Changed function arguments from paddr to precord
* .04 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double
* .05 02-28-92 jba ANSI C changes
*/
#include <vxWorks.h>
@@ -52,20 +54,20 @@
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
static long init_record();
static long process();
#define special NULL
long get_value();
static long get_value();
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
#define get_units NULL
long get_precision();
static long get_precision();
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
static long get_graphic_double();
static long get_control_double();
#define get_alarm_double NULL
struct rset pulseTrainRSET={
@@ -222,6 +224,9 @@ static long get_precision(paddr,precision)
struct pulseTrainRecord *ppt=(struct pulseTrainRecord *)paddr->precord;
*precision = ppt->prec;
if(paddr->pfield == (void *)&ppt->val) return(0);
recGblGetPrec(paddr,precision);
return(0);
}
@@ -230,25 +235,11 @@ static long get_graphic_double(paddr,pgd)
struct dbr_grDouble *pgd;
{
struct pulseTrainRecord *ppt=(struct pulseTrainRecord *)paddr->precord;
struct fldDes *pfldDes=(struct fldDes *)(paddr->pfldDes);
if(((void *)(paddr->pfield))==((void *)&(ppt->clks))){
pgd->upper_disp_limit = (double)pfldDes->range2.value.short_value;
pgd->lower_disp_limit = (double)pfldDes->range1.value.short_value;
return(0);
}
if(((void *)(paddr->pfield))==((void *)&(ppt->gate))){
pgd->upper_disp_limit = (double)pfldDes->range2.value.short_value;
pgd->lower_disp_limit = (double)pfldDes->range1.value.short_value;
return(0);
}
if(((void *)(paddr->pfield))==((void *)&(ppt->dcy ))){
pgd->upper_disp_limit = (double)pfldDes->range2.value.double_value;
pgd->lower_disp_limit = (double)pfldDes->range1.value.double_value;
return(0);
}
pgd->upper_disp_limit = ppt->hopr;
pgd->lower_disp_limit = ppt->lopr;
if(paddr->pfield==(void *)&ppt->val){
pgd->upper_disp_limit = ppt->hopr;
pgd->lower_disp_limit = ppt->lopr;
} else recGblGetGraphicDouble(paddr,pgd);
return(0);
}
@@ -258,25 +249,11 @@ static long get_control_double(paddr,pcd)
struct dbr_ctrlDouble *pcd;
{
struct pulseTrainRecord *ppt=(struct pulseTrainRecord *)paddr->precord;
struct fldDes *pfldDes=(struct fldDes *)(paddr->pfldDes);
if(((void *)(paddr->pfield))==((void *)&(ppt->clks))){
pcd->upper_ctrl_limit = (double)pfldDes->range2.value.short_value;
pcd->lower_ctrl_limit = (double)pfldDes->range1.value.short_value;
return(0);
}
if(((void *)(paddr->pfield))==((void *)&(ppt->gate))){
pcd->upper_ctrl_limit = (double)pfldDes->range2.value.short_value;
pcd->lower_ctrl_limit = (double)pfldDes->range1.value.short_value;
return(0);
}
if(((void *)(paddr->pfield))==((void *)&(ppt->dcy ))){
pcd->upper_ctrl_limit = (double)pfldDes->range2.value.double_value;
pcd->lower_ctrl_limit = (double)pfldDes->range1.value.double_value;
return(0);
}
pcd->upper_ctrl_limit = ppt->hopr;
pcd->lower_ctrl_limit = ppt->lopr;
if(paddr->pfield==(void *)&ppt->val){
pcd->upper_ctrl_limit = ppt->hopr;
pcd->lower_ctrl_limit = ppt->lopr;
} else recGblGetControlDouble(paddr,pcd);
return(0);
}
+61 -12
View File
@@ -35,12 +35,15 @@
* .02 10-12-90 mrk changes for new record support
* .03 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .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
*/
#include <vxWorks.h>
#include <types.h>
#include <stdioLib.h>
#include <lstLib.h>
#include <string.h>
#include <alarm.h>
#include <dbDefs.h>
@@ -53,21 +56,21 @@
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
static long init_record();
static long process();
#define special NULL
long get_value();
static long get_value();
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
long get_units();
long get_precision();
static long get_units();
static long get_precision();
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
long get_alarm_double();
static long get_graphic_double();
static long get_control_double();
static long get_alarm_double();
struct rset selRSET={
RSETNUMBER,
@@ -171,8 +174,22 @@ static long get_precision(paddr,precision)
long *precision;
{
struct selRecord *psel=(struct selRecord *)paddr->precord;
double *pvalue,*plvalue;
int i;
*precision = psel->prec;
if(paddr->pfield==(void *)&psel->val){
return(0);
}
pvalue = &psel->a;
plvalue = &psel->la;
for(i=0; i<SEL_MAX; i++, pvalue++, plvalue++) {
if(paddr->pfield==(void *)&pvalue
|| paddr->pfield==(void *)&plvalue){
return(0);
}
}
recGblGetPrec(paddr,precision);
return(0);
}
@@ -182,9 +199,26 @@ static long get_graphic_double(paddr,pgd)
struct dbr_grDouble *pgd;
{
struct selRecord *psel=(struct selRecord *)paddr->precord;
double *pvalue,*plvalue;
int i;
pgd->upper_disp_limit = psel->hopr;
pgd->lower_disp_limit = psel->lopr;
if(paddr->pfield==(void *)&psel->val){
pgd->upper_disp_limit = psel->hopr;
pgd->lower_disp_limit = psel->lopr;
return(0);
}
pvalue = &psel->a;
plvalue = &psel->la;
for(i=0; i<SEL_MAX; i++, pvalue++, plvalue++) {
if(paddr->pfield==(void *)&pvalue
|| paddr->pfield==(void *)&plvalue){
pgd->upper_disp_limit = psel->hopr;
pgd->lower_disp_limit = psel->lopr;
return(0);
}
}
recGblGetGraphicDouble(paddr,pgd);
return(0);
}
@@ -193,9 +227,24 @@ static long get_control_double(paddr,pcd)
struct dbr_ctrlDouble *pcd;
{
struct selRecord *psel=(struct selRecord *)paddr->precord;
double *pvalue;
int i;
pcd->upper_ctrl_limit = psel->hopr;
pcd->lower_ctrl_limit = psel->lopr;
if(paddr->pfield==(void *)&psel->val){
pcd->upper_ctrl_limit = psel->hopr;
pcd->lower_ctrl_limit = psel->lopr;
return(0);
}
pvalue = &psel->a;
for(i=0; i<SEL_MAX; i++, pvalue++) {
if(paddr->pfield==(void *)&pvalue){
pcd->upper_ctrl_limit = psel->hopr;
pcd->lower_ctrl_limit = psel->lopr;
return(0);
}
}
recGblGetControlDouble(paddr,pcd);
return(0);
}
+24 -12
View File
@@ -64,12 +64,15 @@
* .21 10-15-90 mrk extensible record and device support
* .22 10-24-91 jba bug fix to alarms
* .23 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .24 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double
* .25 02-28-92 jba ANSI C changes
*/
#include <vxWorks.h>
#include <types.h>
#include <stdioLib.h>
#include <lstLib.h>
#include <string.h>
#include <alarm.h>
#include <dbDefs.h>
@@ -85,21 +88,21 @@
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
static long init_record();
static long process();
#define special NULL
long get_value();
static long get_value();
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
long get_units();
long get_precision();
static long get_units();
static long get_precision();
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
long get_alarm_double();
static long get_graphic_double();
static long get_control_double();
static long get_alarm_double();
struct rset steppermotorRSET={
RSETNUMBER,
@@ -216,6 +219,9 @@ static long get_precision(paddr,precision)
struct steppermotorRecord *psm=(struct steppermotorRecord *)paddr->precord;
*precision = psm->prec;
if(paddr->pfield==(void *)&psm->val
|| paddr->pfield==(void *)&psm->lval) return(0);
recGblGetPrec(paddr,precision);
return(0);
}
@@ -225,8 +231,11 @@ static long get_graphic_double(paddr,pgd)
{
struct steppermotorRecord *psm=(struct steppermotorRecord *)paddr->precord;
pgd->upper_disp_limit = psm->hopr;
pgd->lower_disp_limit = psm->lopr;
if(paddr->pfield==(void *)&psm->val
|| paddr->pfield==(void *)&psm->lval){
pgd->upper_disp_limit = psm->hopr;
pgd->lower_disp_limit = psm->lopr;
} else recGblGetGraphicDouble(paddr,pgd);
return(0);
}
@@ -236,8 +245,11 @@ static long get_control_double(paddr,pcd)
{
struct steppermotorRecord *psm=(struct steppermotorRecord *)paddr->precord;
pcd->upper_ctrl_limit = psm->drvh;
pcd->lower_ctrl_limit = psm->drvl;
if(paddr->pfield==(void *)&psm->val
|| paddr->pfield==(void *)&psm->lval){
pcd->upper_ctrl_limit = psm->drvh;
pcd->lower_ctrl_limit = psm->drvl;
} else recGblGetControlDouble(paddr,pcd);
return(0);
}
+21 -12
View File
@@ -34,6 +34,8 @@
* .02 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .03 01-08-92 jba Added casts in symFindByName to avoid compile warning messages
* .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
*/
@@ -41,6 +43,7 @@
#include <types.h>
#include <stdioLib.h>
#include <lstLib.h>
#include <string.h>
#include <symLib.h>
#include <sysSymTbl.h> /* for sysSymTbl*/
#include <a_out.h> /* for N_TEXT */
@@ -56,21 +59,21 @@
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
static long init_record();
static long process();
#define special NULL
long get_value();
static long get_value();
#define cvt_dbaddr NULL
#define get_array_info NULL
#define put_array_info NULL
long get_units();
long get_precision();
static long get_units();
static long get_precision();
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
long get_alarm_double();
static long get_graphic_double();
static long get_control_double();
static long get_alarm_double();
struct rset subRSET={
RSETNUMBER,
@@ -199,6 +202,8 @@ static long get_precision(paddr,precision)
struct subRecord *psub=(struct subRecord *)paddr->precord;
*precision = psub->prec;
if(paddr->pfield==(void *)&psub->val) return(0);
recGblGetPrec(paddr,precision);
return(0);
}
@@ -209,8 +214,10 @@ static long get_graphic_double(paddr,pgd)
{
struct subRecord *psub=(struct subRecord *)paddr->precord;
pgd->upper_disp_limit = psub->hopr;
pgd->lower_disp_limit = psub->lopr;
if(paddr->pfield==(void *)&psub->val){
pgd->upper_disp_limit = psub->hopr;
pgd->lower_disp_limit = psub->lopr;
} else recGblGetGraphicDouble(paddr,pgd);
return(0);
}
@@ -220,8 +227,10 @@ static long get_control_double(paddr,pcd)
{
struct subRecord *psub=(struct subRecord *)paddr->precord;
pcd->upper_ctrl_limit = psub->hopr;
pcd->lower_ctrl_limit = psub->lopr;
if(paddr->pfield==(void *)&psub->val){
pcd->upper_ctrl_limit = psub->hopr;
pcd->lower_ctrl_limit = psub->lopr;
} else recGblGetControlDouble(paddr,pcd);
return(0);
}
static long get_alarm_double(paddr,pad)
+25 -15
View File
@@ -51,12 +51,16 @@
* .11 11-11-91 jba Moved set and reset of alarm stat and sevr to macros
* .12 12-18-91 jba Changed E_IO_INTERRUPT to SCAN_IO_EVENT, added dbScan.h
* .13 02-05-92 jba Changed function arguments from paddr to precord
* .14 02-28-92 jba Changed get_precision,get_graphic_double,get_control_double
* .15 02-28-92 jba ANSI C changes
*/
#include <vxWorks.h>
#include <types.h>
#include <stdioLib.h>
#include <lstLib.h>
#include <string.h>
#include <memLib.h>
#include <alarm.h>
#include <dbDefs.h>
@@ -71,20 +75,20 @@
/* Create RSET - Record Support Entry Table*/
#define report NULL
#define initialize NULL
long init_record();
long process();
static long init_record();
static long process();
#define special NULL
long get_value();
long cvt_dbaddr();
long get_array_info();
long put_array_info();
long get_units();
long get_precision();
static long get_value();
static long cvt_dbaddr();
static long get_array_info();
static long put_array_info();
static long get_units();
static long get_precision();
#define get_enum_str NULL
#define get_enum_strs NULL
#define put_enum_str NULL
long get_graphic_double();
long get_control_double();
static long get_graphic_double();
static long get_control_double();
#define get_alarm_double NULL
struct rset waveformRSET={
@@ -214,7 +218,7 @@ static long cvt_dbaddr(paddr)
/* This may get called before init_record. If so just call it*/
if(pwf->bptr==NULL) init_record(pwf);
paddr->pfield = (caddr_t)(pwf->bptr);
paddr->pfield = (void *)(pwf->bptr);
paddr->no_elements = pwf->nelm;
paddr->field_type = pwf->ftvl;
if(pwf->ftvl==0) paddr->field_size = MAX_STRING_SIZE;
@@ -263,6 +267,8 @@ static long get_precision(paddr,precision)
struct waveformRecord *pwf=(struct waveformRecord *)paddr->precord;
*precision = pwf->prec;
if(paddr->pfield==(void *)&pwf->val) return(0);
recGblGetPrec(paddr,precision);
return(0);
}
@@ -272,8 +278,10 @@ static long get_graphic_double(paddr,pgd)
{
struct waveformRecord *pwf=(struct waveformRecord *)paddr->precord;
pgd->upper_disp_limit = pwf->hopr;
pgd->lower_disp_limit = pwf->lopr;
if(paddr->pfield==(void *)&pwf->val){
pgd->upper_disp_limit = pwf->hopr;
pgd->lower_disp_limit = pwf->lopr;
} else recGblGetGraphicDouble(paddr,pgd);
return(0);
}
static long get_control_double(paddr,pcd)
@@ -282,8 +290,10 @@ static long get_control_double(paddr,pcd)
{
struct waveformRecord *pwf=(struct waveformRecord *)paddr->precord;
pcd->upper_ctrl_limit = pwf->hopr;
pcd->lower_ctrl_limit = pwf->lopr;
if(paddr->pfield==(void *)&pwf->val){
pcd->upper_ctrl_limit = pwf->hopr;
pcd->lower_ctrl_limit = pwf->lopr;
} else recGblGetControlDouble(paddr,pcd);
return(0);
}