- Modified dubiuos limit code in ECBSetValue

- Added subsampling to sinqhmdriv
This commit is contained in:
koennecke
2008-06-09 09:00:19 +00:00
parent b9157b18d7
commit 90497e4beb
4 changed files with 32 additions and 6 deletions

View File

@ -694,9 +694,14 @@ static int ECBRunTo(void *pData, float newPosition){
*/
diff = newPosition - oldValue;
steps2degree= ObVal(self->driverPar,STEPS2DEG);
if(ABS(diff) <= ObVal(self->driverPar,TOLERANCE)){
return OKOK;
}
/*
if(ABS(diff) <= .5/steps2degree + ObVal(self->driverPar,TOLERANCE)){
return OKOK;
}
*/
/*
save restartTarget for backlash handling

View File

@ -625,7 +625,13 @@ static hdbCallbackReturn JulChoGetCallback(pHdb currentNode,
}
/*--------------------------------------------------------------------------*/
static int AppendJulChoROPar(pHdb parent, char *name, int type){
return AddSICSHdbROPar(parent,name,makeHdbValue(type,1));
pHdb child = NULL;
child = AddSICSHdbROPar(parent,name,makeHdbValue(type,1));
if(child != NULL){
return 1;
} else {
return 0;
}
}
/*---------------------------------------------------------------------------*/
static int ConfigureSingleJulCho(pHdb parent, pJulCho driv,
@ -796,11 +802,13 @@ static int InitJulChoPar(pJulCho driv){
* set callback and replace by a speed setting callback
*/
parChild = GetHipadabaNode(child,"nomspeed");
assert(parChild != NULL);
assert(parChild != NULL);
/*
* TODO: possible delete some callbacks
* delete the callback cahin in order to remove the
* read only callback
*/
DeleteCallbackChain(parChild->callBackChain);
parChild->callBackChain = NULL;
pCb = MakeCheckPermissionCallback(usUser);
if(pCb == NULL){
@ -812,6 +820,10 @@ static int InitJulChoPar(pJulCho driv){
return 0;
}
AppendHipadabaCallback(parChild,pCb);
AppendHipadabaCallback(parChild,
MakeHipadabaCallback(JulChoGetCallback,driv,NULL));
AddHipadabaChild(driv->parNode,child,NULL);
child = MakeHipadabaNode(CH3N,HIPNONE,0);

View File

@ -48,9 +48,12 @@ typedef struct {
char *pFile;
}Polterdi, *pPolterdi;
/* ------------------- forward declaration of task function --------------*/
static int PoldiTask(void *pData);
static void PoldiUpdate(pPolterdi self, SConnection *pCon);
static void PoldiStart(pPolterdi s, SConnection *pCon);
static void PoldiLink(pPolterdi s, SConnection *pCon);
/*------------------ The Countstart Callback Function ----------------------*/
static int Countstartcallback(int iEvent, void *pEventData, void *pUser,
@ -70,7 +73,7 @@ typedef struct {
return 1;
}
return 1;
}
}
/*------------------ The Countend Callback Function ----------------------*/
static int Countendcallback(int iEvent, void *pEventData, void *pUser,
commandContext cc)
@ -83,7 +86,12 @@ typedef struct {
assert(self);
self->tUpdate = time(NULL);
self->iEnd = 1;
PoldiUpdate(self,self->pCon);
if(self->iNew == 1){
PoldiStart(self,self->pCon);
PoldiLink(self, self->pCon);
} else {
PoldiUpdate(self,self->pCon);
}
return 1;
}
return 1;

View File

@ -1156,6 +1156,7 @@ pCon);
pNew->Preset = SQPreset;
pNew->FreePrivate = SQFreePrivate;
pNew->Pause = SQPause;
pNew->SubSample = DefaultSubSample;
pNew->Continue = SQContinue;
return pNew;