- 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

@ -145,8 +145,8 @@ static void IghParDef(void *object) {
ParName(motorValves[i]);
ParTail("%");
if (i == V1K) ParList("all");
ParFloat(&drv->mv[i], PAR_NAN);
EaseUpdate(flag); flag++;
ParFloat(&drv->mv[i], PAR_NAN);
}
assert(flag == VALVE_FLAGS);
l = 0;
@ -265,33 +265,33 @@ static long IghRead(long pc, void *object) {
}
EaseWrite(eab, "R0");
return __LINE__; case __LINE__: /**********************************/
drv->sorbS = OxiGet(eab, 1, NULL);
drv->sorbS = OxiGet(eab, 1, NULL, drv->sorbS);
skip0:
if (EaseCheckDoit(eab)) goto quit;
EaseWrite(eab, "R1");
return __LINE__; case __LINE__: /**********************************/
drv->sorbT = OxiGet(eab, 1, NULL);
drv->sorbT = OxiGet(eab, 1, NULL, drv->sorbT);
if (EaseCheckDoit(eab)) goto quit;
EaseWrite(eab, "R2");
return __LINE__; case __LINE__: /**********************************/
drv->onekT = OxiGet(eab, 3, NULL);
drv->onekT = OxiGet(eab, 3, NULL, drv->onekT);
if (EaseCheckDoit(eab)) goto quit;
EaseWrite(eab, "R3");
return __LINE__; case __LINE__: /**********************************/
drv->mixT = OxiGet(eab, 3, NULL);
drv->mixT = OxiGet(eab, 3, NULL, drv->mixT);
if (EaseCheckDoit(eab)) goto quit;
if (EaseGetUpdate(drv, MIXP_FLAG)) goto skip4;
EaseWrite(eab, "R4");
return __LINE__; case __LINE__: /**********************************/
drv->mixP = OxiGet(eab, 5 - drv->e, NULL) * 10;
drv->mixP = OxiGet(eab, 5 - drv->e, NULL, drv->mixP/10) * 10;
skip4:
if (EaseCheckDoit(eab)) goto quit;
@ -299,7 +299,7 @@ static long IghRead(long pc, void *object) {
if (EaseGetUpdate(drv, STILL_FLAG)) goto skip5;
EaseWrite(eab, "R5");
return __LINE__; case __LINE__: /**********************************/
drv->stillP = OxiGet(eab, 1, NULL);
drv->stillP = OxiGet(eab, 1, NULL, drv->stillP);
skip5:
if (EaseCheckDoit(eab)) goto quit;
@ -307,7 +307,7 @@ static long IghRead(long pc, void *object) {
if (EaseGetUpdate(drv, SORBP_FLAG)) goto skip6;
EaseWrite(eab, "R6");
return __LINE__; case __LINE__: /**********************************/
drv->sorbP = OxiGet(eab, 3, NULL);
drv->sorbP = OxiGet(eab, 3, NULL, drv->sorbP);
skip6:
if (EaseCheckDoit(eab)) goto quit;
@ -315,7 +315,7 @@ static long IghRead(long pc, void *object) {
if (EaseGetUpdate(drv, MOT_FLAGS+V6)) goto skip7;
EaseWrite(eab, "R7");
return __LINE__; case __LINE__: /**********************************/
drv->mv[V6] = OxiGet(eab, 1, NULL);
drv->mv[V6] = OxiGet(eab, 1, NULL, drv->mv[V6]);
skip7:
if (EaseCheckDoit(eab)) goto quit;
@ -323,7 +323,7 @@ static long IghRead(long pc, void *object) {
if (EaseGetUpdate(drv, MOT_FLAGS+V12A)) goto skip8;
EaseWrite(eab, "R8");
return __LINE__; case __LINE__: /**********************************/
drv->mv[V12A] = OxiGet(eab, 1, NULL);
drv->mv[V12A] = OxiGet(eab, 1, NULL, drv->mv[V12A]);
skip8:
if (EaseCheckDoit(eab)) goto quit;
@ -331,38 +331,38 @@ static long IghRead(long pc, void *object) {
if (EaseGetUpdate(drv, MOT_FLAGS+V1K)) goto skip9;
EaseWrite(eab, "R9");
return __LINE__; case __LINE__: /**********************************/
drv->mv[V1K] = OxiGet(eab, 1, NULL);
drv->mv[V1K] = OxiGet(eab, 1, NULL, drv->mv[V1K]);
skip9:
if (EaseCheckDoit(eab)) goto quit;
EaseWrite(eab, "R14");
return __LINE__; case __LINE__: /**********************************/
drv->press[G1] = OxiGet(eab, 1, NULL);
drv->press[G1] = OxiGet(eab, 1, NULL, drv->press[G1]);
if (EaseCheckDoit(eab)) goto quit;
EaseWrite(eab, "R15");
return __LINE__; case __LINE__: /**********************************/
drv->press[G2] = OxiGet(eab, 1, NULL);
drv->press[G2] = OxiGet(eab, 1, NULL, drv->press[G2]);
if (EaseCheckDoit(eab)) goto quit;
EaseWrite(eab, "R16");
return __LINE__; case __LINE__: /**********************************/
drv->press[G3] = OxiGet(eab, 1, NULL);
drv->press[G3] = OxiGet(eab, 1, NULL, drv->press[G3]);
if (EaseCheckDoit(eab)) goto quit;
EaseWrite(eab, "R20");
return __LINE__; case __LINE__: /**********************************/
drv->press[P1] = OxiGet(eab, drv->pdig, &drv->pdig);
drv->press[P1] = OxiGet(eab, drv->pdig, &drv->pdig, drv->press[P1]);
if (EaseCheckDoit(eab)) goto quit;
EaseWrite(eab, "R21");
return __LINE__; case __LINE__: /**********************************/
drv->press[P2] = OxiGet(eab, 1, NULL);
drv->press[P2] = OxiGet(eab, 1, NULL, drv->press[P2]);
quit:
ParLog(drv);
@ -382,6 +382,7 @@ static long IghStart(long pc, void *object) {
EaseStop(eab);
goto quit;
}
eab->syntax = -8; /* special value for communication error correction */
ParPrintf(drv, eStatus, "connected to %s", eab->version);
FsmCall(IghRead);
return __LINE__; case __LINE__: /**********************************/