diff options
Diffstat (limited to 'tektronix.py')
-rw-r--r-- | tektronix.py | 25 |
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 |