From 892225f1fcf9f843a27d492b675fffa8aae87c0a Mon Sep 17 00:00:00 2001 From: kpetersn Date: Thu, 22 Mar 2018 15:09:58 -0500 Subject: [PATCH] Cleaned up the setPosition method --- motorApp/AMCISrc/ANF2Driver.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/motorApp/AMCISrc/ANF2Driver.cpp b/motorApp/AMCISrc/ANF2Driver.cpp index 4e596943..776fbc38 100644 --- a/motorApp/AMCISrc/ANF2Driver.cpp +++ b/motorApp/AMCISrc/ANF2Driver.cpp @@ -649,25 +649,13 @@ asynStatus ANF2Axis::setPosition(double position) epicsInt32 posReg[5]; //static const char *functionName = "ANF2Axis::setPosition"; - //set_bit = 0x0; - //status = pC_->writeReg16(axisNo_, CMD_MSW, set_bit, DEFAULT_CONTROLLER_TIMEOUT); - zeroRegisters(posReg); // Clear the command/configuration register status = pasynInt32ArraySyncIO->write(pasynUserConfWrite_, posReg, 5, DEFAULT_CONTROLLER_TIMEOUT); epicsThreadSleep(0.05); - //status = writeReg32(SPD_UPR, velo, DEFAULT_CONTROLLER_TIMEOUT); set_position = NINT(position); - - //status = pC_->writeReg32(axisNo_, POS_WR_UPR, set_position, DEFAULT_CONTROLLER_TIMEOUT); - - set_bit = 0x200; - //status = pC_->writeReg16(axisNo_, CMD_MSW, set_bit, DEFAULT_CONTROLLER_TIMEOUT); - - //set_bit = 0x0; - //status = pC_->writeReg16(axisNo_, CMD_MSW, set_bit, DEFAULT_CONTROLLER_TIMEOUT); posReg[0] = 0x200 << 16; posReg[1] = set_position; @@ -678,6 +666,13 @@ asynStatus ANF2Axis::setPosition(double position) // Write all the registers atomically status = pasynInt32ArraySyncIO->write(pasynUserConfWrite_, posReg, 5, DEFAULT_CONTROLLER_TIMEOUT); + //epicsThreadSleep(0.05); + + // The ANG1 driver does this; do we need to? + //zeroRegisters(posReg); + // Clear the command/configuration register + //status = pasynInt32ArraySyncIO->write(pasynUserConfWrite_, posReg, 5, DEFAULT_CONTROLLER_TIMEOUT); + return status; }