- changed OxiGet
- various bug fixes and improvements
This commit is contained in:
24
ilmdriv.c
24
ilmdriv.c
@@ -117,23 +117,31 @@ static long IlmRead(long pc, void *object) {
|
||||
IlmStatus(drv); /* check for errors */
|
||||
EaseWrite(eab, "R1"); /* read sensor 1 */
|
||||
return __LINE__; case __LINE__: /**********************************/
|
||||
if (drv->readState[0] != MEASURING) drv->lev[0] = OxiGet(eab, 1, NULL);
|
||||
if (drv->readState[0] == NOTYETREAD) drv->readState[0] = NEW;
|
||||
if (drv->readState[0] != MEASURING) {
|
||||
drv->lev[0] = OxiGet(eab, 1, NULL, drv->lev[0]);
|
||||
}
|
||||
if (drv->readState[0] == NOTYETREAD) {
|
||||
drv->readState[0] = NEW;
|
||||
}
|
||||
|
||||
if (drv->usage[1] == 0) goto skip2;
|
||||
EaseWrite(eab, "R2"); /* read sensor 2 */
|
||||
return __LINE__; case __LINE__: /**********************************/
|
||||
drv->lev[1] = OxiGet(eab, 1, NULL);
|
||||
if (drv->readState[1] == NOTYETREAD) drv->readState[1] = NEW;
|
||||
|
||||
drv->lev[1] = OxiGet(eab, 1, NULL, drv->lev[1]);
|
||||
if (drv->readState[1] == NOTYETREAD) {
|
||||
drv->readState[1] = NEW;
|
||||
}
|
||||
skip2:
|
||||
|
||||
if (drv->usage[2] == 0) goto skip3;
|
||||
EaseWrite(eab, "R3"); /* read sensor 3 */
|
||||
return __LINE__; case __LINE__: /**********************************/
|
||||
drv->lev[2] = OxiGet(eab, 1, NULL);
|
||||
if (drv->readState[2] == NOTYETREAD) drv->readState[2] = NEW;
|
||||
|
||||
drv->lev[2] = OxiGet(eab, 1, NULL, drv->lev[2]);
|
||||
if (drv->readState[2] == NOTYETREAD) {
|
||||
drv->readState[2] = NEW;
|
||||
}
|
||||
skip3:
|
||||
|
||||
if (ParLog(drv) >= 0) { /* logging was done */
|
||||
for (i=0; i<3; i++) {
|
||||
if (drv->readState[i] == NEW) {
|
||||
|
||||
Reference in New Issue
Block a user