This repository has been archived and is no longer maintained.
Set of scientific instrument drivers used for low-noise e-test for the microelectronic. The code is originally based on code based on the PyMeasure structure but deviated significantly.
Obviously, not all the possible commands (GPIB or other) are implemented, but the main ones are:
- Keithley 7510 Digit Graphical Sampling Multimeter
- Keithley 2450 Source Measure Unit (SMU)
- Active Technologies PG-1074 & PG-1072 pulse generator (rev.A)
- Agilent Pulse generator 81110A
- USB-xSPDT-A18 MiniCircuit RF switch
- Tektronix 70000 AWG
- ixBlue DrVe10Mo RF amplifier
- Keysight DSOX6000 digital oscilloscope series
- Keysight 33500B AWG series
The code is written for python 64 bit 3.10.x. It also needs some packages that one can find in the requirement.txt.
One can install those package by doing :
python -m pip install -r requirements.txt
In addition, do not install the visa
package in the same environment, there
is a conflict with PyVisa
.
to be able to control the DAC the DAQmx drivers are needed. They can be downloaded her
To command the Minicircuit RF Switch, it also needs additional drivers provide by MiniCircuit. One can find the complete documentation here
-
Download the drivers here
-
This library use the .net implementation:
- Copy mcl_RF_Switch_Controller_NET45.dll file in C:\WINDOWS\SysWOW64
- Right-click on the DLL file in the save location and select Properties to check that Windows has not blocked access to the file (check “Unblock” if the option is shown)
- No registration or further installation action is required
this code respect most of the PEP8 (and following) guidance, except for the line break at 79 (or 80) characters. The hard-break is at 120 and except for natural or easy break before 80, the line should break inbetween 80 and 100. (because, nobody use 12" screen anymore, come-on !). obviously, web link cannot be broke
In addition, one the major problem in coding style is to be coherent with the different libraries, which, for historical reasons, have different styles. It is clearly the case between the python and the Qt or the Logging library for example. To reconcile those two worlds, It has been chosen to follow library guideline over the PEP8 for all related code.
One can read the following blog explaining this choice and how to implement it :
Finally, the comments follow sphinx style and reStructuredText standard.
-
The code coming from PyMeasure, QCoDeS and StringDumpYaml were under the MIT Licence at the time of the integration.
-
This code is under the GPL-3 Licence
-
Copyright (c) 2019-2023 Sylvain Martin for the main part
-
Copyright (c) 2013-2019 PyMeasure Developers for the
Instrument
andadpater
class structure -
Copyright (c) 2015, 2016 by Microsoft Corporation and Københavns Universitet for parte of the The Tektronix 70000 driver
-
Copyright (c) 2014-2023 Anthon van der Neut, Ruamel bvba for the StringDumpYaml class