ZotinoΒΆ
Class Arguments
Argument |
Type |
Default Value |
---|---|---|
zotino_device |
TStr |
|
num_chan |
TInt32 |
Bold arguments are mandatory. For more documentation on the listed arguments refer to the class definition below. If parameters appear in this list but not in the class definition below, please recursively check the linked base classes for the definition of the parameter.
Inheritance Diagram
Example Component Dictionary
{
"dac_example": {
"classname": "atomiq.components.sinara.dac.Zotino",
"arguments": {
"zotino_device": "<mandatory parameter (TStr)>",
"num_chan": "<mandatory parameter (TInt32)>"
}
}
}
Class Description
- class atomiq.components.sinara.dac.Zotino(zotino_device, *args, max_parallel_arbs=5, max_arb_samples=128, **kwargs)[source]
Bases:
DAC
This class represents the Sinara Zotino 32 Channel DAC.
Hint
The Zotino provides the
Zotino.parallel_arb
context manager which allows to play arbitrary waveforms and ramps on multiple channels in parallel. Example code using this functionallity can be found here- Parameters:
zotino_device (TStr) -- The ARTIQ zotino device to use from the device db, e.g. @zotino_0
max_parallel_arbs (TInt32) -- Number of channels that can be ramped or played an arbitrary waveform on in parallel. Keep this as low as possible as higher numbers increase the prerun phase length.
max_arb_samples (TInt32) -- Number of samples a arbitrary waveform/ramp can maximally have. Keep this as low as possible as higher numbers increase the prerun phase length.
A Parametrizable is an entity that can be controlled by one or more continuous parameter(s)
- kernel_invariants = {'_zotino_device'}
- hold_arbs = False
- update()[source]
Applys the voltages in the DAC register to the outputs.
Hint
If an update is already scheduled at the current time, this command does nothing. This allows for setting multiple DAC channels in a parallel statement without multiple slow updates.
- write_dac(channel, voltage)[source]
Writes the voltage value voltage to the DAC channel channel. This method schedules the operation in the past and does not advance the time cursor.
- Parameters:
channel (artiq.compiler.types.TMono('int', OrderedDict([('width', artiq.compiler.types.TValue(32))]))) -- Channel number
voltage (artiq.compiler.types.TMono('float', OrderedDict())) -- Voltage in V
- Return type:
None
Hint
This command uses a scheduler which takes care that no write operations occure at the same time to prevent undefined behavior which often do not result in a noticable error.
- set_channel_voltage(channel, voltage)
- Parameters:
channel (artiq.compiler.types.TMono('int', OrderedDict([('width', artiq.compiler.types.TValue(32))])))
voltage (artiq.compiler.types.TMono('float', OrderedDict()))
- set_parameter(value, channel=None)
- Parameters:
value (artiq.compiler.types.TMono('float', OrderedDict()))
channel (artiq.compiler.types.TMono('str', OrderedDict()))