- Added a protocol driver for the munich sputter machine
- Added a multicountsersec to teplace hmcontrol and multicounter - Fixed a case sensitivity bug in haddcheck - Made oscillate work with second generation motors for POLDI - Added a time stamper to trace. Now there will be time stamps in trace files which allow to correlate things from the master log with the trace. - Updated polterwrite. - Updated testprot to work with the behave test SKIPPED: psi/make_gen psi/polterwrite.c psi/psi.c psi/sputterprot.c
This commit is contained in:
59
tasdrive.c
59
tasdrive.c
@ -272,7 +272,6 @@ static float getMotorValue(pMotor mot, SConnection * pCon)
|
||||
}
|
||||
/*--------------------- In devexec.c --------------------------------------*/
|
||||
void InvokeNewTarget(pExeList self, char *name, float target);
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
static int startTASMotor(pMotor mot, SConnection * pCon, char *name,
|
||||
double target, int silent, int stopFixed)
|
||||
@ -312,7 +311,31 @@ static int startTASMotor(pMotor mot, SConnection * pCon, char *name,
|
||||
}
|
||||
return status;
|
||||
}
|
||||
/*-------------------------------------------------------------------------*/
|
||||
static int StartTASA3(pMotor mot, SConnection *pCon, char *name,
|
||||
double target, int silent, int stopFixed)
|
||||
{
|
||||
float val;
|
||||
int status;
|
||||
char buffer[80];
|
||||
|
||||
val = getMotorValue(mot,pCon);
|
||||
if(ABS(target-val) > 190) {
|
||||
SCPrintf(pCon,eLog,"WARNING: driving a3 more then 190 degree: %f, please confirm with y",
|
||||
ABS(target-val));
|
||||
status = SCPromptTMO(pCon,NULL,buffer,sizeof(buffer),120);
|
||||
if(status == 1){
|
||||
if(buffer[0] == 'y'){
|
||||
return startTASMotor(mot,pCon,name,target,silent,stopFixed);
|
||||
}
|
||||
}
|
||||
SCWrite(pCon,"ERROR: no or wrong reply, aborting scan",eLogError);
|
||||
SCSetInterrupt(pCon,eAbortScan);
|
||||
return HWFault;
|
||||
} else {
|
||||
return startTASMotor(mot,pCon,name,target,silent,stopFixed);
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int startMotors(ptasMot self, tasAngles angles,
|
||||
SConnection * pCon, int driveQ, int driveTilt)
|
||||
@ -326,38 +349,6 @@ static int startMotors(ptasMot self, tasAngles angles,
|
||||
/*
|
||||
monochromator
|
||||
*/
|
||||
/* status = startTASMotor(self->math->motors[A1], pCon, "a1", */
|
||||
/* angles.monochromator_two_theta / 2., silent, stopFixed); */
|
||||
/* if (status != OKOK) { */
|
||||
/* return status; */
|
||||
/* } */
|
||||
/* status = startTASMotor(self->math->motors[A2], pCon, "a2", */
|
||||
/* angles.monochromator_two_theta, silent,stopFixed); */
|
||||
/* if (status != OKOK) { */
|
||||
/* return status; */
|
||||
/* } */
|
||||
|
||||
/* if (self->math->motors[MCV] != NULL) { */
|
||||
/* curve = maCalcVerticalCurvature(self->math->machine.monochromator, */
|
||||
/* angles.monochromator_two_theta); */
|
||||
/* status = startTASMotor(self->math->motors[MCV], pCon, "mcv", */
|
||||
/* curve, silent,stopFixed); */
|
||||
/* if (status != OKOK) { */
|
||||
/* SCWrite(pCon,"WARNING: monochromator vertical curvature motor failed to start", eLog); */
|
||||
/* SCSetInterrupt(pCon,eContinue); */
|
||||
/* } */
|
||||
/* } */
|
||||
|
||||
/* if (self->math->motors[MCH] != NULL) { */
|
||||
/* curve = maCalcHorizontalCurvature(self->math->machine.monochromator, */
|
||||
/* angles.monochromator_two_theta); */
|
||||
/* status = startTASMotor(self->math->motors[MCH], pCon, "mch", */
|
||||
/* curve, silent,stopFixed); */
|
||||
/* if (status != OKOK) { */
|
||||
/* SCWrite(pCon,"WARNING: monochromator horizontal curvature motor failed to start", eLog); */
|
||||
/* SCSetInterrupt(pCon,eContinue); */
|
||||
/* } */
|
||||
/* } */
|
||||
status = self->math->mono->SetValue(self->math->monoData,
|
||||
pCon,angles.monochromator_two_theta);
|
||||
if(status != OKOK){
|
||||
@ -408,7 +399,7 @@ static int startMotors(ptasMot self, tasAngles angles,
|
||||
/*
|
||||
crystal
|
||||
*/
|
||||
status = startTASMotor(self->math->motors[A3], pCon, "a3",
|
||||
status = StartTASA3(self->math->motors[A3], pCon, "a3",
|
||||
angles.a3, silent,stopFixed);
|
||||
if (status != OKOK) {
|
||||
return status;
|
||||
|
Reference in New Issue
Block a user