bug fixes

This commit is contained in:
zolliker
2005-04-29 06:35:18 +00:00
parent 95c91a77c4
commit 27a6ad9e1d
2 changed files with 11 additions and 16 deletions

View File

@ -327,20 +327,20 @@ static int IpsChangeField(long pc, IpsDriv *me) {
target_reached: target_reached:
eve->hwstate = HWIdle; eve->hwstate = HWIdle;
EveWrite(eve, "A0"); /* hold */ evc->eMode = EVMonitor;
FSM_NEXT /* we are at field, drive has finished, but we continue in the background */
evc->eMode = EVMonitor; /* we are at field, drive has finished */
if (!me->persmode) goto hold_finish;
/* but we continue in the background */
me->tim = time(NULL); me->tim = time(NULL);
stab3: stab3:
FSM_WAIT(1) FSM_WAIT(1)
EveWrite(eve, "X"); EveWrite(eve, "X");
FSM_NEXT FSM_NEXT
IpsStatus(me); /* just check for errors */ IpsStatus(me); /* just check for errors */
if (time(NULL) < me->tim + 3) goto stab3; /* stabilize */ if (time(NULL) < me->tim + 3) goto stab3; /* stabilize */
EveWrite(eve, "A0"); /* hold */
FSM_NEXT
if (!me->persmode) goto finish;
EveWrite(eve, "H0"); EveWrite(eve, "H0");
me->perswitch = 0; me->perswitch = 0;
me->swtim = time(NULL); me->swtim = time(NULL);
@ -361,11 +361,6 @@ static int IpsChangeField(long pc, IpsDriv *me) {
FSM_NEXT FSM_NEXT
goto finish; goto finish;
hold_finish:
EveWrite(eve, "A0");
FSM_NEXT
goto finish;
off_finish: off_finish:
if (me->perswitch) { if (me->perswitch) {
me->lastfield = me->current; me->lastfield = me->current;

View File

@ -115,11 +115,11 @@ double OiGetFlt(Eve *eve, int dig, int *pdig) {
} }
void OiSet(Eve *eve, char *cmd, double val, int dig) { void OiSet(Eve *eve, char *cmd, double val, int dig) {
char buf[64]; char buf[64];
long lval;
if (eve->syntax == 0) { if (eve->syntax == 0) {
for (;dig>0;dig--) val=val*10; snprintf(buf, sizeof(buf), "%s%.*f", cmd, dig, val);
snprintf(buf, sizeof(buf), "%s%05d", cmd, (int)val);
} else { } else {
snprintf(buf, sizeof(buf), "%s%f", cmd, val); snprintf(buf, sizeof(buf), "%s%f", cmd, val);
} }