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.

_cluster_modules: dict[str, _ClusterModule]#
_program#
module_type_map#
property is_running: bool#

Returns true if any of the modules are currently running.

start() None[source]#

Starts all the modules in the cluster.

stop() None[source]#

Stops all the modules in the cluster.

_configure_cmm_settings(settings: dict[str, Any]) None[source]#

Set all the settings of the Cluster Management Module.

These setting have been provided by the backend.

Parameters:

settings – A dictionary containing all the settings to set.

prepare(options: dict[str, dict]) None[source]#

Prepares the cluster component for execution of a schedule.

Parameters:

options – 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.