QCM-QRM

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 dependend 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.

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: Union[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: Union[Instrument, QcmQrm]) None[source]

Marks the cache of all QCoDeS parameters in the module as invalid, including in any sequencer submodules the module might have.

Parameters

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

qblox_instruments.qcodes_drivers.qcm_qrm.get_item(parent: Union[Instrument, QcmQrm], key: str) Union[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.

Pulsar QCoDeS parameters

QCoDeS parameters generated by add_qcodes_params().

Pulsar QCM parameters

(Pulsar QCM) Pulsar.IDN

Please see QCoDeS for a description.

Properties
  • value: Anything

(Pulsar QCM) Pulsar.reference_source

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

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

(Pulsar QCM) Pulsar.out0_offset

Sets/gets output 0 offset

Properties
  • unit: V

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

(Pulsar QCM) Pulsar.out1_offset

Sets/gets output 1 offset.

Properties
  • unit: V

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

(Pulsar QCM) Pulsar.out2_offset

Sets/gets output 2 offset.

Properties
  • unit: V

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

(Pulsar QCM) Pulsar.out3_offset

Sets/gets output 3 offset.

Properties
  • unit: V

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

Pulsar QRM parameters

(Pulsar QRM) Pulsar.IDN

Please see QCoDeS for a description.

Properties
  • value: Anything

(Pulsar QRM) Pulsar.reference_source

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

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

(Pulsar QRM) Pulsar.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) Pulsar.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) Pulsar.out0_offset

Sets/gets output 0 offset

Properties
  • unit: V

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

(Pulsar QRM) Pulsar.out1_offset

Sets/gets output 1 offset.

Properties
  • unit: V

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

(Pulsar QRM) Pulsar.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) Pulsar.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) Pulsar.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) Pulsar.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) Pulsar.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<=6

(Pulsar QRM) Pulsar.scope_acq_avg_mode_en_path0

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

Properties
  • value: Boolean

(Pulsar QRM) Pulsar.scope_acq_avg_mode_en_path1

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

Properties
  • value: Boolean

Cluster QCoDeS parameters

QCoDeS parameters generated by QcmQrm.

Cluster QCM parameters

(Cluster QCM) module.present

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

Properties
  • value: Boolean

(Cluster QCM) module.out0_offset

Sets/gets output 0 offset

Properties
  • unit: V

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

(Cluster QCM) module.out1_offset

Sets/gets output 1 offset.

Properties
  • unit: V

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

(Cluster QCM) module.out2_offset

Sets/gets output 2 offset.

Properties
  • unit: V

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

(Cluster QCM) module.out3_offset

Sets/gets output 3 offset.

Properties
  • unit: V

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

Cluster QCM-RF parameters

(Cluster QCM-RF) module.present

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

Properties
  • value: Boolean

(Cluster QCM-RF) module.out0_lo_freq

Sets/gets the local oscillator frequency for output 0.

Properties
  • unit: Hz

  • value: Numbers 2000000000.0<=v<=18000000000.0

(Cluster QCM-RF) module.out1_lo_freq

Sets/gets the local oscillator frequency for output 1.

Properties
  • unit: Hz

  • value: Numbers 2000000000.0<=v<=18000000000.0

(Cluster QCM-RF) module.out0_lo_en

Sets/gets the local oscillator enable for output 0.

Properties
  • value: Boolean

(Cluster QCM-RF) module.out1_lo_en

Sets/gets the local oscillator enable for output 1.

Properties
  • value: Boolean

(Cluster QCM-RF) module.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

(Cluster QCM-RF) module.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

(Cluster QCM-RF) module.out0_offset_path0

Sets/gets output 0 offset for path 0.

Properties
  • unit: mV

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

(Cluster QCM-RF) module.out0_offset_path1

Sets/gets output 0 offset for path 1.

Properties
  • unit: mV

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

(Cluster QCM-RF) module.out1_offset_path0

Sets/gets output 1 offset for path 0.

Properties
  • unit: mV

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

(Cluster QCM-RF) module.out1_offset_path1

Sets/gets output 1 offset for path 1.

Properties
  • unit: mV

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

Cluster QRM parameters

(Cluster QRM) module.present

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

Properties
  • value: Boolean

(Cluster QRM) module.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

(Cluster QRM) module.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

(Cluster QRM) module.out0_offset

Sets/gets output 0 offset

Properties
  • unit: V

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

(Cluster QRM) module.out1_offset

Sets/gets output 1 offset.

Properties
  • unit: V

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

(Cluster QRM) module.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’}

(Cluster QRM) module.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’}

(Cluster QRM) module.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

(Cluster QRM) module.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

(Cluster QRM) module.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<=6

(Cluster QRM) module.scope_acq_avg_mode_en_path0

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

Properties
  • value: Boolean

(Cluster QRM) module.scope_acq_avg_mode_en_path1

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

Properties
  • value: Boolean

Cluster QRM-RF parameters

(Cluster QRM-RF) module.present

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

Properties
  • value: Boolean

(Cluster QRM-RF) module.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

(Cluster QRM-RF) module.out0_in0_lo_en

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

Properties
  • value: Boolean

(Cluster QRM-RF) module.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

(Cluster QRM-RF) module.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

(Cluster QRM-RF) module.out0_offset_path0

Sets/gets output 0 offset for path 0.

Properties
  • unit: mV

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

(Cluster QRM-RF) module.out0_offset_path1

Sets/gets output 0 offset for path 1.

Properties
  • unit: mV

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

(Cluster QRM-RF) module.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’}

(Cluster QRM-RF) module.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’}

(Cluster QRM-RF) module.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

(Cluster QRM-RF) module.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

(Cluster QRM-RF) module.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<=6

(Cluster QRM-RF) module.scope_acq_avg_mode_en_path0

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

Properties
  • value: Boolean

(Cluster QRM-RF) module.scope_acq_avg_mode_en_path1

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

Properties
  • value: Boolean