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