From 7e918a48b0d23a70809822f135e6b17aae397d1a Mon Sep 17 00:00:00 2001 From: kmpeters Date: Thu, 23 Jun 2011 20:11:13 +0000 Subject: [PATCH] Added a check for a non-zero MIP before doing retries. This change fixes an uncommanded-motion bug that occurs under the following conditions: 1. A motor is moved from outside EPICS, making its EPICS readback position out-of-sync. 2. The motor is controlled by a controller that supports motor groups (like the Newport XPS). 3. The motor belongs to a motor group. 4. A status update is requested for any of the other motors in the motor group. --- motorApp/MotorSrc/motorRecord.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/motorApp/MotorSrc/motorRecord.cc b/motorApp/MotorSrc/motorRecord.cc index eb963577..5514a141 100644 --- a/motorApp/MotorSrc/motorRecord.cc +++ b/motorApp/MotorSrc/motorRecord.cc @@ -144,6 +144,7 @@ HeadURL: $URL$ * - bug fix for save/restore not working when URIP=Yes. DRBV * not getting initialized. Fixed in initial call to * process_motor_info(). + * .60 06-23-11 kmp - Added a check for a non-zero MIP before doing retries. * */ @@ -1285,7 +1286,7 @@ static long process(dbCommon *arg) UNMARK(M_DMOV); goto process_exit; } - else if (pmr->stup != motorSTUP_ON) + else if (pmr->stup != motorSTUP_ON && pmr->mip != MIP_DONE) { pmr->mip &= ~MIP_DELAY; MARK(M_MIP); /* done delaying */