aboutsummaryrefslogtreecommitdiff
path: root/tektronix.py
diff options
context:
space:
mode:
authorAnthony LaTorre <devnull@localhost>2013-03-01 12:28:12 -0600
committerAnthony LaTorre <devnull@localhost>2013-03-01 12:28:12 -0600
commit4b6de6f134bc6b3c1023c8e86c67883ca9218dd0 (patch)
treec369bd8bba5919182d11e8815a9189990241f17b /tektronix.py
parent19bb5dc974e009b2591c2015910a66035dfaf383 (diff)
downloadlecrunch-4b6de6f134bc6b3c1023c8e86c67883ca9218dd0.tar.gz
lecrunch-4b6de6f134bc6b3c1023c8e86c67883ca9218dd0.tar.bz2
lecrunch-4b6de6f134bc6b3c1023c8e86c67883ca9218dd0.zip
add method to fetch preamble which gives information about the format of the transferred waveform.
Diffstat (limited to 'tektronix.py')
-rw-r--r--tektronix.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tektronix.py b/tektronix.py
index d18885f..e473d7e 100644
--- a/tektronix.py
+++ b/tektronix.py
@@ -8,6 +8,7 @@ preamble_fields = {'BYT_NR': int, # data width for waveform
'NR_PT' : int, # record length of record waveform
'WFID' : str, # description string of waveform
'PT_FMT': str, # format of reverence waveform (Y/ENV)
+ 'XINCR' : float,
'PT_OFF': int,
'XZERO' : float,
'XUNIT' : str,
@@ -35,3 +36,27 @@ class TekScope(object):
break
return buffer
+
+ def query(self, msg):
+ if not msg.endswith('\n'):
+ msg += '\n'
+
+ self.send(msg)
+
+ return self.recv()
+
+ def get_preamble(self):
+ header = self.query('header?\n')
+
+ # turn header on so that we know preamble field names
+ self.send('header 1\n')
+
+ preamble = {}
+ for s in self.query('wfmpre?\n').strip()[8:].split(';'):
+ key, value = s.split(' ',1)
+
+ preamble[key] = preamble_fields[key](value)
+
+ self.send(header)
+
+ return preamble