QCM-QRM API

The QCM/QRM module is responsible for adding the parameters to a single Pulsar or a single module of a Cluster using add_qcodes_params() and QcmQrm respectively. The resulting parameters are module type dependent and are described at the bottom of this page. Each module also adds the parameters for 6 sequencers, the parameters of which are described in Sequencer API.

class qblox_instruments.qcodes_drivers.qcm_qrm.QcmQrm(parent: Instrument, name: str, slot_idx: int)[source]

Bases: InstrumentChannel

This class represents a QCM/QRM module. It combines all module specific parameters and functions into a single QCoDes InstrumentChannel.

__init__(parent: Instrument, name: str, slot_idx: int)[source]

Creates a QCM/QRM module class and adds all relevant parameters for the module.

Parameters:
  • parent (Instrument) – The QCoDeS class to which this module belongs.

  • name (str) – Name of this module channel

  • slot_idx (int) – The index of this module in the parent instrument, representing which module is controlled by this class.

property slot_idx: int

Get slot index.

Returns:

Slot index

Return type:

int

property module_type: InstrumentType

Get module type (e.g. QRM, QCM).

Returns:

Module type

Return type:

InstrumentType

Raises:

KeyError – Module is not available.

property is_qcm_type: bool

Return if module is of type QCM.

Returns:

True if module is of type QCM.

Return type:

bool

Raises:

KeyError – Module is not available.

property is_qrm_type: bool

Return if module is of type QRM.

Returns:

True if module is of type QRM.

Return type:

bool

Raises:

KeyError – Module is not available.

property is_rf_type: bool

Return if module is of type QCM-RF or QRM-RF.

Returns:

True if module is of type QCM-RF or QRM-RF.

Return type:

bool

Raises:

KeyError – Module is not available.

property sequencers: List

Get list of sequencers submodules.

Returns:

List of sequencer submodules.

Return type:

list

qblox_instruments.qcodes_drivers.qcm_qrm.add_qcodes_params(parent: Instrument | QcmQrm, num_seq: int) None[source]

Add all QCoDeS parameters for a single QCM/QRM module.

Parameters:
  • parent (Union[Instrument, QcmQrm]) – Parent object to which the parameters need to be added.

  • num_seq (int) – Number of sequencers to add as submodules.

qblox_instruments.qcodes_drivers.qcm_qrm.invalidate_qcodes_parameter_cache(parent: Instrument | QcmQrm, sequencer: int | None = None) None[source]

Marks the cache of all QCoDeS parameters in the module as invalid, including in any sequencer submodules the module might have. Optionally, a sequencer can be specified. This will invalidate the cache of that sequencer only in stead of all parameters.

Parameters:
  • parent (Union[Instrument, QcmQrm]) – Parent module object for which to invalidate the QCoDeS parameters.

  • sequencer (Optional[int]) – Sequencer index of sequencer for which to invalidate the QCoDeS parameters.

qblox_instruments.qcodes_drivers.qcm_qrm.get_item(parent: Instrument | QcmQrm, key: str) InstrumentChannel | Parameter | Callable[[Any], Any][source]

Get submodule or parameter using string based lookup.

Parameters:
  • parent (Union[Instrument, QcmQrm]) – Parent module object to search.

  • key (str) – submodule, parameter or function to retrieve.

Returns:

Submodule, parameter or function.

Return type:

Union[InstrumentChannel, Parameter, Callable[[Any], Any]]

Raises:

KeyError – Submodule, parameter or function does not exist.

Note

On this page, QRM, QCM, QRM_RF, QCM_RF, Pulsar_QRM, Pulsar_QCM refer to instances of QcmQrm of the respective module type.

Pulsar QCoDeS parameters

QCoDeS parameters generated by add_qcodes_params().

Pulsar QCM parameters

Pulsar_QCM.IDN()

Please see QCoDeS for a description.

Properties:
  • value: Anything

Pulsar_QCM.out0_offset()

Sets/gets output 0 offset

Properties:
  • unit: V

  • value: Numbers -2.5<=v<=2.5

Pulsar_QCM.out1_offset()

