stanza.device

Module Contents

Classes

NameDescription
DeviceClass that defines the interface by which voltage sweeps are applied to the device and current is measured.

API

1class stanza.device.Device(name: str, device_config: stanza.models.DeviceConfig, channel_configs: dict[str, stanza.base.channels.ChannelConfig], control_instrument: typing.Any | None, measurement_instrument: typing.Any | None)

Class that defines the interface by which voltage sweeps are applied to the device and current is measured.

1gates: list[str]
1contacts: list[str]
1control_gates: list[str]
1control_contacts: list[str]
1measurement_gates: list[str]
1measurement_contacts: list[str]
1get_gates_by_type(gate_type: str | stanza.models.GateType) -> list[str]

Get the gate electrodes of a given type.

1get_contacts_by_type(contact_type: str | stanza.models.ContactType) -> list[str]

Get the contact electrodes of a given type.

1is_configured() -> bool

Check if both instruments are configured.

1_jump(
2 voltage: float,
3 pad: str,
4 wait_for_settling: bool = False
5) -> None

Set the voltage of a single gate

1jump(
2 pad_voltages: dict[str, float], wait_for_settling: bool = False
3) -> None

Set the voltages of the device.

Parameters:

pad_voltages
dict[str, float]

A dictionary of pads and their voltages.

wait_for_settling
boolDefaults to False

Whether to wait for the device to settle after setting the voltages.

Raises:

DeviceError: If the control instrument is not configured.

1_measure(pad: str) -> float

Measure the current of a single gate

1measure(pad: str | list[str]) -> float | list[float]

Measure the current of the device.

1_check(pad: str) -> float

Check the current voltage of a single gate electrode.

1check(pad: str | list[str]) -> float | list[float]

Check the current voltage of the device.

1sweep_1d(
2 gate_electrode: str,
3 voltages: list[float],
4 measure_electrode: str,
5 session: stanza.logger.session.LoggerSession | None = None
6) -> tuple[list[float], list[float]]

Sweep a single gate electrode and measure the current of a single contact electrode.

1sweep_2d(
2 gate_1: str,
3 voltages_1: list[float],
4 gate_2: str,
5 voltages_2: list[float],
6 measure_electrode: str,
7 session: stanza.logger.session.LoggerSession | None = None
8) -> tuple[list[float], list[float]]

Sweep two gate electrodes and measure the current of a single contact electrode.

1sweep_all(
2 voltages: list[float],
3 measure_electrode: str,
4 session: stanza.logger.session.LoggerSession | None = None
5) -> tuple[list[float], list[float]]

Sweep all gate electrodes and measure the current of a single contact electrode.

1sweep_nd(
2 gate_electrodes: list[str],
3 voltages: list[list[float]],
4 measure_electrode: str,
5 session: stanza.logger.session.LoggerSession | None = None
6) -> tuple[list[float], list[float]]

Sweep multiple gate electrodes and measure the current of a single contact electrode.