qblox ===== .. py:module:: quantify_scheduler.qblox .. autoapi-nested-parse:: Module containing commonly used qblox specific classes. Subpackages ----------- .. toctree:: :titlesonly: :maxdepth: 3 operations/index.rst Package Contents ---------------- Classes ~~~~~~~ .. autoapisummary:: quantify_scheduler.qblox.ClusterComponent Functions ~~~~~~~~~ .. autoapisummary:: quantify_scheduler.qblox.start_dummy_cluster_armed_sequencers .. py:function:: start_dummy_cluster_armed_sequencers(cluster_component: quantify_scheduler.instrument_coordinator.components.qblox.ClusterComponent) -> None 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. .. py:class:: ClusterComponent(instrument: qblox_instruments.Cluster) Bases: :py:obj:`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 `"_module"`. :param instrument: Reference to the cluster driver object. .. py:attribute:: _cluster_modules :type: dict[str, _ClusterModule] .. py:attribute:: _program .. py:attribute:: module_type_map .. py:property:: is_running :type: bool Returns true if any of the modules are currently running. .. py:method:: start() -> None Starts all the modules in the cluster. .. py:method:: stop() -> None Stops all the modules in the cluster. .. py:method:: _configure_cmm_settings(settings: dict[str, Any]) -> None Set all the settings of the Cluster Management Module. These setting have been provided by the backend. :param settings: A dictionary containing all the settings to set. .. py:method:: prepare(options: dict[str, dict]) -> None Prepares the cluster component for execution of a schedule. :param options: The compiled instructions to configure the cluster to. .. py:method:: retrieve_acquisition() -> xarray.Dataset | None Retrieves all the data from the instruments. :returns: The acquired data or ``None`` if no acquisitions have been performed. .. py:method:: wait_done(timeout_sec: int = 10) -> None Blocks until all the components are done executing their programs. :param timeout_sec: The time in seconds until the instrument is considered to have timed out. .. py:method:: get_hardware_log(compiled_schedule: quantify_scheduler.schedules.schedule.CompiledSchedule) -> dict | None Retrieve the hardware log of the Cluster Management Module and associated modules. This log includes the module serial numbers and firmware version. :param 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.