Full Python driver for the Oxford Mercury iTC cryogenic environment controller.
Project description
MercuryITC driver
About
This is a purely python based driver to remotely control the Oxford Mercury iTC cryogenic environment controller http://www.oxford-instruments.com/.
This driver is requires pyvisa-py but can be easily modified to use another interface.
This driver supports the aux, heater and temperature, and gasflow modules. Look at the class docstrings to see all the implemented commands (which is almost all).
How to use
The core of this module is the class MercuryITC. To initialize a driver object, just create an instance of this class with the device's visa address, e. g.:
>>> from mercuryitc import MercuryITC
>>> m = MercuryITC('TCPIP0:172.20.91.43:7020:SOCKET')
All the instrument attributes can be accessed through instance attributes, e.g.:
>>> print(m.serl)
All MercuryITC modules are automatically recognized and added to the modules attribute:
>>> print(m.modules)
Values can be read from and written to the instrument in the same way as for main models:
>>> htr = m.modules[0]
>>> print(htr.nick)
>>> htr.nick = 'Main heater'
>>> print(htr.nick)
There exists a special kind of attributes called signals in the MercuryITC manual. These contain a numeric value as well as a unit. Signals are read and set as tuples, e.g.:
>>> print(htr.volt)
>>> htr.volt = (2.5, 'V')
>>> print(htr.volt)
Note that all attributes which are not signals are cached and retrieved only once from the device. They are stored and read from memory afterwards. To remove these variables from memory for whatever reason, simply call the destructor:
>>> del m.serl
It's also possible to empty the entire cache of an object by calling the clear_cache method:
>>> m.clear_cache()
Installation
Download or clone the repository. Install the package by running
$ pip install /path/to/folder
where "/path/to/folder" is the path to the folder containing setup.py.
To fix
- MercuryITC: USER and PASS property not implemented
- Add support for level meter module
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mercuryitc-0.3.0.tar.gz
.
File metadata
- Download URL: mercuryitc-0.3.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.2 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfabae9e5fe639593651a713958c88bd912323aba6c4e3581308759427057b83 |
|
MD5 | a61fb2d9b2cb92ca28a38fbdf5ef5ef5 |
|
BLAKE2b-256 | db7aa5915197d5d3bf0a598cb841b6e591b49f619af0745b6255dd5cb7324d1c |
File details
Details for the file mercuryitc-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: mercuryitc-0.3.0-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.2 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe6af70696fc1eb4b13b07fc31e6c8192fceb42bfbbd0dd6f7083c93a713a88a |
|
MD5 | 27ec8dd0fd91ff60c5df5e263e3c4d2d |
|
BLAKE2b-256 | 9840b76bd4b35b49c6759cbd55198d9d62d7ad7fa7be2905c543fa5e74d7743d |