diff --git a/KnownProblems.html b/KnownProblems.html index 7f273aef3..e4e49dbbb 100644 --- a/KnownProblems.html +++ b/KnownProblems.html @@ -11,7 +11,25 @@
+
In release beta1 changes were made to allow ESLO EOFF to be +database design fields. Because of changes that were made to aiRecord and +aoRecord device support that does not implement special_linconv +may no longer work.
+
To fix aiRecord.c, in init_record replace
+ if ((pai->linr == menuConvertLINEAR) && pdset->special_li
+nconv) {
+
+by
+ if ((pai->eslo==1.0) && (pai->eoff==0.0)) {
+
+To fix aoRecord.c, in init_record replace
+ if ((pao->linr == menuConvertLINEAR) && pdset->special_li
+nconv) {
+
+by
+ if ((pao->eslo==1.0) && (pao->eoff==0.0)) {
+
If a CA client issues a put to a disabled record then, when the record is ena diff --git a/RELEASE_NOTES.html b/RELEASE_NOTES.html index 1e28b18ec..098d2335c 100644 --- a/RELEASE_NOTES.html +++ b/RELEASE_NOTES.html @@ -16,6 +16,21 @@
aiRecord and aoRecord: Setting eoff=egul
+ +Instead of init_record executing code like
+ if ((pai->linr == menuConvertLINEAR) && pdset->special_linconv) {
+ pai->eoff = pai->egul;
+ }
+
+
+It now executes:
+ if ((pai->eslo==1.0) && (pai->eoff==0.0)) {
+ pai->eoff = pai->egul;
+ }
+
+aoRecord has a similar change
+CA puts to disabled record
If a CA client issues a put to a disabled record then, when the record is ena diff --git a/src/rec/aiRecord.c b/src/rec/aiRecord.c index 1a6fc9ede..90bdf4118 100644 --- a/src/rec/aiRecord.c +++ b/src/rec/aiRecord.c @@ -183,7 +183,8 @@ static long init_record(void *precord,int pass) return(S_dev_missingSup); } pai->init = TRUE; - if ((pai->linr == menuConvertLINEAR) && pdset->special_linconv) { + /*The following is for old device support that doesnt know about eoff*/ + if ((pai->eslo==1.0) && (pai->eoff==0.0)) { pai->eoff = pai->egul; } diff --git a/src/rec/aoRecord.c b/src/rec/aoRecord.c index 116b9569c..9fa07adb2 100644 --- a/src/rec/aoRecord.c +++ b/src/rec/aoRecord.c @@ -180,7 +180,8 @@ static long init_record(struct aoRecord *pao, int pass) return(S_dev_missingSup); } pao->init = TRUE; - if ((pao->linr == menuConvertLINEAR) && pdset->special_linconv) { + /*The following is for old device support that doesnt know about eoff*/ + if ((pao->eslo==1.0) && (pao->eoff==0.0)) { pao->eoff = pao->egul; } @@ -212,7 +213,6 @@ static long init_record(struct aoRecord *pao, int pass) default: recGblRecordError(S_dev_badInitRet,(void *)pao,"ao: init_record"); return(S_dev_badInitRet); - break; } } pao->oval = pao->pval = pao->val;