diff options
-rw-r--r-- | tektronix.py | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/tektronix.py b/tektronix.py index 3cd266d..4fed50f 100644 --- a/tektronix.py +++ b/tektronix.py @@ -241,31 +241,39 @@ if __name__ == '__main__': fastframe_count = int(scope.query('horizontal:fastframe:count?')) i = 0 - while i < options.nevents: - print '\rsaving event: %i' % (i+1), - sys.stdout.flush() + try: + while i < options.nevents: + print '\rsaving event: %i' % (i+1), + sys.stdout.flush() - scope.acquire() + scope.acquire() - if fastframe_state: - n = min(fastframe_count,options.nevents-i) - else: - n = 1 + if fastframe_state: + n = min(fastframe_count,options.nevents-i) + else: + n = 1 - for channel in active_channels: - dataset = f['channel%i' % channel] + for channel in active_channels: + dataset = f['channel%i' % channel] - data = scope.get_waveform(channel, dataset.dtype) + data = scope.get_waveform(channel, dataset.dtype) - if fastframe_state: - data = data.reshape((fastframe_count,-1)) - dataset[i:i+n] = data[:n] - else: - dataset[i] = data + if fastframe_state: + data = data.reshape((fastframe_count,-1)) + dataset[i:i+n] = data[:n] + else: + dataset[i] = data - i += n + i += n + except KeyboardInterrupt: + print + print 'resizing datasets...' - print + for channel in active_channels: + dataset = f['channel%i' % channel] + dataset.resize((i,dataset.shape[1])) + else: + print elapsed = time.time() - t0 |