atomiq.components.electronics.voltagesource module¶
- class atomiq.components.electronics.voltagesource.VoltageSource(min_voltage=-inf, max_voltage=inf, default_ramp_steps=30, *args, **kwargs)[source]¶
Bases:
Component
,Parametrizable
Voltage Source
This abstract class represents any device that can output a defined, controllable voltage.
- Parameters:
min_voltage (TFloat) -- The minimum voltage the device can output [V]
max_voltage (TFloat) -- The maximum voltage the device can output [V]
default_ramp_steps (TInt32) -- The default number of steps that this device should use if the voltage is ramped. This value is only used if no ramp_steps are given in the
ramp_voltage()
method.
A Parametrizable is an entity that can be controlled by one or more continuous parameter(s)
- kernel_invariants = {'default_ramp_steps', 'max_voltage', 'min_voltage'}¶
- set_voltage(voltage)[source]¶
Set the voltage delivered by the voltage source
- Parameters:
voltage (artiq.compiler.types.TMono('float', OrderedDict())) -- Voltage in V
- ramp_voltage(duration, voltage_start, voltage_end, ramp_timestep=-1.0, ramp_steps=-1)[source]¶
Ramp voltage over a given duration.
This method advances the timeline by duration
- Parameters:
duration (artiq.compiler.types.TMono('float', OrderedDict())) -- ramp duration [s]
voltage_start (artiq.compiler.types.TMono('float', OrderedDict())) -- initial voltage [V]
voltage_end (artiq.compiler.types.TMono('float', OrderedDict())) -- end voltage [V]
ramp_timestep (artiq.compiler.types.TMono('float', OrderedDict()))
ramp_steps (artiq.compiler.types.TMono('int', OrderedDict({'width': artiq.compiler.types.TValue(32)})))
- class atomiq.components.electronics.voltagesource.DAC(num_chan, *args, **kwargs)[source]¶
Bases:
Component
,Parametrizable
A DAC with multiple channels
- Parameters:
num_chan (TInt32) -- Number of channels the DAC has
A Parametrizable is an entity that can be controlled by one or more continuous parameter(s)
- kernel_invariants = {'num_chan'}¶
- class atomiq.components.electronics.voltagesource.DACChannel(dac_device, channel, *args, **kwargs)[source]¶
Bases:
VoltageSource
A single channel of a (possibly multichannel) DAC
A single channel of a DAC is a digitally controlled voltage source. Thus, this class inherits from
VoltageSource
.- Parameters:
dac_device (DAC) -- the DAC the channel belongs to
channel (TInt32) -- the number of the channel
- kernel_invariants = {'channel', 'dac_device'}¶
- ramp_voltage(duration, voltage_start, voltage_end, ramp_timestep=-1.0, ramp_steps=-1)¶
Ramp voltage over a given duration.
This method advances the timeline by duration
- Parameters:
duration (artiq.compiler.types.TMono('float', OrderedDict())) -- ramp duration [s]
voltage_start (artiq.compiler.types.TMono('float', OrderedDict())) -- initial voltage [V]
voltage_end (artiq.compiler.types.TMono('float', OrderedDict())) -- end voltage [V]
ramp_timestep (artiq.compiler.types.TMono('float', OrderedDict()))
ramp_steps (artiq.compiler.types.TMono('int', OrderedDict({'width': artiq.compiler.types.TValue(32)})))
- set_voltage(voltage)¶
Set the voltage delivered by the voltage source
- Parameters:
voltage (artiq.compiler.types.TMono('float', OrderedDict())) -- Voltage in V