Zaber Stage Controller

Device for controlling a Zaber translation stage.

labscript_devices.ZaberStageController.labscript_devices

labscript_devices.ZaberStageController.blacs_tabs

labscript_devices.ZaberStageController.blacs_workers

labscript_devices.ZaberStageController.utils

Detailed Documentation

class labscript_devices.ZaberStageController.labscript_devices.ZaberStage(*args, limits=None, **kwargs)[source]

Bases: StaticAnalogQuantity

Static Analog output device for controlling the position of a Zaber stage. Can be added as a child device of ZaberStageController. Subclasses for specific models already have model-specific limits set for their values, but you may further restrict these by setting the keyword argument limits=

Parameters:
  • *args – Arguments to be passed to the __init__ method of the parent class (StaticAnalogQuantity).

  • limits (tuple) – a two-tuple (min, max) for the minimum and maximum allowed positions, in steps, that the device may be instructed to move to via a labscript experiment or the BLACS front panel. If None, the limits set as a class attribute will be used, which are set to the maximal positions allowed by the device if using one of the model-specific subclasses defined in this module, or is (0, inf) otherwise.

  • **kwargs – Further keyword arguments to be passed to the __init__ method of the parent class (StaticAnalogQuantity).

description = 'Zaber Stage'

Brief description of the device.

limits = (0, inf)
class labscript_devices.ZaberStageController.labscript_devices.ZaberStageController(name, com_port='COM1', mock=False, **kwargs)[source]

Bases: IntermediateDevice

Device for controlling a number of Zaber stages connected to a serial port. Add stages as child devices, either by using one of them model-specific classes in this module, or the generic ZaberStage class.

