quantify_scheduler.instrument_coordinator.instrument_coordinator

Module containing the main InstrumentCoordinator Component.

Module Contents

Classes

InstrumentCoordinator

The InstrumentCoordinator serves as the central interface of the hardware

ZIInstrumentCoordinator

This class is a hack and extension to the InstrumentCoordinator, which is

Functions

_convert_acquisition_data_format(raw_results)

class InstrumentCoordinator(name: str, add_default_generic_icc: bool = True)[source]

Bases: qcodes.instrument.base.Instrument

The InstrumentCoordinator serves as the central interface of the hardware abstraction layer. It provides a standardized interface to execute Schedules on control hardware.

The InstrumentCoordinator has two main functionalities exposed to the user, the ability to configure its components representing physical instruments, and the ability to execute experiments.

property last_schedule: quantify_scheduler.CompiledSchedule[source]

Returns the last schedule used to prepare the instrument coordinator.

This feature is intended to aid users in debugging.

property is_running: bool[source]

Returns if any of the InstrumentCoordinator components is running.

Returns

The InstrumentCoordinator’s running state.

get_component(name: str) quantify_scheduler.instrument_coordinator.components.base.InstrumentCoordinatorComponentBase[source]

Returns the InstrumentCoordinator component by name.

Parameters

name – The component name.

Returns

The component.

Raises

KeyError – If key name is not present in self.components.

add_component(component: quantify_scheduler.instrument_coordinator.components.base.InstrumentCoordinatorComponentBase) None[source]

Adds a component to the components collection.

Parameters

component – The component to add.

Raises
  • ValueError – If a component with a duplicated name is added to the collection.

  • TypeError – If component is not an instance of the base component.

remove_component(name: str) None[source]

Removes a component by name.

Parameters

name – The component name.

prepare(compiled_schedule: quantify_scheduler.CompiledSchedule) None[source]

Prepares each component for execution of a schedule.

It attempts to configure all instrument coordinator components for which compiled instructions, typically consisting of a combination of sequence programs, waveforms and other instrument settings, are available in the compiled schedule.

Parameters

compiled_schedule – A schedule containing the information required to execute the program.

Raises
  • KeyError – If the compiled schedule contains instructions for a component absent in the instrument coordinator.

  • TypeError – If the schedule provided is not a valid CompiledSchedule.

start() None[source]

Start all of the components.

The components are started in the order in which they were added.

stop(allow_failure=False) None[source]

Stops all components.

The components are stopped in the order in which they were added.

Parameters

allow_failure – By default it is set to False. When set to True, the AttributeErrors raised by a component are demoted to warnings to allow other components to stop.

retrieve_acquisition() Dict[Tuple[int, int], Any][source]

Retrieves the latest acquisition results of the components with acquisition capabilities.

Returns

The acquisition data per component.

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

Awaits each component until it has stopped running or until it has exceeded the amount of time to run.

The timeout in seconds specifies the allowed amount of time to run before it times out.

Parameters

timeout_sec – The maximum amount of time in seconds before a timeout.

_convert_acquisition_data_format(raw_results)[source]
class ZIInstrumentCoordinator(*args, **kwargs)[source]

Bases: InstrumentCoordinator

This class is a hack and extension to the InstrumentCoordinator, which is introduced to support the quirks when using the ZI backend during the acquisition of results.

_compare_reacquire(raw_results)[source]
retrieve_acquisition()[source]

Retrieves the latest acquisition results of the components with acquisition capabilities.

Returns

The acquisition data per component.