Cluster

The Cluster driver is separated into three layers:

  • QCoDeS driver: Instrument driver based on QCoDeS and the instrument’s native interface.

  • Native interface: Instrument API that provides control over the instrument and is an extension of the the SCPI interface.

  • SCPI interface: Instrument API based on the SCPI standard which in turn is based on IEEE488.2.

Warning

This is a preliminary driver for the Cluster that is currently under development.

QCoDeS driver

class cluster.cluster.cluster_qcodes(name, transport_inst, debug=0)[source]

Bases: cluster.cluster_ifc.cluster_ifc, qcodes.instrument.base.Instrument

This class connects QCoDeS to the Cluster native interface. Do not directly instantiate this class, but instead instantiate either the cluster or cluster_dummy.

__init__(name, transport_inst, debug=0)[source]

Creates Cluster QCoDeS class and adds all relevant instrument parameters. These instrument parameters call the associated methods provided by the native interface.

Parameters
  • name (str) – Instrument name.

  • transport_inst (transport) – Transport class responsible for the lowest level of communication (e.g. ethernet).

  • debug (int) – Debug level (0 = normal, 1 = no version check, >1 = no version or error checking).

Raises

Exception – Debug level is 0 and there is a version mismatch.

Note

To get a complete of list of the QCoDeS parameters, run the following code.

from cluster.cluster import cluster_dummy

clstr = cluster_dummy("cluster")
for call in clstr.snapshot()['parameters']:
    print(getattr(clstr, call).__doc__)
class cluster.cluster.cluster(name, host, port=5025, debug=0)[source]

Bases: cluster.cluster.cluster_qcodes

Cluster driver class based on QCoDeS that uses an IP socket to communicate with the instrument.

__init__(name, host, port=5025, debug=0)[source]

Creates Cluster driver object.

Parameters
  • name (str) – Instrument name.

  • host (str) – Instrument IP address.

  • port (int) – Instrument port.

  • debug (int) – Debug level (0 = normal, 1 = no version check, >1 = no version or error checking).

Raises

Exception – Debug level is 0 and there is a version mismatch.

class cluster.cluster.cluster_dummy(name, debug=1)[source]

Bases: cluster.cluster.cluster_qcodes

Cluster driver class based on QCoDeS that uses the cluster_dummy_transport layer to substitute an actual Cluster to allow software stack development without hardware.

__init__(name, debug=1)[source]

Creates Cluster driver object. The debug level must be set to >= 1.

Parameters
  • name (str) – Instrument name.

  • debug (int) – Debug level (0 = normal, 1 = no version check, >1 = no version or error checking).

class cluster.cluster.cluster_qcm(name, host, port=5025, debug=1)[source]

Bases: pulsar_qcm.pulsar_qcm.pulsar_qcm

Cluster QCM driver class based on QCoDeS that uses an IP socket to communicate with the instrument.

Warning

This is a temporary class created for development purposes that will be removed in the future.

__init__(name, host, port=5025, debug=1)[source]

Creates Cluster QCM driver object.

Parameters
  • name (str) – Instrument name.

  • host (str) – Instrument IP address.

  • port (int) – Instrument port.

  • debug (int) – Debug level (0 = normal, 1 = no version check, >1 = no version or error checking).

Raises

Exception – Debug level is 0 and there is a version mismatch.

class cluster.cluster.cluster_qcm_dummy(name, debug=1)[source]

Bases: pulsar_qcm.pulsar_qcm.pulsar_qcm_dummy

Cluster QCM driver class based on QCoDeS that uses the pulsar_dummy_transport layer to substitute an actual Cluster QCM to allow software stack development without hardware.

Warning

This is a temporary class created for development purposes that will be removed in the future.

__init__(name, debug=1)[source]

Creates Cluster QCM driver object. The debug level must be set to >= 1.

Parameters
  • name (str) – Instrument name.

  • debug (int) – Debug level (0 = normal, 1 = no version check, >1 = no version or error checking).

class cluster.cluster.cluster_qrm(name, host, port=5025, debug=1)[source]

Bases: pulsar_qrm.pulsar_qrm.pulsar_qrm

Cluster QRM driver class based on QCoDeS that uses an IP socket to communicate with the instrument.

Warning

This is a temporary class created for development purposes that will be removed in the future.

__init__(name, host, port=5025, debug=1)[source]

Creates Cluster QRM driver object.

Parameters
  • name (str) – Instrument name.

  • host (str) – Instrument IP address.

  • port (int) – Instrument port.

  • debug (int) – Debug level (0 = normal, 1 = no version check, >1 = no version or error checking).

Raises

Exception – Debug level is 0 and there is a version mismatch.

class cluster.cluster.cluster_qrm_dummy(name, debug=1)[source]

Bases: pulsar_qrm.pulsar_qrm.pulsar_qrm_dummy

Cluster QRM driver class based on QCoDeS that uses the pulsar_dummy_transport layer to substitute an actual Cluster QRM to allow software stack development without hardware.

Warning

This is a temporary class created for development purposes that will be removed in the future.

__init__(name, debug=1)[source]

Creates Cluster QRM driver object. The debug level must be set to >= 1.

Parameters
  • name (str) – Instrument name.

  • debug (int) – Debug level (0 = normal, 1 = no version check, >1 = no version or error checking).

QCoDeS parameters

QCoDeS parameters generated by cluster_qcodes.

cluster.IDN

Please see QCoDeS for a description.

Properties
  • value: Anything

cluster.module1_present

Sets/gets module present status for slot {} in the Cluster.

Properties
  • value: Enum: {‘empty’, ‘present’}

cluster.reference_source

Sets/gets reference source (‘internal’ = internal 10 MHz, ‘external’ = external 10 MHz).

Properties
  • value: Enum: {‘external’, ‘internal’}

Note

Only module 1’s parameters are listed, but all other modules have the same parameters.

Native interface

class cluster.cluster_ifc.cluster_ifc(transport_inst, debug=0)[source]

Bases: cluster.cluster_scpi_ifc.cluster_scpi_ifc

Class that provides the native API for the Cluster. It provides methods to control all functions and features provided by the Cluster.

__init__(transport_inst, debug=0)[source]

Creates Cluster native interface object.

Parameters
  • transport_inst (transport) – Transport class responsible for the lowest level of communication (e.g. ethernet).

  • debug (int) – Debug level (0 = normal, 1 = no version check, >1 = no version or error checking).

Returns

Cluster native interface object.

Return type

cluster_ifc

Raises

Exception – Debug level is 0 and there is a version mismatch.

get_idn()[source]

Get device identity and build information.

Returns

Dictionary containing manufacturer, model, serial number and build information. The build information is subdivided into FPGA firmware, kernel module software, application software and driver software build information. Each of those consist of the version, build date, build Git hash and Git build dirty indication.

Return type

dict

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_system_status()[source]

Get general system state.

Returns

Dictionary containing general status and corresponding flags:

Status
  • OKAY: System is okay.

  • CRITICAL: An error indicated by the flags occured, but has been resolved.

  • ERROR: An error indicated by the flags is occuring.

Flags
  • CARRIER_PLL_UNLOCK: Carrier board PLL is unlocked.

  • FPGA_PLL_UNLOCK: FPGA PLL is unlocked.

  • FPGA_TEMP_OR: FPGA temperature is out-of-range.

  • CARRIER_TEMP_OR: Carrier board temperature is out-of-range.

Return type

dict

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

SCPI interface

class cluster.cluster_scpi_ifc.cluster_scpi_ifc(transport_inst, debug=0)[source]

Bases: ieee488_2.ieee488_2.ieee488_2

This interface provides an API for the mandatory and required SCPI calls and adds Pulsar related functionality (see SCPI).

__init__(transport_inst, debug=0)[source]

Creates SCPI interface object.

Parameters
  • transport_inst (transport) – Transport class responsible for the lowest level of communication (e.g. ethernet).

  • debug (int) – Debug level (0 = normal, 1 = no version check, >1 = no version or error checking).

Returns

SCPI interface object.

Return type

cluster_scpi_ifc

Raises

Exception – Debug level is 0 and there is a version mismatch.

reset()[source]

Reset device and clear all status and event registers (see SCPI).

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

clear()[source]

Clear all status and event registers (see SCPI).

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_status_byte()[source]

Get status byte register. Register is only cleared when feeding registers are cleared (see SCPI).

Returns

Status byte register.

Return type

int

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

set_service_request_enable(reg)[source]

Set service request enable register (see SCPI).

Parameters

reg (int) – Service request enable register.

Raises
  • Exception – Invalid input parameter type.

  • Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_service_request_enable()[source]

Get service request enable register. The register is cleared after reading it (see SCPI).

Returns

Service request enable register.

Return type

