''' Created on 27/03/2012 @author $Author$ @version $Id$ ''' import os, sys import time, datetime from Model.Voltage import Voltage from IO.VoltageIO import * #from Graphics.VoltagePlot import Osciloscope from Model.Spectra import Spectra from IO.SpectraIO import * from Processing.VoltageProcessor import * from Processing.SpectraProcessor import * class TestSChain(): def __init__(self): self.setValues() self.createObjects() self.testSChain() def setValues( self ): self.path = "/home/dsuarez/Projects" #1 self.path = "/home/roj-idl71/Data/RAWDATA/IMAGING" # self.startDateTime = datetime.datetime(2007,5,1,15,49,0) # self.endDateTime = datetime.datetime(2007,5,1,23,0,0) self.startDateTime = datetime.datetime(2011,10,4,0,0,0) self.endDateTime = datetime.datetime(2011,10,4,0,20,0) self.N = 10 self.npts = 1024 def createObjects( self ): self.voltObj1 = Voltage() self.voltObj2 = Voltage() self.specObj1 = Spectra() self.readerObj = VoltageReader(self.voltObj1) self.voltProcObj = VoltageProcessor(self.voltObj1, self.voltObj2) self.specProcObj = SpectraProcessor(self.voltObj2, self.specObj1) #self.plotObj = Osciloscope(self.voltObj1) if not(self.readerObj.setup( self.path, self.startDateTime, self.endDateTime, expLabel='', online =0) ): sys.exit(0) # if not(self.readerObj.setup(self.path, self.startDateTime, self.endDateTime)): # sys.exit(0) def testSChain( self ): ini = time.time() while(True): self.readerObj.getData() self.voltProcObj.init() # self.voltProcObj.plotData(idProfile = 1, type='iq', ymin=-25000, ymax=25000, winTitle='sin decodificar') self.voltProcObj.decoder(type=0) # self.voltProcObj.plotData(idProfile = 1, type='iq', ymin=-70000, ymax=70000,winTitle='Decodificado') # self.voltProcObj.integrator(self.N) # self.voltProcObj.plotData(idProfile = 1, type='iq', ymin=-700000, ymax=700000,winTitle='figura 3') self.specProcObj.init(self.npts) self.specProcObj.integrator(2) self.specProcObj.plotData(winTitle='Spectra 1', index=0) # if self.readerObj.getData(): # self.plotObj.plotData(idProfile=0, type='power' ) # # if self.readerObj.flagNoMoreFiles: break # if self.readerObj.flagIsNewBlock: print 'Block No %04d, Time: %s' %(self.readerObj.nTotalBlocks, datetime.datetime.fromtimestamp(self.readerObj.m_BasicHeader.utc),) # fin = time.time() # print 'Tiempo de un bloque leido y escrito: [%6.5f]' %(fin - ini) # ini = time.time() #time.sleep(0.5) # self.plotObj.end() if __name__ == '__main__': TestSChain()