object-oriented easyness for pythonic access to
- Keysight oscilloscope DSOX1102G (1000x series in general)
- Keysight/Agilent Fieldfox N991xA VNA
- Siglent rspd3303c/spd3303c 2.5CH lab PSU
via the SCPI standard. Or to be more precise, the specific implementations, utilizing the pyvisa framwork.
see "main" sections of InfiniiVision_thisa.py and spd3303c_thvisa.py
- first follow linux/windows specific section
- then:
- python3 -m pip install wheel pyvisa pyvisa-py pyusb python-usbtmc numpy matplotlib
(can try setup.sh after chmod+X setup.sh, adapt udev rules afterwards)
update system and install python3 with pip, libatlas to avoid numpy error
- sudo apt update
- sudo apt dist-upgrade
- sudo apt install python3-pip
- sudo apt-get install libatlas-base-dev
- then setup git and udev
- users don't need a git client, download the zip and ignore this section from hereon
- suggested git client: git-gui
- sudo apt install git git-gui
- git config --global user.name $gusername
- git config --global user.email $gemail
- run gitgui via: "git gui"
- note: gitgui can't be run via ssh since it would need a gui, use a vnc if desired (or plain cmd git)
An example of how to change /etc/udev/rules.d/usb.rules to accomodate not being sudo for accessing pyvisa/usbtmc devices is in usb.rules. (The group "plugdev" should be assigned to each user, check with command "groups" to be sure if your current user is)
- append or make the file /etc/udev/rules.d/usb.rules according to usb.rules provided
- either udevadm control --reload-rules or udevcontrol reload_rules dependent on kernel version
further info:
- udev rules examples: https://pypi.org/project/udmx-pyusb/
- comprehensive udev manual : http://www.reactivated.net/writing_udev_rules.html
- for anaconda management of python3, substitute "python3 -m pip install .." with "conda install .."
- users don't need a git client, download the zip and ignore this section from here on
- use any git client you want