forked from epics_driver_modules/motorBase
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.
This commit is contained in:
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user