QCM-QRM-QTM API#
The QCM/QRM/QTM module are responsible for adding the parameters to a single module of a Cluster using
add_qcodes_params()
and Module
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 (8 sequencers for QTM), the parameters of which are described in Sequencer API.
- class qblox_instruments.qcodes_drivers.module.Module(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/QTM module class and adds all relevant parameters for the module.
- property module_type: InstrumentType#
Get module type (e.g. QRM, QCM).
- Returns:
Module type
- Return type:
- Raises:
KeyError – Module is not available.
- property sequencers: List#
Get list of sequencers submodules.
- Returns:
List of sequencer submodules.
- Return type:
- qblox_instruments.qcodes_drivers.module.add_qcodes_params(parent: Instrument | Module, num_seq: int, num_dio: int = 0) None [source]#
Add all QCoDeS parameters for a single QCM/QRM module.
- qblox_instruments.qcodes_drivers.module.invalidate_qcodes_parameter_cache(parent: Instrument | Module, sequencer: int | None = None, quad: int | None = None, io_channel: 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, Module]) – The parent module object for which to invalidate the QCoDeS parameters.
sequencer (Optional[int]) – The sequencer index for which to invalidate the QCoDeS parameters.
quad (Optional[int]) – The quad index for which to invalidate the QCoDeS parameters.
io_channel (Optional[int]) – The IO channel index for which to invalidate the QCoDeS parameters.
- qblox_instruments.qcodes_drivers.module.get_item(parent: Instrument | Module, key: str) InstrumentChannel | Parameter | Callable[[Any], Any] [source]#
Get submodule or parameter using string based lookup.
- Parameters:
- 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, QTM
refer to instances of Module
of the respective module type.
Cluster QCoDeS parameters#
QCoDeS parameters generated by Module
.
Cluster QCM parameters#
- 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>
- QCM.out0_latency()#
Gets the latency in output path 0.
- Properties:
unit: s
value: None
- QCM.out0_fir_config()#
Sets/gets the configuration of FIR filter for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out0_exp0_config()#
Sets/gets configuration of exponential overshoot filter 0 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out0_exp1_config()#
Sets/gets configuration of exponential overshoot filter 1 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out0_exp2_config()#
Sets/gets configuration of exponential overshoot filter 2 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out0_exp3_config()#
Sets/gets configuration of exponential overshoot filter 3 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out0_fir_coeffs()#
Sets/gets the coefficients for the FIR filter for output 0
- Properties:
value: <Sequence : len: 32 sorted: False <Numbers -2<=v<=1.99>>
- QCM.out0_exp0_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 0 for output 0
- Properties:
value: <Numbers v>=6>
- QCM.out0_exp0_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 0 for output 0
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out0_exp1_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 1 for output 0
- Properties:
value: <Numbers v>=6>
- QCM.out0_exp1_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 1 for output 0
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out0_exp2_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 2 for output 0
- Properties:
value: <Numbers v>=6>
- QCM.out0_exp2_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 2 for output 0
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out0_exp3_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 3 for output 0
- Properties:
value: <Numbers v>=6>
- QCM.out0_exp3_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 3 for output 0
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out1_latency()#
Gets the latency in output path 1.
- Properties:
unit: s
value: None
- QCM.out1_fir_config()#
Sets/gets the configuration of FIR filter for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out1_exp0_config()#
Sets/gets configuration of exponential overshoot filter 0 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out1_exp1_config()#
Sets/gets configuration of exponential overshoot filter 1 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out1_exp2_config()#
Sets/gets configuration of exponential overshoot filter 2 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out1_exp3_config()#
Sets/gets configuration of exponential overshoot filter 3 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out1_fir_coeffs()#
Sets/gets the coefficients for the FIR filter for output 1
- Properties:
value: <Sequence : len: 32 sorted: False <Numbers -2<=v<=1.99>>
- QCM.out1_exp0_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 0 for output 1
- Properties:
value: <Numbers v>=6>
- QCM.out1_exp0_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 0 for output 1
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out1_exp1_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 1 for output 1
- Properties:
value: <Numbers v>=6>
- QCM.out1_exp1_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 1 for output 1
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out1_exp2_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 2 for output 1
- Properties:
value: <Numbers v>=6>
- QCM.out1_exp2_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 2 for output 1
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out1_exp3_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 3 for output 1
- Properties:
value: <Numbers v>=6>
- QCM.out1_exp3_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 3 for output 1
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out2_latency()#
Gets the latency in output path 2.
- Properties:
unit: s
value: None
- QCM.out2_fir_config()#
Sets/gets the configuration of FIR filter for output 2.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out2_exp0_config()#
Sets/gets configuration of exponential overshoot filter 0 for output 2.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out2_exp1_config()#
Sets/gets configuration of exponential overshoot filter 1 for output 2.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out2_exp2_config()#
Sets/gets configuration of exponential overshoot filter 2 for output 2.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out2_exp3_config()#
Sets/gets configuration of exponential overshoot filter 3 for output 2.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out2_fir_coeffs()#
Sets/gets the coefficients for the FIR filter for output 2
- Properties:
value: <Sequence : len: 32 sorted: False <Numbers -2<=v<=1.99>>
- QCM.out2_exp0_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 0 for output 2
- Properties:
value: <Numbers v>=6>
- QCM.out2_exp0_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 0 for output 2
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out2_exp1_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 1 for output 2
- Properties:
value: <Numbers v>=6>
- QCM.out2_exp1_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 1 for output 2
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out2_exp2_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 2 for output 2
- Properties:
value: <Numbers v>=6>
- QCM.out2_exp2_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 2 for output 2
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out2_exp3_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 3 for output 2
- Properties:
value: <Numbers v>=6>
- QCM.out2_exp3_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 3 for output 2
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out3_latency()#
Gets the latency in output path 3.
- Properties:
unit: s
value: None
- QCM.out3_fir_config()#
Sets/gets the configuration of FIR filter for output 3.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out3_exp0_config()#
Sets/gets configuration of exponential overshoot filter 0 for output 3.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out3_exp1_config()#
Sets/gets configuration of exponential overshoot filter 1 for output 3.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out3_exp2_config()#
Sets/gets configuration of exponential overshoot filter 2 for output 3.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out3_exp3_config()#
Sets/gets configuration of exponential overshoot filter 3 for output 3.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’, ‘enabled’}>
- QCM.out3_fir_coeffs()#
Sets/gets the coefficients for the FIR filter for output 3
- Properties:
value: <Sequence : len: 32 sorted: False <Numbers -2<=v<=1.99>>
- QCM.out3_exp0_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 0 for output 3
- Properties:
value: <Numbers v>=6>
- QCM.out3_exp0_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 0 for output 3
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out3_exp1_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 1 for output 3
- Properties:
value: <Numbers v>=6>
- QCM.out3_exp1_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 1 for output 3
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out3_exp2_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 2 for output 3
- Properties:
value: <Numbers v>=6>
- QCM.out3_exp2_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 2 for output 3
- Properties:
value: <Numbers -1<=v<=1>
- QCM.out3_exp3_time_constant()#
Sets/gets the time constant of the exponential overshoot filter 3 for output 3
- Properties:
value: <Numbers v>=6>
- QCM.out3_exp3_amplitude()#
Sets/gets the amplitude of the exponential overshoot filter 3 for output 3
- Properties:
value: <Numbers -1<=v<=1>
- QCM.marker0_fir_config()#
Delay compensation config for the FIR filter on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker0_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker0_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker0_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker0_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker1_fir_config()#
Delay compensation config for the FIR filter on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker1_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker1_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker1_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker1_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker2_fir_config()#
Delay compensation config for the FIR filter on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker2_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker2_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker2_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker2_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker3_fir_config()#
Delay compensation config for the FIR filter on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker3_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker3_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker3_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.marker3_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM.present()#
Sets/gets module present status for slot {} in the Cluster.
- Properties:
value: <Boolean>
- QCM.arm_sequencer(sequencer: int | None = None) None
Prepare the indexed sequencer to start by putting it in the armed state. If no sequencer index is given, all sequencers are armed. Any sequencer that was already running is stopped and rearmed. If an invalid sequencer index is given, an error is set in system error.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.arm_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.arm_sequencer:
- QCM.clear_sequencer_flags(sequencer: int | None = None) None
Clear flags
- Parameters:
sequencer (int) – Sequencer index.
Note
This method calls Cluster.clear_sequencer_flags using functools.partial to set the slot index. The docstring above is of Cluster.clear_sequencer_flags:
- QCM.connect_sequencer(sequencer: int, *connections: str) None
Makes new connections between the indexed sequencer and some inputs and/or outputs. This will fail if a requested connection already existed, or if the connection could not be made due to a conflict with an existing connection (hardware constraints). In such a case, the channel map will not be affected.
- Parameters:
sequencer (int) – Sequencer index
*connections (str) – Zero or more connections to make, each specified using a string. The string should have the format <direction><channel> or <direction><I-channel>_<Q-channel>. <direction> must be in to make a connection between an input and the acquisition path, out to make a connection from the waveform generator to an output, or io to do both. The channels must be integer channel indices. If only one channel is specified, the sequencer operates in real mode; if two channels are specified, it operates in complex mode.
- Raises:
RuntimeError – If the connection command could not be completed due to a conflict.
ValueError – If parsing of a connection fails.
Note
This method calls Cluster.connect_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.connect_sequencer:
- QCM.delete_acquisition_data(sequencer: int, name: str = '', all: bool = False) None
Delete data from an acquisition specified by name in the acquisition list of indexed sequencer or delete data in all acquisitions if all is True.
- Parameters:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.delete_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_acquisition_data:
- QCM.delete_dummy_binned_acquisition_data(sequencer: int | None = None, acq_index_name: str | None = None)
Delete all dummy binned acquisition data for the dummy.
- Parameters:
Note
This method calls Cluster.delete_dummy_binned_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_dummy_binned_acquisition_data:
- QCM.delete_dummy_scope_acquisition_data(sequencer: int | None)
Delete dummy scope acquisition data for the dummy.
- Parameters:
sequencer (Union[int, None]) – Sequencer.
Note
This method calls Cluster.delete_dummy_scope_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_dummy_scope_acquisition_data:
- QCM.disconnect_inputs() None
Disconnects all inputs from the acquisition paths of the sequencers.
Note
This method calls Cluster.disconnect_inputs using functools.partial to set the slot index. The docstring above is of Cluster.disconnect_inputs:
- QCM.disconnect_outputs() None
Disconnects all outputs from the waveform generator paths of the sequencers.
Note
This method calls Cluster.disconnect_outputs using functools.partial to set the slot index. The docstring above is of Cluster.disconnect_outputs:
- QCM.get_acquisition_state(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) bool
Return acquisition binning completion state of the indexed sequencer. If an invalid sequencer is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the acquisition binning completes. If the acquisition hasn’t completed before the timeout expires, a TimeoutError is thrown. Note that when sequencer state checking is enabled, the sequencer state is checked using get_sequencer_state with the selected timeout period first and then the acquisition state is checked with the same timeout period. This means that the total timeout period is two times the set timeout period.
- Parameters:
- Returns:
Indicates the acquisition binning completion state (False = uncompleted, True = completed).
- Return type:
- Raises:
TimeoutError – Timeout
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisition_state using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisition_state:
- QCM.get_acquisition_status(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) bool
Return acquisition binning completion status of the indexed sequencer. If an invalid sequencer is given, an error is set in system error. If the timeout is set to zero, the function returns the status immediately. If a positive non-zero timeout is set, the function blocks until the acquisition binning completes. If the acquisition hasn’t completed before the timeout expires, a TimeoutError is thrown. Note that when sequencer state checking is enabled, the sequencer state is checked using get_sequencer_status with the selected timeout period first and then the acquisition status is checked with the same timeout period. This means that the total timeout period is two times the set timeout period.
- Parameters:
- Returns:
Indicates the acquisition binning completion status (False = uncompleted, True = completed).
- Return type:
- Raises:
TimeoutError – Timeout
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisition_status using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisition_status:
- QCM.get_acquisitions(sequencer: int) Dict
Get all acquisitions in acquisition lists of indexed sequencer. The acquisition scope and bin data is normalized to a range of -1.0 to 1.0 taking both the bit widths of the processing path and average count into considaration. For the binned integration results, the integration length is not handled during normalization and therefore these values have to be divided by their respective integration lenghts. The returned dictionary is structured as follows:
name: acquisition name
index: acquisition index used by the sequencer Q1ASM program to refer to the acquisition.
acquisition: acquisition dictionary
scope: Scope data
path0: input path 0
data: acquisition samples in a range of 1.0 to -1.0.
out-of-range: out-of-range indication for the entire acquisition (False = in-range, True = out-of-range).
avg_cnt: number of averages.
path1: input path 1
data: acquisition samples in a range of 1.0 to -1.0.
out-of-range: out-of-range indication for the entire acquisition (False = in-range, True = out-of-range).
avg_cnt: number of averages.
bins: bin data
integration: integration data
path_0: input path 0 integration result bin list
path_1: input path 1 integration result bin list
threshold: threshold result bin list
valid: list of valid indications per bin
avg_cnt: list of number of averages per bin
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with acquisitions.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisitions using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisitions:
- QCM.get_assembler_log() str
Get assembler log.
- Returns:
Assembler log.
- Return type:
- Raises:
Note
This method calls Cluster.get_assembler_log using functools.partial to set the slot index. The docstring above is of Cluster.get_assembler_log:
- QCM.get_assembler_status() bool
Get assembler status. Refer to the assembler log to get more information regarding the assembler result.
- Returns:
Assembler status (False = failed, True = success).
- Return type:
- Raises:
Note
This method calls Cluster.get_assembler_status using functools.partial to set the slot index. The docstring above is of Cluster.get_assembler_status:
- QCM.get_scope_data(io_channel: int) Dict
Returns the QTM I/O channel scope data for the given slot and channel acquired since the previous call.
- Parameters:
io_channel (int) – I/O channel you want to get the data for.
- Returns:
The acquired data. Empty if no data acquired since last call.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_scope_data using functools.partial to set the slot index. The docstring above is of Cluster.get_scope_data:
- QCM.get_sequencer_state(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) qblox_instruments.native.generic_func.SequencerState
Get the sequencer state. If an invalid sequencer index is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the sequencer completes. If the sequencer hasn’t stopped before the timeout expires, a TimeoutError is thrown.
- Parameters:
- Returns:
Tuple containing sequencer status and corresponding flags.
- Return type:
- Raises:
TimeoutError – Timeout
Note
This method calls Cluster.get_sequencer_state using functools.partial to set the slot index. The docstring above is of Cluster.get_sequencer_state:
- QCM.get_sequencer_status(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) qblox_instruments.native.generic_func.SequencerStatus
Get the sequencer status. If an invalid sequencer index is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the sequencer completes. If the sequencer hasn’t stopped before the timeout expires, a TimeoutError is thrown.
- Parameters:
- Returns:
Tuple containing sequencer status and corresponding flags.
- Return type:
- Raises:
TimeoutError – Timeout
Note
This method calls Cluster.get_sequencer_status using functools.partial to set the slot index. The docstring above is of Cluster.get_sequencer_status:
- QCM.get_waveforms(sequencer: int) Dict
Get all waveforms and weigths in the AWG waveform list of indexed sequencer. The returned dictionary is structured as follows:
name: waveform name.
data: waveform samples in a range of 1.0 to -1.0.
- index: waveform index used by the sequencer Q1ASM program to refer
to the waveform.
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with waveforms.
- Return type:
Note
This method calls Cluster.get_waveforms using functools.partial to set the slot index. The docstring above is of Cluster.get_waveforms:
- QCM.get_weights(sequencer: int) Dict
Get all weigths in the acquisition weight lists of indexed sequencer. The returned dictionary is structured as follows:
-name : weight name.
data: weight samples in a range of 1.0 to -1.0.
- index: weight index used by the sequencer Q1ASM program to refer
to the weight.
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with weights.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_weights using functools.partial to set the slot index. The docstring above is of Cluster.get_weights:
- QCM.scope_trigger_arm() Dict
Arms the external scope trigger logic on a QTM, such that it will send a trigger to scope acquisition blocks in the I/O channels when the trigger condition is satisfied.
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.scope_trigger_arm using functools.partial to set the slot index. The docstring above is of Cluster.scope_trigger_arm:
- QCM.set_dummy_binned_acquisition_data(sequencer: int, acq_index_name: str, data: Iterable[qblox_instruments.ieee488_2.dummy_transport.DummyBinnedAcquisitionData | None])
Set dummy binned acquisition data for the dummy.
- Parameters:
sequencer (int) – Sequencer.
acq_index_name (str) – Acquisition index name.
data (Iterable[Union[DummyBinnedAcquisitionData, None]]) – Dummy data for the binned acquisition. An iterable of all the bin values.
Note
This method calls Cluster.set_dummy_binned_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.set_dummy_binned_acquisition_data:
- QCM.set_dummy_scope_acquisition_data(sequencer: int | None, data: qblox_instruments.ieee488_2.dummy_transport.DummyScopeAcquisitionData)
Set dummy scope acquisition data for the dummy.
- Parameters:
sequencer (Union[int, None]) – Sequencer.
data (DummyScopeAcquisitionData) – Dummy data for the scope acquisition.
Note
This method calls Cluster.set_dummy_scope_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.set_dummy_scope_acquisition_data:
- QCM.start_sequencer(sequencer: int | None = None) None
Start the indexed sequencer, thereby putting it in the running state. If an invalid sequencer index is given or the indexed sequencer was not yet armed, an error is set in system error. If no sequencer index is given, all armed sequencers are started and any sequencer not in the armed state is ignored. However, if no sequencer index is given and no sequencers are armed, and error is set in system error.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.start_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.start_sequencer:
- QCM.stop_sequencer(sequencer: int | None = None) None
Stop the indexed sequencer, thereby putting it in the stopped state. If an invalid sequencer index is given, an error is set in system error. If no sequencer index is given, all sequencers are stopped.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.stop_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.stop_sequencer:
- QCM.store_scope_acquisition(sequencer: int, name: str) None
After an acquisition has completed, store the scope acquisition results in the acquisition specified by name of the indexed sequencers. If an invalid sequencer index is given an error is set in system error. To get access to the acquisition results, the sequencer will be stopped when calling this function.
- Parameters:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.store_scope_acquisition using functools.partial to set the slot index. The docstring above is of Cluster.store_scope_acquisition:
Cluster QCM-RF parameters#
- QCM_RF.out0_lo_freq_cal_type_default()#
Sets/gets the Default automatic mixercalibration while setting local oscillatorfrequency for output 0.
- Properties:
unit: Hz
value: <Enum: {‘lo and sidebands’, ‘off’, ‘lo only’}>
- QCM_RF.out1_lo_freq_cal_type_default()#
Sets/gets the Default automatic mixercalibration while setting local oscillatorfrequency for output 1.
- Properties:
unit: Hz
value: <Enum: {‘lo and sidebands’, ‘off’, ‘lo only’}>
- 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 0 dB to 60 dB 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 0 dB to 60 dB 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>
- QCM_RF.out0_latency()#
Gets the latency in output path 0.
- Properties:
unit: s
value: None
- QCM_RF.out0_fir_config()#
Sets/gets the configuration of FIR filter for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.out0_exp0_config()#
Sets/gets configuration of exponential overshoot filter 0 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.out0_exp1_config()#
Sets/gets configuration of exponential overshoot filter 1 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.out0_exp2_config()#
Sets/gets configuration of exponential overshoot filter 2 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.out0_exp3_config()#
Sets/gets configuration of exponential overshoot filter 3 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.out1_latency()#
Gets the latency in output path 1.
- Properties:
unit: s
value: None
- QCM_RF.out1_fir_config()#
Sets/gets the configuration of FIR filter for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.out1_exp0_config()#
Sets/gets configuration of exponential overshoot filter 0 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.out1_exp1_config()#
Sets/gets configuration of exponential overshoot filter 1 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.out1_exp2_config()#
Sets/gets configuration of exponential overshoot filter 2 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.out1_exp3_config()#
Sets/gets configuration of exponential overshoot filter 3 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker0_fir_config()#
Delay compensation config for the FIR filter on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker0_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker0_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker0_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker0_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker1_fir_config()#
Delay compensation config for the FIR filter on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker1_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker1_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker1_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker1_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker2_fir_config()#
Delay compensation config for the FIR filter on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker2_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker2_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker2_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker2_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker3_fir_config()#
Delay compensation config for the FIR filter on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker3_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker3_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker3_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.marker3_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QCM_RF.present()#
Sets/gets module present status for slot {} in the Cluster.
- Properties:
value: <Boolean>
- QCM_RF.arm_sequencer(sequencer: int | None = None) None
Prepare the indexed sequencer to start by putting it in the armed state. If no sequencer index is given, all sequencers are armed. Any sequencer that was already running is stopped and rearmed. If an invalid sequencer index is given, an error is set in system error.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.arm_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.arm_sequencer:
- QCM_RF.clear_sequencer_flags(sequencer: int | None = None) None
Clear flags
- Parameters:
sequencer (int) – Sequencer index.
Note
This method calls Cluster.clear_sequencer_flags using functools.partial to set the slot index. The docstring above is of Cluster.clear_sequencer_flags:
- QCM_RF.connect_sequencer(sequencer: int, *connections: str) None
Makes new connections between the indexed sequencer and some inputs and/or outputs. This will fail if a requested connection already existed, or if the connection could not be made due to a conflict with an existing connection (hardware constraints). In such a case, the channel map will not be affected.
- Parameters:
sequencer (int) – Sequencer index
*connections (str) – Zero or more connections to make, each specified using a string. The string should have the format <direction><channel> or <direction><I-channel>_<Q-channel>. <direction> must be in to make a connection between an input and the acquisition path, out to make a connection from the waveform generator to an output, or io to do both. The channels must be integer channel indices. If only one channel is specified, the sequencer operates in real mode; if two channels are specified, it operates in complex mode.
- Raises:
RuntimeError – If the connection command could not be completed due to a conflict.
ValueError – If parsing of a connection fails.
Note
This method calls Cluster.connect_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.connect_sequencer:
- QCM_RF.delete_acquisition_data(sequencer: int, name: str = '', all: bool = False) None
Delete data from an acquisition specified by name in the acquisition list of indexed sequencer or delete data in all acquisitions if all is True.
- Parameters:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.delete_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_acquisition_data:
- QCM_RF.delete_dummy_binned_acquisition_data(sequencer: int | None = None, acq_index_name: str | None = None)
Delete all dummy binned acquisition data for the dummy.
- Parameters:
Note
This method calls Cluster.delete_dummy_binned_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_dummy_binned_acquisition_data:
- QCM_RF.delete_dummy_scope_acquisition_data(sequencer: int | None)
Delete dummy scope acquisition data for the dummy.
- Parameters:
sequencer (Union[int, None]) – Sequencer.
Note
This method calls Cluster.delete_dummy_scope_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_dummy_scope_acquisition_data:
- QCM_RF.disconnect_inputs() None
Disconnects all inputs from the acquisition paths of the sequencers.
Note
This method calls Cluster.disconnect_inputs using functools.partial to set the slot index. The docstring above is of Cluster.disconnect_inputs:
- QCM_RF.disconnect_outputs() None
Disconnects all outputs from the waveform generator paths of the sequencers.
Note
This method calls Cluster.disconnect_outputs using functools.partial to set the slot index. The docstring above is of Cluster.disconnect_outputs:
- QCM_RF.get_acquisition_state(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) bool
Return acquisition binning completion state of the indexed sequencer. If an invalid sequencer is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the acquisition binning completes. If the acquisition hasn’t completed before the timeout expires, a TimeoutError is thrown. Note that when sequencer state checking is enabled, the sequencer state is checked using get_sequencer_state with the selected timeout period first and then the acquisition state is checked with the same timeout period. This means that the total timeout period is two times the set timeout period.
- Parameters:
- Returns:
Indicates the acquisition binning completion state (False = uncompleted, True = completed).
- Return type:
- Raises:
TimeoutError – Timeout
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisition_state using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisition_state:
- QCM_RF.get_acquisition_status(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) bool
Return acquisition binning completion status of the indexed sequencer. If an invalid sequencer is given, an error is set in system error. If the timeout is set to zero, the function returns the status immediately. If a positive non-zero timeout is set, the function blocks until the acquisition binning completes. If the acquisition hasn’t completed before the timeout expires, a TimeoutError is thrown. Note that when sequencer state checking is enabled, the sequencer state is checked using get_sequencer_status with the selected timeout period first and then the acquisition status is checked with the same timeout period. This means that the total timeout period is two times the set timeout period.
- Parameters:
- Returns:
Indicates the acquisition binning completion status (False = uncompleted, True = completed).
- Return type:
- Raises:
TimeoutError – Timeout
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisition_status using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisition_status:
- QCM_RF.get_acquisitions(sequencer: int) Dict
Get all acquisitions in acquisition lists of indexed sequencer. The acquisition scope and bin data is normalized to a range of -1.0 to 1.0 taking both the bit widths of the processing path and average count into considaration. For the binned integration results, the integration length is not handled during normalization and therefore these values have to be divided by their respective integration lenghts. The returned dictionary is structured as follows:
name: acquisition name
index: acquisition index used by the sequencer Q1ASM program to refer to the acquisition.
acquisition: acquisition dictionary
scope: Scope data
path0: input path 0
data: acquisition samples in a range of 1.0 to -1.0.
out-of-range: out-of-range indication for the entire acquisition (False = in-range, True = out-of-range).
avg_cnt: number of averages.
path1: input path 1
data: acquisition samples in a range of 1.0 to -1.0.
out-of-range: out-of-range indication for the entire acquisition (False = in-range, True = out-of-range).
avg_cnt: number of averages.
bins: bin data
integration: integration data
path_0: input path 0 integration result bin list
path_1: input path 1 integration result bin list
threshold: threshold result bin list
valid: list of valid indications per bin
avg_cnt: list of number of averages per bin
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with acquisitions.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisitions using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisitions:
- QCM_RF.get_assembler_log() str
Get assembler log.
- Returns:
Assembler log.
- Return type:
- Raises:
Note
This method calls Cluster.get_assembler_log using functools.partial to set the slot index. The docstring above is of Cluster.get_assembler_log:
- QCM_RF.get_assembler_status() bool
Get assembler status. Refer to the assembler log to get more information regarding the assembler result.
- Returns:
Assembler status (False = failed, True = success).
- Return type:
- Raises:
Note
This method calls Cluster.get_assembler_status using functools.partial to set the slot index. The docstring above is of Cluster.get_assembler_status:
- QCM_RF.get_scope_data(io_channel: int) Dict
Returns the QTM I/O channel scope data for the given slot and channel acquired since the previous call.
- Parameters:
io_channel (int) – I/O channel you want to get the data for.
- Returns:
The acquired data. Empty if no data acquired since last call.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_scope_data using functools.partial to set the slot index. The docstring above is of Cluster.get_scope_data:
- QCM_RF.get_sequencer_state(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) qblox_instruments.native.generic_func.SequencerState
Get the sequencer state. If an invalid sequencer index is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the sequencer completes. If the sequencer hasn’t stopped before the timeout expires, a TimeoutError is thrown.
- Parameters:
- Returns:
Tuple containing sequencer status and corresponding flags.
- Return type:
- Raises:
TimeoutError – Timeout
Note
This method calls Cluster.get_sequencer_state using functools.partial to set the slot index. The docstring above is of Cluster.get_sequencer_state:
- QCM_RF.get_sequencer_status(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) qblox_instruments.native.generic_func.SequencerStatus
Get the sequencer status. If an invalid sequencer index is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the sequencer completes. If the sequencer hasn’t stopped before the timeout expires, a TimeoutError is thrown.
- Parameters:
- Returns:
Tuple containing sequencer status and corresponding flags.
- Return type:
- Raises:
TimeoutError – Timeout
Note
This method calls Cluster.get_sequencer_status using functools.partial to set the slot index. The docstring above is of Cluster.get_sequencer_status:
- QCM_RF.get_waveforms(sequencer: int) Dict
Get all waveforms and weigths in the AWG waveform list of indexed sequencer. The returned dictionary is structured as follows:
name: waveform name.
data: waveform samples in a range of 1.0 to -1.0.
- index: waveform index used by the sequencer Q1ASM program to refer
to the waveform.
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with waveforms.
- Return type:
Note
This method calls Cluster.get_waveforms using functools.partial to set the slot index. The docstring above is of Cluster.get_waveforms:
- QCM_RF.get_weights(sequencer: int) Dict
Get all weigths in the acquisition weight lists of indexed sequencer. The returned dictionary is structured as follows:
-name : weight name.
data: weight samples in a range of 1.0 to -1.0.
- index: weight index used by the sequencer Q1ASM program to refer
to the weight.
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with weights.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_weights using functools.partial to set the slot index. The docstring above is of Cluster.get_weights:
- QCM_RF.out0_lo_cal() None #
Run LO Calibration Algorithm
- Parameters:
output (int) – output that will be affected by the calibration
- Return type:
None
- Raises:
Note
This method calls Cluster._run_mixer_lo_calib using functools.partial to set the slot index. The docstring above is of Cluster._run_mixer_lo_calib:
- QCM_RF.out1_lo_cal() None #
Run LO Calibration Algorithm
- Parameters:
output (int) – output that will be affected by the calibration
- Return type:
None
- Raises:
Note
This method calls Cluster._run_mixer_lo_calib using functools.partial to set the slot index. The docstring above is of Cluster._run_mixer_lo_calib:
- QCM_RF.scope_trigger_arm() Dict
Arms the external scope trigger logic on a QTM, such that it will send a trigger to scope acquisition blocks in the I/O channels when the trigger condition is satisfied.
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.scope_trigger_arm using functools.partial to set the slot index. The docstring above is of Cluster.scope_trigger_arm:
- QCM_RF.set_dummy_binned_acquisition_data(sequencer: int, acq_index_name: str, data: Iterable[qblox_instruments.ieee488_2.dummy_transport.DummyBinnedAcquisitionData | None])
Set dummy binned acquisition data for the dummy.
- Parameters:
sequencer (int) – Sequencer.
acq_index_name (str) – Acquisition index name.
data (Iterable[Union[DummyBinnedAcquisitionData, None]]) – Dummy data for the binned acquisition. An iterable of all the bin values.
Note
This method calls Cluster.set_dummy_binned_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.set_dummy_binned_acquisition_data:
- QCM_RF.set_dummy_scope_acquisition_data(sequencer: int | None, data: qblox_instruments.ieee488_2.dummy_transport.DummyScopeAcquisitionData)
Set dummy scope acquisition data for the dummy.
- Parameters:
sequencer (Union[int, None]) – Sequencer.
data (DummyScopeAcquisitionData) – Dummy data for the scope acquisition.
Note
This method calls Cluster.set_dummy_scope_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.set_dummy_scope_acquisition_data:
- QCM_RF.start_sequencer(sequencer: int | None = None) None
Start the indexed sequencer, thereby putting it in the running state. If an invalid sequencer index is given or the indexed sequencer was not yet armed, an error is set in system error. If no sequencer index is given, all armed sequencers are started and any sequencer not in the armed state is ignored. However, if no sequencer index is given and no sequencers are armed, and error is set in system error.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.start_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.start_sequencer:
- QCM_RF.stop_sequencer(sequencer: int | None = None) None
Stop the indexed sequencer, thereby putting it in the stopped state. If an invalid sequencer index is given, an error is set in system error. If no sequencer index is given, all sequencers are stopped.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.stop_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.stop_sequencer:
- QCM_RF.store_scope_acquisition(sequencer: int, name: str) None
After an acquisition has completed, store the scope acquisition results in the acquisition specified by name of the indexed sequencers. If an invalid sequencer index is given an error is set in system error. To get access to the acquisition results, the sequencer will be stopped when calling this function.
- Parameters:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.store_scope_acquisition using functools.partial to set the slot index. The docstring above is of Cluster.store_scope_acquisition:
Cluster QRM parameters#
- 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: {‘level’, ‘sequencer’}>
- 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: {‘level’, ‘sequencer’}>
- 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>
- QRM.out0_latency()#
Gets the latency in output path 0.
- Properties:
unit: s
value: None
- QRM.out0_fir_config()#
Sets/gets the configuration of FIR filter for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.out0_exp0_config()#
Sets/gets configuration of exponential overshoot filter 0 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.out0_exp1_config()#
Sets/gets configuration of exponential overshoot filter 1 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.out0_exp2_config()#
Sets/gets configuration of exponential overshoot filter 2 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.out0_exp3_config()#
Sets/gets configuration of exponential overshoot filter 3 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.out1_latency()#
Gets the latency in output path 1.
- Properties:
unit: s
value: None
- QRM.out1_fir_config()#
Sets/gets the configuration of FIR filter for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.out1_exp0_config()#
Sets/gets configuration of exponential overshoot filter 0 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.out1_exp1_config()#
Sets/gets configuration of exponential overshoot filter 1 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.out1_exp2_config()#
Sets/gets configuration of exponential overshoot filter 2 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.out1_exp3_config()#
Sets/gets configuration of exponential overshoot filter 3 for output 1.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker0_fir_config()#
Delay compensation config for the FIR filter on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker0_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker0_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker0_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker0_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker1_fir_config()#
Delay compensation config for the FIR filter on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker1_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker1_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker1_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker1_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker2_fir_config()#
Delay compensation config for the FIR filter on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker2_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker2_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker2_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker2_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker3_fir_config()#
Delay compensation config for the FIR filter on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker3_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker3_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker3_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.marker3_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM.present()#
Sets/gets module present status for slot {} in the Cluster.
- Properties:
value: <Boolean>
- QRM.arm_sequencer(sequencer: int | None = None) None
Prepare the indexed sequencer to start by putting it in the armed state. If no sequencer index is given, all sequencers are armed. Any sequencer that was already running is stopped and rearmed. If an invalid sequencer index is given, an error is set in system error.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.arm_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.arm_sequencer:
- QRM.clear_sequencer_flags(sequencer: int | None = None) None
Clear flags
- Parameters:
sequencer (int) – Sequencer index.
Note
This method calls Cluster.clear_sequencer_flags using functools.partial to set the slot index. The docstring above is of Cluster.clear_sequencer_flags:
- QRM.connect_sequencer(sequencer: int, *connections: str) None
Makes new connections between the indexed sequencer and some inputs and/or outputs. This will fail if a requested connection already existed, or if the connection could not be made due to a conflict with an existing connection (hardware constraints). In such a case, the channel map will not be affected.
- Parameters:
sequencer (int) – Sequencer index
*connections (str) – Zero or more connections to make, each specified using a string. The string should have the format <direction><channel> or <direction><I-channel>_<Q-channel>. <direction> must be in to make a connection between an input and the acquisition path, out to make a connection from the waveform generator to an output, or io to do both. The channels must be integer channel indices. If only one channel is specified, the sequencer operates in real mode; if two channels are specified, it operates in complex mode.
- Raises:
RuntimeError – If the connection command could not be completed due to a conflict.
ValueError – If parsing of a connection fails.
Note
This method calls Cluster.connect_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.connect_sequencer:
- QRM.delete_acquisition_data(sequencer: int, name: str = '', all: bool = False) None
Delete data from an acquisition specified by name in the acquisition list of indexed sequencer or delete data in all acquisitions if all is True.
- Parameters:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.delete_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_acquisition_data:
- QRM.delete_dummy_binned_acquisition_data(sequencer: int | None = None, acq_index_name: str | None = None)
Delete all dummy binned acquisition data for the dummy.
- Parameters:
Note
This method calls Cluster.delete_dummy_binned_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_dummy_binned_acquisition_data:
- QRM.delete_dummy_scope_acquisition_data(sequencer: int | None)
Delete dummy scope acquisition data for the dummy.
- Parameters:
sequencer (Union[int, None]) – Sequencer.
Note
This method calls Cluster.delete_dummy_scope_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_dummy_scope_acquisition_data:
- QRM.disconnect_inputs() None
Disconnects all inputs from the acquisition paths of the sequencers.
Note
This method calls Cluster.disconnect_inputs using functools.partial to set the slot index. The docstring above is of Cluster.disconnect_inputs:
- QRM.disconnect_outputs() None
Disconnects all outputs from the waveform generator paths of the sequencers.
Note
This method calls Cluster.disconnect_outputs using functools.partial to set the slot index. The docstring above is of Cluster.disconnect_outputs:
- QRM.get_acquisition_state(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) bool
Return acquisition binning completion state of the indexed sequencer. If an invalid sequencer is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the acquisition binning completes. If the acquisition hasn’t completed before the timeout expires, a TimeoutError is thrown. Note that when sequencer state checking is enabled, the sequencer state is checked using get_sequencer_state with the selected timeout period first and then the acquisition state is checked with the same timeout period. This means that the total timeout period is two times the set timeout period.
- Parameters:
- Returns:
Indicates the acquisition binning completion state (False = uncompleted, True = completed).
- Return type:
- Raises:
TimeoutError – Timeout
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisition_state using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisition_state:
- QRM.get_acquisition_status(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) bool
Return acquisition binning completion status of the indexed sequencer. If an invalid sequencer is given, an error is set in system error. If the timeout is set to zero, the function returns the status immediately. If a positive non-zero timeout is set, the function blocks until the acquisition binning completes. If the acquisition hasn’t completed before the timeout expires, a TimeoutError is thrown. Note that when sequencer state checking is enabled, the sequencer state is checked using get_sequencer_status with the selected timeout period first and then the acquisition status is checked with the same timeout period. This means that the total timeout period is two times the set timeout period.
- Parameters:
- Returns:
Indicates the acquisition binning completion status (False = uncompleted, True = completed).
- Return type:
- Raises:
TimeoutError – Timeout
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisition_status using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisition_status:
- QRM.get_acquisitions(sequencer: int) Dict
Get all acquisitions in acquisition lists of indexed sequencer. The acquisition scope and bin data is normalized to a range of -1.0 to 1.0 taking both the bit widths of the processing path and average count into considaration. For the binned integration results, the integration length is not handled during normalization and therefore these values have to be divided by their respective integration lenghts. The returned dictionary is structured as follows:
name: acquisition name
index: acquisition index used by the sequencer Q1ASM program to refer to the acquisition.
acquisition: acquisition dictionary
scope: Scope data
path0: input path 0
data: acquisition samples in a range of 1.0 to -1.0.
out-of-range: out-of-range indication for the entire acquisition (False = in-range, True = out-of-range).
avg_cnt: number of averages.
path1: input path 1
data: acquisition samples in a range of 1.0 to -1.0.
out-of-range: out-of-range indication for the entire acquisition (False = in-range, True = out-of-range).
avg_cnt: number of averages.
bins: bin data
integration: integration data
path_0: input path 0 integration result bin list
path_1: input path 1 integration result bin list
threshold: threshold result bin list
valid: list of valid indications per bin
avg_cnt: list of number of averages per bin
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with acquisitions.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisitions using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisitions:
- QRM.get_assembler_log() str
Get assembler log.
- Returns:
Assembler log.
- Return type:
- Raises:
Note
This method calls Cluster.get_assembler_log using functools.partial to set the slot index. The docstring above is of Cluster.get_assembler_log:
- QRM.get_assembler_status() bool
Get assembler status. Refer to the assembler log to get more information regarding the assembler result.
- Returns:
Assembler status (False = failed, True = success).
- Return type:
- Raises:
Note
This method calls Cluster.get_assembler_status using functools.partial to set the slot index. The docstring above is of Cluster.get_assembler_status:
- QRM.get_scope_data(io_channel: int) Dict
Returns the QTM I/O channel scope data for the given slot and channel acquired since the previous call.
- Parameters:
io_channel (int) – I/O channel you want to get the data for.
- Returns:
The acquired data. Empty if no data acquired since last call.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_scope_data using functools.partial to set the slot index. The docstring above is of Cluster.get_scope_data:
- QRM.get_sequencer_state(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) qblox_instruments.native.generic_func.SequencerState
Get the sequencer state. If an invalid sequencer index is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the sequencer completes. If the sequencer hasn’t stopped before the timeout expires, a TimeoutError is thrown.
- Parameters:
- Returns:
Tuple containing sequencer status and corresponding flags.
- Return type:
- Raises:
TimeoutError – Timeout
Note
This method calls Cluster.get_sequencer_state using functools.partial to set the slot index. The docstring above is of Cluster.get_sequencer_state:
- QRM.get_sequencer_status(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) qblox_instruments.native.generic_func.SequencerStatus
Get the sequencer status. If an invalid sequencer index is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the sequencer completes. If the sequencer hasn’t stopped before the timeout expires, a TimeoutError is thrown.
- Parameters:
- Returns:
Tuple containing sequencer status and corresponding flags.
- Return type:
- Raises:
TimeoutError – Timeout
Note
This method calls Cluster.get_sequencer_status using functools.partial to set the slot index. The docstring above is of Cluster.get_sequencer_status:
- QRM.get_waveforms(sequencer: int) Dict
Get all waveforms and weigths in the AWG waveform list of indexed sequencer. The returned dictionary is structured as follows:
name: waveform name.
data: waveform samples in a range of 1.0 to -1.0.
- index: waveform index used by the sequencer Q1ASM program to refer
to the waveform.
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with waveforms.
- Return type:
Note
This method calls Cluster.get_waveforms using functools.partial to set the slot index. The docstring above is of Cluster.get_waveforms:
- QRM.get_weights(sequencer: int) Dict
Get all weigths in the acquisition weight lists of indexed sequencer. The returned dictionary is structured as follows:
-name : weight name.
data: weight samples in a range of 1.0 to -1.0.
- index: weight index used by the sequencer Q1ASM program to refer
to the weight.
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with weights.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_weights using functools.partial to set the slot index. The docstring above is of Cluster.get_weights:
- QRM.scope_trigger_arm() Dict
Arms the external scope trigger logic on a QTM, such that it will send a trigger to scope acquisition blocks in the I/O channels when the trigger condition is satisfied.
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.scope_trigger_arm using functools.partial to set the slot index. The docstring above is of Cluster.scope_trigger_arm:
- QRM.set_dummy_binned_acquisition_data(sequencer: int, acq_index_name: str, data: Iterable[qblox_instruments.ieee488_2.dummy_transport.DummyBinnedAcquisitionData | None])
Set dummy binned acquisition data for the dummy.
- Parameters:
sequencer (int) – Sequencer.
acq_index_name (str) – Acquisition index name.
data (Iterable[Union[DummyBinnedAcquisitionData, None]]) – Dummy data for the binned acquisition. An iterable of all the bin values.
Note
This method calls Cluster.set_dummy_binned_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.set_dummy_binned_acquisition_data:
- QRM.set_dummy_scope_acquisition_data(sequencer: int | None, data: qblox_instruments.ieee488_2.dummy_transport.DummyScopeAcquisitionData)
Set dummy scope acquisition data for the dummy.
- Parameters:
sequencer (Union[int, None]) – Sequencer.
data (DummyScopeAcquisitionData) – Dummy data for the scope acquisition.
Note
This method calls Cluster.set_dummy_scope_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.set_dummy_scope_acquisition_data:
- QRM.start_sequencer(sequencer: int | None = None) None
Start the indexed sequencer, thereby putting it in the running state. If an invalid sequencer index is given or the indexed sequencer was not yet armed, an error is set in system error. If no sequencer index is given, all armed sequencers are started and any sequencer not in the armed state is ignored. However, if no sequencer index is given and no sequencers are armed, and error is set in system error.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.start_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.start_sequencer:
- QRM.stop_sequencer(sequencer: int | None = None) None
Stop the indexed sequencer, thereby putting it in the stopped state. If an invalid sequencer index is given, an error is set in system error. If no sequencer index is given, all sequencers are stopped.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.stop_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.stop_sequencer:
- QRM.store_scope_acquisition(sequencer: int, name: str) None
After an acquisition has completed, store the scope acquisition results in the acquisition specified by name of the indexed sequencers. If an invalid sequencer index is given an error is set in system error. To get access to the acquisition results, the sequencer will be stopped when calling this function.
- Parameters:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.store_scope_acquisition using functools.partial to set the slot index. The docstring above is of Cluster.store_scope_acquisition:
Cluster QRM-RF parameters#
- QRM_RF.out0_in0_lo_freq_cal_type_default()#
Sets/gets the Default automatic mixercalibration while setting local oscillatorfrequency for output and input 0.
- Properties:
unit: Hz
value: <Enum: {‘lo and sidebands’, ‘off’, ‘lo only’}>
- 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 0 dB to 60 dB 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: {‘level’, ‘sequencer’}>
- 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: {‘level’, ‘sequencer’}>
- 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>
- QRM_RF.out0_latency()#
Gets the latency in output path 0.
- Properties:
unit: s
value: None
- QRM_RF.out0_fir_config()#
Sets/gets the configuration of FIR filter for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.out0_exp0_config()#
Sets/gets configuration of exponential overshoot filter 0 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.out0_exp1_config()#
Sets/gets configuration of exponential overshoot filter 1 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.out0_exp2_config()#
Sets/gets configuration of exponential overshoot filter 2 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.out0_exp3_config()#
Sets/gets configuration of exponential overshoot filter 3 for output 0.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker0_fir_config()#
Delay compensation config for the FIR filter on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker0_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker0_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker0_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker0_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 0. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker1_fir_config()#
Delay compensation config for the FIR filter on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker1_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker1_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker1_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker1_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 1. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker2_fir_config()#
Delay compensation config for the FIR filter on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker2_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker2_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker2_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker2_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 2. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker3_fir_config()#
Delay compensation config for the FIR filter on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker3_exp0_config()#
Delay compensation config for the exponential overshoot filter 0 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker3_exp1_config()#
Delay compensation config for the exponential overshoot filter 1 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker3_exp2_config()#
Delay compensation config for the exponential overshoot filter 2 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.marker3_exp3_config()#
Delay compensation config for the exponential overshoot filter 3 on marker 3. If ‘bypassed’, the marker is not delayed. If ‘enabled’, the marker is delayed.
- Properties:
value: <Enum: {‘bypassed’, ‘delay_comp’}>
- QRM_RF.present()#
Sets/gets module present status for slot {} in the Cluster.
- Properties:
value: <Boolean>
- QRM_RF.arm_sequencer(sequencer: int | None = None) None
Prepare the indexed sequencer to start by putting it in the armed state. If no sequencer index is given, all sequencers are armed. Any sequencer that was already running is stopped and rearmed. If an invalid sequencer index is given, an error is set in system error.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.arm_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.arm_sequencer:
- QRM_RF.clear_sequencer_flags(sequencer: int | None = None) None
Clear flags
- Parameters:
sequencer (int) – Sequencer index.
Note
This method calls Cluster.clear_sequencer_flags using functools.partial to set the slot index. The docstring above is of Cluster.clear_sequencer_flags:
- QRM_RF.connect_sequencer(sequencer: int, *connections: str) None
Makes new connections between the indexed sequencer and some inputs and/or outputs. This will fail if a requested connection already existed, or if the connection could not be made due to a conflict with an existing connection (hardware constraints). In such a case, the channel map will not be affected.
- Parameters:
sequencer (int) – Sequencer index
*connections (str) – Zero or more connections to make, each specified using a string. The string should have the format <direction><channel> or <direction><I-channel>_<Q-channel>. <direction> must be in to make a connection between an input and the acquisition path, out to make a connection from the waveform generator to an output, or io to do both. The channels must be integer channel indices. If only one channel is specified, the sequencer operates in real mode; if two channels are specified, it operates in complex mode.
- Raises:
RuntimeError – If the connection command could not be completed due to a conflict.
ValueError – If parsing of a connection fails.
Note
This method calls Cluster.connect_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.connect_sequencer:
- QRM_RF.delete_acquisition_data(sequencer: int, name: str = '', all: bool = False) None
Delete data from an acquisition specified by name in the acquisition list of indexed sequencer or delete data in all acquisitions if all is True.
- Parameters:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.delete_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_acquisition_data:
- QRM_RF.delete_dummy_binned_acquisition_data(sequencer: int | None = None, acq_index_name: str | None = None)
Delete all dummy binned acquisition data for the dummy.
- Parameters:
Note
This method calls Cluster.delete_dummy_binned_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_dummy_binned_acquisition_data:
- QRM_RF.delete_dummy_scope_acquisition_data(sequencer: int | None)
Delete dummy scope acquisition data for the dummy.
- Parameters:
sequencer (Union[int, None]) – Sequencer.
Note
This method calls Cluster.delete_dummy_scope_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_dummy_scope_acquisition_data:
- QRM_RF.disconnect_inputs() None
Disconnects all inputs from the acquisition paths of the sequencers.
Note
This method calls Cluster.disconnect_inputs using functools.partial to set the slot index. The docstring above is of Cluster.disconnect_inputs:
- QRM_RF.disconnect_outputs() None
Disconnects all outputs from the waveform generator paths of the sequencers.
Note
This method calls Cluster.disconnect_outputs using functools.partial to set the slot index. The docstring above is of Cluster.disconnect_outputs:
- QRM_RF.get_acquisition_state(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) bool
Return acquisition binning completion state of the indexed sequencer. If an invalid sequencer is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the acquisition binning completes. If the acquisition hasn’t completed before the timeout expires, a TimeoutError is thrown. Note that when sequencer state checking is enabled, the sequencer state is checked using get_sequencer_state with the selected timeout period first and then the acquisition state is checked with the same timeout period. This means that the total timeout period is two times the set timeout period.
- Parameters:
- Returns:
Indicates the acquisition binning completion state (False = uncompleted, True = completed).
- Return type:
- Raises:
TimeoutError – Timeout
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisition_state using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisition_state:
- QRM_RF.get_acquisition_status(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) bool
Return acquisition binning completion status of the indexed sequencer. If an invalid sequencer is given, an error is set in system error. If the timeout is set to zero, the function returns the status immediately. If a positive non-zero timeout is set, the function blocks until the acquisition binning completes. If the acquisition hasn’t completed before the timeout expires, a TimeoutError is thrown. Note that when sequencer state checking is enabled, the sequencer state is checked using get_sequencer_status with the selected timeout period first and then the acquisition status is checked with the same timeout period. This means that the total timeout period is two times the set timeout period.
- Parameters:
- Returns:
Indicates the acquisition binning completion status (False = uncompleted, True = completed).
- Return type:
- Raises:
TimeoutError – Timeout
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisition_status using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisition_status:
- QRM_RF.get_acquisitions(sequencer: int) Dict
Get all acquisitions in acquisition lists of indexed sequencer. The acquisition scope and bin data is normalized to a range of -1.0 to 1.0 taking both the bit widths of the processing path and average count into considaration. For the binned integration results, the integration length is not handled during normalization and therefore these values have to be divided by their respective integration lenghts. The returned dictionary is structured as follows:
name: acquisition name
index: acquisition index used by the sequencer Q1ASM program to refer to the acquisition.
acquisition: acquisition dictionary
scope: Scope data
path0: input path 0
data: acquisition samples in a range of 1.0 to -1.0.
out-of-range: out-of-range indication for the entire acquisition (False = in-range, True = out-of-range).
avg_cnt: number of averages.
path1: input path 1
data: acquisition samples in a range of 1.0 to -1.0.
out-of-range: out-of-range indication for the entire acquisition (False = in-range, True = out-of-range).
avg_cnt: number of averages.
bins: bin data
integration: integration data
path_0: input path 0 integration result bin list
path_1: input path 1 integration result bin list
threshold: threshold result bin list
valid: list of valid indications per bin
avg_cnt: list of number of averages per bin
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with acquisitions.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisitions using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisitions:
- QRM_RF.get_assembler_log() str
Get assembler log.
- Returns:
Assembler log.
- Return type:
- Raises:
Note
This method calls Cluster.get_assembler_log using functools.partial to set the slot index. The docstring above is of Cluster.get_assembler_log:
- QRM_RF.get_assembler_status() bool
Get assembler status. Refer to the assembler log to get more information regarding the assembler result.
- Returns:
Assembler status (False = failed, True = success).
- Return type:
- Raises:
Note
This method calls Cluster.get_assembler_status using functools.partial to set the slot index. The docstring above is of Cluster.get_assembler_status:
- QRM_RF.get_scope_data(io_channel: int) Dict
Returns the QTM I/O channel scope data for the given slot and channel acquired since the previous call.
- Parameters:
io_channel (int) – I/O channel you want to get the data for.
- Returns:
The acquired data. Empty if no data acquired since last call.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_scope_data using functools.partial to set the slot index. The docstring above is of Cluster.get_scope_data:
- QRM_RF.get_sequencer_state(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) qblox_instruments.native.generic_func.SequencerState
Get the sequencer state. If an invalid sequencer index is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the sequencer completes. If the sequencer hasn’t stopped before the timeout expires, a TimeoutError is thrown.
- Parameters:
- Returns:
Tuple containing sequencer status and corresponding flags.
- Return type:
- Raises:
TimeoutError – Timeout
Note
This method calls Cluster.get_sequencer_state using functools.partial to set the slot index. The docstring above is of Cluster.get_sequencer_state:
- QRM_RF.get_sequencer_status(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) qblox_instruments.native.generic_func.SequencerStatus
Get the sequencer status. If an invalid sequencer index is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the sequencer completes. If the sequencer hasn’t stopped before the timeout expires, a TimeoutError is thrown.
- Parameters:
- Returns:
Tuple containing sequencer status and corresponding flags.
- Return type:
- Raises:
TimeoutError – Timeout
Note
This method calls Cluster.get_sequencer_status using functools.partial to set the slot index. The docstring above is of Cluster.get_sequencer_status:
- QRM_RF.get_waveforms(sequencer: int) Dict
Get all waveforms and weigths in the AWG waveform list of indexed sequencer. The returned dictionary is structured as follows:
name: waveform name.
data: waveform samples in a range of 1.0 to -1.0.
- index: waveform index used by the sequencer Q1ASM program to refer
to the waveform.
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with waveforms.
- Return type:
Note
This method calls Cluster.get_waveforms using functools.partial to set the slot index. The docstring above is of Cluster.get_waveforms:
- QRM_RF.get_weights(sequencer: int) Dict
Get all weigths in the acquisition weight lists of indexed sequencer. The returned dictionary is structured as follows:
-name : weight name.
data: weight samples in a range of 1.0 to -1.0.
- index: weight index used by the sequencer Q1ASM program to refer
to the weight.
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with weights.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_weights using functools.partial to set the slot index. The docstring above is of Cluster.get_weights:
- QRM_RF.out0_in0_lo_cal() None #
Run LO Calibration Algorithm
- Parameters:
output (int) – output that will be affected by the calibration
- Return type:
None
- Raises:
Note
This method calls Cluster._run_mixer_lo_calib using functools.partial to set the slot index. The docstring above is of Cluster._run_mixer_lo_calib:
- QRM_RF.scope_trigger_arm() Dict
Arms the external scope trigger logic on a QTM, such that it will send a trigger to scope acquisition blocks in the I/O channels when the trigger condition is satisfied.
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.scope_trigger_arm using functools.partial to set the slot index. The docstring above is of Cluster.scope_trigger_arm:
- QRM_RF.set_dummy_binned_acquisition_data(sequencer: int, acq_index_name: str, data: Iterable[qblox_instruments.ieee488_2.dummy_transport.DummyBinnedAcquisitionData | None])
Set dummy binned acquisition data for the dummy.
- Parameters:
sequencer (int) – Sequencer.
acq_index_name (str) – Acquisition index name.
data (Iterable[Union[DummyBinnedAcquisitionData, None]]) – Dummy data for the binned acquisition. An iterable of all the bin values.
Note
This method calls Cluster.set_dummy_binned_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.set_dummy_binned_acquisition_data:
- QRM_RF.set_dummy_scope_acquisition_data(sequencer: int | None, data: qblox_instruments.ieee488_2.dummy_transport.DummyScopeAcquisitionData)
Set dummy scope acquisition data for the dummy.
- Parameters:
sequencer (Union[int, None]) – Sequencer.
data (DummyScopeAcquisitionData) – Dummy data for the scope acquisition.
Note
This method calls Cluster.set_dummy_scope_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.set_dummy_scope_acquisition_data:
- QRM_RF.start_sequencer(sequencer: int | None = None) None
Start the indexed sequencer, thereby putting it in the running state. If an invalid sequencer index is given or the indexed sequencer was not yet armed, an error is set in system error. If no sequencer index is given, all armed sequencers are started and any sequencer not in the armed state is ignored. However, if no sequencer index is given and no sequencers are armed, and error is set in system error.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.start_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.start_sequencer:
- QRM_RF.stop_sequencer(sequencer: int | None = None) None
Stop the indexed sequencer, thereby putting it in the stopped state. If an invalid sequencer index is given, an error is set in system error. If no sequencer index is given, all sequencers are stopped.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.stop_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.stop_sequencer:
- QRM_RF.store_scope_acquisition(sequencer: int, name: str) None
After an acquisition has completed, store the scope acquisition results in the acquisition specified by name of the indexed sequencers. If an invalid sequencer index is given an error is set in system error. To get access to the acquisition results, the sequencer will be stopped when calling this function.
- Parameters:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.store_scope_acquisition using functools.partial to set the slot index. The docstring above is of Cluster.store_scope_acquisition:
Cluster QTM parameters#
- QTM.present()#
Sets/gets module present status for slot {} in the Cluster.
- Properties:
value: <Boolean>
- QTM.arm_sequencer(sequencer: int | None = None) None
Prepare the indexed sequencer to start by putting it in the armed state. If no sequencer index is given, all sequencers are armed. Any sequencer that was already running is stopped and rearmed. If an invalid sequencer index is given, an error is set in system error.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.arm_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.arm_sequencer:
- QTM.clear_sequencer_flags(sequencer: int | None = None) None
Clear flags
- Parameters:
sequencer (int) – Sequencer index.
Note
This method calls Cluster.clear_sequencer_flags using functools.partial to set the slot index. The docstring above is of Cluster.clear_sequencer_flags:
- QTM.connect_sequencer(sequencer: int, *connections: str) None
Makes new connections between the indexed sequencer and some inputs and/or outputs. This will fail if a requested connection already existed, or if the connection could not be made due to a conflict with an existing connection (hardware constraints). In such a case, the channel map will not be affected.
- Parameters:
sequencer (int) – Sequencer index
*connections (str) – Zero or more connections to make, each specified using a string. The string should have the format <direction><channel> or <direction><I-channel>_<Q-channel>. <direction> must be in to make a connection between an input and the acquisition path, out to make a connection from the waveform generator to an output, or io to do both. The channels must be integer channel indices. If only one channel is specified, the sequencer operates in real mode; if two channels are specified, it operates in complex mode.
- Raises:
RuntimeError – If the connection command could not be completed due to a conflict.
ValueError – If parsing of a connection fails.
Note
This method calls Cluster.connect_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.connect_sequencer:
- QTM.delete_acquisition_data(sequencer: int, name: str = '', all: bool = False) None
Delete data from an acquisition specified by name in the acquisition list of indexed sequencer or delete data in all acquisitions if all is True.
- Parameters:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.delete_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_acquisition_data:
- QTM.delete_dummy_binned_acquisition_data(sequencer: int | None = None, acq_index_name: str | None = None)
Delete all dummy binned acquisition data for the dummy.
- Parameters:
Note
This method calls Cluster.delete_dummy_binned_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_dummy_binned_acquisition_data:
- QTM.delete_dummy_scope_acquisition_data(sequencer: int | None)
Delete dummy scope acquisition data for the dummy.
- Parameters:
sequencer (Union[int, None]) – Sequencer.
Note
This method calls Cluster.delete_dummy_scope_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.delete_dummy_scope_acquisition_data:
- QTM.disconnect_inputs() None
Disconnects all inputs from the acquisition paths of the sequencers.
Note
This method calls Cluster.disconnect_inputs using functools.partial to set the slot index. The docstring above is of Cluster.disconnect_inputs:
- QTM.disconnect_outputs() None
Disconnects all outputs from the waveform generator paths of the sequencers.
Note
This method calls Cluster.disconnect_outputs using functools.partial to set the slot index. The docstring above is of Cluster.disconnect_outputs:
- QTM.get_acquisition_state(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) bool
Return acquisition binning completion state of the indexed sequencer. If an invalid sequencer is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the acquisition binning completes. If the acquisition hasn’t completed before the timeout expires, a TimeoutError is thrown. Note that when sequencer state checking is enabled, the sequencer state is checked using get_sequencer_state with the selected timeout period first and then the acquisition state is checked with the same timeout period. This means that the total timeout period is two times the set timeout period.
- Parameters:
- Returns:
Indicates the acquisition binning completion state (False = uncompleted, True = completed).
- Return type:
- Raises:
TimeoutError – Timeout
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisition_state using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisition_state:
- QTM.get_acquisition_status(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) bool
Return acquisition binning completion status of the indexed sequencer. If an invalid sequencer is given, an error is set in system error. If the timeout is set to zero, the function returns the status immediately. If a positive non-zero timeout is set, the function blocks until the acquisition binning completes. If the acquisition hasn’t completed before the timeout expires, a TimeoutError is thrown. Note that when sequencer state checking is enabled, the sequencer state is checked using get_sequencer_status with the selected timeout period first and then the acquisition status is checked with the same timeout period. This means that the total timeout period is two times the set timeout period.
- Parameters:
- Returns:
Indicates the acquisition binning completion status (False = uncompleted, True = completed).
- Return type:
- Raises:
TimeoutError – Timeout
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisition_status using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisition_status:
- QTM.get_acquisitions(sequencer: int) Dict
Get all acquisitions in acquisition lists of indexed sequencer. The acquisition scope and bin data is normalized to a range of -1.0 to 1.0 taking both the bit widths of the processing path and average count into considaration. For the binned integration results, the integration length is not handled during normalization and therefore these values have to be divided by their respective integration lenghts. The returned dictionary is structured as follows:
name: acquisition name
index: acquisition index used by the sequencer Q1ASM program to refer to the acquisition.
acquisition: acquisition dictionary
scope: Scope data
path0: input path 0
data: acquisition samples in a range of 1.0 to -1.0.
out-of-range: out-of-range indication for the entire acquisition (False = in-range, True = out-of-range).
avg_cnt: number of averages.
path1: input path 1
data: acquisition samples in a range of 1.0 to -1.0.
out-of-range: out-of-range indication for the entire acquisition (False = in-range, True = out-of-range).
avg_cnt: number of averages.
bins: bin data
integration: integration data
path_0: input path 0 integration result bin list
path_1: input path 1 integration result bin list
threshold: threshold result bin list
valid: list of valid indications per bin
avg_cnt: list of number of averages per bin
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with acquisitions.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_acquisitions using functools.partial to set the slot index. The docstring above is of Cluster.get_acquisitions:
- QTM.get_assembler_log() str
Get assembler log.
- Returns:
Assembler log.
- Return type:
- Raises:
Note
This method calls Cluster.get_assembler_log using functools.partial to set the slot index. The docstring above is of Cluster.get_assembler_log:
- QTM.get_assembler_status() bool
Get assembler status. Refer to the assembler log to get more information regarding the assembler result.
- Returns:
Assembler status (False = failed, True = success).
- Return type:
- Raises:
Note
This method calls Cluster.get_assembler_status using functools.partial to set the slot index. The docstring above is of Cluster.get_assembler_status:
- QTM.get_scope_data(io_channel: int) Dict
Returns the QTM I/O channel scope data for the given slot and channel acquired since the previous call.
- Parameters:
io_channel (int) – I/O channel you want to get the data for.
- Returns:
The acquired data. Empty if no data acquired since last call.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_scope_data using functools.partial to set the slot index. The docstring above is of Cluster.get_scope_data:
- QTM.get_sequencer_state(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) qblox_instruments.native.generic_func.SequencerState
Get the sequencer state. If an invalid sequencer index is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the sequencer completes. If the sequencer hasn’t stopped before the timeout expires, a TimeoutError is thrown.
- Parameters:
- Returns:
Tuple containing sequencer status and corresponding flags.
- Return type:
- Raises:
TimeoutError – Timeout
Note
This method calls Cluster.get_sequencer_state using functools.partial to set the slot index. The docstring above is of Cluster.get_sequencer_state:
- QTM.get_sequencer_status(sequencer: int, timeout: int = 0, timeout_poll_res: float = 0.02) qblox_instruments.native.generic_func.SequencerStatus
Get the sequencer status. If an invalid sequencer index is given, an error is set in system error. If the timeout is set to zero, the function returns the state immediately. If a positive non-zero timeout is set, the function blocks until the sequencer completes. If the sequencer hasn’t stopped before the timeout expires, a TimeoutError is thrown.
- Parameters:
- Returns:
Tuple containing sequencer status and corresponding flags.
- Return type:
- Raises:
TimeoutError – Timeout
Note
This method calls Cluster.get_sequencer_status using functools.partial to set the slot index. The docstring above is of Cluster.get_sequencer_status:
- QTM.get_waveforms(sequencer: int) Dict
Get all waveforms and weigths in the AWG waveform list of indexed sequencer. The returned dictionary is structured as follows:
name: waveform name.
data: waveform samples in a range of 1.0 to -1.0.
- index: waveform index used by the sequencer Q1ASM program to refer
to the waveform.
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with waveforms.
- Return type:
Note
This method calls Cluster.get_waveforms using functools.partial to set the slot index. The docstring above is of Cluster.get_waveforms:
- QTM.get_weights(sequencer: int) Dict
Get all weigths in the acquisition weight lists of indexed sequencer. The returned dictionary is structured as follows:
-name : weight name.
data: weight samples in a range of 1.0 to -1.0.
- index: weight index used by the sequencer Q1ASM program to refer
to the weight.
- Parameters:
sequencer (int) – Sequencer index.
- Returns:
Dictionary with weights.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.get_weights using functools.partial to set the slot index. The docstring above is of Cluster.get_weights:
- QTM.scope_trigger_arm() Dict
Arms the external scope trigger logic on a QTM, such that it will send a trigger to scope acquisition blocks in the I/O channels when the trigger condition is satisfied.
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.scope_trigger_arm using functools.partial to set the slot index. The docstring above is of Cluster.scope_trigger_arm:
- QTM.set_dummy_binned_acquisition_data(sequencer: int, acq_index_name: str, data: Iterable[qblox_instruments.ieee488_2.dummy_transport.DummyBinnedAcquisitionData | None])
Set dummy binned acquisition data for the dummy.
- Parameters:
sequencer (int) – Sequencer.
acq_index_name (str) – Acquisition index name.
data (Iterable[Union[DummyBinnedAcquisitionData, None]]) – Dummy data for the binned acquisition. An iterable of all the bin values.
Note
This method calls Cluster.set_dummy_binned_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.set_dummy_binned_acquisition_data:
- QTM.set_dummy_scope_acquisition_data(sequencer: int | None, data: qblox_instruments.ieee488_2.dummy_transport.DummyScopeAcquisitionData)
Set dummy scope acquisition data for the dummy.
- Parameters:
sequencer (Union[int, None]) – Sequencer.
data (DummyScopeAcquisitionData) – Dummy data for the scope acquisition.
Note
This method calls Cluster.set_dummy_scope_acquisition_data using functools.partial to set the slot index. The docstring above is of Cluster.set_dummy_scope_acquisition_data:
- QTM.start_sequencer(sequencer: int | None = None) None
Start the indexed sequencer, thereby putting it in the running state. If an invalid sequencer index is given or the indexed sequencer was not yet armed, an error is set in system error. If no sequencer index is given, all armed sequencers are started and any sequencer not in the armed state is ignored. However, if no sequencer index is given and no sequencers are armed, and error is set in system error.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.start_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.start_sequencer:
- QTM.stop_sequencer(sequencer: int | None = None) None
Stop the indexed sequencer, thereby putting it in the stopped state. If an invalid sequencer index is given, an error is set in system error. If no sequencer index is given, all sequencers are stopped.
- Parameters:
sequencer (Optional[int]) – Sequencer index.
- Raises:
RuntimeError – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.
Note
This method calls Cluster.stop_sequencer using functools.partial to set the slot index. The docstring above is of Cluster.stop_sequencer:
- QTM.store_scope_acquisition(sequencer: int, name: str) None
After an acquisition has completed, store the scope acquisition results in the acquisition specified by name of the indexed sequencers. If an invalid sequencer index is given an error is set in system error. To get access to the acquisition results, the sequencer will be stopped when calling this function.
- Parameters:
- Raises:
NotImplementedError – Functionality not available on this module.
Note
This method calls Cluster.store_scope_acquisition using functools.partial to set the slot index. The docstring above is of Cluster.store_scope_acquisition: