scan: Add stepper_tweaks (--no-stepper-tweaks) to UnfoldScanner.run()
[unfold-protein.git] / unfold_protein / scan.py
index e511dfd48f42dc7c8a5c0b17664cec0b8efaec3f..40fe80f759bfe24660434e617e43f8a8b3e65519 100644 (file)
@@ -31,7 +31,7 @@ class UnfoldScanner (object):
         self.unfolder = unfolder
         self._state = {'x direction': 1}
 
-    def run(self):
+    def run(self, stepper_tweaks=True):
         self._stop = False
         _signal.signal(_signal.SIGTERM, self._handle_stop_signal)
         self.unfolder.afm.move_away_from_surface()
@@ -46,10 +46,16 @@ class UnfoldScanner (object):
                 try:
                     self.unfolder.run()
                 except _ExceptionTooFar:
-                    self.stepper_approach()
+                    if stepper_tweaks:
+                        self.stepper_approach()
+                    else:
+                        raise
                 except _ExceptionTooClose:
-                    self.afm.move_far_from_surface()
-                    self.stepper_approach()
+                    if stepper_tweaks:
+                        self.afm.move_away_from_surface()
+                        self.stepper_approach()
+                    else:
+                        raise
                 else:
                     self.position_scan_step()