- changed OxiGet

- various bug fixes and improvements
This commit is contained in:
zolliker
2005-11-17 07:57:19 +00:00
parent 797cd1146d
commit 01fce80d95
13 changed files with 209 additions and 470 deletions

View File

@@ -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) {