- various enhancements

This commit is contained in:
zolliker
2008-01-18 07:35:34 +00:00
parent a3df7d2729
commit 661df39166
11 changed files with 165 additions and 118 deletions

View File

@ -42,6 +42,7 @@ typedef struct {
int persmode; /* 0: leave switch on, 1: go to persistant mode */
int perswitch; /* state of switch */
int remote; /* 0: local, 1: remote, do not check, 2: remote, check */
int nowait; /* 0: normal, 1: drive finishes immediately, ramp in background */
int heaterFault;
char *fmt; /* fmt for field */
int force; /* force = 2: put heater switch even when stored field does not match */
@ -125,6 +126,9 @@ void IpsParDef(void *object) {
ParName("perswitch"); ParEnum(onOff); ParList(0);
ParInt(&drv->perswitch, PAR_NAN);
ParName("nowait"); ParAccess(usUser); ParEnum(onOff); ParList(0);
ParInt(&drv->nowait, 0);
ParName("maxlimit"); ParSave(1); ParFloat(&drv->maxlimit, 0.0);
ParName("limit"); ParAccess(usUser); ParFmt(drv->fmt); ParTail("Tesla");
@ -302,6 +306,10 @@ static long IpsChangeField(long pc, void *object) {
switch (pc) { default: /* FSM BEGIN *******************************/
EaseSetUpdate(eab, EASE_RUN, 0);
if (drv->nowait) {
drv->d.hwstate = HWIdle;
drv->d.eMode = EVMonitor; /* finish drive, continue in background */
}
EaseWrite(eab, "C3");
drv->remote = 1;
return __LINE__; case __LINE__: /**********************************/