- Fixed a bug relating to the control variable in countserse.c It was used

to control the counter and internally to maintain count progress. This has
  now been fixed.
- Due to improper state handling multi counter failed when called both from
  the count task and the sttus testing. This is now resolved.
This commit is contained in:
2015-04-27 14:46:39 +02:00
parent b60ce746d4
commit e8df6158ea
2 changed files with 34 additions and 10 deletions

View File

@ -176,11 +176,24 @@ static int SecCtrCheckStatus(void *pData, SConnection *pCon)
}
ReleaseHdbValue(&v);
node = GetHipadabaNode(self->pDes->parNode,"control");
assert(node != NULL);
GetHipadabaPar(node,&v,pCon);
fControl = v.v.doubleValue;
if(self->getMode(self) == eTimer){
node = GetHipadabaNode(self->pDes->parNode,"time");
assert(node != NULL);
GetHipadabaPar(node,&v,pCon);
fControl = v.v.doubleValue;
} else {
node = GetHipadabaNode(self->pDes->parNode,"values");
assert(node != NULL);
/*
The 1 below is only correct for PSI where only the first
monitor can be the control monitor. Elsewhere this must be the
control monitor channel
*/
fControl = v.v.intArray[1];
}
node = GetHipadabaNode(self->pDes->parNode,"preset");
assert(node != NULL);
GetHipadabaPar(node,&v,pCon);