EL734 positioning failure + improve logging
This commit is contained in:
@@ -273,7 +273,7 @@ asynStatus EL734Axis::move(double position, int relative, double minVelocity, do
|
|||||||
oredMSR = 0;
|
oredMSR = 0;
|
||||||
homing = 0;
|
homing = 0;
|
||||||
errorReported = 0;
|
errorReported = 0;
|
||||||
//errlogPrintf("Starting axis %d with destination %f", axisNo_,position/1000);
|
errlogPrintf("Starting axis %d with destination %f", axisNo_,position/1000);
|
||||||
sprintf(command, "p %d %.3f", axisNo_, position/1000.);
|
sprintf(command, "p %d %.3f", axisNo_, position/1000.);
|
||||||
status = pC_->transactController(axisNo_,command,reply);
|
status = pC_->transactController(axisNo_,command,reply);
|
||||||
setIntegerParam(pC_->motorStatusProblem_, false);
|
setIntegerParam(pC_->motorStatusProblem_, false);
|
||||||
@@ -418,7 +418,7 @@ asynStatus EL734Axis::poll(bool *moving)
|
|||||||
goto skip;
|
goto skip;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//errlogPrintf("Axis %d, reply %s, position %lf\n", axisNo_, reply, position);
|
errlogPrintf("Axis %d, reply %s, position %lf\n", axisNo_, reply, position);
|
||||||
setDoubleParam(pC_->motorPosition_, position*1000);
|
setDoubleParam(pC_->motorPosition_, position*1000);
|
||||||
//setDoubleParam(pC_->motorEncoderPosition_, position);
|
//setDoubleParam(pC_->motorEncoderPosition_, position);
|
||||||
}
|
}
|
||||||
@@ -473,14 +473,25 @@ asynStatus EL734Axis::poll(bool *moving)
|
|||||||
comStatus = asynError;
|
comStatus = asynError;
|
||||||
goto skip;
|
goto skip;
|
||||||
}
|
}
|
||||||
if(oredMSR &0x80){
|
if(oredMSR & 0x100){
|
||||||
setIntegerParam(pC_->motorStatusProblem_, true);
|
setIntegerParam(pC_->motorStatusProblem_, true);
|
||||||
errlogSevPrintf(errlogMajor, "Positioning fault at %d", axisNo_);
|
errlogSevPrintf(errlogMajor, "Run failure at %d", axisNo_);
|
||||||
updateMsgTxtFromDriver("Positioning fault");
|
updateMsgTxtFromDriver("Run failure");
|
||||||
comStatus = asynError;
|
comStatus = asynError;
|
||||||
errorReported = 1;
|
errorReported = 1;
|
||||||
goto skip;
|
goto skip;
|
||||||
}
|
}
|
||||||
|
if(oredMSR & 0x400){
|
||||||
|
setIntegerParam(pC_->motorStatusProblem_, true);
|
||||||
|
errlogSevPrintf(errlogMajor, "Positioning failure at %d", axisNo_);
|
||||||
|
updateMsgTxtFromDriver("Positioning failure");
|
||||||
|
comStatus = asynError;
|
||||||
|
errorReported = 1;
|
||||||
|
goto skip;
|
||||||
|
}
|
||||||
|
if(oredMSR & 0x200 || oredMSR & 0x80) {
|
||||||
|
errlogSevPrintf(errlogMinor, "Positioning fault at %d", axisNo_);
|
||||||
|
}
|
||||||
setIntegerParam(pC_->motorStatusProblem_, false);
|
setIntegerParam(pC_->motorStatusProblem_, false);
|
||||||
} else {
|
} else {
|
||||||
*moving = true;
|
*moving = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user