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:
2014-05-05 13:52:00 +02:00
parent b466a2d427
commit 72f9e59150
8 changed files with 156 additions and 13 deletions

View File

@ -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;