Parameters:
  • name (str) – device name

  • com_port (str) – 'COM1' Serial port for communication, i.e. 'COM1' etc on Windows or `'/dev/USBtty0' or similar on unix.

  • mock (bool, optional) – False For testing purpses, simulate a device instead of communicating with actual hardware.

  • **kwargs – Further keyword arguments to be passed to the __init__ method of the parent class (IntermediateDevice).

add_device(device)[source]

Adds a child device to this device.

Parameters:

device (Device) – Device to add.

Raises:

LabscriptError – If device is not an allowed child of this device.

allowed_children = [<class 'labscript_devices.ZaberStageController.labscript_devices.ZaberStage'>]

Defines types of devices that are allowed to be children of this device.

Type:

list

generate_code(hdf5_file)[source]

Generate hardware instructions for device and children, then save to h5 file.

Will recursively call generate_code for all children devices.

Parameters:

hdf5_file (h5py.File) – Handle to shot file.

class labscript_devices.ZaberStageController.labscript_devices.ZaberStageTLS28M(*args, limits=None, **kwargs)[source]

Bases: ZaberStage

Static Analog output device for controlling the position of a Zaber stage. Can be added as a child device of ZaberStageController. Subclasses for specific models already have model-specific limits set for their values, but you may further restrict these by setting the keyword argument limits=

Parameters:
  • *args – Arguments to be passed to the __init__ method of the parent class (StaticAnalogQuantity).

  • limits (tuple) – a two-tuple (min, max) for the minimum and maximum allowed positions, in steps, that the device may be instructed to move to via a labscript experiment or the BLACS front panel. If None, the limits set as a class attribute will be used, which are set to the maximal positions allowed by the device if using one of the model-specific subclasses defined in this module, or is (0, inf) otherwise.

  • **kwargs – Further keyword arguments to be passed to the __init__ method of the parent class (StaticAnalogQuantity).

description = 'Zaber Stage T-LS28-M'

Brief description of the device.

limits = (0, 282879)
class labscript_devices.ZaberStageController.labscript_devices.ZaberStageTLSR150D(*args, limits=None, **kwargs)[source]

Bases: ZaberStage

Static Analog output device for controlling the position of a Zaber stage. Can be added as a child device of ZaberStageController. Subclasses for specific models already have model-specific limits set for their values, but you may further restrict these by setting the keyword argument limits=

Parameters:
  • *args – Arguments to be passed to the __init__ method of the parent class (StaticAnalogQuantity).

  • limits (tuple) – a two-tuple (min, max) for the minimum and maximum allowed positions, in steps, that the device may be instructed to move to via a labscript experiment or the BLACS front panel. If None, the limits set as a class attribute will be used, which are set to the maximal positions allowed by the device if using one of the model-specific subclasses defined in this module, or is (0, inf) otherwise.

  • **kwargs – Further keyword arguments to be passed to the __init__ method of the parent class (StaticAnalogQuantity).

description = 'Zaber Stage T-LSR150D'

Brief description of the device.

limits = (0, 76346)
class labscript_devices.ZaberStageController.labscript_devices.ZaberStageTLSR300B(*args, limits=None, **kwargs)[source]

Bases: ZaberStage

Static Analog output device for controlling the position of a Zaber stage. Can be added as a child device of ZaberStageController. Subclasses for specific models already have model-specific limits set for their values, but you may further restrict these by setting the keyword argument limits=

Parameters:
  • *args – Arguments to be passed to the __init__ method of the parent class (StaticAnalogQuantity).

  • limits (tuple) – a two-tuple (min, max) for the minimum and maximum allowed positions, in steps, that the device may be instructed to move to via a labscript experiment or the BLACS front panel. If None, the limits set as a class attribute will be used, which are set to the maximal positions allowed by the device if using one of the model-specific subclasses defined in this module, or is (0, inf) otherwise.

  • **kwargs – Further keyword arguments to be passed to the __init__ method of the parent class (StaticAnalogQuantity).

description = 'Zaber Stage T-LSR150D'

Brief description of the device.

limits = (0, 607740)
class labscript_devices.ZaberStageController.labscript_devices.ZaberStageTLSR300D(*args, limits=None, **kwargs)[source]

Bases: ZaberStage

Static Analog output device for controlling the position of a Zaber stage. Can be added as a child device of ZaberStageController. Subclasses for specific models already have model-specific limits set for their values, but you may further restrict these by setting the keyword argument limits=

Parameters:
  • *args – Arguments to be passed to the __init__ method of the parent class (StaticAnalogQuantity).

  • limits (tuple) – a two-tuple (min, max) for the minimum and maximum allowed positions, in steps, that the device may be instructed to move to via a labscript experiment or the BLACS front panel. If None, the limits set as a class attribute will be used, which are set to the maximal positions allowed by the device if using one of the model-specific subclasses defined in this module, or is (0, inf) otherwise.

  • **kwargs – Further keyword arguments to be passed to the __init__ method of the parent class (StaticAnalogQuantity).

description = 'Zaber Stage T-LSR300D'

Brief description of the device.

limits = (0, 151937)
class labscript_devices.ZaberStageController.blacs_tabs.ZaberStageControllerTab(notebook, settings, restart=False)[source]

Bases: DeviceTab

initialise_GUI()[source]
initialise_workers()[source]
class labscript_devices.ZaberStageController.blacs_workers.MockZaberInterface(com_port)[source]

Bases: object

close()[source]
get_position(device_number)[source]
move(device_number, position)[source]
class labscript_devices.ZaberStageController.blacs_workers.ZaberInterface(com_port)[source]

Bases: object

close()[source]
get_position(device_number)[source]
move(device_number, position)[source]
class labscript_devices.ZaberStageController.blacs_workers.ZaberWorker(*args, **kwargs)[source]

Bases: Worker

abort_buffered()[source]
abort_transition_to_buffered()[source]
check_remote_values()[source]
init()[source]
program_manual(values)[source]
shutdown()[source]
transition_to_buffered(device_name, h5file, initial_values, fresh)[source]
transition_to_manual()[source]
labscript_devices.ZaberStageController.utils.get_device_number(connection_str)[source]

Return the integer device number from the connection string or raise ValueError if the connection string is not in the format “device <n>” with positive n.