- removed bug reading persistant value
This commit is contained in:
14
ipsdriv.c
14
ipsdriv.c
@ -447,7 +447,7 @@ static long IpsRead(long pc, void *object)
|
|||||||
goto ramp_zero;
|
goto ramp_zero;
|
||||||
}
|
}
|
||||||
|
|
||||||
OxiSet(eab, "J", drv->perscurrent, 3); /* put set point to a low value, above the CLACK value */
|
OxiSet(eab, "J", drv->perscurrent, 3); /* put set point to a low value */
|
||||||
return __LINE__;
|
return __LINE__;
|
||||||
case __LINE__:
|
case __LINE__:
|
||||||
EaseWrite(eab, "A1"); /* goto set (almost zero) */
|
EaseWrite(eab, "A1"); /* goto set (almost zero) */
|
||||||
@ -578,6 +578,7 @@ static long IpsChangeField(long pc, void *object)
|
|||||||
EaseWrite(eab, "F7"); /* switch to tesla on display */
|
EaseWrite(eab, "F7"); /* switch to tesla on display */
|
||||||
return __LINE__;
|
return __LINE__;
|
||||||
case __LINE__: /**********************************/
|
case __LINE__: /**********************************/
|
||||||
|
|
||||||
EaseWrite(eab, "A0"); /* hold */
|
EaseWrite(eab, "A0"); /* hold */
|
||||||
return __LINE__;
|
return __LINE__;
|
||||||
case __LINE__: /**********************************/
|
case __LINE__: /**********************************/
|
||||||
@ -587,11 +588,18 @@ static long IpsChangeField(long pc, void *object)
|
|||||||
case __LINE__: /**********************************/
|
case __LINE__: /**********************************/
|
||||||
drv->current = OxiGet(eab, 3, NULL, drv->current);
|
drv->current = OxiGet(eab, 3, NULL, drv->current);
|
||||||
|
|
||||||
|
if (drv->perswitch) {
|
||||||
|
IpsSetField(drv, drv->current);
|
||||||
|
goto skipR18;
|
||||||
|
}
|
||||||
|
|
||||||
EaseWrite(eab, "R18"); /* read persistant field (in Tesla) */
|
EaseWrite(eab, "R18"); /* read persistant field (in Tesla) */
|
||||||
return __LINE__;
|
return __LINE__;
|
||||||
case __LINE__: /**********************************/
|
case __LINE__: /**********************************/
|
||||||
IpsSetField(drv, OxiGet(eab, 3, NULL, drv->persfield));
|
fld = OxiGet(eab, 3, NULL, drv->persfield);
|
||||||
|
IpsSetField(drv, fld);
|
||||||
|
|
||||||
|
skipR18:
|
||||||
FsmCall(IpsMeas);
|
FsmCall(IpsMeas);
|
||||||
return __LINE__;
|
return __LINE__;
|
||||||
case __LINE__: /**********************************/
|
case __LINE__: /**********************************/
|
||||||
@ -804,7 +812,7 @@ static int IpsInit(SConnection * con, int argc, char *argv[], int dynamic)
|
|||||||
if (drv == NULL)
|
if (drv == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
drv->d.maxwait = 999999;
|
drv->d.maxwait = 999999;
|
||||||
drv->d.tolerance = 0.001;
|
drv->d.tolerance = 0.00011;
|
||||||
drv->dothis = NOTHING;
|
drv->dothis = NOTHING;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user