- various enhancements
This commit is contained in:
@ -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__: /**********************************/
|
||||
|
Reference in New Issue
Block a user