Sets/gets output 1 offset.

Properties:
  • unit: V

  • value: Numbers -2.5<=v<=2.5

Pulsar_QCM.out2_offset()

Sets/gets output 2 offset.

Properties:
  • unit: V

  • value: Numbers -2.5<=v<=2.5

Pulsar_QCM.out3_offset()

Sets/gets output 3 offset.

Properties:
  • unit: V

  • value: Numbers -2.5<=v<=2.5

Pulsar_QCM.marker0_inv_en()

Sets/gets output 0 marker invert enable

Properties:
  • value: Boolean

Pulsar_QCM.marker1_inv_en()

Sets/gets output 1 marker invert enable

Properties:
  • value: Boolean

Pulsar_QCM.marker2_inv_en()

Sets/gets output 2 marker invert enable

Properties:
  • value: Boolean

Pulsar_QCM.marker3_inv_en()

Sets/gets output 3 marker invert enable

Properties:
  • value: Boolean

Pulsar_QCM.led_brightness()

Sets/gets frontpanel LED brightness.

Properties:
  • value: Enum: {‘low’, ‘medium’, ‘high’, ‘off’}

Pulsar_QCM.reference_source()

Sets/gets reference source (‘internal’ = internal 10 MHz, ‘external’ = external 10 MHz).

Properties:
  • value: Enum: {‘external’, ‘internal’}

Pulsar_QCM.ext_trigger_input_delay()

Sets/gets the input delay of the external input trigger. This parameter can be used to delay the external trigger and move it out of the setup/hold time of the instruments system clock.

Properties:
  • unit: ps

  • value: Ints 0<=v<=1209, Multiples of 39

Pulsar_QCM.ext_trigger_input_trigger_en()

Enable/disable the external input trigger.

Properties:
  • value: Boolean

Pulsar_QCM.ext_trigger_input_trigger_address()

Sets/gets the trigger address to which the external inputtrigger is mapped to the trigger network (T1 to T15).

Properties:
  • value: Numbers 1<=v<=15

Pulsar QRM parameters

Pulsar_QRM.IDN()

Please see QCoDeS for a description.

Properties:
  • value: Anything

Pulsar_QRM.in0_gain()

Sets/gets input 0 gain in a range of -6dB to 26dB with a resolution of 1dB per step.

Properties:
  • unit: dB

  • value: Numbers -6<=v<=26

Pulsar_QRM.in1_gain()

Sets/gets input 1 gain in a range of -6dB to 26dB with a resolution of 1dB per step.

Properties:
  • unit: dB

  • value: Numbers -6<=v<=26

Pulsar_QRM.in0_offset()

Sets/gets input 0 offset in a range of -0.09V to 0.09V

Properties:
  • unit: V

  • value: Numbers -0.09<=v<=0.09

Pulsar_QRM.in1_offset()

Sets/gets input 1 offset in a range of -0.09V to 0.09V

Properties:
  • unit: V

  • value: Numbers -0.09<=v<=0.09

Pulsar_QRM.out0_offset()

Sets/gets output 0 offset

Properties:
  • unit: V

  • value: Numbers -0.5<=v<=0.5

Pulsar_QRM.out1_offset()

Sets/gets output 1 offset.

Properties:
  • unit: V

  • value: Numbers -0.5<=v<=0.5

Pulsar_QRM.scope_acq_trigger_mode_path0()

Sets/gets scope acquisition trigger mode for input path 0 (‘sequencer’ = triggered by sequencer, ‘level’ = triggered by input level).

Properties:
  • value: Enum: {‘sequencer’, ‘level’}

Pulsar_QRM.scope_acq_trigger_level_path0()

Sets/gets scope acquisition trigger level when using input level trigger mode for input path 0.

Properties:
  • value: Numbers -1.0<=v<=1.0

Pulsar_QRM.scope_acq_avg_mode_en_path0()

Sets/gets scope acquisition averaging mode enable for input path 0.

Properties:
  • value: Boolean

Pulsar_QRM.scope_acq_trigger_mode_path1()

Sets/gets scope acquisition trigger mode for input path 1 (‘sequencer’ = triggered by sequencer, ‘level’ = triggered by input level).

