Forum: Projekte & Code R&S RTB2000 Screenshot auslesen


von Olaf K. (darkover)


Angehängte Dateien:

Lesenswert?

Hier mal ein kleines Quick&Dirty Programm um aus einem RTB2004 einen
Screenshot ueber Netzwerk auszulesen.

Dokumentation: Read the source

Anpassung:     IP-Adresse im Source eingeben, Oszi auf PNG stellen

Installation:  make

Aufruf:        rtb2000 test.png

Kein Linux:    Dein Problem :-)


Olaf

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Dein Prog könnte aber auch beim starten einmal ein "HCOP:FORM PNG" 
senden.
Dann kanns da nicht zu Fehlern kommen.

von Olaf (Gast)


Lesenswert?

Ja, ich weiss. Ich hab das aber einer Stunde zusammengehackt und wollt 
erstmal nicht uebertreiben. Sonst ist das am Ende so ein 
Agilent-Programm wo man 1GByte installieren muss bis der Screenshot da 
ist. Das ist dann nicht nachhaltig! :-)

Olaf

von Olaf (Gast)


Lesenswert?

Noch was, ich kanns nicht ausprobieren weil ich dafuer keine 
Netzwerkkarte habe,
aber ich vermute das es fuer die HMOs auch so geht weil die Kommandos
sehr aehnlich sind. Eventuell muss man die Übergabe der
Dateigrösse anfassen wenn ungleich 5Stellen, da hab ich was dirty 
gehackt.

Leider hat R&S das im Handbuch nicht vernuenftig dokumentiert!
Die geben wohl erst die Anzahl der Stellen und dann die Filelaenge in 
Bytes aus.

Olaf

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Das muss im DB nicht nochmal dokumentiert werden, Binärkrams wird im 
GPIB Format übertragen.
Mit GPIB (hieß sogar mal HPIB, weil die das erfunden haben).
Der GPIB Krams mit SCPI wurde dann nur auf immer modernere 
Übertragungsarten umgemünzt.
Inzwischen eben LXI über Netzwerk oder USB.

Hier mal etwas Phythoncode aus meinem Remote Oszi Screenshot ausleser.
Der ist aber in Python und für ein Rigol MSO5000.
Der Header fürs Binäre ist aber gleich.
1
# decodes the header from bytestream returning functions (like screenshot)
2
# IEEE binary data block 
3
# -> https://na.support.keysight.com/pxi/help/latest/Programming/Learning_about_GPIB/Getting_Data_from_the_Analyzer.htm
4
# returns dictionary of num of headerbytes and databytes
5
def DecodeHeader(byteStream):
6
  
7
  # first byte is the start of header ('#')
8
  # second byte is the len of the header following
9
  # example: '#9001843254'
10
  
11
  retDict = {}
12
  retDict['headerbytes']  = 2
13
  retDict['headerbytes'] += int(chr(byteStream[1]))
14
  retDict['databytes']    = int(byteStream[2:retDict['headerbytes']].decode('ascii'))
15
  return retDict

von Olaf (Gast)


Lesenswert?

> Der ist aber in Python und für ein Rigol MSO5000.

Gott, was ich diese Schludersprache hasse, aber ganz identisch ist das 
nicht. Mit fuehrenden Nullen hat es R&S nicht so.

Olaf

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Is ja auch egal ob da jetzt Nullen führen oder nicht.
Der Header startet immer mit '#', dann kommt ein char welches die 
Restlänge des Headers anzeigt.
Die Restlänge sind eine Zahl in asci wieviele Bytes denn jetzt binär 
kommen werden.
Ist mit sscanf also auch gut verdaubar, das ignoriert ja führende Nullen 
wenn es zu ner Zahl umwandeln soll.

von MiWi (Gast)


Lesenswert?

Olaf K. schrieb:
> Hier mal ein kleines Quick&Dirty Programm um aus einem RTB2004 einen
> Screenshot ueber Netzwerk auszulesen.
>
> Dokumentation: Read the source
>
> Anpassung:     IP-Adresse im Source eingeben, Oszi auf PNG stellen
>
> Installation:  make
>
> Aufruf:        rtb2000 test.png
>
> Kein Linux:    Dein Problem :-)
>
>
> Olaf

Vom Peter Dreisiebner gibts eine SW die das auch periodisch macht. Unter 
Windows. Und nicht nur für das RTB sondern IIRC auch für andere Oszis.

Sehr praktisch wenn man Dauertests macht und alle 60s einen Screenshot 
braucht :-)

auf diesem Weg einen herzlichen Dank an Peter.

Such müsst ihr selber, er versteckt das auf seiner Website recht gut.

von Olaf K. (darkover)


Angehängte Dateien:

Lesenswert?

So, die Entwicklungsabteilung hier hat keine Muehen gescheut und ein
weiteres Qualitaetsprogramm fuer die Freunde der gepflegten 
Kommandozeile rausgehauen. :-)

Anpassung: Im Source die IP-Adresse einstellen.

Installation: make

Nutzung: rtblabel 1 hallo

Schaltet das Label fuer Kanal 1 ein und setzt es auf "hallo".

rtblabel 4

Schaltet das Label fuer Kanal 4 aus. Es geht also fuer alle Kanaele.

Das ist doch etwas einfacher als am Oszi selber rumzutueddeln.

Olaf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.