Added a number of auxiliary Makefiles
- MakeScaler.RHEL7 to build the EPICS scaler module from source. We use a better one then the standard one. - MakeAutoSave.RHEL7 to build autosave from the PSI module system - Modified the EL734Driver to set the MsgTxt to NULL when everything is happy
This commit is contained in:
@ -218,6 +218,27 @@ asynStatus EL734Controller::transactController(int axisNo,char command[COMLEN],
|
||||
EL734Axis::EL734Axis(EL734Controller *pC, int axisNo)
|
||||
: SINQAxis(pC, axisNo), pC_(pC)
|
||||
{
|
||||
char command[COMLEN], reply[COMLEN];
|
||||
asynStatus status;
|
||||
int count = 0;
|
||||
float low, high;
|
||||
|
||||
/*
|
||||
get the hardware limits from the controller
|
||||
*/
|
||||
sprintf(command,"H %d",axisNo_);
|
||||
status = pC_->transactController(axisNo_,command,reply);
|
||||
if(status == asynSuccess){
|
||||
count = sscanf(reply,"%f %f",&low, &high);
|
||||
if(count >= 2){
|
||||
pC_->setDoubleParam(axisNo_,pC_->motorLowLimit_,low);
|
||||
pC_->setDoubleParam(axisNo_,pC_->motorHighLimit_,high);
|
||||
} else {
|
||||
errlogPrintf("Bad response - %s - requesting limits at axis %d", reply, axisNo_);
|
||||
}
|
||||
} else {
|
||||
errlogPrintf("Failed to read limits at axis %d", axisNo_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -255,6 +276,8 @@ asynStatus EL734Axis::move(double position, int relative, double minVelocity, do
|
||||
homing = 0;
|
||||
sprintf(command, "p %d %.3f", axisNo_, position/1000.);
|
||||
status = pC_->transactController(axisNo_,command,reply);
|
||||
setIntegerParam(pC_->motorStatusProblem_, false);
|
||||
updateMsgTxtFromDriver("");
|
||||
next_poll = -1;
|
||||
return status;
|
||||
}
|
||||
@ -267,6 +290,9 @@ asynStatus EL734Axis::home(double minVelocity, double maxVelocity, double accele
|
||||
|
||||
// status = sendAccelAndVelocity(acceleration, maxVelocity);
|
||||
|
||||
setIntegerParam(pC_->motorStatusProblem_, false);
|
||||
updateMsgTxtFromDriver("");
|
||||
|
||||
sprintf(command, "R %d", axisNo_);
|
||||
homing = 1;
|
||||
next_poll= -1;
|
||||
@ -293,6 +319,8 @@ asynStatus EL734Axis::moveVelocity(double minVelocity, double maxVelocity, doubl
|
||||
sprintf(command, "FB %d", axisNo_);
|
||||
}
|
||||
status = pC_->transactController(axisNo_,command,reply);
|
||||
setIntegerParam(pC_->motorStatusProblem_, false);
|
||||
updateMsgTxtFromDriver("");
|
||||
next_poll = -1;
|
||||
return status;
|
||||
}
|
||||
@ -433,8 +461,7 @@ asynStatus EL734Axis::poll(bool *moving)
|
||||
}
|
||||
*moving = false;
|
||||
setIntegerParam(pC_->motorStatusDone_, true);
|
||||
//updateMsgTxtFromDriver("Believed to be on position");
|
||||
} else {
|
||||
} else {
|
||||
*moving = true;
|
||||
next_poll = -1;
|
||||
setIntegerParam(pC_->motorStatusDone_, false);
|
||||
@ -443,7 +470,7 @@ asynStatus EL734Axis::poll(bool *moving)
|
||||
|
||||
skip:
|
||||
if(driverError == 0){
|
||||
updateMsgTxtFromDriver(NULL);
|
||||
updateMsgTxtFromDriver("");
|
||||
}
|
||||
setIntegerParam(pC_->motorStatusProblem_, comStatus ? 1:0);
|
||||
callParamCallbacks();
|
||||
|
Reference in New Issue
Block a user