|
|
'''
|
|
|
Created on 23/01/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 Graphics.SpectraPlot import Spectrum
|
|
|
|
|
|
class TestSChain():
|
|
|
|
|
|
|
|
|
def __init__(self):
|
|
|
self.setValues()
|
|
|
self.createObjects()
|
|
|
self.setupObjects()
|
|
|
self.testSChain()
|
|
|
pass
|
|
|
|
|
|
def setValues(self):
|
|
|
|
|
|
self.path = '/home/roj-idl71/Data/RAWDATA/DP_Faraday/'
|
|
|
self.path = '/Users/danielangelsuarezmunoz/Documents/Projects/testWR'
|
|
|
self.path = '/home/roj-idl71/Data/RAWDATA/IMAGING'
|
|
|
#self.path = '/remote/puma/2011_08/E-F_Valley'
|
|
|
#self.path = '/remote/puma/2011_12/EEJ+150km+ONAXIS+ESF+Twilight/Twilight/'
|
|
|
self.path = '/home/roj-idl71/tmp/data/'
|
|
|
|
|
|
self.ppath = "/home/roj-idl71/tmp/data"
|
|
|
self.startDateTime = datetime.datetime(2011,1,31,0,20,0)
|
|
|
self.endDateTime = datetime.datetime(2011,12,5,18,10,0)
|
|
|
|
|
|
def createObjects(self):
|
|
|
|
|
|
# self.Obj = Voltage()
|
|
|
# self.readerObj = VoltageReader(self.Obj)
|
|
|
# self.plotObj = Osciloscope(self.Obj)
|
|
|
# self.writerObj = VoltageWriter(self.Obj)
|
|
|
|
|
|
self.Obj = Spectra()
|
|
|
self.readerObj = SpectraReader(self.Obj)
|
|
|
self.plotObj = Spectrum(self.Obj)
|
|
|
# self.writerObj = SpectraWriter(self.Obj)
|
|
|
|
|
|
def setupObjects(self):
|
|
|
|
|
|
if not(self.readerObj.setup(self.path, self.startDateTime, self.endDateTime, expLabel='', online = 0)):
|
|
|
sys.exit(0)
|
|
|
|
|
|
print "Parameters:"
|
|
|
|
|
|
print "Num profiles: %s" %(self.readerObj.m_SystemHeader.numProfiles)
|
|
|
print "Num samples: %s" %(self.readerObj.m_SystemHeader.numSamples)
|
|
|
print "Num channels: %s" %(self.readerObj.m_SystemHeader.numChannels)
|
|
|
|
|
|
print "Num profiles per block: %s" %(self.readerObj.m_ProcessingHeader.profilesPerBlock)
|
|
|
print "Num heights: %s" %(self.readerObj.m_ProcessingHeader.numHeights)
|
|
|
print "Num coh int: %s" %(self.readerObj.m_ProcessingHeader.coherentInt)
|
|
|
print "Num incoh int: %s" %(self.readerObj.m_ProcessingHeader.incoherentInt)
|
|
|
|
|
|
print "Num code: %d" %(self.readerObj.m_ProcessingHeader.numCode)
|
|
|
print "Num baud: %d" %(self.readerObj.m_ProcessingHeader.numBaud)
|
|
|
|
|
|
# if not(self.writerObj.setup(self.ppath)):
|
|
|
# sys.exit(0)
|
|
|
|
|
|
def testSChain(self):
|
|
|
|
|
|
ini = time.time()
|
|
|
while(True):
|
|
|
self.readerObj.getData()
|
|
|
self.plotObj.plotData(zmin=40, zmax=140, showColorbar=True, showPowerProfile=True)
|
|
|
#self.plotObj.plotData(idProfile=1, type="power")
|
|
|
# self.writerObj.putData()
|
|
|
|
|
|
if self.readerObj.noMoreFiles:
|
|
|
break
|
|
|
|
|
|
if self.readerObj.flagIsNewBlock:
|
|
|
print 'Block No %04d, Time: %s' %(self.readerObj.nReadBlocks,
|
|
|
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()
|