- Modified dubiuos limit code in ECBSetValue
- Added subsampling to sinqhmdriv
This commit is contained in:
@ -694,9 +694,14 @@ static int ECBRunTo(void *pData, float newPosition){
|
|||||||
*/
|
*/
|
||||||
diff = newPosition - oldValue;
|
diff = newPosition - oldValue;
|
||||||
steps2degree= ObVal(self->driverPar,STEPS2DEG);
|
steps2degree= ObVal(self->driverPar,STEPS2DEG);
|
||||||
|
if(ABS(diff) <= ObVal(self->driverPar,TOLERANCE)){
|
||||||
|
return OKOK;
|
||||||
|
}
|
||||||
|
/*
|
||||||
if(ABS(diff) <= .5/steps2degree + ObVal(self->driverPar,TOLERANCE)){
|
if(ABS(diff) <= .5/steps2degree + ObVal(self->driverPar,TOLERANCE)){
|
||||||
return OKOK;
|
return OKOK;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
save restartTarget for backlash handling
|
save restartTarget for backlash handling
|
||||||
|
20
julcho.c
20
julcho.c
@ -625,7 +625,13 @@ static hdbCallbackReturn JulChoGetCallback(pHdb currentNode,
|
|||||||
}
|
}
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
static int AppendJulChoROPar(pHdb parent, char *name, int type){
|
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,
|
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
|
* set callback and replace by a speed setting callback
|
||||||
*/
|
*/
|
||||||
parChild = GetHipadabaNode(child,"nomspeed");
|
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);
|
pCb = MakeCheckPermissionCallback(usUser);
|
||||||
if(pCb == NULL){
|
if(pCb == NULL){
|
||||||
@ -812,6 +820,10 @@ static int InitJulChoPar(pJulCho driv){
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
AppendHipadabaCallback(parChild,pCb);
|
AppendHipadabaCallback(parChild,pCb);
|
||||||
|
AppendHipadabaCallback(parChild,
|
||||||
|
MakeHipadabaCallback(JulChoGetCallback,driv,NULL));
|
||||||
|
|
||||||
|
|
||||||
AddHipadabaChild(driv->parNode,child,NULL);
|
AddHipadabaChild(driv->parNode,child,NULL);
|
||||||
|
|
||||||
child = MakeHipadabaNode(CH3N,HIPNONE,0);
|
child = MakeHipadabaNode(CH3N,HIPNONE,0);
|
||||||
|
@ -48,9 +48,12 @@ typedef struct {
|
|||||||
char *pFile;
|
char *pFile;
|
||||||
}Polterdi, *pPolterdi;
|
}Polterdi, *pPolterdi;
|
||||||
|
|
||||||
|
|
||||||
/* ------------------- forward declaration of task function --------------*/
|
/* ------------------- forward declaration of task function --------------*/
|
||||||
static int PoldiTask(void *pData);
|
static int PoldiTask(void *pData);
|
||||||
static void PoldiUpdate(pPolterdi self, SConnection *pCon);
|
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 ----------------------*/
|
/*------------------ The Countstart Callback Function ----------------------*/
|
||||||
static int Countstartcallback(int iEvent, void *pEventData, void *pUser,
|
static int Countstartcallback(int iEvent, void *pEventData, void *pUser,
|
||||||
@ -70,7 +73,7 @@ typedef struct {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
/*------------------ The Countend Callback Function ----------------------*/
|
/*------------------ The Countend Callback Function ----------------------*/
|
||||||
static int Countendcallback(int iEvent, void *pEventData, void *pUser,
|
static int Countendcallback(int iEvent, void *pEventData, void *pUser,
|
||||||
commandContext cc)
|
commandContext cc)
|
||||||
@ -83,7 +86,12 @@ typedef struct {
|
|||||||
assert(self);
|
assert(self);
|
||||||
self->tUpdate = time(NULL);
|
self->tUpdate = time(NULL);
|
||||||
self->iEnd = 1;
|
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;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1156,6 +1156,7 @@ pCon);
|
|||||||
pNew->Preset = SQPreset;
|
pNew->Preset = SQPreset;
|
||||||
pNew->FreePrivate = SQFreePrivate;
|
pNew->FreePrivate = SQFreePrivate;
|
||||||
pNew->Pause = SQPause;
|
pNew->Pause = SQPause;
|
||||||
|
pNew->SubSample = DefaultSubSample;
|
||||||
pNew->Continue = SQContinue;
|
pNew->Continue = SQContinue;
|
||||||
|
|
||||||
return pNew;
|
return pNew;
|
||||||
|
Reference in New Issue
Block a user