Proteox controller#
High-level controller for the Proteox cryostat system by Oxford Instruments, interfacing via WAMP.
To configure the connection, you must include a .env file in the same folder as the Proteox module. This file must contain the following entries:
WAMP_USER="**********"
WAMP_USER_SECRET="*************"
WAMP_REALM="ucss"
WAMP_ROUTER_URL="ws://************:8080/ws"
BIND_SERVER_TO_INTERFACE="localhost"
SERVER_PORT="33576"
Warning
All API methods (including sensor accessors) are asynchronous and must be used with await inside an async function.
Example of operations#
from asyncio import run
from qtics import Proteox
async def myfun():
instrument = Proteox()
await instrument.connect()
for _ in range(1):
mix = await instrument.get_MC_T()
pt1 = await instrument.get_PT1_T1()
pt2 = await instrument.get_PT2_T1()
sti = await instrument.get_STILL_T()
col = await instrument.get_CP_T()
print("\nTEMPS:")
print(f"MIX: {mix*1000:.2f} mK")
print(f"STILL: {sti*1000:.2f} mK")
print(f"COLD: {col*1000:.2f} mK")
print(f"PT1: {pt1:.2f} K")
print(f"PT2: {pt2:.2f} K")
await instrument.close()
run(myfun())
Commands#
connect() Connect to the Proteox cryostat via WAMP.
close() Cleanly disconnect from the cryostat session.
get_<sensor>() Dynamic getter for supported sensors (see below). If the key is not recognized, raises an AttributeError.
Dynamic getters#
The following sensors are available via dynamic getter methods:
Temperatures#
get_SAMPLE_T() – Sample thermometer
get_MC_T() – Mixing chamber temperature
get_MC_T_SP() – Mixing chamber temperature setpoint
get_STILL_T() – Still temperature
get_CP_T() – Cold plate temperature
get_SRB_T() – Sorb temperature
get_DR2_T(), get_DR1_T() – DR stage temperatures
get_PT2_T1(), get_PT1_T1() – Pulse tube stage temperatures
get_MAG_T() – Magnet system temperature
Heaters and Powers#
get_MC_H() – Mixing chamber heater power
get_STILL_H() – Still heater power
Pressures#
get_OVC_P() – Outer vacuum chamber pressure
get_P1_P() to get_P6_P() – Various pressure gauges
Flows#
get_3He_F() – ^3He flowmeter
Magnetic Field Control#
get_MAG_VEC() – Magnetic field vector
get_MAG_STATE(), get_SWZ_STATE() – Magnet controller and sweep state
get_MAG_TARGET() – Field target
get_MAG_X_STATE(), get_MAG_Y_STATE(), get_MAG_Z_STATE() – Axis state
get_MAG_CURR_VEC(), get_CURR_TARGET() – Magnet current vector and targets
State#
get_state() – Cryostat state (returns descriptive label e.g., “CONDENSING”)
Available state labels:
IDLE
PUMPING
CONDENSING
CIRCULATING
WARM UP
CLEAN COLD TRAP
SAMPLE EXCHANGE