Skip to content

ukagit/siglent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sig – Linux CLI für Siglent SDS1202X-E

sig ist ein kleines, schnelles Python-CLI-Tool zum Auslesen von Messwerten (Frequenz, RMS, Peak-to-Peak) aus einem Siglent SDS1202X-E Oszilloskop über LAN (SCPI).

Das Tool ist bewusst Linux-like gehalten:

sig freq
sig rms
sig pkpk

Intern wird PyVISA verwendet, die Messwerte werden über PAVA? (und optional den Cymometer / Frequency Counter) abgefragt. Features

✅ Linux-CLI (sig …)

✅ Verbindung über LAN (stabiler als USB)

✅ Unterstützt C1 / C2

✅ Frequenzanzeige in kHz mit Dezimalpunkt

✅ RMS & PKPK

✅ Sauberer Umgang mit „kein Signal“ (nan)

✅ Läuft zuverlässig mit Siglent SDS1202X-E Firmware 1.3.26

✅ Kein GUI, perfekt für Scripts & Automatisierung

Voraussetzungen

Linux

Python ≥ 3.9

Siglent SDS1202X-E

Netzwerkverbindung zum Oszilloskop

SCPI über LAN aktiviert

Python-Abhängigkeiten:

pip install pyvisa pyvisa-py

Projektstruktur

siglent/
├── sig.py          # CLI-Tool
├── venv/           # Python venv (optional, empfohlen)
├── freq_scop.py    # Tests / Experimente
├── scps_scope.py
└── README.md

Installation (empfohlen mit venv)

git clone https://github.com/DL2DBG/siglent.git cd siglent

python3 -m venv venv source venv/bin/activate

pip install pyvisa pyvisa-py

Linux-Command sig (Wrapper)

Empfohlen ist ein Wrapper in ~/bin, damit sig wie ein echtes Linux-Kommando verwendet werden kann. /home/ulrich/bin/sig

#!/usr/bin/env bash
set -euo pipefail

REPO="/home/ulrich/Dokumente/GitHub/siglent"
VENV="$REPO/venv"
CLI="$REPO/sig.py"
exec "$VENV/bin/python3" "$CLI" "$@"
chmod +x ~/bin/sig

Falls nötig: export PATH="$HOME/bin:$PATH"

Benutzung

usage: sig [-h] [-i IP] [-c {C1,C2,both}] [--idn] [--raw] {freq,rms,pkpk,all}
sig: error: the following arguments are required: cmd

Frequenz (kHz)

sig freq

C1 freq=7010.000 kHz C2 freq=nan kHz

RMS

sig rms

Peak-to-Peak

sig pkpk

Alle Werte

sig all

Nur ein Kanal

sig freq -c C1 sig rms -c C2

Andere IP

sig freq -i 192.168.178.54

Messmethode

Standard: PAVA?

Das Tool nutzt

C1:PAVA? FREQ C1:PAVA? RMS C1:PAVA? PKPK

Diese Methode ist:

schnell

stabil

direkt an die Scope-Messanzeige gekoppelt

Hinweis zur Auflösung

Die Frequenz kann in diskreten Schritten erscheinen (z. B. 7010 / 7020 kHz). Das ist kein Bug, sondern die interne Quantisierung der Messfunktion.

Optional kann der Cymometer (CYMT?) genutzt werden (Frequency Counter), der bei sauberen Triggerbedingungen oft genauer ist. Bekannte Einschränkungen

C2 zeigt nan, wenn:

    Kanal aus

    kein verwertbares Signal

USB-SCPI ist beim SDS1202X-E firmwareabhängig problematisch → LAN empfohlen

Nur getestet mit SDS1202X-E, andere SDS-Modelle evtl. kompatibel

Getestet mit

Gerät: Siglent SDS1202X-E

Firmware: 1.3.26

OS: Linux

Python: 3.12

pyvisa / pyvisa-py

Lizenz

MIT License (oder nach Wunsch anpassen) Motivation

Kleines, schnelles Tool für:

Labor

Embedded-Entwicklung

HF-Experimente

Automatisierte Messungen

Shell-Skripte

Ohne GUI, ohne Overhead. Beitragen

Pull Requests, Issues und Verbesserungen sind willkommen 🙂

Acknowledgements

Parts of this project (design, debugging, documentation) were developed with the assistance of ChatGPT (OpenAI) as an interactive programming aid.

About

sig` is a small, fast **Python CLI tool** for reading measurement values (frequency, RMS, peak-to-peak) from a **Siglent SDS1202X-E oscilloscope

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages