Proteox driver: set_field_vector() blocks and times out — driver unresponsive afterwards #7080
Replies: 1 comment
-
Hi Eren, Thanks for raising your issue. It appears you are using the wrong driver/commands. Please use the functions and parameters defined in this driver : An example of how to call these commands can be found here: Please note this QCoDeS driver uses our DECSVISA application. This README file tells you the steps you need to follow to set this up correctly: If set up correctly, you do not need to put your system IP address in the arguments for the connection. The IP address is read from your .env file which you will need to create when setting up DECSVISA. DECSVISA can be found as a submodule in the folder https://github.com/QCoDeS/Qcodes_contrib_drivers/tree/main/src/qcodes_contrib_drivers/drivers/OxfordInstruments Hope this helps! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Minimal code to reproduce:
python
from qcodes.instrument_drivers.OxfordInstruments import Proteox
proteox = Proteox('proteox', address='TCPIP::172.16.0.5::5025::SOCKET')
other queries work fine
print(proteox.IDN()) # returns OK
print(proteox.magnet_rate()) # returns OK
trouble starts here — any non‑zero vector causes the hang
proteox.set_field_vector((0,0, 0, 0.1,0.05,True))
Observed behaviour
set_field_vector never returns; after the default 20 s VISA timeout the call raises
After this first timeout, all subsequent calls to the instrument (even simple IDN?) raise the same timeout until I power‑cycle the Proteox or restart its control software.
The fridge’s local UI shows no active sweep and the magnet remains at its original field (0 T).
Additional notes / what I already tried
Verified ordinary single‑axis ramp commands succeed via the Proteox web console.
Increased VISA timeout to 120 s → still times out.
Tried both set_field_vector and field_vector((0.05,0,0)); outcome is the same.
Captured the TCP stream with Wireshark: last packet sent is
MAGNET:VECTOR:FIELD 0.05,0,0 and I never see a reply.
Removing the driver object and re‑instantiating it does not clear the state; only rebooting the fridge or closing its control interface helps.
Is there an additional command I need to send to enable vector sweeps, or a safe way to abort/clear the pending operation so the driver becomes responsive again? Happy to collect more logs or test a branch if that helps.
Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions