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:
@ -134,6 +134,7 @@ static void startMultiCounting(pHdb self, SConnection *pCon)
|
||||
assert(sID != NULL);
|
||||
assert(mID != NULL);
|
||||
|
||||
strtolower(mode->value.v.text);
|
||||
if(strcmp(mode->value.v.text,"timer") == 0) {
|
||||
eMode = eTimer;
|
||||
} else {
|
||||
@ -234,12 +235,12 @@ static hdbCallbackReturn MultiSecControllCallback(pHdb node,
|
||||
/*-------------------------------------------------------------------------------------*/
|
||||
static int isMultiMasterRunning(pCounter self, SConnection *pCon, int *status)
|
||||
{
|
||||
pHdb mID, master, myStatus, control, ccd, stopTime;
|
||||
pHdb mID, master, myStatus, control, ccd, stopTime, timeNode;
|
||||
hdbValue v;
|
||||
long mlID;
|
||||
void *data;
|
||||
pICountable pCount;
|
||||
float controlVal;
|
||||
float controlVal, tVal;
|
||||
|
||||
mID = GetHipadabaNode(self->objectNode,"masterID");
|
||||
master = GetHipadabaNode(self->objectNode,"master");
|
||||
@ -247,12 +248,14 @@ static int isMultiMasterRunning(pCounter self, SConnection *pCon, int *status)
|
||||
control = GetHipadabaNode(self->objectNode,"control");
|
||||
ccd = GetHipadabaNode(self->objectNode,"ccd");
|
||||
stopTime = GetHipadabaNode(self->objectNode,"stopTime");
|
||||
timeNode = GetHipadabaNode(self->objectNode,"time");
|
||||
assert(mID != NULL);
|
||||
assert(master != NULL);
|
||||
assert(myStatus != NULL);
|
||||
assert(control != NULL);
|
||||
assert(ccd != NULL);
|
||||
assert(stopTime != NULL);
|
||||
assert(timeNode != NULL);
|
||||
|
||||
|
||||
mlID = mID->value.v.intValue;
|
||||
@ -269,6 +272,8 @@ static int isMultiMasterRunning(pCounter self, SConnection *pCon, int *status)
|
||||
*status = pCount->CheckCountStatus(data,pCon);
|
||||
controlVal = GetControlValue((pCounter)data);
|
||||
UpdateHipadabaPar(control,MakeHdbFloat(controlVal),pCon);
|
||||
tVal = GetCountTime((pCounter)data,pCon);
|
||||
UpdateHipadabaPar(timeNode,MakeHdbFloat(tVal),pCon);
|
||||
SecCounterSetError(self,"None");
|
||||
switch(*status){
|
||||
case HWFault:
|
||||
@ -296,6 +301,8 @@ static int isMultiMasterRunning(pCounter self, SConnection *pCon, int *status)
|
||||
*status = HWBusy;
|
||||
UpdateHipadabaPar(myStatus,MakeHdbText("run"),pCon);
|
||||
UpdateHipadabaPar(stopTime,MakeHdbInt(time(NULL)),pCon);
|
||||
tVal = GetCountTime((pCounter)data,pCon);
|
||||
UpdateHipadabaPar(timeNode,MakeHdbFloat(tVal),pCon);
|
||||
if(ccd->value.v.intValue != 1) {
|
||||
doCountCommand(self->objectNode,pCon,1011);
|
||||
}
|
||||
|
Reference in New Issue
Block a user