diff --git a/sinqEPICSApp/src/EL734Driver.cpp b/sinqEPICSApp/src/EL734Driver.cpp index e2dc846..476cddb 100644 --- a/sinqEPICSApp/src/EL734Driver.cpp +++ b/sinqEPICSApp/src/EL734Driver.cpp @@ -273,7 +273,7 @@ asynStatus EL734Axis::move(double position, int relative, double minVelocity, do oredMSR = 0; homing = 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.); status = pC_->transactController(axisNo_,command,reply); setIntegerParam(pC_->motorStatusProblem_, false); @@ -418,7 +418,7 @@ asynStatus EL734Axis::poll(bool *moving) goto skip; } } 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_->motorEncoderPosition_, position); } @@ -473,14 +473,25 @@ asynStatus EL734Axis::poll(bool *moving) comStatus = asynError; goto skip; } - if(oredMSR &0x80){ + if(oredMSR & 0x100){ setIntegerParam(pC_->motorStatusProblem_, true); - errlogSevPrintf(errlogMajor, "Positioning fault at %d", axisNo_); - updateMsgTxtFromDriver("Positioning fault"); + errlogSevPrintf(errlogMajor, "Run failure at %d", axisNo_); + updateMsgTxtFromDriver("Run failure"); comStatus = asynError; errorReported = 1; 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); } else { *moving = true;