Issue Hardware errors while preventing Error message Storms

This commit is contained in:
Marty Kraimer
1994-02-08 15:19:14 +00:00
parent 3738967b27
commit 7cadbe5cfd
14 changed files with 124 additions and 43 deletions
+4 -1
View File
@@ -34,6 +34,7 @@
* .02 12-02-91 jba Added cmd control to io-interrupt processing
* .03 12-12-91 jba Set cmd to zero in io-interrupt processing
* .04 03-13-92 jba ANSI C changes
* .05 02-08-94 mrk Issue Hardware Errors BUT prevent Error Message Storms
* ...
*/
@@ -128,7 +129,9 @@ static long read_ai(pai)
*((unsigned short*)(&pai->rval))=value;
if(status==0 || status==-2) pai->rval = value;
if(status==-1) {
recGblSetSevr(pai,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pai,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pai->stat!=READ_ALARM || pai->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pai,"dvx_driver Error");
status=2; /*don't convert*/
}else if(status==-2) {
status=0;
+4 -1
View File
@@ -32,6 +32,7 @@
* -----------------
* .01 11-11-91 jba Moved set of alarm stat and sevr to macros
* .02 03-13-92 jba ANSI C changes
* .03 02-08-94 mrk Issue Hardware Errors BUT prevent Error Message Storms
* ...
*/
@@ -115,7 +116,9 @@ static long read_ai(pai)
status=ai_xy566_driver(pvmeio->card,pvmeio->signal,XY566DI,&value);
if(status==-1) {
status = 2; /* don't convert*/
recGblSetSevr(pai,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pai,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pai->stat!=READ_ALARM || pai->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pai,"ai_xy566_driver Error");
return(status);
}else if(status==-2) {
status=0;
+4 -1
View File
@@ -34,6 +34,7 @@
* .02 12-02-91 jba Added cmd control to io-interrupt processing
* .03 12-12-91 jba Set cmd to zero in io-interrupt processing
* .04 03-13-92 jba ANSI C changes
* .05 02-08-94 mrk Issue Hardware Errors BUT prevent Error Message Storms
* ...
*/
@@ -124,7 +125,9 @@ static long read_ai(pai)
status=ai_xy566_driver(pvmeio->card,pvmeio->signal,XY566DIL,&value);
if(status==-1) {
status = 2; /*don't convert*/
recGblSetSevr(pai,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pai,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pai->stat!=READ_ALARM || pai->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pai,"ai_xy566_driver Error");
return(status);
}else if(status==-2) {
status=0;
+4 -1
View File
@@ -32,6 +32,7 @@
* -----------------
* .01 11-11-91 jba Moved set of alarm stat and sevr to macros
* .02 03-13-92 jba ANSI C changes
* .03 02-08-94 mrk Issue Hardware Errors BUT prevent Error Message Storms
* ...
*/
@@ -114,7 +115,9 @@ static long read_ai(pai)
status=ai_xy566_driver(pvmeio->card,pvmeio->signal,XY566SE,&value);
if(status==-1) {
status = 2; /*don't convert*/
recGblSetSevr(pai,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pai,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pai->stat!=READ_ALARM || pai->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pai,"ai_xy566_driver Error");
return(status);
}else if(status==-2) {
status=0;
+55 -23
View File
@@ -31,6 +31,7 @@
* Modification Log:
* -----------------
* .01 08-27-92 mrk Combined all Allen Bradley devive support
* .02 02-08-94 mrk Issue Hardware Errors BUT prevent Error Message Storms
* ...
*/
@@ -198,7 +199,9 @@ static long read_1771Ife(struct aiRecord *pai)
pabio->card,pabio->signal,pabio->plc_flag,&value,pai->linr);
if(status==0 || status==-2) pai->rval = value;
if(status==-1) {
recGblSetSevr(pai,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pai,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pai->stat!=READ_ALARM || pai->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pai,"ab_aidriver Error");
status=2; /*dont convert*/
}else if(status==-2) {
status=0;
@@ -255,7 +258,9 @@ static long read_1771Ife0to5V(struct aiRecord *pai)
pabio->card,pabio->signal,pabio->plc_flag,&value,pai->linr);
if(status==0 || status==-2) pai->rval = value;
if(status==-1) {
recGblSetSevr(pai,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pai,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pai->stat!=READ_ALARM || pai->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pai,"ab_aidriver Error");
status=2; /*dont convert*/
}else if(status==-2) {
status=0;
@@ -312,7 +317,9 @@ static long read_1771IfeMa(struct aiRecord *pai)
pabio->card,pabio->signal,pabio->plc_flag,&value,pai->linr);
if(status==0 || status==-2) pai->rval = value;
if(status==-1) {
recGblSetSevr(pai,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pai,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pai->stat!=READ_ALARM || pai->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pai,"ab_aidriver Error");
status=2; /*dont convert*/
}else if(status==-2) {
status=0;
@@ -369,7 +376,9 @@ static long read_1771IfeSe(struct aiRecord *pai)
pabio->card,pabio->signal,pabio->plc_flag,&value,pai->linr);
if(status==0 || status==-2) pai->rval = value;
if(status==-1) {
recGblSetSevr(pai,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pai,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pai->stat!=READ_ALARM || pai->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pai,"ab_aidriver Error");
status = 2; /*don`t convert*/
}else if(status==-2) {
status=0;
@@ -426,7 +435,9 @@ static long read_1771Il(struct aiRecord *pai)
pabio->card,pabio->signal,pabio->plc_flag,&value,pai->linr);
if(status==0 || status==-2) pai->rval = value;
if(status==-1) {
recGblSetSevr(pai,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pai,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pai->stat!=READ_ALARM || pai->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pai,"ab_aidriver Error");
status = 2; /*don't convert*/
}else if(status==-2) {
status=0;
@@ -515,7 +526,9 @@ static long read_1771Ixe(struct aiRecord *pai)
status=2; /*don't convert*/
}
} else if(status==-1) {
recGblSetSevr(pai,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pai,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pai->stat!=READ_ALARM || pai->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pai,"ab_aidriver Error");
status = 2; /*don't convert*/
}
return(status);
@@ -569,12 +582,14 @@ static long write_1771Ofe(struct aoRecord *pao)
status = ab_aodriver(AB1771OFE,pabio->link,pabio->adapter,
pabio->card,pabio->signal,pabio->plc_flag,value);
if(status==-1) {
recGblSetSevr(pao,WRITE_ALARM,INVALID_ALARM);
if(recGblSetSevr(pao,WRITE_ALARM,INVALID_ALARM) && errVerbose
&& (pao->stat!=WRITE_ALARM || pao->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pao,"ab_aodriver Error");
}else if(status==-2) {
status=0;
recGblSetSevr(pao,HW_LIMIT_ALARM,INVALID_ALARM);
}
return(status);
return(0);
}
@@ -666,7 +681,9 @@ static long read_bi(struct biRecord *pbi)
pbi->rval = value;
return(0);
} else {
recGblSetSevr(pbi,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pbi,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pbi->stat!=READ_ALARM || pbi->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pbi,"ab_bidriver Error");
return(2);
}
}
@@ -722,7 +739,9 @@ static long read_bi16(struct biRecord *pbi)
pbi->rval = value;
return(0);
} else {
recGblSetSevr(pbi,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pbi,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pbi->stat!=READ_ALARM || pbi->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pbi,"ab_bidriver Error");
return(2);
}
}
@@ -774,10 +793,13 @@ static long read_mbbi(struct mbbiRecord *pmbbi)
pabio->card,pabio->plc_flag,pmbbi->mask,&value);
if(status==0) {
pmbbi->rval = value;
return(0);
} else {
recGblSetSevr(pmbbi,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pmbbi,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pmbbi->stat!=READ_ALARM || pmbbi->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pmbbi,"ab_bidriver Error");
return(2);
}
return(status);
}
static long init_mbbi16(struct mbbiRecord *pmbbi)
@@ -820,17 +842,19 @@ static long read_mbbi16(struct mbbiRecord *pmbbi)
struct abio *pabio;
int status;
unsigned long value;
pabio = (struct abio *)&(pmbbi->inp.value);
status = ab_bidriver(ABBI_16_BIT,pabio->link,pabio->adapter,
pabio->card,pabio->plc_flag,pmbbi->mask,&value);
if(status==0) {
pmbbi->rval = value;
return(0);
} else {
recGblSetSevr(pmbbi,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pmbbi,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pmbbi->stat!=READ_ALARM || pmbbi->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pmbbi,"ab_bidriver Error");
return(2);
}
return(status);
}
static long init_bo(struct boRecord *pbo)
@@ -868,9 +892,11 @@ static long write_bo(struct boRecord *pbo)
status = ab_bodriver(ABBO_08_BIT,pabio->link,pabio->adapter,
pabio->card,pabio->plc_flag,pbo->rval,pbo->mask);
if(status!=0) {
recGblSetSevr(pbo,WRITE_ALARM,INVALID_ALARM);
if(recGblSetSevr(pbo,WRITE_ALARM,INVALID_ALARM) && errVerbose
&& (pbo->stat!=WRITE_ALARM || pbo->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pbo,"ab_bodriver Error");
}
return(status);
return(0);
}
static long init_bo16(struct boRecord *pbo)
@@ -909,9 +935,11 @@ static long write_bo16(struct boRecord *pbo)
status = ab_bodriver(ABBO_16_BIT,pabio->link,pabio->adapter,
pabio->card,pabio->plc_flag,pbo->rval,pbo->mask);
if(status!=0) {
recGblSetSevr(pbo,WRITE_ALARM,INVALID_ALARM);
if(recGblSetSevr(pbo,WRITE_ALARM,INVALID_ALARM) && errVerbose
&& (pbo->stat!=WRITE_ALARM || pbo->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pbo,"ab_bodriver Error");
}
return(status);
return(0);
}
static long init_mbbo(struct mbboRecord *pmbbo)
@@ -949,9 +977,11 @@ static long write_mbbo(struct mbboRecord *pmbbo)
status = ab_bodriver(ABBO_08_BIT,pabio->link,pabio->adapter,
pabio->card,pabio->plc_flag,pmbbo->rval,pmbbo->mask);
if(status!=0) {
recGblSetSevr(pmbbo,WRITE_ALARM,INVALID_ALARM);
if(recGblSetSevr(pmbbo,WRITE_ALARM,INVALID_ALARM) && errVerbose
&& (pmbbo->stat!=WRITE_ALARM || pmbbo->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pmbbo,"ab_bodriver Error");
}
return(status);
return(0);
}
static long init_mbbo16(struct mbboRecord *pmbbo)
@@ -988,7 +1018,9 @@ static long write_mbbo16(struct mbboRecord *pmbbo)
status = ab_bodriver(ABBO_16_BIT,pabio->link,pabio->adapter,
pabio->card,pabio->plc_flag,pmbbo->rval,pmbbo->mask);
if(status!=0) {
recGblSetSevr(pmbbo,WRITE_ALARM,INVALID_ALARM);
if(recGblSetSevr(pmbbo,WRITE_ALARM,INVALID_ALARM) && errVerbose
&& (pmbbo->stat!=WRITE_ALARM || pmbbo->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pmbbo,"ab_bodriver Error");
}
return(status);
return(0);
}
+5 -1
View File
@@ -33,6 +33,7 @@
* .01 11-11-91 jba Moved set of alarm stat and sevr to macros
* .02 03-13-92 jba ANSI C changes
* .03 05-11-92 mrk Remove read at init (device does not support)
* .04 02-08-94 mrk Prevent error message storms
* ...
*/
@@ -113,7 +114,10 @@ static long write_ao(pao)
status = vmi4100_driver(pvmeio->card,pvmeio->signal,&value,&rbvalue);
if(status==0 || status==-2) pao->rbv = rbvalue;
if(status==-1) {
recGblSetSevr(pao,WRITE_ALARM,INVALID_ALARM);
status = 0;
if(recGblSetSevr(pao,WRITE_ALARM,INVALID_ALARM) && errVerbose
&& (pao->stat!=WRITE_ALARM || pao->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pao,"vmi4100_driver Error");
}else if(status==-2) {
status=0;
recGblSetSevr(pao,HW_LIMIT_ALARM,INVALID_ALARM);
+3 -1
View File
@@ -104,7 +104,9 @@ static long read_bi(pbi)
pbi->rval = value;
return(0);
} else {
recGblSetSevr(pbi,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pbi,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pbi->stat!=READ_ALARM || pbi->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pbi,"bb910_driver Error");
return(2);
}
}
+3 -1
View File
@@ -103,7 +103,9 @@ static long read_bi(pbi)
pbi->rval = value;
return(0);
} else {
recGblSetSevr(pbi,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pbi,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pbi->stat!=READ_ALARM || pbi->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pbi,"xy210_driver Error");
return(2);
}
return(status);
+10 -3
View File
@@ -32,6 +32,7 @@
* -----------------
* .01 11-11-91 jba Moved set of alarm stat and sevr to macros
* .02 03-13-92 jba ANSI C changes
* .03 02-08-94 mrk Issue Hardware Errors BUT prevent Error Message Storms
* ...
*/
@@ -111,9 +112,15 @@ static long write_bo(pbo)
if(status==0) {
status = bb902_read(pvmeio->card,mask,&value);
if(status==0) pbo->rbv = value;
else recGblSetSevr(pbo,READ_ALARM,INVALID_ALARM);
else{
if(recGblSetSevr(pbo,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pbo->stat!=READ_ALARM || pbo->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pbo,"bb902_read Error");
}
} else {
recGblSetSevr(pbo,WRITE_ALARM,INVALID_ALARM);
if(recGblSetSevr(pbo,WRITE_ALARM,INVALID_ALARM) && errVerbose
&& (pbo->stat!=WRITE_ALARM || pbo->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pbo,"bb902_driver Error");
}
return(status);
return(0);
}
+5 -2
View File
@@ -32,6 +32,7 @@
* -----------------
* .01 11-11-91 jba Moved set of alarm stat and sevr to macros
* .02 03-13-92 jba ANSI C changes
* .03 02-08-94 mrk Issue Hardware Errors BUT prevent Error Message Storms
* ...
*/
@@ -104,7 +105,9 @@ static long write_bo(pbo)
pvmeio = (struct vmeio *)&(pbo->out.value);
status = xy220_driver(pvmeio->card,&pbo->rval,pbo->mask);
if(status!=0) {
recGblSetSevr(pbo,WRITE_ALARM,INVALID_ALARM);
if(recGblSetSevr(pbo,WRITE_ALARM,INVALID_ALARM) && errVerbose
&& (pbo->stat!=WRITE_ALARM || pbo->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pbo,"xy220_driver Error");
}
return(status);
return(0);
}
+6 -2
View File
@@ -33,6 +33,7 @@
* -----------------
* .01 11-11-91 jba Moved set of alarm stat and sevr to macros
* .02 03-13-92 jba ANSI C changes
* .03 02--8-94 mrk Prevent error message storms
* ...
*/
@@ -101,8 +102,11 @@ static long read_mbbi(pmbbi)
status = bb910_driver(pvmeio->card,&value);
if(status==0) {
pmbbi->rval = value;
return(0);
} else {
recGblSetSevr(pmbbi,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pmbbi,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pmbbi->stat!=READ_ALARM || pmbbi->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pmbbi,"bb910_driver Error");
return(2);
}
return(status);
}
+6 -1
View File
@@ -33,6 +33,7 @@
* -----------------
* .01 11-11-91 jba Moved set of alarm stat and sevr to macros
* .02 03-13-92 jba ANSI C changes
* .03 02-08-94 mrk Prevent error message storms
* ...
*/
@@ -100,8 +101,12 @@ static long read_mbbi(pmbbi)
status = xy210_driver(pvmeio->card,pmbbi->mask,&value);
if(status==0) {
pmbbi->rval = value;
return(0);
} else {
recGblSetSevr(pmbbi,READ_ALARM,INVALID_ALARM);
if(recGblSetSevr(pmbbi,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pmbbi->stat!=READ_ALARM || pmbbi->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pmbbi,"xy210_driver Error");
return(2);
}
return(status);
}
+10 -3
View File
@@ -33,6 +33,7 @@
* -----------------
* .01 11-11-91 jba Moved set of alarm stat and sevr to macros
* .02 03-13-92 jba ANSI C changes
* .03 02-08-94 mrk Issue Hardware Errors BUT prevent Error Message Storms
* ...
*/
@@ -112,9 +113,15 @@ static long write_mbbo(pmbbo)
if(status==0) {
status = bb902_read(pvmeio->card,mask,&value);
if(status==0) pmbbo->rbv = value;
else recGblSetSevr(pmbbo,READ_ALARM,INVALID_ALARM);
else {
if(recGblSetSevr(pmbbo,READ_ALARM,INVALID_ALARM) && errVerbose
&& (pmbbo->stat!=READ_ALARM || pmbbo->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pmbbo,"bb902_read Error");
}
} else {
recGblSetSevr(pmbbo,WRITE_ALARM,INVALID_ALARM);
if(recGblSetSevr(pmbbo,WRITE_ALARM,INVALID_ALARM) && errVerbose
&& (pmbbo->stat!=WRITE_ALARM || pmbbo->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pmbbo,"bb902_driver Error");
}
return(status);
return(0);
}
+5 -2
View File
@@ -33,6 +33,7 @@
* -----------------
* .01 11-11-91 jba Moved set of alarm stat and sevr to macros
* .02 03-13-92 jba ANSI C changes
* .03 02-08-94 mrk Issue Hardware Errors BUT prevent Error Message Storms
* ...
*/
@@ -110,7 +111,9 @@ static long write_mbbo(pmbbo)
if(status==0) pmbbo->rbv = value;
else recGblSetSevr(pmbbo,READ_ALARM,INVALID_ALARM);
} else {
recGblSetSevr(pmbbo,WRITE_ALARM,INVALID_ALARM);
if(recGblSetSevr(pmbbo,WRITE_ALARM,INVALID_ALARM) && errVerbose
&& (pmbbo->stat!=WRITE_ALARM || pmbbo->sevr!=INVALID_ALARM))
recGblRecordError(-1,(void *)pmbbo,"xy220_driver Error");
}
return(status);
return(0);
}