qmi.instruments.montana.cryostation_s50

Instrument driver for the Montana Cryostation S50.

Classes

Montana_CryostationS50(context, name, ...)

Instrument driver for the Montana Cryostation S50.

Montana_CryostationS50_System_Goal(value)

Possible goals of the system.

Montana_CryostationS50_System_State(value)

Possible states that the system can be in.

Montana_CryostationS50_Thermometer_Properties(...)

Dataclass for the Montana S50 thermometer properties of the sample.

class qmi.instruments.montana.cryostation_s50.Montana_CryostationS50_Thermometer_Properties(resistance_ok: bool, resistance: float, temperature_ok: bool, temperature: float, temperature_stability: float, temperature_stability_ok: bool, temperature_stable: bool)

Dataclass for the Montana S50 thermometer properties of the sample.

class qmi.instruments.montana.cryostation_s50.Montana_CryostationS50_System_State(value)

Possible states that the system can be in.

class qmi.instruments.montana.cryostation_s50.Montana_CryostationS50_System_Goal(value)

Possible goals of the system.

class qmi.instruments.montana.cryostation_s50.Montana_CryostationS50(context: QMI_Context, name: str, ipv4_address: str)

Instrument driver for the Montana Cryostation S50. The S50 uses a RESTful API for communication.

open() None

Opens a connection to the Cryostation instrument.

close() None

Closes a connection to the Cryostation instrument.

get_system_goal() Montana_CryostationS50_System_Goal

Get the current goal of the system.

Returns:

the goal of the system as an enum.

get_system_state() Montana_CryostationS50_System_State

Get the current state of the system.

Returns:

the state of the system as an enum.

cooldown_allowed() bool

Check if the system is in a state where a cooldown can be started.

Returns:

true if the system can be cooled down.

warmup_allowed() bool

Check if the system is in a state where a warmup can be started.

Returns:

true if the system can be warmed up down.

set_platform_target_temperature(temp: float) None

Set the platform target temperature for cooldown.

Parameters:

temp – temperature to set in Kelvin.

get_platform_target_temperature() float

Get the temperature that the platform is to be cooled down to.

Returns:

temperature in Kelvin.

get_platform_target_temperature_limit() float

Get the temperature limit that the platform can be cooled down to.

Returns:

temperature in Kelvin

start_cooldown() None

Cool down the sample chamber to the target temperature.

start_warmup() None

Warm up the sample chamber.

enable_platform_bakeout() None

Enable bakeout of platform when cooling down or pulling vacuum.

disable_platform_bakeout() None

Disable bakeout of platform when cooling down or pulling vacuum.

is_platform_bakeout_enabled() bool

Check if the platform bakeout procedure is enabled.

Returns:

true if bakeout is enabled else False.

get_platform_bakeout_temperature_limit() float

Get the temperature limit that the platform can be baked to.

Returns:

temperature in Kelvin.

set_platform_bakeout_temperature(temp: float) None

Set the platform bakeout temperature.

Parameters:

temp – temperature to set in Kelvin.

get_platform_bakeout_temperature() float

Get the platform bakeout temperature.

Returns:

temperature in Kelvin.

set_platform_bakeout_time(time: float) None

Set the platform bakeout time.

Parameters:

time – time to set in seconds.

get_platform_bakeout_time() float

Get the platform bakeout time.

Returns:

time in seconds.

is_cryocooler_running() bool

Check if the cryocooler is running.

Returns:

true if the cryocooler is running else False.

is_cryocooler_connected() bool

Check if the cryocooler is connected and communicating properly.

Returns:

true if the cryocooler is connected and communicating properly else False.

get_sample_thermometer_properties() Montana_CryostationS50_Thermometer_Properties

Get the thermometer properties of the sample.

Returns:

Dataclass with the properties.

force_unlock() None

Forcefully unlock the remote object.

This unlocks the object, regardless of who owns the lock. This allows you to unlock an object if the locking proxy has been destroyed without unlocking.

Use this with care.

Do not override this stub method in subclasses. It has already been implemented in QMI_RpcProxy.

classmethod get_category() str | None

Return the optional name of the category this object belongs to.

A category name is a free-form string that has no special significance. Its purpose is to distinguish between groups of RPC objects that fulfill similar roles.

get_name() str

Return the name of this object.

Returns:

name attribute.

get_signals() list[SignalDescription]

Return a list of signals that can be published by this object.

Returns:

List consisting of qmi_signals attributes.

is_locked() bool

Query if the remote object is locked.

Do not override this stub method in subclasses. It has already been implemented in QMI_RpcProxy.

is_open() bool

Return True if the instrument is open (ready for interaction).

lock(timeout: float = 0.0, lock_token: str | None = None) bool

Lock the remote object. If timeout is given, try every 0.1s within the given timeout value. The remote object can be locked with an optional custom lock token by giving a string into lock_token keyword argument.

If successful, this proxy is the only proxy that can invoke RPC methods on the remote object; other proxies will receive an “object is locked” response. The return value indicates if the lock was granted; a denied lock means the object was already locked by another proxy.

Do not override this stub method in subclasses. It has already been implemented in QMI_RpcProxy.

release_rpc_object() None

Give a warning if the instrument is removed while still open.

unlock(lock_token: str | None = None) bool

Unlock the remote object.

Without optional parameters, this is only allowed by the proxy that initially locked the object. By giving the lock token as an input parameter, the specific object locked by this token can be unlocked. The return value indicates if the unlocking was successful.

Do not override this stub method in subclasses. It has already been implemented in QMI_RpcProxy.