Skip to content

symartin/PyInstru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyInstru: Scientific instrument drivers

Status: Archived

This repository has been archived and is no longer maintained.

status: inactive GitHub license

Description

Made with love in Python

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.

Compatible Instruments

Obviously, not all the possible commands (GPIB or other) are implemented, but the main ones are:

Setup and packages requirement

Python and packages requirement

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.

NI-DAQmx driver

to be able to control the DAC the DAQmx drivers are needed. They can be downloaded her

Set up the MiniCircuit Mechanical RF Switch Boxes

To command the Minicircuit RF Switch, it also needs additional drivers provide by MiniCircuit. One can find the complete documentation here

  1. Download the drivers here

  2. 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

Code style

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.

Licence

Copyright

  • Copyright (c) 2019-2023 Sylvain Martin for the main part

  • Copyright (c) 2013-2019 PyMeasure Developers for the Instrument and adpater 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