Properties:
  • value: Enum: {‘sequencer’, ‘level’}

Pulsar_QRM.scope_acq_trigger_level_path1()

Sets/gets scope acquisition trigger level when using input level trigger mode for input path 1.

Properties:
  • value: Numbers -1.0<=v<=1.0

Pulsar_QRM.scope_acq_avg_mode_en_path1()

Sets/gets scope acquisition averaging mode enable for input path 1.

Properties:
  • value: Boolean

Pulsar_QRM.scope_acq_sequencer_select()

Sets/gets sequencer select that specifies which sequencer triggers the scope acquisition when using sequencer trigger mode.

Properties:
  • value: Numbers 0<=v<=5

Pulsar_QRM.marker0_inv_en()

Sets/gets output 0 marker invert enable

Properties:
  • value: Boolean

Pulsar_QRM.marker1_inv_en()

Sets/gets output 1 marker invert enable

Properties:
  • value: Boolean

Pulsar_QRM.marker2_inv_en()

Sets/gets output 2 marker invert enable

Properties:
  • value: Boolean

Pulsar_QRM.marker3_inv_en()

Sets/gets output 3 marker invert enable

Properties:
  • value: Boolean

Pulsar_QRM.led_brightness()

Sets/gets frontpanel LED brightness.

Properties:
  • value: Enum: {‘low’, ‘medium’, ‘high’, ‘off’}

Pulsar_QRM.reference_source()

Sets/gets reference source (‘internal’ = internal 10 MHz, ‘external’ = external 10 MHz).

Properties:
  • value: Enum: {‘external’, ‘internal’}

Pulsar_QRM.ext_trigger_input_delay()

Sets/gets the input delay of the external input trigger. This parameter can be used to delay the external trigger and move it out of the setup/hold time of the instruments system clock.

Properties:
  • unit: ps

  • value: Ints 0<=v<=1209, Multiples of 39

Pulsar_QRM.ext_trigger_input_trigger_en()

Enable/disable the external input trigger.

Properties:
  • value: Boolean

Pulsar_QRM.ext_trigger_input_trigger_address()

Sets/gets the trigger address to which the external inputtrigger is mapped to the trigger network (T1 to T15).

Properties:
  • value: Numbers 1<=v<=15

Cluster QCoDeS parameters

QCoDeS parameters generated by QcmQrm.

Cluster QCM parameters

QCM.present()

Sets/gets module present status for slot {} in the Cluster.

Properties:
  • value: Boolean

QCM.out0_offset()

Sets/gets output 0 offset

Properties:
  • unit: V

  • value: Numbers -2.5<=v<=2.5

QCM.out1_offset()

Sets/gets output 1 offset.

Properties:
  • unit: V

  • value: Numbers -2.5<=v<=2.5

QCM.out2_offset()

Sets/gets output 2 offset.

Properties:
  • unit: V

  • value: Numbers -2.5<=v<=2.5

QCM.out3_offset()

Sets/gets output 3 offset.

Properties:
  • unit: V

  • value: Numbers -2.5<=v<=2.5

QCM.marker0_inv_en()

Sets/gets output 0 marker invert enable

Properties:
  • value: Boolean

QCM.marker1_inv_en()

Sets/gets output 1 marker invert enable

Properties:
  • value: Boolean

QCM.marker2_inv_en()

Sets/gets output 2 marker invert enable

Properties:
  • value: Boolean

QCM.marker3_inv_en()

Sets/gets output 3 marker invert enable

Properties:
  • value: Boolean

Cluster QCM-RF parameters

QCM_RF.present()

Sets/gets module present status for slot {} in the Cluster.

Properties:
  • value: Boolean

QCM_RF.out0_lo_freq()

Sets/gets the local oscillator frequency for output 0.

Properties:
  • unit: Hz

  • value: Numbers 2000000000.0<=v<=18000000000.0

QCM_RF.out1_lo_freq()

Sets/gets the local oscillator frequency for output 1.

Properties:
  • unit: Hz

  • value: Numbers 2000000000.0<=v<=18000000000.0

QCM_RF.out0_lo_en()

Sets/gets the local oscillator enable for output 0.

Properties:
  • value: Boolean

QCM_RF.out1_lo_en()

Sets/gets the local oscillator enable for output 1.

Properties:
  • value: Boolean

QCM_RF.out0_att()

Sets/gets output attenuation in a range of 0dB to 60dB with a resolution of 2dB per step.

Properties:
  • unit: dB

  • value: Ints 0<=v<=60, Multiples of 2

QCM_RF.out1_att()

Sets/gets output attenuation in a range of 0dB to 60dB with a resolution of 2dB per step.

Properties:
  • unit: dB

  • value: Ints 0<=v<=60, Multiples of 2

QCM_RF.out0_offset_path0()

Sets/gets output 0 offset for path 0.

Properties:
  • unit: mV

  • value: Numbers -84.0<=v<=73.0

QCM_RF.out0_offset_path1()

Sets/gets output 0 offset for path 1.

Properties:
  • unit: mV

  • value: Numbers -84.0<=v<=73.0

QCM_RF.out1_offset_path0()

Sets/gets output 1 offset for path 0.

Properties:
  • unit: mV

  • value: Numbers -84.0<=v<=73.0

QCM_RF.out1_offset_path1()

Sets/gets output 1 offset for path 1.

Properties:
  • unit: mV

  • value: Numbers -84.0<=v<=73.0

QCM_RF.marker0_inv_en()

Sets/gets output 0 marker invert enable

Properties:
  • value: Boolean

QCM_RF.marker1_inv_en()

Sets/gets output 1 marker invert enable

Properties:
  • value: Boolean

Cluster QRM parameters

QRM.present()

Sets/gets module present status for slot {} in the Cluster.

Properties:
  • value: Boolean

QRM.in0_gain()

Sets/gets input 0 gain in a range of -6dB to 26dB with a resolution of 1dB per step.

Properties:
  • unit: dB

  • value: Numbers -6<=v<=26

QRM.in1_gain()

Sets/gets input 1 gain in a range of -6dB to 26dB with a resolution of 1dB per step.

Properties:
  • unit: dB

  • value: Numbers -6<=v<=26

QRM.in0_offset()

Sets/gets input 0 offset in a range of -0.09V to 0.09V

Properties:
  • unit: V

  • value: Numbers -0.09<=v<=0.09

QRM.in1_offset()

Sets/gets input 1 offset in a range of -0.09V to 0.09V

Properties:
  • unit: V

  • value: Numbers -0.09<=v<=0.09

QRM.out0_offset()

Sets/gets output 0 offset

Properties:
  • unit: V

  • value: Numbers -0.5<=v<=0.5

QRM.out1_offset()

Sets/gets output 1 offset.

Properties:
  • unit: V

  • value: Numbers -0.5<=v<=0.5

QRM.scope_acq_trigger_mode_path0()

Sets/gets scope acquisition trigger mode for input path 0 (‘sequencer’ = triggered by sequencer, ‘level’ = triggered by input level).

Properties:
  • value: Enum: {‘sequencer’, ‘level’}

QRM.scope_acq_trigger_level_path0()

Sets/gets scope acquisition trigger level when using input level trigger mode for input path 0.

Properties:
  • value: Numbers -1.0<=v<=1.0

QRM.scope_acq_avg_mode_en_path0()

Sets/gets scope acquisition averaging mode enable for input path 0.

Properties:
  • value: Boolean

QRM.scope_acq_trigger_mode_path1()

Sets/gets scope acquisition trigger mode for input path 1 (‘sequencer’ = triggered by sequencer, ‘level’ = triggered by input level).

Properties:
  • value: Enum: {‘sequencer’, ‘level’}

QRM.scope_acq_trigger_level_path1()

Sets/gets scope acquisition trigger level when using input level trigger mode for input path 1.

Properties:
  • value: Numbers -1.0<=v<=1.0

QRM.scope_acq_avg_mode_en_path1()

Sets/gets scope acquisition averaging mode enable for input path 1.

Properties:
  • value: Boolean

QRM.scope_acq_sequencer_select()

