##// END OF EJS Templates
En IO/Header.py:...
Daniel Valdez -
r15:731909e6d41d
parent child
Show More
@@ -0,0 +1,49
1 '''
2 Created on 23/01/2012
3
4 @author: danielangelsuarezmunoz
5 '''
6 import os
7 import sys
8 import datetime
9 import time
10
11 class TestIO():
12
13 def __init__(self):
14 self.setValues()
15 self.createVoltageObjects()
16 self.testReadVoltage()
17 pass
18
19 def setValues(self):
20
21
22 self.path = '/Users/danielangelsuarezmunoz/Documents/Projects'
23 self.startDateTime = datetime.datetime(2007,5,1,17,49,0)
24 self.endDateTime = datetime.datetime(2007,5,1,18,10,0)
25
26 def createVoltageObjects(self):
27 path = os.path.split(os.getcwd())[0]
28 sys.path.append(path)
29
30 from IO.Voltage import VoltageReader
31 from Model.Voltage import Voltage
32
33 self.voltageModelObj = Voltage()
34 self.voltageReaderObj = VoltageReader(self.voltageModelObj)
35 self.voltageReaderObj.setup(self.path, self.startDateTime, self.endDateTime)
36
37 def testReadVoltage(self):
38 while(not(self.voltageReaderObj.noMoreFiles)):
39
40 self.voltageReaderObj.getData()
41 if self.voltageReaderObj.flagResetProcessing:
42 print 'jump'
43
44 if self.voltageReaderObj.flagIsNewBlock:
45 print 'Block No %04d, Time: %s'%(self.voltageReaderObj.nReadBlocks,
46 datetime.datetime.fromtimestamp(self.voltageReaderObj.m_BasicHeader.utc))
47
48 if __name__ == '__main__':
49 TestIO() No newline at end of file
@@ -79,7 +79,13 class BasicHeader:
79 79
80 80 obj = BasicHeader()
81 81 obj.size = self.size
82
82 obj.version = self.version
83 obj.dataBlock = self.dataBlock
84 obj.utc = self.utc
85 obj.miliSecond = self.miliSecond
86 obj.timeZone = self.timeZone
87 obj.dstFlag = self.dstFlag
88 obj.errorCount = self.errorCount
83 89
84 90 return obj
85 91
@@ -118,6 +124,11 class SystemHeader:
118 124
119 125 obj = SystemHeader()
120 126 obj.size = self.size
127 obj.numSamples = self.numSamples
128 obj.numProfiles = self.numProfiles
129 obj.numChannels = self.numChannels
130 obj.adcResolution = self.adcResolution
131 self.pciDioBusWidth = self.pciDioBusWidth
121 132
122 133
123 134 return obj
@@ -193,7 +204,22 class RadarControllerHeader:
193 204
194 205 obj = RadarControllerHeader()
195 206 obj.size = self.size
196
207 obj.expType = self.expType
208 obj.nTx = self.nTx
209 obj.ipp = self.ipp
210 obj.txA = self.txA
211 obj.txB = self.txB
212 obj.numWindows = self.numWindows
213 obj.numTaus = self.numTaus
214 obj.codeType = self.codeType
215 obj.line6Function = self.line6Function
216 obj.line5Fuction = self.line5Fuction
217 obj.fClock = self.fClock
218 obj.prePulseBefore = self.prePulseBefore
219 obj.prePulserAfter = self.prePulserAfter
220 obj.rangeIpp = self.rangeIpp
221 obj.rangeTxA = self.rangeTxA
222 obj.rangeTxB = self.rangeTxB
197 223
198 224 return obj
199 225
@@ -264,6 +290,23 class ProcessingHeader:
264 290
265 291 obj = ProcessingHeader()
266 292 obj.size = self.size
267
293 obj.dataType = self.dataType
294 obj.blockSize = self.blockSize
295 obj.profilesPerBlock = self.profilesPerBlock
296 obj.dataBlocksPerFile = self.dataBlocksPerFile
297 obj.numWindows = self.numWindows
298 obj.processFlags = self.processFlags
299 obj.coherentInt = self.coherentInt
300 obj.incoherentInt = self.incoherentInt
301 obj.totalSpectra = self.totalSpectra
302 obj.samplingWindow = self.samplingWindow
303 obj.numHeights = self.numHeights
304 obj.firstHeight = self.firstHeight
305 obj.deltaHeight = self.deltaHeight
306 obj.samplesWin = self.samplesWin
307 obj.spectraComb = self.spectraComb
308 obj.numCode = self.numCode
309 obj.numBaud = self.numBaud
310 obj.codes = self.codes
268 311
269 312 return obj No newline at end of file
@@ -12,9 +12,9 import fnmatch
12 12 import time
13 13 import datetime
14 14
15 from Header import *
16 from Data import DataReader
17 from Data import DataWriter
15 from IO.Header import *
16 from IO.Data import DataReader
17 from IO.Data import DataWriter
18 18
19 19 path = os.path.split(os.getcwd())[0]
20 20 sys.path.append(path)
@@ -45,6 +45,8 class VoltageReader(DataReader):
45 45
46 46 __flagIsNewFile = 0
47 47
48 __ippSeconds = 0
49
48 50 flagResetProcessing = 0
49 51
50 52 flagIsNewBlock = 0
@@ -249,7 +251,9 class VoltageReader(DataReader):
249 251
250 252 self.__dataType = tmp
251 253 self.__fileSizeByHeader = self.m_ProcessingHeader.dataBlocksPerFile * self.m_ProcessingHeader.blockSize + self.firstHeaderSize + self.basicHeaderSize*(self.m_ProcessingHeader.dataBlocksPerFile - 1)
252
254 c=3E8
255 self.__ippSeconds = 2*1000*self.m_RadarControllerHeader.ipp/c
256
253 257 def __setNextFileOnline(self):
254 258 return 0
255 259
@@ -379,14 +383,15 class VoltageReader(DataReader):
379 383 return None
380 384
381 385 data = self.__buffer[self.__buffer_id,:,:]
382 time = 111
383
384 # self.m_Voltage.data = data
385 # self.m_Voltage.timeProfile = time
386 # self.m_Voltage.m_BasicHeader = self.m_BasicHeader.copy()
387 # self.m_Voltage.m_ProcessingHeader = self.m_ProcessingHeader.copy()
388 # self.m_Voltage.m_RadarControllerHeader = self.m_RadarControllerHeader.copy()
389 # self.m_Voltage.m_SystemHeader = self.m_systemHeader.copy()
386
387 time = self.m_BasicHeader.utc + self.__buffer_id*self.__ippSeconds
388
389 self.m_Voltage.m_BasicHeader = self.m_BasicHeader.copy()
390 self.m_Voltage.m_ProcessingHeader = self.m_ProcessingHeader.copy()
391 self.m_Voltage.m_RadarControllerHeader = self.m_RadarControllerHeader.copy()
392 self.m_Voltage.m_SystemHeader = self.m_SystemHeader.copy()
393 self.m_Voltage.m_BasicHeader.utc = time
394 self.m_Voltage.data = data
390 395
391 396 self.__buffer_id += 1
392 397
@@ -24,6 +24,10 class Voltage(Data):
24 24 m_SystemHeader= SystemHeader()
25 25
26 26 m_BasicHeader= BasicHeader()
27
28 data = None
29
30 noData = True
27 31
28 32
29 33 def __init__(self):
@@ -33,5 +37,11 class Voltage(Data):
33 37 pass
34 38
35 39 def copy(self):
36 pass
40 obj = Voltage()
41 obj.m_BasicHeader = self.m_BasicHeader.copy()
42 obj.m_SystemHeader = self.m_SystemHeader.copy()
43 obj.m_RadarControllerHeader = self.m_RadarControllerHeader.copy()
44 obj.m_ProcessingHeader = self.m_ProcessingHeader.copy()
45
46 return obj
37 47 No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now