keysight_dsox
EPICS PVAccess server for Keysight (Agilent) DSO-X oscilloscopes (may support other series). Server supports both USB and Ethernet connections.
This module connects to a scope via VISA/SCPI, publishes waveform and settings PVs, and exposes writable control PVs for acquisition and trigger configuration.
Features
- VISA connection to Keysight/Agilent DSO-X scopes
- PVAccess server using
epicsdev - Per-channel PVs for:
OnOff,Coupling,VoltsPerDiv,VoltOffsetWaveform,Mean,Peak2Peak,RMS
- Common scope PVs:
timePerDiv,tAxis,samplingRate,trigSource,trigSlope,trigMode,trigLevelacqCount,lostTrigs,scopeIDN,instrCmdS/instrCmdR
- Triggered waveform acquisition with published time axis (
tAxis)
Default VISA resource
USB0::2391::6052::MY51330356::0::INSTR
Requirements
- Python 3.10+
numpypyvisa- a VISA backend (typically
pyvisa-py) epicsdevand its EPICS/PVA dependency stack (p4p)
Run
From this package directory:
python -m epicsdev_osc_keysight_dsox
Typical usage:
python -m epicsdev_osc_keysight_dsox -r "USB0::2391::6052::MY51330356::0::INSTR" -d keysight -i 0 -C 4 -v
This creates PVs with prefix <device><index>: (default: keysight0:).
Command-line options
-r, --resourceVISA resource string-d, --devicedevice prefix base name-i, --indexdevice index appended to prefix-C, --channelsnumber of channels to expose-l, --listdirectory where generated PV list is saved-a, --autosaveautosave control (optional argument)-c, --recalldisable restoring PV values from autosave cache-p, --putlogPVPV name for put logging-v, --verboseincrease verbosity (-vvfor more)
Example PV names
With default prefix keysight0::
keysight0:scopeIDNkeysight0:trigStatekeysight0:tAxiskeysight0:c01Waveformkeysight0:c01VoltsPerDivkeysight0:c01VoltOffsetkeysight0:c01OnOff
Phoebus screen
A simple screen generator is included:
- Source:
opi/generate_simplescope.py - Output:
opi/simplescope.bob
Generate with:
python opi/generate_simplescope.py --prefix 'keysight0:'
Notes
- On startup, the server reads selected scope settings and adopts them into PVs.
- Waveforms are acquired on trigger detection and published with channel statistics.
- If all channels are set
Off, channel 1 is used as a fallback acquisition source.
Metadata
Release files for epicsdev_osc_keysight_dsox 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| epicsdev_osc_keysight_dsox-0.0.2.tar.gz | 116.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| epicsdev_osc_keysight_dsox-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 126.2 kB
Release files / epicsdev_osc_keysight_dsox-0.0.2.tar.gz
| Download URL | epicsdev_osc_keysight_dsox-0.0.2.tar.gz |
|---|---|
| Size | 116.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d9cfc208d0d31e6097f83b21cc08f00796c1ac47058977d47e893ef91fb0dfd5
|
|
BLAKE2b-256 checksum How to use checksums |
faa5a453d7024fc59f2913c7376e00395906aace024c531c28d3350753f3fed4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.1
|
Release files / epicsdev_osc_keysight_dsox-0.0.2-py3-none-any.whl
| Download URL | epicsdev_osc_keysight_dsox-0.0.2-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9276cbf42a47c970058bf988b922a92e27c37c280b1879a0e5f228bebf2769b1
|
|
BLAKE2b-256 checksum How to use checksums |
fa964455f4308326cb0371274eae8c40bf01bbebd645dbf8cd0ce5a0fcddcff7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.1
|