holypipette.devices.manipulator.manipulator module¶
Generic Manipulator class for manipulators.
To make a new device, one must implement at least: * position * absolute_move
TODO: * Add minimum and maximum for each axis
- class holypipette.devices.manipulator.manipulator.Manipulator[source]¶
Bases:
TaskController
- absolute_move(x, axis=None)[source]¶
Moves the device axis to position x.
- Parameters:
axis (axis number)
x (target position in um.)
- absolute_move_group(x, axes)[source]¶
Moves the device group of axes to position x.
- Parameters:
axes (list of axis numbers)
x (target position in um (vector or list).)
- delete_state()[source]¶
Delete any previously saved state. By default, overwrites the
saved_state
attribute withNone
.
- position(axis=None)[source]¶
Current position along an axis.
- Parameters:
axis (axis number)
- Return type:
The current position of the device axis in um.
- position_group(axes)[source]¶
Current position along a group of axes.
- Parameters:
axes (list of axis numbers)
- Return type:
The current position of the device axis in um (vector).
- recover_state()[source]¶
Recover the state (e.g. the position of the manipulators) after a failure or abort. Has to be overwritten in subclasses.
- relative_move(x, axis)[source]¶
Moves the device axis by relative amount x in um.
- Parameters:
axis (axis number)
x (position shift in um.)
- relative_move_group(x, axes)[source]¶
Moves the device group of axes by relative amount x in um.
- Parameters:
axes (list of axis numbers)
x (position shift in um (vector or list).)
- save_state()[source]¶
Save the current state (e.g. the position of the manipulators) for later recovery in the case of a failure or abort. Has to be overwritten in subclasses. Should save the state to the
saved_state
variable or overwritehas_saved_state
as well.
- wait_until_reached(position, axes=None, precision=0.5, timeout=10)[source]¶
Waits until position is reached within precision, and raises an error if the target is not reached after the time out, unless the manipulator is still moving.
- Parameters:
position (target position in micrometer)
axes (axis number of list of axis numbers)
precision (precision in micrometer)
timeout (time out in second)