Multiple bug fixes
- Arrayutil was not summing correctly - Added interest to motorsec in order to support old status clients - core dump because of bad free in devser - fixed transferring of count time in multicounter - added stack debugging to sllinux_def - Modifications to tasdrive to wait for finish of monochromator properly
This commit is contained in:
16
tasdrive.c
16
tasdrive.c
@ -352,6 +352,7 @@ static int startMotors(ptasMot self, tasAngles angles,
|
||||
{
|
||||
double curve;
|
||||
int status, silent, stopFixed;
|
||||
long monoID;
|
||||
|
||||
silent = self->math->silent;
|
||||
stopFixed = self->math->stopFixed;
|
||||
@ -363,9 +364,9 @@ static int startMotors(ptasMot self, tasAngles angles,
|
||||
monochromator
|
||||
*/
|
||||
status = self->math->mono->SetValue(self->math->monoData,
|
||||
pCon,angles.monochromator_two_theta);
|
||||
pCon,angles.monochromator_two_theta);
|
||||
/*
|
||||
The call to CheckStatus is necessary because the eiger monochromator may not
|
||||
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);
|
||||
@ -374,6 +375,14 @@ static int startMotors(ptasMot self, tasAngles angles,
|
||||
} else {
|
||||
AddTaskToGroup(pServ->pTasker, self->math->monoTaskID, self->math->groupID);
|
||||
}
|
||||
/* monoID = StartDriveTask(self->math->monoData, pCon,"mono", */
|
||||
/* angles.monochromator_two_theta); */
|
||||
/* self->math->mono->CheckStatus(self->math->monoData,pCon); */
|
||||
/* if(monoID < 0){ */
|
||||
/* SCWrite(pCon,"ERROR: failed to start monochromator",eLogError); */
|
||||
/* } else { */
|
||||
/* AddTaskToGroup(pServ->pTasker,monoID, self->math->groupID); */
|
||||
/* } */
|
||||
|
||||
/*
|
||||
analyzer
|
||||
@ -588,7 +597,8 @@ static int checkMotors(ptasMot self, SConnection * pCon)
|
||||
{
|
||||
self->math->mustRecalculate = 1;
|
||||
|
||||
if(isTaskGroupRunning(pServ->pTasker,self->math->groupID)){
|
||||
if(isTaskGroupRunning(pServ->pTasker,self->math->groupID) ||
|
||||
isTaskGroupRunning(pServ->pTasker,self->math->monoTaskID)){
|
||||
return HWBusy;
|
||||
} else {
|
||||
return HWIdle;
|
||||
|
Reference in New Issue
Block a user