Skip to content

Python tools to access Siglent-manufactured oscilloscopes

License

Notifications You must be signed in to change notification settings

BobRyan530/sigctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sigctl

Python tools to access Siglent-manufactured oscilloscopes through the VXI11 interface.

Tested on a B&K Precision 2557 which I believe is a rebadged Siglent SDS1204cfl.

Examples:

./sigview.py --help
usage: sigview.py [-h] -i IP [-c CHANNELS] [-d] [-n] [--fp FP] [--sp SP]
				  [--np NP] [--wtype {0,1}]

optional arguments:
  -h, --help            show this help message and exit
  -i IP, --ip IP        ip for vxi11 interface to instrument
  -c CHANNELS, --channels CHANNELS
						comma separated list of channels to poll
  -d, --debug           increase output verbosity
  -n, --noconversion    don't scale values to volts. display as currently on
						oscilloscope
  --fp FP               waveform setup: first point
  --sp SP               waveform setup: sparsing
  --np NP               waveform setup: number of points
  --wtype {0,1}         waveform setup: type: 0 = points on screen, 1 = all
						points in memory
./sigdump.py --help
usage: sigdump.py [-h] -i IP -f FILENAME [-c CHANNELS] [-d] [-n] [--fp FP]
                  [--sp SP] [--np NP] [--wtype {0,1}] [--sigrok] [--vih VIH]

optional arguments:
  -h, --help            show this help message and exit
  -i IP, --ip IP        ip for vxi11 interface to instrument
  -f FILENAME, --filename FILENAME
                        filename to dump output to
  -c CHANNELS, --channels CHANNELS
                        comma separated list of channels to poll
  -d, --debug           increase output verbosity
  -n, --noconversion    don't scale values to volts. display as currently on
                        oscilloscope
  --fp FP               waveform setup: first point
  --sp SP               waveform setup: sparsing
  --np NP               waveform setup: number of points
  --wtype {0,1}         waveform setup: type: 0 = points on screen, 1 = all
                        points in memory
  --sigrok              output csv in a format usable by sigrok
  --vih VIH             voltage level above which is considered logic high

Display all channels on device at 192.168.1.88

./sigview.py -i 192.168.1.88

Display channel 3 and don't scale to volts

./sigview.py -i 192.168.1.88 -c ch3 -n

Display all points in memory for channels 1 and 2

./sigview.py -i 192.168.1.88 -c ch2,CH1 --wtype 1

Dump all channels in csv format to /tmp/wf.csv

./sigdump.py -i 192.168.1.88 -f /tmp/wf.csv

Dump all channels in csv format which can be imported by sigrok. Vih = +2.1v

./sigdump.py -i 192.168.1.88 -f /tmp/wf.csv --sigrok --vih 2.1

The above file can be imported into pulseview but will not have timestamps. It can be converted with

sigrok-cli -I csv:header=true:samplerate=`grep samplerate /tmp/wf.csv|cut -d= -f2` -i /tmp/wf.csv -o /tmp/wf.sr

and the .sr file can be opened by pulseview

About

Python tools to access Siglent-manufactured oscilloscopes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages