Dummy Intermediate Device

Overview

This file represents a dummy labscript device for purposes of testing BLACS and labscript. The device is a Intermediate Device, and can be attached to a pseudoclock in labscript in order to test the pseudoclock behaviour without needing a real Intermediate Device.

You can attach an arbitrary number of outputs to this device, however we currently only support outputs of type AnalogOut and DigitalOut. I would be easy to extend this is anyone needed further functionality.

Usage

from labscript import *

from labscript_devices.DummyPseudoclock.labscript_devices import DummyPseudoclock
from labscript_devices.DummyIntermediateDevice import DummyIntermediateDevice

DummyPseudoclock(name='dummy_clock',BLACS_connection='dummy')
DummyIntermediateDevice(name='dummy_device',BLACS_connection='dummy2',
                        parent_device=dummy_clock.clockline)

DigitalOut(name='do1',parent_device=dummy_device,connection='dummy_do1')
DigitalOut(name='do2',parent_device=dummy_device,connection='dummy_do2')

start()
stop(1)

Detailed Documentation

class labscript_devices.DummyIntermediateDevice.DummyIntermediateDevice(name, parent_device, BLACS_connection='dummy_connection', **kwargs)[source]

Bases: IntermediateDevice

Provides some error checking to ensure parent_device is a ClockLine.

Calls Device.__init__().

Parameters:
  • name (str) – python variable name to assign to device

  • parent_device (ClockLine) – Parent ClockLine device.

description = 'Dummy IntermediateDevice'

Brief description of the device.

clock_limit = 1000000.0
allowed_children = [<class 'labscript.labscript.DigitalOut'>, <class 'labscript.labscript.AnalogOut'>]

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.DummyIntermediateDevice.DummyIntermediateDeviceTab(notebook, settings, restart=False)[source]

Bases: DeviceTab

initialise_GUI()[source]
labscript_device_class_name = 'DummyIntermediateDevice'
class labscript_devices.DummyIntermediateDevice.DummyIntermediateDeviceWorker(*args, **kwargs)[source]

Bases: Worker

init()[source]
program_manual(front_panel_values)[source]
transition_to_buffered(device_name, h5file, initial_values, fresh)[source]
transition_to_manual(abort=False)[source]
abort_transition_to_buffered()[source]
abort_buffered()[source]
shutdown()[source]