Fine tuning of second generation motor and counter parameter update messages
Changed paramete rupdates to verbose severity
This commit is contained in:
14
countersec.c
14
countersec.c
@ -39,6 +39,7 @@ static void SecCounterSetError(pCounter self, char *text)
|
|||||||
if(node != NULL){
|
if(node != NULL){
|
||||||
v = MakeHdbText(strdup(text));
|
v = MakeHdbText(strdup(text));
|
||||||
UpdateHipadabaPar(node,v,NULL);
|
UpdateHipadabaPar(node,v,NULL);
|
||||||
|
Log(VERBOSE,"par","%s:error:%s", self->name,text);
|
||||||
ReleaseHdbValue(&v);
|
ReleaseHdbValue(&v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -98,6 +99,7 @@ static int SecStartCount(void *pData, SConnection *pCon)
|
|||||||
self->tStart = time(NULL);
|
self->tStart = time(NULL);
|
||||||
node = GetHipadabaNode(self->pDes->parNode, "control");
|
node = GetHipadabaNode(self->pDes->parNode, "control");
|
||||||
UpdateHipadabaPar(node,MakeHdbFloat(.0), pCon);
|
UpdateHipadabaPar(node,MakeHdbFloat(.0), pCon);
|
||||||
|
Log(VERBOSE,"par","%s:control:%s", self->name,"0");
|
||||||
SetHdbProperty(node,"geterror", NULL);
|
SetHdbProperty(node,"geterror", NULL);
|
||||||
/*
|
/*
|
||||||
* set time to 0. Otherwise, if there is a delay,
|
* set time to 0. Otherwise, if there is a delay,
|
||||||
@ -106,6 +108,7 @@ static int SecStartCount(void *pData, SConnection *pCon)
|
|||||||
*/
|
*/
|
||||||
node = GetHipadabaNode(self->pDes->parNode, "time");
|
node = GetHipadabaNode(self->pDes->parNode, "time");
|
||||||
UpdateHipadabaPar(node,MakeHdbFloat(.0), pCon);
|
UpdateHipadabaPar(node,MakeHdbFloat(.0), pCon);
|
||||||
|
Log(VERBOSE,"par","%s:time:%s", self->name,"0");
|
||||||
InvokeCallBack(self->pCall,COUNTSTART, pCon);
|
InvokeCallBack(self->pCall,COUNTSTART, pCon);
|
||||||
SecCounterSetError(self,"None");
|
SecCounterSetError(self,"None");
|
||||||
return 1;
|
return 1;
|
||||||
@ -308,7 +311,9 @@ static int SecCtrSetMode(pCounter self, CounterMode eNew)
|
|||||||
v = MakeHdbText("monitor");
|
v = MakeHdbText("monitor");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Log(VERBOSE,"par","%s:mode:%s", self->name,v.v.text);
|
||||||
return SetHipadabaPar(node,v,NULL);
|
return SetHipadabaPar(node,v,NULL);
|
||||||
|
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
static CounterMode SecCtrGetMode(pCounter self)
|
static CounterMode SecCtrGetMode(pCounter self)
|
||||||
@ -338,6 +343,7 @@ static int SecCtrSetPreset(pCounter self, float val)
|
|||||||
node = GetHipadabaNode(self->pDes->parNode,"preset");
|
node = GetHipadabaNode(self->pDes->parNode,"preset");
|
||||||
assert(node != NULL);
|
assert(node != NULL);
|
||||||
v = MakeHdbFloat(val);
|
v = MakeHdbFloat(val);
|
||||||
|
Log(VERBOSE,"par","%s:preset:%f", self->name,v.v.doubleValue);
|
||||||
return SetHipadabaPar(node,v,NULL);
|
return SetHipadabaPar(node,v,NULL);
|
||||||
}
|
}
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
@ -585,15 +591,19 @@ static hdbCallbackReturn SecStatusCallback(pHdb node, void *userData,
|
|||||||
{
|
{
|
||||||
pHdbDataMessage mm = NULL;
|
pHdbDataMessage mm = NULL;
|
||||||
hdbValue v;
|
hdbValue v;
|
||||||
|
pCounter self = (pCounter)userData;
|
||||||
|
|
||||||
mm = GetHdbUpdateMessage(message);
|
mm = GetHdbUpdateMessage(message);
|
||||||
if (mm != NULL) {
|
if (mm != NULL) {
|
||||||
|
v = *mm->v;
|
||||||
if(strcmp(node->value.v.text,"starting") == 0) {
|
if(strcmp(node->value.v.text,"starting") == 0) {
|
||||||
v = *mm->v;
|
|
||||||
if(strstr(v.v.text,"run") == 0 && strstr(v.v.text,"error") == 0) {
|
if(strstr(v.v.text,"run") == 0 && strstr(v.v.text,"error") == 0) {
|
||||||
return hdbAbort;
|
return hdbAbort;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(strcmp(v.v.text,node->value.v.text) != 0){
|
||||||
|
Log(VERBOSE,"par","%s:status:%s", self->name,v.v.text);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return hdbContinue;
|
return hdbContinue;
|
||||||
@ -684,7 +694,7 @@ pCounter CreateSecCounter(SConnection *pCon, char *type, char *name, int length)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
AppendHipadabaCallback(child,
|
AppendHipadabaCallback(child,
|
||||||
MakeHipadabaCallback(SecStatusCallback, NULL,
|
MakeHipadabaCallback(SecStatusCallback, pRes,
|
||||||
NULL));
|
NULL));
|
||||||
AddHipadabaChild(node, child, NULL);
|
AddHipadabaChild(node, child, NULL);
|
||||||
|
|
||||||
|
45
motorsec.c
45
motorsec.c
@ -58,6 +58,7 @@ static void SecMotorSetError(pMotor self, char *text)
|
|||||||
if(node != NULL){
|
if(node != NULL){
|
||||||
v = MakeHdbText(strdup(text));
|
v = MakeHdbText(strdup(text));
|
||||||
UpdateHipadabaPar(node,v,NULL);
|
UpdateHipadabaPar(node,v,NULL);
|
||||||
|
Log(VERBOSE,"par","%s:error:%s", self->name,text);
|
||||||
ReleaseHdbValue(&v);
|
ReleaseHdbValue(&v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -84,6 +85,7 @@ static int SecMotorSetPar(pMotor self, SConnection * pCon, char *name,
|
|||||||
status = SICSHdbSetPar(self, pCon, name, value);
|
status = SICSHdbSetPar(self, pCon, name, value);
|
||||||
if (status == 1) {
|
if (status == 1) {
|
||||||
SCparChange(pCon);
|
SCparChange(pCon);
|
||||||
|
Log(VERBOSE,"par","%s:%s:%f", self->name,name,fVal);
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
@ -287,6 +289,7 @@ static void handleMoveCallback(pMotor self, SConnection * pCon)
|
|||||||
node = GetHipadabaNode(self->pDescriptor->parNode, "hardposition");
|
node = GetHipadabaNode(self->pDescriptor->parNode, "hardposition");
|
||||||
GetHipadabaPar(node, &v, pCon);
|
GetHipadabaPar(node, &v, pCon);
|
||||||
UpdateHipadabaPar(node, v, pCon);
|
UpdateHipadabaPar(node, v, pCon);
|
||||||
|
Log(VERBOSE,"par","%s:hardposition:%f",self->name,v.v.doubleValue);
|
||||||
self->posCount = 0;
|
self->posCount = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -539,6 +542,7 @@ static hdbCallbackReturn SecMotorCallback(pHdb node, void *userData,
|
|||||||
UpdateHipadabaPar(child, MakeHdbText("run"), pCon);
|
UpdateHipadabaPar(child, MakeHdbText("run"), pCon);
|
||||||
child = GetHipadabaNode(self->pDescriptor->parNode, "targetposition");
|
child = GetHipadabaNode(self->pDescriptor->parNode, "targetposition");
|
||||||
UpdateHipadabaPar(child, MakeHdbFloat(fHard), pCon);
|
UpdateHipadabaPar(child, MakeHdbFloat(fHard), pCon);
|
||||||
|
Log(VERBOSE,"par","%s:targetposition:%f", self->name,fHard);
|
||||||
child = GetHipadabaNode(self->pDescriptor->parNode, "hardposition");
|
child = GetHipadabaNode(self->pDescriptor->parNode, "hardposition");
|
||||||
SetHipadabaPar(child, MakeHdbFloat(fHard), pCon);
|
SetHipadabaPar(child, MakeHdbFloat(fHard), pCon);
|
||||||
|
|
||||||
@ -579,6 +583,9 @@ static hdbCallbackReturn HardUpdateCallback(pHdb node, void *userData,
|
|||||||
mm = GetHdbUpdateMessage(message);
|
mm = GetHdbUpdateMessage(message);
|
||||||
if (mm != NULL) {
|
if (mm != NULL) {
|
||||||
v = *mm->v;
|
v = *mm->v;
|
||||||
|
if(ABS(v.v.doubleValue - node->value.v.doubleValue) > .01){
|
||||||
|
Log(VERBOSE,"par","%s:hardposition:%f", self->name,v.v.doubleValue);
|
||||||
|
}
|
||||||
fVal = hardToSoftPosition(self, (float) v.v.doubleValue);
|
fVal = hardToSoftPosition(self, (float) v.v.doubleValue);
|
||||||
v.v.doubleValue = fVal;
|
v.v.doubleValue = fVal;
|
||||||
UpdateHipadabaPar(self->pDescriptor->parNode, v, mm->callData);
|
UpdateHipadabaPar(self->pDescriptor->parNode, v, mm->callData);
|
||||||
@ -596,6 +603,41 @@ static hdbCallbackReturn HardUpdateCallback(pHdb node, void *userData,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return hdbContinue;
|
||||||
|
}
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
static hdbCallbackReturn StatusUpdateCallback(pHdb node, void *userData,
|
||||||
|
pHdbMessage message)
|
||||||
|
{
|
||||||
|
pHdbDataMessage mm = NULL;
|
||||||
|
pHdbPropertyChange pm = NULL;
|
||||||
|
pMotor self = (pMotor) userData;
|
||||||
|
float fVal;
|
||||||
|
hdbValue v;
|
||||||
|
|
||||||
|
assert(self != NULL);
|
||||||
|
|
||||||
|
mm = GetHdbUpdateMessage(message);
|
||||||
|
if (mm != NULL) {
|
||||||
|
v = *mm->v;
|
||||||
|
if(strcmp(v.v.text,node->value.v.text) != 0){
|
||||||
|
UpdateHipadabaPar(self->pDescriptor->parNode, v, mm->callData);
|
||||||
|
Log(VERBOSE,"par","%s:status:%s", self->name,v.v.text);
|
||||||
|
}
|
||||||
|
return hdbContinue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
forward geterror
|
||||||
|
*/
|
||||||
|
pm = GetPropertyChangeMessage(message);
|
||||||
|
if(pm != NULL){
|
||||||
|
if(strstr(pm->key,"geterror") != NULL){
|
||||||
|
SetHdbProperty(self->pDescriptor->parNode,pm->key, pm->value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return hdbContinue;
|
return hdbContinue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -882,6 +924,9 @@ pMotor SecMotorInit(char *name)
|
|||||||
|
|
||||||
child = MakeHipadabaNode("status", HIPTEXT, 1);
|
child = MakeHipadabaNode("status", HIPTEXT, 1);
|
||||||
SetHdbProperty(child, "motname", name);
|
SetHdbProperty(child, "motname", name);
|
||||||
|
AppendHipadabaCallback(child,
|
||||||
|
MakeHipadabaCallback(StatusUpdateCallback, pM,
|
||||||
|
NULL));
|
||||||
AddHipadabaChild(node, child, NULL);
|
AddHipadabaChild(node, child, NULL);
|
||||||
|
|
||||||
child = MakeHipadabaNode("error", HIPTEXT, 1);
|
child = MakeHipadabaNode("error", HIPTEXT, 1);
|
||||||
|
2
trace.c
2
trace.c
@ -230,7 +230,7 @@ void traceprint(char *sub, char *id, char *data)
|
|||||||
} else if(strstr(sub,"com") != NULL){
|
} else if(strstr(sub,"com") != NULL){
|
||||||
severity = INFO;
|
severity = INFO;
|
||||||
} else if(strstr(sub,"par") != NULL){
|
} else if(strstr(sub,"par") != NULL){
|
||||||
severity = INFO;
|
severity = VERBOSE;
|
||||||
} else {
|
} else {
|
||||||
severity = DEBUG;
|
severity = DEBUG;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user