A simple but functional driver for interacting with the PM2800 series supplies
- developed using Python 2.7.9
- python-ivi https://github.com/python-ivi/python-ivi
- python-vxi11 https://github.com/python-ivi/python-vxi11
- untested with the other python-ivi gpib interface drivers
Three installation methods
- Copy the new driver files into the Python-IVI tree
- Adjust
__init__.py
files accordingly - rebuild and reinstall python-ivi
- make the digits roll
Inside the python-ivi source tree I made a contrib folder to store
additional drivers. This was to minimize the amount of tromping around i would
have to do in someone else's tree. The __init__.py
files need to be adjusted up
the tree to account for the changes in structure including config.py
at the root
only once, while the __init__.py
file in contrib needs to accurately reflect
any changes to the contents of the contrib folder.
An easier way to handle this might be to copy the new drivers directly into
python-ivi/ivi/agilent folder and adjusting its __init__.py
file accordingly.
This might be a safer bet if you git pull python-ivi now and then.
Regardless of the installation method chosen, the python-ivi package must be rebuilt and reinstalled each time a file inside its tree is added or modified. If you develop your application outside of the python-ivi tree, then a rebuild should hopefully be a rare occasion.
- git clone https://github.com/coburnw/pm2800-ivi.git to a directory of your choice. For me it was the parent folder containing the python-ivi clone folder.
- if it doesnt already exist, mkdir python-ivi/ivi/contrib
- cp pm2800-ivi.git/contrib/philips*.py to python-ivi/ivi/contrib folder
- edit
python-ivi/ivi/contrib/__init__.py
file to add each of the pm281x drivers that you intend to use - edit
python-ivi/ivi/__init__.py
and add 'contrib' to IVI drivers section - edit
python-ivi/setup.py
and verify 'contrib' is listed in the IVI drivers section python setup.py install
to (re)build and (re)install python-ivi- explore the example folder
- developed for a PM2811/01 and an E2050A. Other devices and options untested.
- if any of the driver files are modified, python-ivi will need to be rebuilt and reinstalled
- None of the trigger functionality has been implemented
This has been a fun trip and I greatly appreciate the work the Python-IVI developers have invested.