#!/usr/local/bin/python2.6 # dst2tank.py from tracebuf2 import tracebuf2 from struct import pack def getEndtime(time, samprate, nsamp): return getTime(time, samprate, nsamp-1) def getTime(time, samprate, nsamp): return time + float(nsamp)/float(samprate) def writeTracebuf(tb2, infile, outfile, maxsamp): samples = [] nextSecs = None for n in range (0, maxsamp): line = infile.readline() if len(line) == 0: break (date, str_value) = line.split() secs = int(date) if (nextSecs == None): tb2.setStarttime(secs) elif (secs != nextSecs): break nextSecs = getTime(secs, tb2.getSamprate(), 1) float_value = float(str_value) int_value = int(round(float_value * 1000.)) samples.append(int_value) nsamp = len(samples) if (nsamp > 0): tb2.setNsamp(nsamp) tb2.setEndtime("auto") tb2.setTheader() outfile.write(tb2.getTheader()) for sample in samples: outfile.write(pack("