quantify_scheduler.instrument_coordinator.components.zhinst

Module containing Zurich Instruments InstrumentCoordinator Components.

Module Contents

Classes

ZIInstrumentCoordinatorComponent

Zurich Instruments InstrumentCoordinator component base class.

HDAWGInstrumentCoordinatorComponent

Zurich Instruments HDAWG InstrumentCoordinator Component class.

UHFQAInstrumentCoordinatorComponent

Zurich Instruments UHFQA InstrumentCoordinator Component class.

Functions

convert_to_instrument_coordinator_format(...)

Converts the acquisition results format of the UHFQA component to

Attributes

logger

logger[source]
convert_to_instrument_coordinator_format(acquisition_results, n_acquisitions: int, bin_mode: quantify_scheduler.enums.BinMode)[source]

Converts the acquisition results format of the UHFQA component to the format required by InstrumentCoordinator. Converts from Dict[int, np.ndarray] to Dict[Tuple[int, int], Any].

class ZIInstrumentCoordinatorComponent(instrument: zhinst.qcodes.base.ZIBaseInstrument, **kwargs)[source]

Bases: quantify_scheduler.instrument_coordinator.components.base.InstrumentCoordinatorComponentBase

Zurich Instruments InstrumentCoordinator component base class.

Create a new instance of ZIInstrumentCoordinatorComponent.

abstract property is_running: bool[source]

Returns if the InstrumentCoordinator component is running.

The property is_running is evaluated each time it is accessed. Example:

while my_instrument_coordinator_component.is_running:
    print('running')
Returns:

The components’ running state.

prepare(zi_device_config: quantify_scheduler.backends.zhinst_backend.ZIDeviceConfig) bool[source]

Prepare the InstrumentCoordinator component with configuration required to arm the instrument.

The preparation is skipped when the new zi_device_config is the same as that from the previous time prepare was called. This saves significant time overhead.

Parameters:

zi_device_config – The ZI instrument configuration. See the link for details of the configuration format.

Returns:

A boolean indicating if the ZI component was configured in this call.

retrieve_acquisition() Any[source]

Gets and returns acquisition data.

class HDAWGInstrumentCoordinatorComponent(instrument: zhinst.qcodes.HDAWG, **kwargs)[source]

Bases: ZIInstrumentCoordinatorComponent

Zurich Instruments HDAWG InstrumentCoordinator Component class.

Create a new instance of HDAWGInstrumentCoordinatorComponent.

property instrument: zhinst.qcodes.HDAWG[source]

Returns the instrument referenced by instrument_ref.

property is_running: bool[source]

Returns if the InstrumentCoordinator component is running.

The property is_running is evaluated each time it is accessed. Example:

while my_instrument_coordinator_component.is_running:
    print('running')
Returns:

The components’ running state.

get_awg(index: int) zhinst.qcodes.hdawg.AWG[source]

Returns the AWG by index.

Parameters:

index – The awg index.

Returns:

The HDAWG AWG instance.

start() None[source]

Starts all HDAWG AWG(s) in reversed order by index.

stop() None[source]

Stops all HDAWG AWG(s) in order by index.

retrieve_acquisition() Any[source]

Gets and returns acquisition data.

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

Waits until the InstrumentCoordinator component has stopped running or until it has exceeded the amount of time to run.

The maximum amount of time, in seconds, before it times out is set via the timeout_sec parameter.

Parameters:

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

class UHFQAInstrumentCoordinatorComponent(instrument: zhinst.qcodes.UHFQA, **kwargs)[source]

Bases: ZIInstrumentCoordinatorComponent

Zurich Instruments UHFQA InstrumentCoordinator Component class.

Create a new instance of UHFQAInstrumentCoordinatorComponent.

property instrument: zhinst.qcodes.UHFQA[source]

Returns the instrument referenced by instrument_ref.

property is_running: bool[source]

Returns if the InstrumentCoordinator component is running.

The property is_running is evaluated each time it is accessed. Example:

while my_instrument_coordinator_component.is_running:
    print('running')
Returns:

The components’ running state.

start() None[source]

Starts the InstrumentCoordinator Component.

stop() None[source]

Stops the InstrumentCoordinator Component.

prepare(zi_device_config: quantify_scheduler.backends.zhinst_backend.ZIDeviceConfig) bool[source]

Prepares the component with configurations required to arm the instrument.

After this step is complete, the waveform file is uploaded to the LabOne WebServer.

Parameters:

zi_device_config – The ZI instrument configuration. See the link for details of the configuration format.

Returns:

A boolean indicating if the ZI component was configured in this call.

retrieve_acquisition() Dict[int, numpy.ndarray][source]

Gets and returns acquisition data.

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

Waits until the InstrumentCoordinator component has stopped running or until it has exceeded the amount of time to run.

The maximum amount of time, in seconds, before it times out is set via the timeout_sec parameter.

Parameters:

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