Sequencer API#

The sequencer module is responsible for adding the parameters of a single sequencer within a module.

class qblox_instruments.qcodes_drivers.sequencer.Sequencer(parent: Instrument | InstrumentChannel, name: str, seq_idx: int)[source]#

Bases: Component

This class represents a single sequencer. It combines all sequencer specific parameters and functions into a single QCoDes InstrumentChannel.

__init__(parent: Instrument | InstrumentChannel, name: str, seq_idx: int)[source]#

Creates a sequencer class and adds all relevant parameters for the sequencer.

Parameters:
  • parent (Union[Instrument, InstrumentChannel]) – The QCoDeS class to which this sequencer belongs.

  • name (str) – Name of this sequencer channel

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

property seq_idx: int#

Get sequencer index.

Returns:

Sequencer index

Return type:

int

set_trigger_thresholding(address: int, count: int, invert: bool) None[source]#

Sets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:
  • address (int) – Trigger address to which the settings are applied

  • count (int) – Threshold

  • invert (bool) – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

get_trigger_thresholding(address: int) Tuple[source]#

Gets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:

address (int) – Trigger address to which the settings are applied

Returns:

  • int – Threshold

  • bool – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

reset_trigger_thresholding() None[source]#

Resets trigger thresholds for all trigger address counters (T1 to T15) back to 0. Also resets inversion back to false.

Raises:

NotImplementedError – Functionality not available on this module.

Cluster QCoDeS parameters#

QCoDeS parameters generated by Sequencer.

Cluster QCM parameters#

Sequencer.connect_out0()#

Sets/gets whether this sequencer is connected to output 0, and if so which component.

Properties:
  • value: <Enum: {‘I’, ‘Q’, ‘off’}>

Sequencer.connect_out1()#

Sets/gets whether this sequencer is connected to output 1, and if so which component.

Properties:
  • value: <Enum: {‘I’, ‘Q’, ‘off’}>

Sequencer.connect_out2()#

Sets/gets whether this sequencer is connected to output 2, and if so which component.

Properties:
  • value: <Enum: {‘I’, ‘Q’, ‘off’}>

Sequencer.connect_out3()#

Sets/gets whether this sequencer is connected to output 3, and if so which component.

Properties:
  • value: <Enum: {‘I’, ‘Q’, ‘off’}>

Sequencer.sync_en()#

Sets/gets sequencer synchronization enable which enables party-line synchronization.

Properties:
  • value: <Boolean>

Sequencer.nco_freq_cal_type_default()#

Sets/gets the Default automatic mixercalibration while setting the nco frequency

Properties:
  • unit: Hz

  • value: <Enum: {‘sideband’, ‘off’}>

Sequencer.nco_freq()#

Please see QCoDeS for a description.

Properties:
  • unit: Hz

  • value: None

Sequencer.nco_phase_offs()#

Sets/gets sequencer NCO phase offset in degrees with a resolution of 3.6e-7 degrees.

Properties:
  • unit: Degrees

  • value: <Numbers 0<=v<=360>

Sequencer.nco_prop_delay_comp()#

Sets/gets a delay that compensates the NCO phase to the input path with respect to the instrument’s combined output and input propagation delay. This delay is applied on top of a default delay of 146 ns.

Properties:
  • unit: ns

  • value: <Numbers -50<=v<=109>

Sequencer.nco_prop_delay_comp_en()#

Sets/gets the enable for a delay that compensates the NCO phase to the input path with respect to the instrument’s combined output and input propagation delay. This delays the frequency update as well.

Properties:
  • unit: ns

  • value: <Boolean>

Sequencer.marker_ovr_en()#

Sets/gets sequencer marker override enable.

Properties:
  • value: <Boolean>

Sequencer.marker_ovr_value()#

Sets/gets sequencer marker override value. Bit index corresponds to marker channel index.

Properties:
  • value: <Numbers 0<=v<=15>

Sequencer.sequence()#

Sets sequencer’s AWG waveforms, acquistion weights, acquisitions and Q1ASM program. Valid input is a string representing the JSON filename or a JSON compatible dictionary.

Properties:
  • value: <MultiType: Strings, Dict>

Sequencer.trigger1_count_threshold()#

Sets/gets threshold for counter on trigger address T1. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger1_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 1.

Properties:
  • value: <Boolean>

Sequencer.trigger2_count_threshold()#

Sets/gets threshold for counter on trigger address T2. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger2_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 2.

Properties:
  • value: <Boolean>

Sequencer.trigger3_count_threshold()#

Sets/gets threshold for counter on trigger address T3. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger3_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 3.

Properties:
  • value: <Boolean>

Sequencer.trigger4_count_threshold()#

Sets/gets threshold for counter on trigger address T4. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger4_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 4.

Properties:
  • value: <Boolean>

Sequencer.trigger5_count_threshold()#

Sets/gets threshold for counter on trigger address T5. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger5_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 5.

Properties:
  • value: <Boolean>

Sequencer.trigger6_count_threshold()#

Sets/gets threshold for counter on trigger address T6. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger6_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 6.

Properties:
  • value: <Boolean>

Sequencer.trigger7_count_threshold()#

Sets/gets threshold for counter on trigger address T7. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger7_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 7.

Properties:
  • value: <Boolean>

Sequencer.trigger8_count_threshold()#

Sets/gets threshold for counter on trigger address T8. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger8_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 8.

Properties:
  • value: <Boolean>

Sequencer.trigger9_count_threshold()#

Sets/gets threshold for counter on trigger address T9. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger9_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 9.

Properties:
  • value: <Boolean>

Sequencer.trigger10_count_threshold()#

Sets/gets threshold for counter on trigger address T10. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger10_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 10.

Properties:
  • value: <Boolean>

Sequencer.trigger11_count_threshold()#

Sets/gets threshold for counter on trigger address T11. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger11_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 11.

Properties:
  • value: <Boolean>

Sequencer.trigger12_count_threshold()#

Sets/gets threshold for counter on trigger address T12. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger12_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 12.

Properties:
  • value: <Boolean>

Sequencer.trigger13_count_threshold()#

Sets/gets threshold for counter on trigger address T13. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger13_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 13.

Properties:
  • value: <Boolean>

Sequencer.trigger14_count_threshold()#

Sets/gets threshold for counter on trigger address T14. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger14_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 14.

Properties:
  • value: <Boolean>

Sequencer.trigger15_count_threshold()#

Sets/gets threshold for counter on trigger address T15. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger15_threshold_invert()#

Sets/gets comparison result inversion for triggeraddress 15.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_en_awg_path0()#

Sets/gets sequencer continous waveform mode enable for AWG path 0.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_waveform_idx_awg_path0()#

Sets/gets sequencer continous waveform mode waveform index or AWG path 0.

Properties:
  • value: <Numbers 0<=v<=1023>

Sequencer.upsample_rate_awg_path0()#

Sets/gets sequencer upsample rate for AWG path 0.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.gain_awg_path0()#

Sets/gets sequencer gain for AWG path 0.

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

Sequencer.offset_awg_path0()#

Sets/gets sequencer offset for AWG path 0.

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

Sequencer.cont_mode_en_awg_path1()#

Sets/gets sequencer continous waveform mode enable for AWG path 1.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_waveform_idx_awg_path1()#

Sets/gets sequencer continous waveform mode waveform index or AWG path 1.

Properties:
  • value: <Numbers 0<=v<=1023>

Sequencer.upsample_rate_awg_path1()#

Sets/gets sequencer upsample rate for AWG path 1.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.gain_awg_path1()#

Sets/gets sequencer gain for AWG path 0.

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

