Receiver Lab Instruments
Control various instruments in the Receiver Lab over LAN.
Installation
To install via pip:
# From the GitHub repo (latest version)
python3 -m pip install git+https://github.com/Smithsonian/RxLab-Instruments.git
# From PyPI (latest stable release)
python3 -m pip install RxLab-Instruments
To use Keithley instruments, you need to install the vxi11 package:
python3 -m pip install git+https://github.com/python-ivi/python-vxi11.git
To use Rohde & Schwarz instruments, you need to install the pyvisa package:
python3 -m pip install -U pyvisa
Note: I have not added these packages to the requirements in setup.py because this allows you to decide which packages you want/need to install. For example, if you only want to use the Hittite module, you don't need to install vxi11 or pyvisa.
Supported Instruments
- Agilent 34410A/11A/L4411A 6.5 Digit Multimeter
- Agilent E8257D/67D PSG Analog Signal Generator
- Hittite HMC-T2240 Signal Generator
- Keithley 2280 Power Supply
- Keithley 2602 Source Meter
- Micro Lambda Wireless (MLBF series) YIG Tuned Filters
- Micro Lambda Wireless YIG Tuned Synthesizers
- Rohde & Schwarz FSVA40 Spectrum Analyzer
- Siglent SDS-1104X-E Oscilloscope
This package will probably also work with closely related instruments, but I have only tested this package with the instruments listed above.
Example
from labinstruments.agilent import Agilent34411A, AgilentE8257D
from labinstruments.hittite import Hittite
from labinstruments.keithley import Keithley2280
from labinstruments.microlambda import YigFilter
# Agilent multimeter
dmm = Agilent34411A("192.168.0.3")
print("DC voltage: {:.2f} V".format(dmm.measure_dc_voltage('V')))
dmm.close()
# Agilent signal generator
sig = AgilentE8257D("192.168.0.31")
sig.set_frequency(15, "GHz")
sig.set_power(-20, "dBm")
sig.power_on()
sig.close()
# Connect to Hittite signal generator
sg = Hittite('192.168.0.159')
sg.set_power(-40, 'dBm')
sg.set_frequency(5, 'GHz')
sg.power_on()
sg.close()
# Connect to Keithley power supply
ps = Keithley2280('192.168.0.117')
ps.reset()
ps.output_on()
ps.set_voltage_limit(12)
ps.set_voltage(2)
ps.set_current(0.1)
ps.power_on()
ps.close()
# Connect to Micro Lambda YIG filter
yig = YigFilter('192.168.0.3')
yig.set_frequency(5, 'GHz')
yig.close()
References
"System Power Supply Programming Using SCPI Commands" from Keysight
Metadata
Release files for RxLab-Instruments 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| RxLab-Instruments-0.0.3.tar.gz | 12.5 kB | Without provenance | Details |
Release files / RxLab-Instruments-0.0.3.tar.gz
| Download URL | RxLab-Instruments-0.0.3.tar.gz |
|---|---|
| Size | 12.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4264148374ddeaa61a0311c0f7db8994309ed2f865aa1bdec5caf43fcdaceed7
|
|
BLAKE2b-256 checksum How to use checksums |
3d6eea19557f1c4c467f87557ab556930c9cddb961d8e67ce99030e11e9da5e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.11
|
Security for RxLab-Instruments 0.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.