Sets/gets sequencer select that specifies which sequencer triggers the scope acquisition when using sequencer trigger mode.

Properties:
  • value: Numbers 0<=v<=5

QRM.marker0_inv_en()

Sets/gets output 0 marker invert enable

Properties:
  • value: Boolean

QRM.marker1_inv_en()

Sets/gets output 1 marker invert enable

Properties:
  • value: Boolean

QRM.marker2_inv_en()

Sets/gets output 2 marker invert enable

Properties:
  • value: Boolean

QRM.marker3_inv_en()

Sets/gets output 3 marker invert enable

Properties:
  • value: Boolean

Cluster QRM-RF parameters

QRM_RF.present()

Sets/gets module present status for slot {} in the Cluster.

Properties:
  • value: Boolean

QRM_RF.out0_in0_lo_freq()

Sets/gets the local oscillator frequency for output 0 and input 0.

Properties:
  • unit: Hz

  • value: Numbers 2000000000.0<=v<=18000000000.0

QRM_RF.out0_in0_lo_en()

Sets/gets the local oscillator enable for output 0 and input 0.

Properties:
  • value: Boolean

QRM_RF.in0_att()

Sets/gets input attenuation in a range of 0dB to 30dB with a resolution of 2dB per step.

Properties:
  • unit: dB

  • value: Ints 0<=v<=30, Multiples of 2

QRM_RF.out0_att()

Sets/gets output attenuation in a range of 0dB to 60dB with a resolution of 2dB per step.

Properties:
  • unit: dB

  • value: Ints 0<=v<=60, Multiples of 2

QRM_RF.in0_offset_path0()

Sets/gets input 0 offset for path 0 in a range of -0.09V to 0.09V

Properties:
  • unit: V

  • value: Numbers -0.09<=v<=0.09

QRM_RF.in0_offset_path1()

Sets/gets input 0 offset for path 1 in a range of -0.09V to 0.09V

Properties:
  • unit: V

  • value: Numbers -0.09<=v<=0.09

QRM_RF.out0_offset_path0()

Sets/gets output 0 offset for path 0.

Properties:
  • unit: mV

  • value: Numbers -84.0<=v<=73.0

QRM_RF.out0_offset_path1()

Sets/gets output 0 offset for path 1.

Properties:
  • unit: mV

  • value: Numbers -84.0<=v<=73.0

QRM_RF.scope_acq_trigger_mode_path0()

Sets/gets scope acquisition trigger mode for input path 0 (‘sequencer’ = triggered by sequencer, ‘level’ = triggered by input level).

Properties:
  • value: Enum: {‘sequencer’, ‘level’}

QRM_RF.scope_acq_trigger_level_path0()

Sets/gets scope acquisition trigger level when using input level trigger mode for input path 0.

Properties:
  • value: Numbers -1.0<=v<=1.0

QRM_RF.scope_acq_avg_mode_en_path0()

Sets/gets scope acquisition averaging mode enable for input path 0.

Properties:
  • value: Boolean

QRM_RF.scope_acq_trigger_mode_path1()

Sets/gets scope acquisition trigger mode for input path 1 (‘sequencer’ = triggered by sequencer, ‘level’ = triggered by input level).

Properties:
  • value: Enum: {‘sequencer’, ‘level’}

QRM_RF.scope_acq_trigger_level_path1()

Sets/gets scope acquisition trigger level when using input level trigger mode for input path 1.

Properties:
  • value: Numbers -1.0<=v<=1.0

QRM_RF.scope_acq_avg_mode_en_path1()

Sets/gets scope acquisition averaging mode enable for input path 1.

Properties:
  • value: Boolean

QRM_RF.scope_acq_sequencer_select()

Sets/gets sequencer select that specifies which sequencer triggers the scope acquisition when using sequencer trigger mode.

Properties:
  • value: Numbers 0<=v<=5

QRM_RF.marker0_inv_en()

Sets/gets output 0 marker invert enable

Properties:
  • value: Boolean

QRM_RF.marker1_inv_en()

Sets/gets output 1 marker invert enable

Properties:
  • value: Boolean