labscript.outputs.DDS
- class DDS(name, parent_device, connection, digital_gate=None, freq_limits=None, freq_conv_class=None, freq_conv_params=None, amp_limits=None, amp_conv_class=None, amp_conv_params=None, phase_limits=None, phase_conv_class=None, phase_conv_params=None, call_parents_add_device=True, **kwargs)[source]
Bases:
DDSQuantity
DDS class for use with all devices that have DDS-like outputs.
- __init__(name, parent_device, connection, digital_gate=None, freq_limits=None, freq_conv_class=None, freq_conv_params=None, amp_limits=None, amp_conv_class=None, amp_conv_params=None, phase_limits=None, phase_conv_class=None, phase_conv_params=None, call_parents_add_device=True, **kwargs)
Instantiates a DDS quantity.
- Parameters:
name (str) – python variable for the object created.
parent_device (
IntermediateDevice
) – Device this output is connected to.connection (str) – Output of parent device this DDS is connected to.
digital_gate (dict, optional) – Configures a digital output to use as an enable/disable gate for the output. Should contain keys
'device'
and'connection'
with arguments for theparent_device
andconnection
for instantiating theDigitalOut
. All other (optional) keys are passed as kwargs.freq_limits (tuple, optional) –
(lower, upper)
limits for the frequency of the outputfreq_conv_class (
labscript_utils:labscript_utils.unitconversions
, optional) – Unit conversion class for the frequency of the output.freq_conv_params (dict, optional) – Keyword arguments passed to the unit conversion class for the frequency of the output.
amp_limits (tuple, optional) –
(lower, upper)
limits for the amplitude of the outputamp_conv_class (
labscript_utils:labscript_utils.unitconversions
, optional) – Unit conversion class for the amplitude of the output.amp_conv_params (dict, optional) – Keyword arguments passed to the unit conversion class for the amplitude of the output.
phase_limits (tuple, optional) –
(lower, upper)
limits for the phase of the outputphase_conv_class (
labscript_utils:labscript_utils.unitconversions
, optional) – Unit conversion class for the phase of the output.phase_conv_params (dict, optional) – Keyword arguments passed to the unit conversion class for the phase of the output.
call_parents_add_device (bool, optional) – Have the parent device run its
add_device
method.**kwargs – Keyword arguments passed to
Device.__init__()
.
Methods
__init__
(name, parent_device, connection[, ...])Instantiates a DDS quantity.
add_device
(device)Adds a child device to this device.
disable
(t)Disable the Output.
enable
(t)Enable the Output.
generate_code
(hdf5_file)Generate hardware instructions for device and children, then save to h5 file.
get_all_children
()Get all children devices for this device.
get_all_outputs
()Get all children devices that are outputs.
get_properties
([location])Get all properties in location.
get_property
(name[, location])Method to get a property of this device already set using
Device.set_property()
.init_device_group
(hdf5_file)Creates the device group in the shot file.
pulse
(t, duration, amplitude, frequency[, ...])Pulse the output.
quantise_to_pseudoclock
(times)Quantises
times
to the resolution of the controlling pseudoclock.set_properties
(properties_dict, property_names)Add one or a bunch of properties packed into properties_dict
set_property
(name, value[, location, overwrite])Method to set a property for this device.
setamp
(t, value[, units])Set the amplitude of the output.
setfreq
(t, value[, units])Set the frequency of the output.
setphase
(t, value[, units])Set the phase of the output.
Attributes
allowed_children
Defines types of devices that are allowed to be children of this device.
description
Brief description of the device.
parent_clock_line
Stores the clocking clockline, which may be itself.
pseudoclock_device
Stores the clocking pseudoclock, which may be itself.
t0
The earliest time output can be commanded from this device at the start of the experiment.