int

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

set_standard_event_status_enable(reg)[source]

Get standard event status enable register. The register is cleared after reading it (see SCPI).

Returns

Standard event status enable register.

Return type

int

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_standard_event_status_enable()[source]

Set standard event status enable register (see SCPI).

Parameters

reg (int) – Standard event status enable register.

Raises
  • Exception – Invalid input parameter type.

  • Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_standard_event_status()[source]

Get standard event status register. The register is cleared after reading it (see SCPI).

Returns

Standard event status register.

Return type

int

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

set_operation_complete()[source]

Set device in operation complete query active state (see SCPI).

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_operation_complete()[source]

Get operation complete state (see SCPI).

Returns

Operation complete state (False = running, True = completed).

Return type

bool

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

test()[source]

Run self-test. Currently not implemented (see SCPI).

Returns

Test result (False = failed, True = success).

Return type

bool

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

wait()[source]

Wait until operations completed before continuing (see SCPI).

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_system_error()[source]

Get system error from queue (see SCPI).

Returns

System error description string.

Return type

str

get_num_system_error()[source]

Get number of system errors (see SCPI).

Returns

Current number of number of system errors.

Return type

int

get_system_version()[source]

Get SCPI system version (see SCPI).

Returns

SCPI system version.

Return type

str

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

preset_system_status()[source]

Preset system status registers. Connects general system status flags for PLL unlock and temperature out-of-range indications to event status enable, status questionable temperature and status questionable frequency registers respectively (see SCPI).

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_questionable_condition()[source]

Get status questionable condition register (see SCPI).

Returns

Status questionable condition register.

Return type

int

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_questionable_event()[source]

Get status questionable event register (see SCPI).

Returns

Status questionable event register.

Return type

int

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

set_questionable_enable(reg)[source]

Set status questionable enable register (see SCPI).

Parameters

reg (int) – Status questionable enable register.

Raises
  • Exception – Invalid input parameter type.

  • Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_questionable_enable()[source]

Get status questionable enable register (see SCPI).

Returns

Status questionable enable register.

Return type

int

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_operation_condition()[source]

Get status operation condition register (see SCPI).

Returns

Status operation condition register.

Return type

int

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_operation_events()[source]

Get status operation event register (see SCPI).

Returns

Status operation event register.

Return type

int

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

set_operation_enable(reg)[source]

Set status operation enable register (see SCPI).

Parameters

reg (int) – Status operation enable register.

Raises
  • Exception – Invalid input parameter type.

  • Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_operation_enable()[source]

Get status operation enable register (see SCPI).

Returns

Status operation enable register.

Return type

int

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_current_fpga_temperature()[source]

Get current FPGA junction temperature (inside device).

Returns

Current FPGA junction temperature.

Return type

float

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_maximum_fpga_temperature()[source]

Get maximum FPGA junction temperature since boot or clear (inside device).

Returns

Maximum FPGA junction temperature.

Return type

float

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_current_carrier_temperature()[source]

Get current carrier board temperature (inside device).

Returns

Current carrier board temperature.

Return type

float

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_maximum_carrier_temperature()[source]

Get maximum carrier board temperature since boot or clear (inside device).

Returns

Maximum carrier board temperature.

Return type

float

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_current_bp_temperature_0()[source]

Get the current backplane board temperature from sensor 0 (inside device).

Returns

Current backplane temperature from sensor 0.

Return type

float

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_maximum_bp_temperature_0()[source]

Get maximum backplane board temperature from sensor 0 since boot or clear (inside device).

Returns

Maximum backplane board temperature from sensor 0.

Return type

float

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_current_bp_temperature_1()[source]

Get the current backplane board temperature from sensor 1 (inside device).

Returns

Current backplane temperature from sensor 1.

Return type

float

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_maximum_bp_temperature_1()[source]

Get maximum backplane board temperature from sensor 1 since boot or clear (inside device).

Returns

Maximum backplane board temperature from sensor 1.

Return type

float

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_current_bp_temperature_2()[source]

Get the current backplane board temperature from sensor 2 (inside device).

Returns

Current backplane temperature from sensor 2.

Return type

float

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.

get_maximum_bp_temperature_2()[source]

Get maximum backplane board temperature from sensor 2 since boot or clear (inside device).

Returns

Maximum backplane board temperature from sensor 2.

Return type

float

Raises

Exception – An error is reported in system error and debug <= 1. All errors are read from system error and listed in the exception.