Included the possibility to vary the motor speed.
This commit is contained in:
@@ -951,18 +951,7 @@ asynStatus pmacv3Axis::rereadEncoder() {
|
||||
|
||||
// Abort if the axis is incremental
|
||||
if (strcmp(encoderType, IncrementalEncoder) == 1) {
|
||||
asynPrint(pC_->pasynUserSelf, ASYN_TRACE_WARNING,
|
||||
"%s => line %d:\nTrying to reread absolute encoder of "
|
||||
"axis %d on controller %s, but it is a relative encoder.\n",
|
||||
__PRETTY_FUNCTION__, __LINE__, axisNo_, pC_->portName);
|
||||
pl_status = setStringParam(pC_->motorMessageText_,
|
||||
"Cannot reread an incremental encoder.");
|
||||
if (pl_status != asynSuccess) {
|
||||
return pC_->paramLibAccessFailed(pl_status, "motorMessageText_",
|
||||
__PRETTY_FUNCTION__, __LINE__);
|
||||
}
|
||||
|
||||
return asynError;
|
||||
return asynSuccess;
|
||||
}
|
||||
|
||||
// Check if the axis is disabled. If not, inform the user that this
|
||||
@@ -1062,6 +1051,14 @@ asynStatus pmacv3Axis::enable(bool on) {
|
||||
return asynSuccess;
|
||||
}
|
||||
|
||||
// Reread the encoder, if the axis is going to be enabled
|
||||
if (on != 0) {
|
||||
rw_status = rereadEncoder();
|
||||
if (rw_status != asynSuccess) {
|
||||
return rw_status;
|
||||
}
|
||||
}
|
||||
|
||||
// Enable / disable the axis if it is not moving
|
||||
snprintf(command, sizeof(command), "M%2.2d14=%d", axisNo_, on);
|
||||
asynPrint(pC_->pasynUserSelf, ASYN_TRACE_FLOW,
|
||||
@@ -1077,7 +1074,6 @@ asynStatus pmacv3Axis::enable(bool on) {
|
||||
return pC_->paramLibAccessFailed(pl_status, "motorMessageText_",
|
||||
__PRETTY_FUNCTION__, __LINE__);
|
||||
}
|
||||
|
||||
rw_status = pC_->writeRead(axisNo_, command, response, 0);
|
||||
if (rw_status != asynSuccess) {
|
||||
return rw_status;
|
||||
|
||||
Reference in New Issue
Block a user