if hasattr(self.temperature, 'get_temperature'):
return self.temperature.get_temperature()
- def move_just_onto_surface(self, depth=-50e-9, setpoint=2, far=200):
+ def move_just_onto_surface(self, depth=-50e-9, setpoint=2,
+ min_slope_ratio=10, far=200):
"""Position the AFM tip close to the surface.
Uses `.piezo.get_surface_position()` to pinpoint the position
_LOG.debug("see if we're starting near the surface")
try:
pos = self.piezo.get_surface_position(
- axis_name=self.axis_name, max_deflection=target_def)
+ axis_name=self.axis_name, max_deflection=target_def,
+ min_slope_ratio=min_slope_ratio)
except _FlatFit, e:
_LOG.info(e)
pos = self._stepper_approach_again(
- target_deflection=target_def, far=far)
+ target_deflection=target_def, min_slope_ratio=min_slope_ratio,
+ far=far)
except _SurfaceError, e:
_LOG.info(e)
pos = self._stepper_approach_again(
- target_deflection=target_def, far=far)
+ target_deflection=target_def, min_slope_ratio=min_slope_ratio,
+ far=far)
pos_m = _convert_bits_to_meters(axis.config, pos)
_LOG.debug('located surface at stepper %d, piezo %d (%g m)'
self.stepper.step_relative(-1, backlash_safe=True)
try:
pos = self.piezo.get_surface_position(
- axis_name=self.axis_name, max_deflection=target_def)
+ axis_name=self.axis_name, max_deflection=target_def,
+ min_slope_ratio=min_slope_ratio)
except _FlatFit, e:
_LOG.debug(e)
continue
self.stepper.step_relative(1)
try:
pos = self.piezo.get_surface_position(
- axis_name=self.axis_name, max_deflection=target_def)
+ axis_name=self.axis_name, max_deflection=target_def,
+ min_slope_ratio=min_slope_ratio)
except _FlatFit, e:
_LOG.debug(e)
continue
% (depth, self.stepper.position, target, target_m))
- def _stepper_approach_again(self, target_deflection, far):
+ def _stepper_approach_again(self, target_deflection, min_slope_ratio, far):
_LOG.info('back off %d half steps and approach until deflection > %g'
% (far, target_deflection))
# back away
'additional surface location attempt (stepping backwards)')
try:
pos = self.piezo.get_surface_position(
- axis_name=self.axis_name, max_deflection=target_deflection)
+ axis_name=self.axis_name, max_deflection=target_deflection,
+ min_slope_position=min_slope_postion)
return pos
except _SurfaceError, e:
_LOG.info(e)