labscript.outputs.AnalogOut
- class AnalogOut(name, parent_device, connection, limits=None, unit_conversion_class=None, unit_conversion_parameters=None, default_value=None, **kwargs)[source]
Bases:
AnalogQuantity
Analog Output class for use with all devices that support timed analog outputs.
- __init__(name, parent_device, connection, limits=None, unit_conversion_class=None, unit_conversion_parameters=None, default_value=None, **kwargs)
Instantiate an Output.
- Parameters:
name (str) – python variable name to assign the Output to.
parent_device (
IntermediateDevice
) – Parent device the output is connected to.connection (str) – Channel of parent device output is connected to.
limits (tuple, optional) –
(min,max)
allowed for the output.unit_conversion_class (
labscript_utils:labscript_utils.unitconversions
, optional) – Unit concersion class to use for the output.unit_conversion_parameters (dict, optional) – Dictonary or kwargs to pass to the unit conversion class.
default_value (float, optional) – Default value of the output if no output is commanded.
**kwargs – Passed to
Device.__init__()
.
- Raises:
LabscriptError – Limits tuple is invalid or unit conversion class units don’t line up.
Methods
__init__
(name, parent_device, connection[, ...])Instantiate an Output.
add_device
(device)Adds a child device to this device.
add_instruction
(time, instruction[, units])Adds a hardware instruction to the device instruction list.
apply_calibration
(value, units)Apply the calibration defined by the unit conversion class, if present.
constant
(t, value[, units])Sets the output to a constant value at time
t
.customramp
(t, duration, function, *args, ...)Define a custom function for the output.
do_checks
(trigger_times)Basic error checking to ensure the user's instructions make sense.
exp_ramp
(t, duration, initial, final, samplerate)Exponential ramp whose rate of change is set by an asymptotic value (zero argument).
exp_ramp_t
(t, duration, initial, final, ...)Exponential ramp whose rate of change is set by the time_constant.
expand_timeseries
(all_times, flat_all_times_len)This function evaluates the ramp functions in self.timeseries at the time points in all_times, and creates an array of output values at those times.
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_change_times
()If this function is being called, it means that the parent Pseudoclock has requested a list of times that this output changes state.
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()
.get_ramp_times
()If this is being called, then it means the parent Pseuedoclock has asked for a list of the output ramp start and stop times.
init_device_group
(hdf5_file)Creates the device group in the shot file.
instruction_to_string
(instruction)Gets a human readable description of an instruction.
make_timeseries
(change_times)If this is being called, then it means the parent Pseudoclock has asked for a list of this output's states at each time in change_times.
offset_instructions_from_trigger
(trigger_times)Subtracts self.trigger_delay from all instructions at or after each trigger_time.
piecewise_accel_ramp
(t, duration, initial, ...)Changes the output so that the second derivative follows one period of a triangle wave.
quantise_to_pseudoclock
(times)Quantises
times
to the resolution of the controlling pseudoclock.ramp
(t, duration, initial, final, samplerate)Command the output to perform a linear ramp.
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.
sine
(t, duration, amplitude, angfreq, phase, ...)Command the output to perform a sinusoidal modulation.
sine4_ramp
(t, duration, initial, final, ...)Command the output to perform an increasing ramp defined by one half period of a quartic sine wave.
sine4_reverse_ramp
(t, duration, initial, ...)Command the output to perform a decreasing ramp defined by one half period of a quartic sine wave.
sine_ramp
(t, duration, initial, final, ...)Command the output to perform a ramp defined by one half period of a squared sine wave.
square_wave
(t, duration, amplitude, ...[, ...])A standard square wave.
square_wave_levels
(t, duration, level_0, ...)A standard square wave.
Attributes
allowed_children
Defines types of devices that are allowed to be children of this device.
allowed_states
clock_limit
Returns the parent clock line's clock limit.
default_value
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.
scale_factor
t0
The earliest time output can be commanded from this device at the start of the experiment.
trigger_delay
The earliest time output can be commanded from this device after a trigger.
wait_delay
The earliest time output can be commanded from this device after a wait.
- description = 'analog output'
Brief description of the device.