From 3b49d165fdbc072149a2609abe465df3dda2dfb2 Mon Sep 17 00:00:00 2001 From: MarkRivers Date: Sat, 21 Mar 2015 21:38:56 +0000 Subject: [PATCH] Fix bug with min and max positions --- motorApp/NewportSrc/XPSAxis.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/motorApp/NewportSrc/XPSAxis.cpp b/motorApp/NewportSrc/XPSAxis.cpp index c6ed0d0f..ab48ecc1 100644 --- a/motorApp/NewportSrc/XPSAxis.cpp +++ b/motorApp/NewportSrc/XPSAxis.cpp @@ -949,6 +949,13 @@ asynStatus XPSAxis::setPositionCompare() minPosition = motorRecPositionToXPSPosition(minPosition); maxPosition = motorRecPositionToXPSPosition(maxPosition); stepSize = fabs(motorRecStepToXPSStep(stepSize)); + + // Swap max and min positions if needed + if (minPosition > maxPosition) { + double temp=maxPosition; + maxPosition = minPosition; + minPosition = temp; + } // Disable the position compare so we can set parameters status = PositionerPositionCompareDisable(pollSocket_, positionerName_);