|
|
'''
|
|
|
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 = "/Users/jro/Documents/RadarData/EW_Drifts"
|
|
|
# self.path = "/Users/jro/Documents/RadarData/JULIA"
|
|
|
# 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,1,0,0,0)
|
|
|
self.endDateTime = datetime.datetime(2011,12,31,0,20,0)
|
|
|
self.N = 4
|
|
|
self.npts = 8
|
|
|
|
|
|
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)
|
|
|
|
|
|
if not(self.readerObj.setup( self.path, self.startDateTime, self.endDateTime, expLabel='', online =0) ):
|
|
|
sys.exit(0)
|
|
|
|
|
|
self.specProcObj.setup(nFFTPoints=8)
|
|
|
|
|
|
|
|
|
def testSChain( self ):
|
|
|
|
|
|
ini = time.time()
|
|
|
while(True):
|
|
|
self.readerObj.getData()
|
|
|
|
|
|
self.voltProcObj.init()
|
|
|
|
|
|
self.voltProcObj.plotData(winTitle='VOLTAGE INPUT', index=1)
|
|
|
|
|
|
self.voltProcObj.integrator(4)
|
|
|
|
|
|
self.voltProcObj.plotData(winTitle='VOLTAGE AVG', index=2)
|
|
|
|
|
|
|
|
|
self.specProcObj.init()
|
|
|
|
|
|
self.specProcObj.integrator(N=2)
|
|
|
|
|
|
self.specProcObj.plotData(winTitle='Spectra 1', index=3)
|
|
|
|
|
|
|
|
|
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),)
|
|
|
|
|
|
|
|
|
# self.plotObj.end()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
TestSChain()
|