atomiq.components.sinara.dac module

class atomiq.components.sinara.dac.Zotino(zotino_device, *args, **kwargs)[source]

Bases: DAC

A Parametrizable is an entity that can be controlled by one or more continuous parameter(s)

kernel_invariants = {'_zotino_device'}
update()[source]
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()))

class atomiq.components.sinara.dac.ZotinoChannel(dac_device, channel, *args, **kwargs)[source]

Bases: DACChannel

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

class atomiq.components.sinara.dac.Fastino(fastino_device, parallel_event_delay=1e-08, *args, **kwargs)[source]

Bases: DAC

The Sinara Fast ADC called Fastino

Parameters:
  • fastino_device -- The ARTIQ fastino device from the device_db

  • parallel_event_delay (TBool) -- Time by which occuring parallel events in ramps are moved [s] (default: 10ns)

A Parametrizable is an entity that can be controlled by one or more continuous parameter(s)

kernel_invariants = {'_fastino_device', 'parallel_event_delay'}
update()[source]
register_event(time)[source]
Parameters:

time (artiq.compiler.types.TMono('int', OrderedDict({'width': artiq.compiler.types.TValue(64)})))

Return type:

artiq.compiler.types.TMono('float', OrderedDict())

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()))

class atomiq.components.sinara.dac.FastinoChannel(dac_device, channel, *args, **kwargs)[source]

Bases: DACChannel

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