- Added an edge function to peakcenter for NARZISS
- Fixed ei interrupt bug in tasdrive.c - Made eiger A2 driving work - Added force start facility to devexec for POLDI HV SKIPPED: psi/eigera2.c psi/polterwrite.c
This commit is contained in:
47
motorlist.c
47
motorlist.c
@ -125,6 +125,12 @@ static int MOLICheckStatus(void *data, SConnection * pCon)
|
||||
break;
|
||||
case HWFault:
|
||||
case HWPosFault:
|
||||
/**
|
||||
* It is questionable if one should not set a flag here
|
||||
* and keep p;olling: it is not clear if this error is a
|
||||
* communication problem or that the motor really
|
||||
* has stopped.
|
||||
*/
|
||||
return status;
|
||||
break;
|
||||
default:
|
||||
@ -138,6 +144,47 @@ static int MOLICheckStatus(void *data, SConnection * pCon)
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/*---------------------------------------------------------
|
||||
A special version for EIGER. I am coutious: I have problems
|
||||
with this at EIGER but I do not want to propogate the fix
|
||||
elsewhere even if it may be the right thing to do.
|
||||
-----------------------------------------------------------*/
|
||||
int MOLIEigerStatus(void *data, SConnection * pCon)
|
||||
{
|
||||
int self = 0, iRet, status, result = HWIdle;
|
||||
MotControl tuktuk;
|
||||
|
||||
self = *(int *) data;
|
||||
|
||||
iRet = LLDnodePtr2First(self);
|
||||
while (iRet != 0) {
|
||||
LLDnodeDataTo(self, &tuktuk);
|
||||
if (tuktuk.running == 1) {
|
||||
status = tuktuk.pDriv->CheckStatus(tuktuk.data, pCon);
|
||||
switch (status) {
|
||||
case HWIdle:
|
||||
tuktuk.running = 0;
|
||||
LLDnodeDataFrom(self, &tuktuk);
|
||||
break;
|
||||
case HWBusy:
|
||||
result = HWBusy;
|
||||
break;
|
||||
case HWFault:
|
||||
case HWPosFault:
|
||||
tuktuk.running = 0;
|
||||
LLDnodeDataFrom(self, &tuktuk);
|
||||
break;
|
||||
default:
|
||||
/*
|
||||
this is a programming error and has to be fixed
|
||||
*/
|
||||
assert(0);
|
||||
}
|
||||
}
|
||||
iRet = LLDnodePtr2Next(self);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------
|
||||
GetValue is supposed to read a motor position
|
||||
|
Reference in New Issue
Block a user