Fixed a task and a tasdrive issue
There is a rare condition when SICS has frehsly stared up and on the first call to a coordinated driving, like in TAS, something fails. Then the group has ID 0, the default and that one is always active. This has been fixed by starting valid groups at 7, defining 0 ans IDUNDEFINED and checking in isTaskGroupRunning for IDUNDEFINED Then there is an issue in tasdrive. I added a call to CheckStatus when starting the mono. This is necessary for the eiger monochromator as with that one starting is deferred to the CheckSttaus function. The reason is that in other use cases, the looser might want to drive a2 and a2w at the same time. This can only correctly be accomodated by deferring the caclulations to the CheckStatus phase.
This commit is contained in:
@ -364,6 +364,11 @@ static int startMotors(ptasMot self, tasAngles angles,
|
||||
*/
|
||||
status = self->math->mono->SetValue(self->math->monoData,
|
||||
pCon,angles.monochromator_two_theta);
|
||||
/*
|
||||
The call to CheckStatus is necessary because the eiger monochromator may not
|
||||
start until then. Deferred until all parameters are known.
|
||||
*/
|
||||
self->math->mono->CheckStatus(self->math->monoData,pCon);
|
||||
if(status != OKOK){
|
||||
return status;
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user