- added general binary scriptcontext protocoll

- improved some drivers
This commit is contained in:
zolliker
2010-09-02 11:41:31 +00:00
parent 1e9f9d408c
commit bc2c9e5a3e
10 changed files with 528 additions and 27 deletions

View File

@ -62,6 +62,9 @@ static int IpsOk(Ips * drv)
return 1; /* connection not yet confirmed */
if (drv->perswitch)
return 1;
if (drv->lastfield == PAR_NAN) {
drv->lastfield = drv->persfield;
}
if (fabs(drv->persfield - drv->lastfield) < 1e-5)
return 1;
if (drv->force != 0)
@ -186,7 +189,7 @@ void IpsParDef(void *object)
ParName("lastfield");
ParSave(1);
ParFloat(&drv->lastfield, 0);
ParFloat(&drv->lastfield, PAR_NAN);
ParName("confirm");
ParCmd(IpsConfirm, NULL);
@ -232,6 +235,7 @@ static void IpsStatus(Ips * drv)
break;
case '1':
ParPrintf(drv, eError, "magnet quenched");
drv->lastfield = PAR_NAN;
*code = EASE_FAULT;
return;
case '2':
@ -358,6 +362,7 @@ static long IpsStart(long pc, void *object)
FsmCall(IpsRead);
return __LINE__;
case __LINE__: /**********************************/
drv->d.targetValue = drv->persfield;
quit:
return 0;
@ -398,6 +403,9 @@ static long IpsChangeField(long pc, void *object)
drv->remote = 2;
if (!IpsOk(drv))
goto finish;
if (drv->lastfield == PAR_NAN) {
drv->lastfield = drv->persfield;
}
if (fabs(drv->d.targetValue - drv->lastfield) < 1e-5) {
ParPrintf(drv, -1, "IPS: we are already at field %f",
drv->lastfield);