Sequencer.offset_awg_path1()#

Sets/gets sequencer offset for AWG path 1.

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

Sequencer.mixer_corr_phase_offset_degree()#

Sets/gets sequencer mixer phase imbalance correction for AWG; applied to AWG path 1 relative to AWG path 0 and measured in degrees

Properties:
  • value: <Numbers -45.0<=v<=45.0>

Sequencer.mixer_corr_gain_ratio()#

Sets/gets sequencer mixer gain imbalance correction for AWG; equal to AWG path 1 amplitude divided by AWG path 0 amplitude.

Properties:
  • value: <Numbers 0.5<=v<=2.0>

Sequencer.mod_en_awg()#

Sets/gets sequencer modulation enable for AWG.

Properties:
  • value: <Boolean>

Sequencer.arm_sequencer() 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.

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:

Note

This method calls Module.arm_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.arm_sequencer:

Sequencer.clear_sequencer_flags() None

Clear flags

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:

Note

This method calls Module.clear_sequencer_flags using functools.partial to set the sequencer index. The docstring above is of Module.clear_sequencer_flags:

Sequencer.connect_sequencer(*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:

*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:

Note

This method calls Module.connect_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.connect_sequencer:

Sequencer.delete_acquisition_data(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:

name (str) – Weight name

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:

Note

This method calls Module.delete_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_acquisition_data:

Sequencer.delete_dummy_binned_acquisition_data(acq_index_name: str | None = None)

Delete all dummy binned acquisition data for the dummy.

Parameters:

acq_index_name (Optional[str]) – Acquisition index name.

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:

Note

This method calls Module.delete_dummy_binned_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_dummy_binned_acquisition_data:

Sequencer.delete_dummy_scope_acquisition_data()

Delete dummy scope acquisition data for the dummy.

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:

Note

This method calls Module.delete_dummy_scope_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_dummy_scope_acquisition_data:

Sequencer.get_acquisition_state(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

  • check_seq_state (bool) – Check if sequencer is done before checking acquisition state.

Returns:

Indicates the acquisition binning completion state (False = uncompleted, True = completed).

Return type:

bool

Raises:

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:

Note

This method calls Module.get_acquisition_state using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisition_state:

Sequencer.get_acquisition_status(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

  • check_seq_state (bool) – Check if sequencer is done before checking acquisition status.

Returns:

Indicates the acquisition binning completion status (False = uncompleted, True = completed).

Return type:

bool

Raises:

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:

Note

This method calls Module.get_acquisition_status using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisition_status:

Sequencer.get_acquisitions() 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

Returns:

Dictionary with acquisitions.

Return type:

dict

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:

Note

This method calls Module.get_acquisitions using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisitions:

Sequencer.get_sequencer_state(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

Returns:

Tuple containing sequencer status and corresponding flags.

Return type:

SequencerState

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:

Note

This method calls Module.get_sequencer_state using functools.partial to set the sequencer index. The docstring above is of Module.get_sequencer_state:

Sequencer.get_sequencer_status(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

Returns:

Tuple containing sequencer status and corresponding flags.

Return type:

SequencerState

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:

Note

This method calls Module.get_sequencer_status using functools.partial to set the sequencer index. The docstring above is of Module.get_sequencer_status:

Sequencer.get_trigger_thresholding(address: int) Tuple#

Gets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:

address (int) – Trigger address to which the settings are applied

Returns:

  • int – Threshold

  • bool – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.get_waveforms() 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.

Returns:

Dictionary with waveforms.

Return type:

dict

Note

This method calls Cluster.get_waveforms using functools.partial to set the slot index. The docstring above is of Cluster.get_waveforms:

Note

This method calls Module.get_waveforms using functools.partial to set the sequencer index. The docstring above is of Module.get_waveforms:

Sequencer.get_weights() 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.

Returns:

Dictionary with weights.

Return type:

dict

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:

Note

This method calls Module.get_weights using functools.partial to set the sequencer index. The docstring above is of Module.get_weights:

Sequencer.reset_trigger_thresholding() None#

Resets trigger thresholds for all trigger address counters (T1 to T15) back to 0. Also resets inversion back to false.

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.set_dummy_binned_acquisition_data(acq_index_name: str, data: Iterable[qblox_instruments.ieee488_2.dummy_transport.DummyBinnedAcquisitionData | None])

Set dummy binned acquisition data for the dummy.

Parameters:
  • 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:

Note

This method calls Module.set_dummy_binned_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.set_dummy_binned_acquisition_data:

Sequencer.set_dummy_scope_acquisition_data(data: qblox_instruments.ieee488_2.dummy_transport.DummyScopeAcquisitionData)

Set dummy scope acquisition data for the dummy.

Parameters:

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:

Note

This method calls Module.set_dummy_scope_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.set_dummy_scope_acquisition_data:

Sequencer.set_trigger_thresholding(address: int, count: int, invert: bool) None#

Sets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:
  • address (int) – Trigger address to which the settings are applied

  • count (int) – Threshold

  • invert (bool) – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.sideband_cal() None#

Run sidebands Calibration Algorithm

Return type:

None

Raises:
  • Exception – Invalid input parameter type.

  • Exception – 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._run_mixer_sidebands_calib using functools.partial to set the slot index. The docstring above is of Cluster._run_mixer_sidebands_calib:

Note

This method calls Module._run_mixer_sidebands_calib using functools.partial to set the sequencer index. The docstring above is of Module._run_mixer_sidebands_calib:

Sequencer.start_sequencer() 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.

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:

Note

This method calls Module.start_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.start_sequencer:

Sequencer.stop_sequencer() 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.

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:

Note

This method calls Module.stop_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.stop_sequencer:

Sequencer.store_scope_acquisition(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:

name (str) – Acquisition name.

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:

Note

This method calls Module.store_scope_acquisition using functools.partial to set the sequencer index. The docstring above is of Module.store_scope_acquisition:

Cluster QCM-RF parameters#

Sequencer.connect_out0()

Sets/gets whether this sequencer is connected to output 0, and if so which component.

Properties:
  • value: <Enum: {False, True, ‘IQ’, ‘off’}>

Sequencer.connect_out1()

Sets/gets whether this sequencer is connected to output 1, and if so which component.

Properties:
  • value: <Enum: {False, True, ‘IQ’, ‘off’}>

Sequencer.sync_en()

Sets/gets sequencer synchronization enable which enables party-line synchronization.

Properties:
  • value: <Boolean>

Sequencer.nco_freq_cal_type_default()

Sets/gets the Default automatic mixercalibration while setting the nco frequency

Properties:
  • unit: Hz

  • value: <Enum: {‘sideband’, ‘off’}>

Sequencer.nco_freq()

Please see QCoDeS for a description.

Properties:
  • unit: Hz

  • value: None

Sequencer.nco_phase_offs()

Sets/gets sequencer NCO phase offset in degrees with a resolution of 3.6e-7 degrees.

Properties:
  • unit: Degrees

  • value: <Numbers 0<=v<=360>

Sequencer.nco_prop_delay_comp()

Sets/gets a delay that compensates the NCO phase to the input path with respect to the instrument’s combined output and input propagation delay. This delay is applied on top of a default delay of 146 ns.

Properties:
  • unit: ns

  • value: <Numbers -50<=v<=109>

Sequencer.nco_prop_delay_comp_en()

Sets/gets the enable for a delay that compensates the NCO phase to the input path with respect to the instrument’s combined output and input propagation delay. This delays the frequency update as well.

Properties:
  • unit: ns

  • value: <Boolean>

Sequencer.marker_ovr_en()

Sets/gets sequencer marker override enable.

Properties:
  • value: <Boolean>

Sequencer.marker_ovr_value()

Sets/gets sequencer marker override value. Bit index corresponds to marker channel index.

Properties:
  • value: <Numbers 0<=v<=15>

Sequencer.sequence()

Sets sequencer’s AWG waveforms, acquistion weights, acquisitions and Q1ASM program. Valid input is a string representing the JSON filename or a JSON compatible dictionary.

Properties:
  • value: <MultiType: Strings, Dict>

Sequencer.trigger1_count_threshold()

Sets/gets threshold for counter on trigger address T1. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger1_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 1.

Properties:
  • value: <Boolean>

Sequencer.trigger2_count_threshold()

Sets/gets threshold for counter on trigger address T2. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger2_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 2.

Properties:
  • value: <Boolean>

Sequencer.trigger3_count_threshold()

Sets/gets threshold for counter on trigger address T3. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger3_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 3.

Properties:
  • value: <Boolean>

Sequencer.trigger4_count_threshold()

Sets/gets threshold for counter on trigger address T4. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger4_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 4.

Properties:
  • value: <Boolean>

Sequencer.trigger5_count_threshold()

Sets/gets threshold for counter on trigger address T5. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger5_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 5.

Properties:
  • value: <Boolean>

Sequencer.trigger6_count_threshold()

Sets/gets threshold for counter on trigger address T6. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger6_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 6.

Properties:
  • value: <Boolean>

Sequencer.trigger7_count_threshold()

Sets/gets threshold for counter on trigger address T7. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger7_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 7.

Properties:
  • value: <Boolean>

Sequencer.trigger8_count_threshold()

Sets/gets threshold for counter on trigger address T8. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger8_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 8.

Properties:
  • value: <Boolean>

Sequencer.trigger9_count_threshold()

Sets/gets threshold for counter on trigger address T9. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger9_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 9.

Properties:
  • value: <Boolean>

Sequencer.trigger10_count_threshold()

Sets/gets threshold for counter on trigger address T10. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger10_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 10.

Properties:
  • value: <Boolean>

Sequencer.trigger11_count_threshold()

Sets/gets threshold for counter on trigger address T11. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger11_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 11.

Properties:
  • value: <Boolean>

Sequencer.trigger12_count_threshold()

Sets/gets threshold for counter on trigger address T12. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger12_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 12.

Properties:
  • value: <Boolean>

Sequencer.trigger13_count_threshold()

Sets/gets threshold for counter on trigger address T13. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger13_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 13.

Properties:
  • value: <Boolean>

Sequencer.trigger14_count_threshold()

Sets/gets threshold for counter on trigger address T14. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger14_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 14.

Properties:
  • value: <Boolean>

Sequencer.trigger15_count_threshold()

Sets/gets threshold for counter on trigger address T15. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger15_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 15.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_en_awg_path0()

Sets/gets sequencer continous waveform mode enable for AWG path 0.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_waveform_idx_awg_path0()

Sets/gets sequencer continous waveform mode waveform index or AWG path 0.

Properties:
  • value: <Numbers 0<=v<=1023>

Sequencer.upsample_rate_awg_path0()

Sets/gets sequencer upsample rate for AWG path 0.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.gain_awg_path0()

Sets/gets sequencer gain for AWG path 0.

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

Sequencer.offset_awg_path0()

Sets/gets sequencer offset for AWG path 0.

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

Sequencer.cont_mode_en_awg_path1()

Sets/gets sequencer continous waveform mode enable for AWG path 1.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_waveform_idx_awg_path1()

Sets/gets sequencer continous waveform mode waveform index or AWG path 1.

Properties:
  • value: <Numbers 0<=v<=1023>

Sequencer.upsample_rate_awg_path1()

Sets/gets sequencer upsample rate for AWG path 1.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.gain_awg_path1()

Sets/gets sequencer gain for AWG path 0.

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

Sequencer.offset_awg_path1()

Sets/gets sequencer offset for AWG path 1.

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

Sequencer.mixer_corr_phase_offset_degree()

Sets/gets sequencer mixer phase imbalance correction for AWG; applied to AWG path 1 relative to AWG path 0 and measured in degrees

Properties:
  • value: <Numbers -45.0<=v<=45.0>

Sequencer.mixer_corr_gain_ratio()

Sets/gets sequencer mixer gain imbalance correction for AWG; equal to AWG path 1 amplitude divided by AWG path 0 amplitude.

Properties:
  • value: <Numbers 0.5<=v<=2.0>

Sequencer.mod_en_awg()

Sets/gets sequencer modulation enable for AWG.

Properties:
  • value: <Boolean>

Sequencer.arm_sequencer() 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.

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:

Note

This method calls Module.arm_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.arm_sequencer:

Sequencer.clear_sequencer_flags() None

Clear flags

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:

Note

This method calls Module.clear_sequencer_flags using functools.partial to set the sequencer index. The docstring above is of Module.clear_sequencer_flags:

Sequencer.connect_sequencer(*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:

*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:

Note

This method calls Module.connect_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.connect_sequencer:

Sequencer.delete_acquisition_data(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:

name (str) – Weight name

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:

Note

This method calls Module.delete_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_acquisition_data:

Sequencer.delete_dummy_binned_acquisition_data(acq_index_name: str | None = None)

Delete all dummy binned acquisition data for the dummy.

Parameters:

acq_index_name (Optional[str]) – Acquisition index name.

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:

Note

This method calls Module.delete_dummy_binned_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_dummy_binned_acquisition_data:

Sequencer.delete_dummy_scope_acquisition_data()

Delete dummy scope acquisition data for the dummy.

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:

Note

This method calls Module.delete_dummy_scope_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_dummy_scope_acquisition_data:

Sequencer.get_acquisition_state(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

  • check_seq_state (bool) – Check if sequencer is done before checking acquisition state.

Returns:

Indicates the acquisition binning completion state (False = uncompleted, True = completed).

Return type:

bool

Raises:

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:

Note

This method calls Module.get_acquisition_state using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisition_state:

Sequencer.get_acquisition_status(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

  • check_seq_state (bool) – Check if sequencer is done before checking acquisition status.

Returns:

Indicates the acquisition binning completion status (False = uncompleted, True = completed).

Return type:

bool

Raises:

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:

Note

This method calls Module.get_acquisition_status using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisition_status:

Sequencer.get_acquisitions() 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

Returns:

Dictionary with acquisitions.

Return type:

dict

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:

Note

This method calls Module.get_acquisitions using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisitions:

Sequencer.get_sequencer_state(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

Returns:

Tuple containing sequencer status and corresponding flags.

Return type:

SequencerState

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:

Note

This method calls Module.get_sequencer_state using functools.partial to set the sequencer index. The docstring above is of Module.get_sequencer_state:

Sequencer.get_sequencer_status(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

Returns:

Tuple containing sequencer status and corresponding flags.

Return type:

SequencerState

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:

Note

This method calls Module.get_sequencer_status using functools.partial to set the sequencer index. The docstring above is of Module.get_sequencer_status:

Sequencer.get_trigger_thresholding(address: int) Tuple

Gets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:

address (int) – Trigger address to which the settings are applied

Returns:

  • int – Threshold

  • bool – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.get_waveforms() 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.

Returns:

Dictionary with waveforms.

Return type:

dict

Note

This method calls Cluster.get_waveforms using functools.partial to set the slot index. The docstring above is of Cluster.get_waveforms:

Note

This method calls Module.get_waveforms using functools.partial to set the sequencer index. The docstring above is of Module.get_waveforms:

Sequencer.get_weights() 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.

Returns:

Dictionary with weights.

Return type:

dict

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:

Note

This method calls Module.get_weights using functools.partial to set the sequencer index. The docstring above is of Module.get_weights:

Sequencer.reset_trigger_thresholding() None

Resets trigger thresholds for all trigger address counters (T1 to T15) back to 0. Also resets inversion back to false.

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.set_dummy_binned_acquisition_data(acq_index_name: str, data: Iterable[qblox_instruments.ieee488_2.dummy_transport.DummyBinnedAcquisitionData | None])

Set dummy binned acquisition data for the dummy.

Parameters:
  • 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:

Note

This method calls Module.set_dummy_binned_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.set_dummy_binned_acquisition_data:

Sequencer.set_dummy_scope_acquisition_data(data: qblox_instruments.ieee488_2.dummy_transport.DummyScopeAcquisitionData)

Set dummy scope acquisition data for the dummy.

Parameters:

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:

Note

This method calls Module.set_dummy_scope_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.set_dummy_scope_acquisition_data:

Sequencer.set_trigger_thresholding(address: int, count: int, invert: bool) None

Sets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:
  • address (int) – Trigger address to which the settings are applied

  • count (int) – Threshold

  • invert (bool) – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.sideband_cal() None

Run sidebands Calibration Algorithm

Return type:

None

Raises:
  • Exception – Invalid input parameter type.

  • Exception – 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._run_mixer_sidebands_calib using functools.partial to set the slot index. The docstring above is of Cluster._run_mixer_sidebands_calib:

Note

This method calls Module._run_mixer_sidebands_calib using functools.partial to set the sequencer index. The docstring above is of Module._run_mixer_sidebands_calib:

Sequencer.start_sequencer() 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.

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:

Note

This method calls Module.start_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.start_sequencer:

Sequencer.stop_sequencer() 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.

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:

Note

This method calls Module.stop_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.stop_sequencer:

Sequencer.store_scope_acquisition(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:

name (str) – Acquisition name.

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:

Note

This method calls Module.store_scope_acquisition using functools.partial to set the sequencer index. The docstring above is of Module.store_scope_acquisition:

Cluster QRM parameters#

Sequencer.connect_out0()

Sets/gets whether this sequencer is connected to output 0, and if so which component.

Properties:
  • value: <Enum: {‘I’, ‘Q’, ‘off’}>

Sequencer.connect_out1()

Sets/gets whether this sequencer is connected to output 1, and if so which component.

Properties:
  • value: <Enum: {‘I’, ‘Q’, ‘off’}>

Sequencer.connect_acq_I()#

Sets/gets which input the I input of the acquisition path of this sequencer is connected to, if any.

Properties:
  • value: <Enum: {‘in1’, ‘off’, ‘in0’}>

Sequencer.connect_acq_Q()#

Sets/gets which input the Q input of the acquisition path of this sequencer is connected to, if any.

Properties:
  • value: <Enum: {‘in1’, ‘off’, ‘in0’}>

Sequencer.sync_en()

Sets/gets sequencer synchronization enable which enables party-line synchronization.

Properties:
  • value: <Boolean>

Sequencer.nco_freq_cal_type_default()

Sets/gets the Default automatic mixercalibration while setting the nco frequency

Properties:
  • unit: Hz

  • value: <Enum: {‘sideband’, ‘off’}>

Sequencer.nco_freq()

Please see QCoDeS for a description.

Properties:
  • unit: Hz

  • value: None

Sequencer.nco_phase_offs()

Sets/gets sequencer NCO phase offset in degrees with a resolution of 3.6e-7 degrees.

Properties:
  • unit: Degrees

  • value: <Numbers 0<=v<=360>

Sequencer.nco_prop_delay_comp()

Sets/gets a delay that compensates the NCO phase to the input path with respect to the instrument’s combined output and input propagation delay. This delay is applied on top of a default delay of 146 ns.

Properties:
  • unit: ns

  • value: <Numbers -50<=v<=109>

Sequencer.nco_prop_delay_comp_en()

Sets/gets the enable for a delay that compensates the NCO phase to the input path with respect to the instrument’s combined output and input propagation delay. This delays the frequency update as well.

Properties:
  • unit: ns

  • value: <Boolean>

Sequencer.marker_ovr_en()

Sets/gets sequencer marker override enable.

Properties:
  • value: <Boolean>

Sequencer.marker_ovr_value()

Sets/gets sequencer marker override value. Bit index corresponds to marker channel index.

Properties:
  • value: <Numbers 0<=v<=15>

Sequencer.sequence()

Sets sequencer’s AWG waveforms, acquistion weights, acquisitions and Q1ASM program. Valid input is a string representing the JSON filename or a JSON compatible dictionary.

Properties:
  • value: <MultiType: Strings, Dict>

Sequencer.trigger1_count_threshold()

Sets/gets threshold for counter on trigger address T1. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger1_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 1.

Properties:
  • value: <Boolean>

Sequencer.trigger2_count_threshold()

Sets/gets threshold for counter on trigger address T2. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger2_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 2.

Properties:
  • value: <Boolean>

Sequencer.trigger3_count_threshold()

Sets/gets threshold for counter on trigger address T3. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger3_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 3.

Properties:
  • value: <Boolean>

Sequencer.trigger4_count_threshold()

Sets/gets threshold for counter on trigger address T4. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger4_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 4.

Properties:
  • value: <Boolean>

Sequencer.trigger5_count_threshold()

Sets/gets threshold for counter on trigger address T5. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger5_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 5.

Properties:
  • value: <Boolean>

Sequencer.trigger6_count_threshold()

Sets/gets threshold for counter on trigger address T6. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger6_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 6.

Properties:
  • value: <Boolean>

Sequencer.trigger7_count_threshold()

Sets/gets threshold for counter on trigger address T7. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger7_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 7.

Properties:
  • value: <Boolean>

Sequencer.trigger8_count_threshold()

Sets/gets threshold for counter on trigger address T8. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger8_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 8.

Properties:
  • value: <Boolean>

Sequencer.trigger9_count_threshold()

Sets/gets threshold for counter on trigger address T9. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger9_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 9.

Properties:
  • value: <Boolean>

Sequencer.trigger10_count_threshold()

Sets/gets threshold for counter on trigger address T10. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger10_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 10.

Properties:
  • value: <Boolean>

Sequencer.trigger11_count_threshold()

Sets/gets threshold for counter on trigger address T11. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger11_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 11.

Properties:
  • value: <Boolean>

Sequencer.trigger12_count_threshold()

Sets/gets threshold for counter on trigger address T12. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger12_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 12.

Properties:
  • value: <Boolean>

Sequencer.trigger13_count_threshold()

Sets/gets threshold for counter on trigger address T13. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger13_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 13.

Properties:
  • value: <Boolean>

Sequencer.trigger14_count_threshold()

Sets/gets threshold for counter on trigger address T14. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger14_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 14.

Properties:
  • value: <Boolean>

Sequencer.trigger15_count_threshold()

Sets/gets threshold for counter on trigger address T15. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger15_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 15.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_en_awg_path0()

Sets/gets sequencer continous waveform mode enable for AWG path 0.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_waveform_idx_awg_path0()

Sets/gets sequencer continous waveform mode waveform index or AWG path 0.

Properties:
  • value: <Numbers 0<=v<=1023>

Sequencer.upsample_rate_awg_path0()

Sets/gets sequencer upsample rate for AWG path 0.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.gain_awg_path0()

Sets/gets sequencer gain for AWG path 0.

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

Sequencer.offset_awg_path0()

Sets/gets sequencer offset for AWG path 0.

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

Sequencer.cont_mode_en_awg_path1()

Sets/gets sequencer continous waveform mode enable for AWG path 1.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_waveform_idx_awg_path1()

Sets/gets sequencer continous waveform mode waveform index or AWG path 1.

Properties:
  • value: <Numbers 0<=v<=1023>

Sequencer.upsample_rate_awg_path1()

Sets/gets sequencer upsample rate for AWG path 1.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.gain_awg_path1()

Sets/gets sequencer gain for AWG path 0.

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

Sequencer.offset_awg_path1()

Sets/gets sequencer offset for AWG path 1.

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

Sequencer.mixer_corr_phase_offset_degree()

Sets/gets sequencer mixer phase imbalance correction for AWG; applied to AWG path 1 relative to AWG path 0 and measured in degrees

Properties:
  • value: <Numbers -45.0<=v<=45.0>

Sequencer.mixer_corr_gain_ratio()

Sets/gets sequencer mixer gain imbalance correction for AWG; equal to AWG path 1 amplitude divided by AWG path 0 amplitude.

Properties:
  • value: <Numbers 0.5<=v<=2.0>

Sequencer.mod_en_awg()

Sets/gets sequencer modulation enable for AWG.

Properties:
  • value: <Boolean>

Sequencer.demod_en_acq()#

Sets/gets sequencer demodulation enable for acquisition.

Properties:
  • value: <Boolean>

Sequencer.integration_length_acq()#

Sets/gets sequencer integration length in number of samples for non-weighed acquisitions on paths 0 and 1. Must be a multiple of 4

Properties:
  • value: <Numbers 4<=v<=16777212>

Sequencer.thresholded_acq_rotation()#

Sets/gets sequencer integration result phase rotation in degrees.

Properties:
  • unit: Degrees

  • value: <Numbers 0<=v<=360>

Sequencer.thresholded_acq_threshold()#

Sets/gets sequencer discretization threshold for discretizing the phase rotation result. Discretization is done by comparing the threshold to the rotated integration result of path 0. This comparison is applied before normalization (i.e. division) of the rotated value with the integration length and therefore the threshold needs to be compensated (i.e. multiplied) with this length for the discretization to function properly.

Properties:
  • value: <Numbers -16777212.0<=v<=16777212.0>

Sequencer.thresholded_acq_marker_en()#

Enable mapping of thresholded acquisition result to markers.

Properties:
  • value: <Boolean>

Sequencer.thresholded_acq_marker_address()#

Sets/gets the marker mask which maps the thresholded acquisition result to the markers (M1 to M4).

Properties:
  • value: <Numbers 0<=v<=15>

Sequencer.thresholded_acq_marker_invert()#

Sets/gets inversion of the thresholded acquistion result before it is masked onto the markers.

Properties:
  • value: <Boolean>

Sequencer.thresholded_acq_trigger_en()#

Sets/gets mapping of thresholded acquisition result to trigger network.

Properties:
  • value: <Boolean>

Sequencer.thresholded_acq_trigger_address()#

Sets/gets the trigger address to which the thresholded acquisition result is mapped to the trigger network (T1 to T15)

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

Sequencer.thresholded_acq_trigger_invert()#

Sets/gets the inversion of the thresholded acquistion result before it is mapped to the trigger network.

Properties:
  • value: <Boolean>

Sequencer.ttl_acq_auto_bin_incr_en()#

Sets/gets whether the bin index is automatically incremented when acquiring multiple triggers. Disabling the TTL trigger acquisition path resets the bin index.

Properties:
  • value: <Boolean>

Sequencer.ttl_acq_threshold()#

Sets/gets the threshold value with which to compare the input ADC values of the selected input path.

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

Sequencer.ttl_acq_input_select()#

Sets/gets the input used to compare against the threshold value in the TTL trigger acquisition path.

Properties:
  • value: <Numbers 0<=v<=1>

Sequencer.arm_sequencer() 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.

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:

Note

This method calls Module.arm_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.arm_sequencer:

Sequencer.clear_sequencer_flags() None

Clear flags

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:

Note

This method calls Module.clear_sequencer_flags using functools.partial to set the sequencer index. The docstring above is of Module.clear_sequencer_flags:

Sequencer.connect_sequencer(*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:

*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:

Note

This method calls Module.connect_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.connect_sequencer:

Sequencer.delete_acquisition_data(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:

name (str) – Weight name

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:

Note

This method calls Module.delete_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_acquisition_data:

Sequencer.delete_dummy_binned_acquisition_data(acq_index_name: str | None = None)

Delete all dummy binned acquisition data for the dummy.

Parameters:

acq_index_name (Optional[str]) – Acquisition index name.

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:

Note

This method calls Module.delete_dummy_binned_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_dummy_binned_acquisition_data:

Sequencer.delete_dummy_scope_acquisition_data()

Delete dummy scope acquisition data for the dummy.

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:

Note

This method calls Module.delete_dummy_scope_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_dummy_scope_acquisition_data:

Sequencer.get_acquisition_state(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

  • check_seq_state (bool) – Check if sequencer is done before checking acquisition state.

Returns:

Indicates the acquisition binning completion state (False = uncompleted, True = completed).

Return type:

bool

Raises:

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:

Note

This method calls Module.get_acquisition_state using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisition_state:

Sequencer.get_acquisition_status(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

  • check_seq_state (bool) – Check if sequencer is done before checking acquisition status.

Returns:

Indicates the acquisition binning completion status (False = uncompleted, True = completed).

Return type:

bool

Raises:

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:

Note

This method calls Module.get_acquisition_status using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisition_status:

Sequencer.get_acquisitions() 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

Returns:

Dictionary with acquisitions.

Return type:

dict

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:

Note

This method calls Module.get_acquisitions using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisitions:

Sequencer.get_sequencer_state(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

Returns:

Tuple containing sequencer status and corresponding flags.

Return type:

SequencerState

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:

Note

This method calls Module.get_sequencer_state using functools.partial to set the sequencer index. The docstring above is of Module.get_sequencer_state:

Sequencer.get_sequencer_status(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

Returns:

Tuple containing sequencer status and corresponding flags.

Return type:

SequencerState

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:

Note

This method calls Module.get_sequencer_status using functools.partial to set the sequencer index. The docstring above is of Module.get_sequencer_status:

Sequencer.get_trigger_thresholding(address: int) Tuple

Gets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:

address (int) – Trigger address to which the settings are applied

Returns:

  • int – Threshold

  • bool – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.get_waveforms() 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.

Returns:

Dictionary with waveforms.

Return type:

dict

Note

This method calls Cluster.get_waveforms using functools.partial to set the slot index. The docstring above is of Cluster.get_waveforms:

Note

This method calls Module.get_waveforms using functools.partial to set the sequencer index. The docstring above is of Module.get_waveforms:

Sequencer.get_weights() 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.

Returns:

Dictionary with weights.

Return type:

dict

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:

Note

This method calls Module.get_weights using functools.partial to set the sequencer index. The docstring above is of Module.get_weights:

Sequencer.reset_trigger_thresholding() None

Resets trigger thresholds for all trigger address counters (T1 to T15) back to 0. Also resets inversion back to false.

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.set_dummy_binned_acquisition_data(acq_index_name: str, data: Iterable[qblox_instruments.ieee488_2.dummy_transport.DummyBinnedAcquisitionData | None])

Set dummy binned acquisition data for the dummy.

Parameters:
  • 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:

Note

This method calls Module.set_dummy_binned_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.set_dummy_binned_acquisition_data:

Sequencer.set_dummy_scope_acquisition_data(data: qblox_instruments.ieee488_2.dummy_transport.DummyScopeAcquisitionData)

Set dummy scope acquisition data for the dummy.

Parameters:

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:

Note

This method calls Module.set_dummy_scope_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.set_dummy_scope_acquisition_data:

Sequencer.set_trigger_thresholding(address: int, count: int, invert: bool) None

Sets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:
  • address (int) – Trigger address to which the settings are applied

  • count (int) – Threshold

  • invert (bool) – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.sideband_cal() None

Run sidebands Calibration Algorithm

Return type:

None

Raises:
  • Exception – Invalid input parameter type.

  • Exception – 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._run_mixer_sidebands_calib using functools.partial to set the slot index. The docstring above is of Cluster._run_mixer_sidebands_calib:

Note

This method calls Module._run_mixer_sidebands_calib using functools.partial to set the sequencer index. The docstring above is of Module._run_mixer_sidebands_calib:

Sequencer.start_sequencer() 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.

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:

Note

This method calls Module.start_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.start_sequencer:

Sequencer.stop_sequencer() 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.

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:

Note

This method calls Module.stop_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.stop_sequencer:

Sequencer.store_scope_acquisition(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:

name (str) – Acquisition name.

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:

Note

This method calls Module.store_scope_acquisition using functools.partial to set the sequencer index. The docstring above is of Module.store_scope_acquisition:

Cluster QRM-RF parameters#

Sequencer.connect_out0()

Sets/gets whether this sequencer is connected to output 0, and if so which component.

Properties:
  • value: <Enum: {False, True, ‘IQ’, ‘off’}>

Sequencer.connect_acq()#

Sets/gets which input the acquisition path of this sequencer is connected to, if any.

Properties:
  • value: <Enum: {False, True, ‘off’, ‘in0’}>

Sequencer.sync_en()

Sets/gets sequencer synchronization enable which enables party-line synchronization.

Properties:
  • value: <Boolean>

Sequencer.nco_freq_cal_type_default()

Sets/gets the Default automatic mixercalibration while setting the nco frequency

Properties:
  • unit: Hz

  • value: <Enum: {‘sideband’, ‘off’}>

Sequencer.nco_freq()

Please see QCoDeS for a description.

Properties:
  • unit: Hz

  • value: None

Sequencer.nco_phase_offs()

Sets/gets sequencer NCO phase offset in degrees with a resolution of 3.6e-7 degrees.

Properties:
  • unit: Degrees

  • value: <Numbers 0<=v<=360>

Sequencer.nco_prop_delay_comp()

Sets/gets a delay that compensates the NCO phase to the input path with respect to the instrument’s combined output and input propagation delay. This delay is applied on top of a default delay of 146 ns.

Properties:
  • unit: ns

  • value: <Numbers -50<=v<=109>

Sequencer.nco_prop_delay_comp_en()

Sets/gets the enable for a delay that compensates the NCO phase to the input path with respect to the instrument’s combined output and input propagation delay. This delays the frequency update as well.

Properties:
  • unit: ns

  • value: <Boolean>

Sequencer.marker_ovr_en()

Sets/gets sequencer marker override enable.

Properties:
  • value: <Boolean>

Sequencer.marker_ovr_value()

Sets/gets sequencer marker override value. Bit index corresponds to marker channel index.

Properties:
  • value: <Numbers 0<=v<=15>

Sequencer.sequence()

Sets sequencer’s AWG waveforms, acquistion weights, acquisitions and Q1ASM program. Valid input is a string representing the JSON filename or a JSON compatible dictionary.

Properties:
  • value: <MultiType: Strings, Dict>

Sequencer.trigger1_count_threshold()

Sets/gets threshold for counter on trigger address T1. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger1_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 1.

Properties:
  • value: <Boolean>

Sequencer.trigger2_count_threshold()

Sets/gets threshold for counter on trigger address T2. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger2_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 2.

Properties:
  • value: <Boolean>

Sequencer.trigger3_count_threshold()

Sets/gets threshold for counter on trigger address T3. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger3_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 3.

Properties:
  • value: <Boolean>

Sequencer.trigger4_count_threshold()

Sets/gets threshold for counter on trigger address T4. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger4_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 4.

Properties:
  • value: <Boolean>

Sequencer.trigger5_count_threshold()

Sets/gets threshold for counter on trigger address T5. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger5_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 5.

Properties:
  • value: <Boolean>

Sequencer.trigger6_count_threshold()

Sets/gets threshold for counter on trigger address T6. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger6_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 6.

Properties:
  • value: <Boolean>

Sequencer.trigger7_count_threshold()

Sets/gets threshold for counter on trigger address T7. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger7_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 7.

Properties:
  • value: <Boolean>

Sequencer.trigger8_count_threshold()

Sets/gets threshold for counter on trigger address T8. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger8_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 8.

Properties:
  • value: <Boolean>

Sequencer.trigger9_count_threshold()

Sets/gets threshold for counter on trigger address T9. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger9_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 9.

Properties:
  • value: <Boolean>

Sequencer.trigger10_count_threshold()

Sets/gets threshold for counter on trigger address T10. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger10_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 10.

Properties:
  • value: <Boolean>

Sequencer.trigger11_count_threshold()

Sets/gets threshold for counter on trigger address T11. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger11_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 11.

Properties:
  • value: <Boolean>

Sequencer.trigger12_count_threshold()

Sets/gets threshold for counter on trigger address T12. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger12_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 12.

Properties:
  • value: <Boolean>

Sequencer.trigger13_count_threshold()

Sets/gets threshold for counter on trigger address T13. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger13_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 13.

Properties:
  • value: <Boolean>

Sequencer.trigger14_count_threshold()

Sets/gets threshold for counter on trigger address T14. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger14_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 14.

Properties:
  • value: <Boolean>

Sequencer.trigger15_count_threshold()

Sets/gets threshold for counter on trigger address T15. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger15_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 15.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_en_awg_path0()

Sets/gets sequencer continous waveform mode enable for AWG path 0.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_waveform_idx_awg_path0()

Sets/gets sequencer continous waveform mode waveform index or AWG path 0.

Properties:
  • value: <Numbers 0<=v<=1023>

Sequencer.upsample_rate_awg_path0()

Sets/gets sequencer upsample rate for AWG path 0.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.gain_awg_path0()

Sets/gets sequencer gain for AWG path 0.

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

Sequencer.offset_awg_path0()

Sets/gets sequencer offset for AWG path 0.

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

Sequencer.cont_mode_en_awg_path1()

Sets/gets sequencer continous waveform mode enable for AWG path 1.

Properties:
  • value: <Boolean>

Sequencer.cont_mode_waveform_idx_awg_path1()

Sets/gets sequencer continous waveform mode waveform index or AWG path 1.

Properties:
  • value: <Numbers 0<=v<=1023>

Sequencer.upsample_rate_awg_path1()

Sets/gets sequencer upsample rate for AWG path 1.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.gain_awg_path1()

Sets/gets sequencer gain for AWG path 0.

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

Sequencer.offset_awg_path1()

Sets/gets sequencer offset for AWG path 1.

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

Sequencer.mixer_corr_phase_offset_degree()

Sets/gets sequencer mixer phase imbalance correction for AWG; applied to AWG path 1 relative to AWG path 0 and measured in degrees

Properties:
  • value: <Numbers -45.0<=v<=45.0>

Sequencer.mixer_corr_gain_ratio()

Sets/gets sequencer mixer gain imbalance correction for AWG; equal to AWG path 1 amplitude divided by AWG path 0 amplitude.

Properties:
  • value: <Numbers 0.5<=v<=2.0>

Sequencer.mod_en_awg()

Sets/gets sequencer modulation enable for AWG.

Properties:
  • value: <Boolean>

Sequencer.demod_en_acq()

Sets/gets sequencer demodulation enable for acquisition.

Properties:
  • value: <Boolean>

Sequencer.integration_length_acq()

Sets/gets sequencer integration length in number of samples for non-weighed acquisitions on paths 0 and 1. Must be a multiple of 4

Properties:
  • value: <Numbers 4<=v<=16777212>

Sequencer.thresholded_acq_rotation()

Sets/gets sequencer integration result phase rotation in degrees.

Properties:
  • unit: Degrees

  • value: <Numbers 0<=v<=360>

Sequencer.thresholded_acq_threshold()

Sets/gets sequencer discretization threshold for discretizing the phase rotation result. Discretization is done by comparing the threshold to the rotated integration result of path 0. This comparison is applied before normalization (i.e. division) of the rotated value with the integration length and therefore the threshold needs to be compensated (i.e. multiplied) with this length for the discretization to function properly.

Properties:
  • value: <Numbers -16777212.0<=v<=16777212.0>

Sequencer.thresholded_acq_marker_en()

Enable mapping of thresholded acquisition result to markers.

Properties:
  • value: <Boolean>

Sequencer.thresholded_acq_marker_address()

Sets/gets the marker mask which maps the thresholded acquisition result to the markers (M1 to M4).

Properties:
  • value: <Numbers 0<=v<=3>

Sequencer.thresholded_acq_marker_invert()

Sets/gets inversion of the thresholded acquistion result before it is masked onto the markers.

Properties:
  • value: <Boolean>

Sequencer.thresholded_acq_trigger_en()

Sets/gets mapping of thresholded acquisition result to trigger network.

Properties:
  • value: <Boolean>

Sequencer.thresholded_acq_trigger_address()

Sets/gets the trigger address to which the thresholded acquisition result is mapped to the trigger network (T1 to T15)

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

Sequencer.thresholded_acq_trigger_invert()

Sets/gets the inversion of the thresholded acquistion result before it is mapped to the trigger network.

Properties:
  • value: <Boolean>

Sequencer.arm_sequencer() 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.

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:

Note

This method calls Module.arm_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.arm_sequencer:

Sequencer.clear_sequencer_flags() None

Clear flags

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:

Note

This method calls Module.clear_sequencer_flags using functools.partial to set the sequencer index. The docstring above is of Module.clear_sequencer_flags:

Sequencer.connect_sequencer(*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:

*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:

Note

This method calls Module.connect_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.connect_sequencer:

Sequencer.delete_acquisition_data(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:

name (str) – Weight name

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:

Note

This method calls Module.delete_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_acquisition_data:

Sequencer.delete_dummy_binned_acquisition_data(acq_index_name: str | None = None)

Delete all dummy binned acquisition data for the dummy.

Parameters:

acq_index_name (Optional[str]) – Acquisition index name.

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:

Note

This method calls Module.delete_dummy_binned_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_dummy_binned_acquisition_data:

Sequencer.delete_dummy_scope_acquisition_data()

Delete dummy scope acquisition data for the dummy.

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:

Note

This method calls Module.delete_dummy_scope_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_dummy_scope_acquisition_data:

Sequencer.get_acquisition_state(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

  • check_seq_state (bool) – Check if sequencer is done before checking acquisition state.

Returns:

Indicates the acquisition binning completion state (False = uncompleted, True = completed).

Return type:

bool

Raises:

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:

Note

This method calls Module.get_acquisition_state using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisition_state:

Sequencer.get_acquisition_status(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

  • check_seq_state (bool) – Check if sequencer is done before checking acquisition status.

Returns:

Indicates the acquisition binning completion status (False = uncompleted, True = completed).

Return type:

bool

Raises:

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:

Note

This method calls Module.get_acquisition_status using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisition_status:

Sequencer.get_acquisitions() 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

Returns:

Dictionary with acquisitions.

Return type:

dict

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:

Note

This method calls Module.get_acquisitions using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisitions:

Sequencer.get_sequencer_state(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

Returns:

Tuple containing sequencer status and corresponding flags.

Return type:

SequencerState

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:

Note

This method calls Module.get_sequencer_state using functools.partial to set the sequencer index. The docstring above is of Module.get_sequencer_state:

Sequencer.get_sequencer_status(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

Returns:

Tuple containing sequencer status and corresponding flags.

Return type:

SequencerState

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:

Note

This method calls Module.get_sequencer_status using functools.partial to set the sequencer index. The docstring above is of Module.get_sequencer_status:

Sequencer.get_trigger_thresholding(address: int) Tuple

Gets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:

address (int) – Trigger address to which the settings are applied

Returns:

  • int – Threshold

  • bool – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.get_waveforms() 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.

Returns:

Dictionary with waveforms.

Return type:

dict

Note

This method calls Cluster.get_waveforms using functools.partial to set the slot index. The docstring above is of Cluster.get_waveforms:

Note

This method calls Module.get_waveforms using functools.partial to set the sequencer index. The docstring above is of Module.get_waveforms:

Sequencer.get_weights() 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.

Returns:

Dictionary with weights.

Return type:

dict

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:

Note

This method calls Module.get_weights using functools.partial to set the sequencer index. The docstring above is of Module.get_weights:

Sequencer.reset_trigger_thresholding() None

Resets trigger thresholds for all trigger address counters (T1 to T15) back to 0. Also resets inversion back to false.

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.set_dummy_binned_acquisition_data(acq_index_name: str, data: Iterable[qblox_instruments.ieee488_2.dummy_transport.DummyBinnedAcquisitionData | None])

Set dummy binned acquisition data for the dummy.

Parameters:
  • 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:

Note

This method calls Module.set_dummy_binned_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.set_dummy_binned_acquisition_data:

Sequencer.set_dummy_scope_acquisition_data(data: qblox_instruments.ieee488_2.dummy_transport.DummyScopeAcquisitionData)

Set dummy scope acquisition data for the dummy.

Parameters:

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:

Note

This method calls Module.set_dummy_scope_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.set_dummy_scope_acquisition_data:

Sequencer.set_trigger_thresholding(address: int, count: int, invert: bool) None

Sets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:
  • address (int) – Trigger address to which the settings are applied

  • count (int) – Threshold

  • invert (bool) – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.sideband_cal() None

Run sidebands Calibration Algorithm

Return type:

None

Raises:
  • Exception – Invalid input parameter type.

  • Exception – 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._run_mixer_sidebands_calib using functools.partial to set the slot index. The docstring above is of Cluster._run_mixer_sidebands_calib:

Note

This method calls Module._run_mixer_sidebands_calib using functools.partial to set the sequencer index. The docstring above is of Module._run_mixer_sidebands_calib:

Sequencer.start_sequencer() 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.

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:

Note

This method calls Module.start_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.start_sequencer:

Sequencer.stop_sequencer() 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.

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:

Note

This method calls Module.stop_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.stop_sequencer:

Sequencer.store_scope_acquisition(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:

name (str) – Acquisition name.

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:

Note

This method calls Module.store_scope_acquisition using functools.partial to set the sequencer index. The docstring above is of Module.store_scope_acquisition:

Cluster QTM parameters#

Sequencer.sync_en()

Sets/gets sequencer synchronization enable which enables party-line synchronization.

Properties:
  • value: <Boolean>

Sequencer.sequence()

Sets sequencer’s AWG waveforms, acquistion weights, acquisitions and Q1ASM program. Valid input is a string representing the JSON filename or a JSON compatible dictionary.

Properties:
  • value: <MultiType: Strings, Dict>

Sequencer.trigger1_count_threshold()

Sets/gets threshold for counter on trigger address T1. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger1_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 1.

Properties:
  • value: <Boolean>

Sequencer.trigger2_count_threshold()

Sets/gets threshold for counter on trigger address T2. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger2_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 2.

Properties:
  • value: <Boolean>

Sequencer.trigger3_count_threshold()

Sets/gets threshold for counter on trigger address T3. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger3_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 3.

Properties:
  • value: <Boolean>

Sequencer.trigger4_count_threshold()

Sets/gets threshold for counter on trigger address T4. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger4_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 4.

Properties:
  • value: <Boolean>

Sequencer.trigger5_count_threshold()

Sets/gets threshold for counter on trigger address T5. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger5_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 5.

Properties:
  • value: <Boolean>

Sequencer.trigger6_count_threshold()

Sets/gets threshold for counter on trigger address T6. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger6_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 6.

Properties:
  • value: <Boolean>

Sequencer.trigger7_count_threshold()

Sets/gets threshold for counter on trigger address T7. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger7_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 7.

Properties:
  • value: <Boolean>

Sequencer.trigger8_count_threshold()

Sets/gets threshold for counter on trigger address T8. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger8_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 8.

Properties:
  • value: <Boolean>

Sequencer.trigger9_count_threshold()

Sets/gets threshold for counter on trigger address T9. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger9_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 9.

Properties:
  • value: <Boolean>

Sequencer.trigger10_count_threshold()

Sets/gets threshold for counter on trigger address T10. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger10_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 10.

Properties:
  • value: <Boolean>

Sequencer.trigger11_count_threshold()

Sets/gets threshold for counter on trigger address T11. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger11_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 11.

Properties:
  • value: <Boolean>

Sequencer.trigger12_count_threshold()

Sets/gets threshold for counter on trigger address T12. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger12_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 12.

Properties:
  • value: <Boolean>

Sequencer.trigger13_count_threshold()

Sets/gets threshold for counter on trigger address T13. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger13_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 13.

Properties:
  • value: <Boolean>

Sequencer.trigger14_count_threshold()

Sets/gets threshold for counter on trigger address T14. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger14_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 14.

Properties:
  • value: <Boolean>

Sequencer.trigger15_count_threshold()

Sets/gets threshold for counter on trigger address T15. Thresholding condition used: greater than or equal.

Properties:
  • value: <Numbers 0<=v<=65535>

Sequencer.trigger15_threshold_invert()

Sets/gets comparison result inversion for triggeraddress 15.

Properties:
  • value: <Boolean>

Sequencer.arm_sequencer() 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.

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:

Note

This method calls Module.arm_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.arm_sequencer:

Sequencer.clear_sequencer_flags() None

Clear flags

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:

Note

This method calls Module.clear_sequencer_flags using functools.partial to set the sequencer index. The docstring above is of Module.clear_sequencer_flags:

Sequencer.connect_sequencer(*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:

*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:

Note

This method calls Module.connect_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.connect_sequencer:

Sequencer.delete_acquisition_data(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:

name (str) – Weight name

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:

Note

This method calls Module.delete_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_acquisition_data:

Sequencer.delete_dummy_binned_acquisition_data(acq_index_name: str | None = None)

Delete all dummy binned acquisition data for the dummy.

Parameters:

acq_index_name (Optional[str]) – Acquisition index name.

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:

Note

This method calls Module.delete_dummy_binned_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_dummy_binned_acquisition_data:

Sequencer.delete_dummy_scope_acquisition_data()

Delete dummy scope acquisition data for the dummy.

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:

Note

This method calls Module.delete_dummy_scope_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.delete_dummy_scope_acquisition_data:

Sequencer.get_acquisition_state(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

  • check_seq_state (bool) – Check if sequencer is done before checking acquisition state.

Returns:

Indicates the acquisition binning completion state (False = uncompleted, True = completed).

Return type:

bool

Raises:

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:

Note

This method calls Module.get_acquisition_state using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisition_state:

Sequencer.get_acquisition_status(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

  • check_seq_state (bool) – Check if sequencer is done before checking acquisition status.

Returns:

Indicates the acquisition binning completion status (False = uncompleted, True = completed).

Return type:

bool

Raises:

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:

Note

This method calls Module.get_acquisition_status using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisition_status:

Sequencer.get_acquisitions() 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

Returns:

Dictionary with acquisitions.

Return type:

dict

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:

Note

This method calls Module.get_acquisitions using functools.partial to set the sequencer index. The docstring above is of Module.get_acquisitions:

Sequencer.get_sequencer_state(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

Returns:

Tuple containing sequencer status and corresponding flags.

Return type:

SequencerState

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:

Note

This method calls Module.get_sequencer_state using functools.partial to set the sequencer index. The docstring above is of Module.get_sequencer_state:

Sequencer.get_sequencer_status(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:
  • timeout (int) – Timeout in minutes.

  • timeout_poll_res (float) – Timeout polling resolution in seconds.

Returns:

Tuple containing sequencer status and corresponding flags.

Return type:

SequencerState

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:

Note

This method calls Module.get_sequencer_status using functools.partial to set the sequencer index. The docstring above is of Module.get_sequencer_status:

Sequencer.get_trigger_thresholding(address: int) Tuple

Gets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:

address (int) – Trigger address to which the settings are applied

Returns:

  • int – Threshold

  • bool – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.get_waveforms() 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.

Returns:

Dictionary with waveforms.

Return type:

dict

Note

This method calls Cluster.get_waveforms using functools.partial to set the slot index. The docstring above is of Cluster.get_waveforms:

Note

This method calls Module.get_waveforms using functools.partial to set the sequencer index. The docstring above is of Module.get_waveforms:

Sequencer.get_weights() 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.

Returns:

Dictionary with weights.

Return type:

dict

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:

Note

This method calls Module.get_weights using functools.partial to set the sequencer index. The docstring above is of Module.get_weights:

Sequencer.reset_trigger_thresholding() None

Resets trigger thresholds for all trigger address counters (T1 to T15) back to 0. Also resets inversion back to false.

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.set_dummy_binned_acquisition_data(acq_index_name: str, data: Iterable[qblox_instruments.ieee488_2.dummy_transport.DummyBinnedAcquisitionData | None])

Set dummy binned acquisition data for the dummy.

Parameters:
  • 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:

Note

This method calls Module.set_dummy_binned_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.set_dummy_binned_acquisition_data:

Sequencer.set_dummy_scope_acquisition_data(data: qblox_instruments.ieee488_2.dummy_transport.DummyScopeAcquisitionData)

Set dummy scope acquisition data for the dummy.

Parameters:

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:

Note

This method calls Module.set_dummy_scope_acquisition_data using functools.partial to set the sequencer index. The docstring above is of Module.set_dummy_scope_acquisition_data:

Sequencer.set_trigger_thresholding(address: int, count: int, invert: bool) None

Sets threshold for designated trigger address counter, together with the inversion condition. Thresholding condition used: greater than or equal.

Parameters:
  • address (int) – Trigger address to which the settings are applied

  • count (int) – Threshold

  • invert (bool) – Comparison result inversion

Raises:

NotImplementedError – Functionality not available on this module.

Sequencer.start_sequencer() 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.

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:

Note

This method calls Module.start_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.start_sequencer:

Sequencer.stop_sequencer() 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.

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:

Note

This method calls Module.stop_sequencer using functools.partial to set the sequencer index. The docstring above is of Module.stop_sequencer:

Sequencer.store_scope_acquisition(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:

name (str) – Acquisition name.

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:

Note

This method calls Module.store_scope_acquisition using functools.partial to set the sequencer index. The docstring above is of Module.store_scope_acquisition: