- Fixed a bug in conman.c which could cause a core dump when terminating
a connection during an active run. - Added an additional output mode for the connection in order to support the batch run editor. - Made clientput send everything with eWarning mode in order to support the batch run editor. - Added a better NetReadTillTerm - Fixed a problem in synchronize.c - Fixed an issue with reading empty line on normal connection sockets. - Added a psi scan mode to mesure.c for TRICS - Made motor print warnings when trying to reposition. - Fixed abug in hkl.c which cause wrong signs. SKIPPED: psi/el734driv.c psi/el734hp.c psi/el737driv.c psi/el737hpdriv.c psi/nextrics.c psi/nxamor.c psi/psi.c psi/slsmagnet.c psi/swmotor2.c psi/tasscan.c psi/tasutil.c
This commit is contained in:
34
hkl.c
34
hkl.c
@ -495,7 +495,7 @@ static int chiVertical(double chi){
|
||||
static int tryOmegaTweak(pHKL self, MATRIX z1, double *stt, double *om,
|
||||
double *chi, double *phi){
|
||||
int status;
|
||||
float fLower, fUpper, omTarget, omOffset;
|
||||
float fLower, fUpper, omTarget, omOffset, phiSign;
|
||||
double dumstt, offom, offchi, offphi;
|
||||
|
||||
|
||||
@ -535,7 +535,8 @@ static int tryOmegaTweak(pHKL self, MATRIX z1, double *stt, double *om,
|
||||
dumstt = *stt;
|
||||
offom = omTarget;
|
||||
offchi = *chi;
|
||||
offphi = *phi - omOffset;
|
||||
MotorGetPar(self->pPhi,"sign",&phiSign);
|
||||
offphi = *phi - omOffset*phiSign;
|
||||
if(checkBisecting(self,&dumstt,offom,offchi,offphi)){
|
||||
*om = offom;
|
||||
*chi = offchi;
|
||||
@ -827,7 +828,7 @@ static int calculateNormalBeamOmega(MATRIX z1, pHKL self,
|
||||
}
|
||||
|
||||
/* some people are stupid.......... */
|
||||
myPsi = circlify(myPsi);
|
||||
myPsi = circlify(fPsi);
|
||||
|
||||
/*
|
||||
no retries if specific psi requested.
|
||||
@ -861,9 +862,19 @@ static int calculateNormalBeamOmega(MATRIX z1, pHKL self,
|
||||
|
||||
if(!status)
|
||||
{
|
||||
sprintf(pBueffel,"ERROR: cannot calculate %4.1f %4.1f %4.1f",
|
||||
if(iRetry == 1)
|
||||
{
|
||||
sprintf(pBueffel,
|
||||
"ERROR: cannot calculate %4.1f %4.1f %4.1f, psi = %4.1f",
|
||||
fHKL[0], fHKL[1], fHKL[2], fPsi);
|
||||
SCWrite(pCon,pBueffel,eError);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(pBueffel,"ERROR: cannot calculate %4.1f %4.1f %4.1f",
|
||||
fHKL[0], fHKL[1], fHKL[2]);
|
||||
SCWrite(pCon,pBueffel,eError);
|
||||
SCWrite(pCon,pBueffel,eError);
|
||||
}
|
||||
}
|
||||
mat_free(z1);
|
||||
|
||||
@ -1082,8 +1093,17 @@ ente:
|
||||
return 0;
|
||||
break;
|
||||
case DEVDONE:
|
||||
sprintf(pBueffel,"Driving to %8.4f %8.4f %8.4f done",
|
||||
fHKL[0], fHKL[1], fHKL[2]);
|
||||
if(fPsi > .01)
|
||||
{
|
||||
snprintf(pBueffel,131,
|
||||
"Driving to %8.4f %8.4f %8.4f, psi = %8.4f done",
|
||||
fHKL[0], fHKL[1], fHKL[2],fPsi);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(pBueffel,131,"Driving to %8.4f %8.4f %8.4f done",
|
||||
fHKL[0], fHKL[1], fHKL[2]);
|
||||
}
|
||||
SCWrite(pCon,pBueffel,eStatus);
|
||||
break;
|
||||
default:
|
||||
|
Reference in New Issue
Block a user