holypipette.devices.manipulator.luigsneumann_SM5 module

Manipulator class for the Luigs and Neumann SM-5 manipulator controller.

Adapted from Michael Graupner’s LandNSM5 class.

Not all commands are implemented.

class holypipette.devices.manipulator.luigsneumann_SM5.LuigsNeumann_SM5(name=None, stepmoves=True)[source]

Bases: SerialDevice, Manipulator

absolute_move(x, axis)[source]

Moves the device axis to position x. It uses the fast movement command.

Parameters:
  • axis (axis number (starting at 1))

  • x (target position in um.)

  • speed (optional speed in um/s.)

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).)

establish_connection()[source]
go_to_zero(axes)[source]

Moves axes to zero position.

position(axis)[source]

Current position along an axis.

Parameters:

axis (axis number (starting at 1))

Return type:

The current position of the device axis in um.

position2(axis)[source]

Current position along an axis on the second counter.

Parameters:

axis (axis number (starting at 1))

Return type:

The current position of the device axis in um.

relative_move(x, axis)[source]

Moves the device axis by relative amount x in um. It uses the fast command.

Parameters:
  • axis (axis number)

  • x (position shift in um.)

send_command(ID, data, nbytes_answer, ack_ID='', resends=0)[source]

Send a command to the controller

set_ramp_length(axis, length)[source]

Set the ramp length for the chosen axis :param axis: axis which ramp shall be changed :param length: 0<length<=16 :return:

set_single_step_distance(axis, distance)[source]

Distance (in um) for single_step.

set_to_zero_second_counter(axes)[source]

Sets the current position of the axes as the zero position on the second counter.

single_step(axis, steps)[source]

Moves the given axis by a signed number of steps using the StepIncrement or StepDecrement command. Using a steps argument different from 1 (or -1) simply sends multiple StepIncrement/StepDecrement commands. Uses distance and velocity set by set_single_step_distance resp. set_single_step_velocity.

step_move(distance, axis=None, maxstep=255)[source]

Relative move using steps of up to 255 um. This fixes a bug on L&N controller.

stop(axis)[source]

Stop current movements.

wait_until_still(axes=None)[source]

Waits for the motors to stop.

zero(axes)[source]

Sets the current position of the axes as the zero position.