Novatech DDS 9m

Labscript device for control of the Novatech DDS9m synthesizer. With minor modifications, it can also control the Novatech 409B DDS.

Detailed Documentation

class labscript_devices.NovaTechDDS9M.NovaTechDDS9M(name, parent_device, com_port='', baud_rate=115200, default_baud_rate=None, update_mode='synchronous', synchronous_first_line_repeat=False, phase_mode='continuous', **kwargs)[source]

Bases: IntermediateDevice

This class is initilzed with the key word argument ‘update_mode’ – synchronous or asynchronous ‘baud_rate’, – operating baud rate ‘default_baud_rate’ – assumed baud rate at startup

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 = 'NT-DDS9M'

Brief description of the device.

allowed_children = [<class 'labscript.labscript.DDS'>, <class 'labscript.labscript.StaticDDS'>]

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

Type:

list

clock_limit = 9990
minimum_clock_high_time = 1e-06
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.

get_default_unit_conversion_classes(device)[source]

Child devices call this during their __init__ (with themselves as the argument) to check if there are certain unit calibration classes that they should apply to their outputs, if the user has not otherwise specified a calibration class

quantise_freq(data, device)[source]
quantise_phase(data, device)[source]
quantise_amp(data, device)[source]
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.NovaTechDDS9M.NovatechDDS9MTab(notebook, settings, restart=False)[source]

Bases: DeviceTab

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

Bases: Worker

init()[source]
check_connection()[source]

Sends non-command and tests for correct response, returns True if connection appears to be working correctly, else returns False

check_remote_values()[source]
program_manual(front_panel_values)[source]
program_static(channel, type, value)[source]
transition_to_buffered(device_name, h5file, initial_values, fresh)[source]
abort_transition_to_buffered()[source]
abort_buffered()[source]
transition_to_manual(abort=False)[source]
shutdown()[source]
class labscript_devices.NovaTechDDS9M.RunviewerClass(path, device)[source]

Bases: object

get_traces(add_trace, clock=None)[source]
labscript_device_class_name = 'NovaTechDDS9M'