##// 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 obj = BasicHeader()
80 obj = BasicHeader()
81 obj.size = self.size
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 return obj
90 return obj
85
91
@@ -118,6 +124,11 class SystemHeader:
118
124
119 obj = SystemHeader()
125 obj = SystemHeader()
120 obj.size = self.size
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 return obj
134 return obj
@@ -193,7 +204,22 class RadarControllerHeader:
193
204
194 obj = RadarControllerHeader()
205 obj = RadarControllerHeader()
195 obj.size = self.size
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 return obj
224 return obj
199
225
@@ -264,6 +290,23 class ProcessingHeader:
264
290
265 obj = ProcessingHeader()
291 obj = ProcessingHeader()
266 obj.size = self.size
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 return obj No newline at end of file
312 return obj
@@ -12,9 +12,9 import fnmatch
12 import time
12 import time
13 import datetime
13 import datetime
14
14
15 from Header import *
15 from IO.Header import *
16 from Data import DataReader
16 from IO.Data import DataReader
17 from Data import DataWriter
17 from IO.Data import DataWriter
18
18
19 path = os.path.split(os.getcwd())[0]
19 path = os.path.split(os.getcwd())[0]
20 sys.path.append(path)
20 sys.path.append(path)
@@ -45,6 +45,8 class VoltageReader(DataReader):
45
45
46 __flagIsNewFile = 0
46 __flagIsNewFile = 0
47
47
48 __ippSeconds = 0
49
48 flagResetProcessing = 0
50 flagResetProcessing = 0
49
51
50 flagIsNewBlock = 0
52 flagIsNewBlock = 0
@@ -249,7 +251,9 class VoltageReader(DataReader):
249
251
250 self.__dataType = tmp
252 self.__dataType = tmp
251 self.__fileSizeByHeader = self.m_ProcessingHeader.dataBlocksPerFile * self.m_ProcessingHeader.blockSize + self.firstHeaderSize + self.basicHeaderSize*(self.m_ProcessingHeader.dataBlocksPerFile - 1)
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 def __setNextFileOnline(self):
257 def __setNextFileOnline(self):
254 return 0
258 return 0
255
259
@@ -379,14 +383,15 class VoltageReader(DataReader):
379 return None
383 return None
380
384
381 data = self.__buffer[self.__buffer_id,:,:]
385 data = self.__buffer[self.__buffer_id,:,:]
382 time = 111
386
383
387 time = self.m_BasicHeader.utc + self.__buffer_id*self.__ippSeconds
384 # self.m_Voltage.data = data
388
385 # self.m_Voltage.timeProfile = time
389 self.m_Voltage.m_BasicHeader = self.m_BasicHeader.copy()
386 # self.m_Voltage.m_BasicHeader = self.m_BasicHeader.copy()
390 self.m_Voltage.m_ProcessingHeader = self.m_ProcessingHeader.copy()
387 # self.m_Voltage.m_ProcessingHeader = self.m_ProcessingHeader.copy()
391 self.m_Voltage.m_RadarControllerHeader = self.m_RadarControllerHeader.copy()
388 # self.m_Voltage.m_RadarControllerHeader = self.m_RadarControllerHeader.copy()
392 self.m_Voltage.m_SystemHeader = self.m_SystemHeader.copy()
389 # 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 self.__buffer_id += 1
396 self.__buffer_id += 1
392
397
@@ -24,6 +24,10 class Voltage(Data):
24 m_SystemHeader= SystemHeader()
24 m_SystemHeader= SystemHeader()
25
25
26 m_BasicHeader= BasicHeader()
26 m_BasicHeader= BasicHeader()
27
28 data = None
29
30 noData = True
27
31
28
32
29 def __init__(self):
33 def __init__(self):
@@ -33,5 +37,11 class Voltage(Data):
33 pass
37 pass
34
38
35 def copy(self):
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 No newline at end of file
47
General Comments 0
You need to be logged in to leave comments. Login now