qblox#

Module containing commonly used qblox specific classes.

Subpackages#

Package Contents#

Classes#

ClusterComponent

Class that represents an instrument coordinator component for a Qblox cluster.

Functions#

start_dummy_cluster_armed_sequencers(→ None)

Starting all armed sequencers in a dummy cluster.

start_dummy_cluster_armed_sequencers(cluster_component: quantify_scheduler.instrument_coordinator.components.qblox.ClusterComponent) None[source]#

Starting all armed sequencers in a dummy cluster.

Starting all armed sequencers via Cluster.start_sequencer() doesn’t yet work with dummy acquisition data (verified it does work on hardware). Hence, we need still need to call start_sequencer() for all sequencers separately. TODO: qblox_instruments.ieee488_2.cluster_dummy_transport.ClusterDummyTransport See SE-441.

class ClusterComponent(instrument: qblox_instruments.Cluster)[source]#

Bases: quantify_scheduler.instrument_coordinator.components.base.InstrumentCoordinatorComponentBase

Class that represents an instrument coordinator component for a Qblox cluster.

New instances of the ClusterComponent will automatically add installed modules using name “<cluster_name>_module<slot>”.

Parameters:

instrument – Reference to the cluster driver object.

class _Program#
module_programs: dict[str, Any]#
settings: quantify_scheduler.backends.types.qblox.ClusterSettings#
_cluster_modules: dict[str, _ClusterModule]#
_program: ClusterComponent | None = None#
property is_running: bool#

Returns true if any of the modules are currently running.

_set_parameter(instrument: qcodes.instrument.instrument_base.InstrumentBase, parameter_name: str, val: Any) None[source]#

Set the parameter directly or using the lazy set.

Parameters:
  • instrument – The instrument or instrument channel that holds the parameter to set, e.g. self.instrument or self.instrument[f”sequencer{idx}”].

  • parameter_name – The name of the parameter to set.

  • val – The new value of the parameter.

start() None[source]#

Starts all the modules in the cluster.

_sync_on_external_trigger(settings: quantify_scheduler.backends.types.qblox.ExternalTriggerSyncSettings) None[source]#
stop() None[source]#

Stops all the modules in the cluster.

prepare(program: dict[str, dict | quantify_scheduler.backends.types.qblox.ClusterSettings]) None[source]#

Prepares the cluster component for execution of a schedule.

Parameters:

program – The compiled instructions to configure the cluster to.

retrieve_acquisition() xarray.Dataset | None[source]#

Retrieves all the data from the instruments.

Returns:

: The acquired data or None if no acquisitions have been performed.

wait_done(timeout_sec: int = 10) None[source]#

Blocks until all the components are done executing their programs.

Parameters:

timeout_sec – The time in seconds until the instrument is considered to have timed out.

get_hardware_log(compiled_schedule: quantify_scheduler.schedules.schedule.CompiledSchedule) dict | None[source]#

Retrieve the hardware log of the Cluster Management Module and associated modules.

This log includes the module serial numbers and firmware version.

Parameters:

compiled_schedule – Compiled schedule to check if this cluster is referenced in (and if so, which specific modules are referenced in).

Returns:

: A dict containing the hardware log of the cluster, in case the component was referenced; else None.