@@ -664,6 +664,20 class SpectraReader( DataReader ): | |||||
664 | if ( currentSize >= neededSize ): |
|
664 | if ( currentSize >= neededSize ): | |
665 | self.__rdBasicHeader() |
|
665 | self.__rdBasicHeader() | |
666 | return 1 |
|
666 | return 1 | |
|
667 | elif self.online: | |||
|
668 | nTries = 0 | |||
|
669 | while( nTries < self.__nTries ): | |||
|
670 | nTries += 1 | |||
|
671 | print "Waiting for the next block, try %03d ..." % nTries | |||
|
672 | time.sleep( self.__delay ) | |||
|
673 | ||||
|
674 | fileSize = os.path.getsize(self.filename) | |||
|
675 | currentSize = fileSize - self.__fp.tell() | |||
|
676 | neededSize = self.m_ProcessingHeader.blockSize + self.basicHeaderSize | |||
|
677 | ||||
|
678 | if ( currentSize >= neededSize ): | |||
|
679 | self.__rdBasicHeader() | |||
|
680 | return 1 | |||
667 |
|
681 | |||
668 | #Setting new file |
|
682 | #Setting new file | |
669 | if not( self.__setNextFile() ): |
|
683 | if not( self.__setNextFile() ): | |
@@ -702,10 +716,29 class SpectraReader( DataReader ): | |||||
702 | self.__flagIsNewFile = 0 |
|
716 | self.__flagIsNewFile = 0 | |
703 | self.flagIsNewBlock = 1 |
|
717 | self.flagIsNewBlock = 1 | |
704 |
|
718 | |||
|
719 | fpointer = self.__fp.tell() | |||
|
720 | ||||
705 | spc = numpy.fromfile( self.__fp, self.__dataType[0], self.__pts2read_SelfSpectra ) |
|
721 | spc = numpy.fromfile( self.__fp, self.__dataType[0], self.__pts2read_SelfSpectra ) | |
706 | cspc = numpy.fromfile( self.__fp, self.__dataType, self.__pts2read_CrossSpectra ) |
|
722 | cspc = numpy.fromfile( self.__fp, self.__dataType, self.__pts2read_CrossSpectra ) | |
707 | dc = numpy.fromfile( self.__fp, self.__dataType, self.__pts2read_DCchannels ) #int(self.m_ProcessingHeader.numHeights*self.m_SystemHeader.numChannels) ) |
|
723 | dc = numpy.fromfile( self.__fp, self.__dataType, self.__pts2read_DCchannels ) #int(self.m_ProcessingHeader.numHeights*self.m_SystemHeader.numChannels) ) | |
708 |
|
724 | |||
|
725 | if (spc.size + cspc.size + dc.size) != self.__blocksize: | |||
|
726 | nTries = 0 | |||
|
727 | while( nTries < self.__nTries ): | |||
|
728 | nTries += 1 | |||
|
729 | print "Waiting for the next block, try %03d ..." % nTries | |||
|
730 | time.sleep( self.__delay ) | |||
|
731 | self.__fp.seek( fpointer ) | |||
|
732 | fpointer = self.__fp.tell() | |||
|
733 | spc = numpy.fromfile( self.__fp, self.__dataType[0], self.__pts2read_SelfSpectra ) | |||
|
734 | cspc = numpy.fromfile( self.__fp, self.__dataType, self.__pts2read_CrossSpectra ) | |||
|
735 | dc = numpy.fromfile( self.__fp, self.__dataType, self.__pts2read_DCchannels ) #int(self.m_ProcessingHeader.numHeights*self.m_SystemHeader.numChannels) ) | |||
|
736 | if (spc.size + cspc.size + dc.size) == self.__blocksize: | |||
|
737 | nTries = 0 | |||
|
738 | break | |||
|
739 | if nTries > 0: | |||
|
740 | return | |||
|
741 | ||||
709 | spc = spc.reshape( (self.nChannels, self.m_ProcessingHeader.numHeights, self.m_ProcessingHeader.profilesPerBlock) ) #transforma a un arreglo 3D |
|
742 | spc = spc.reshape( (self.nChannels, self.m_ProcessingHeader.numHeights, self.m_ProcessingHeader.profilesPerBlock) ) #transforma a un arreglo 3D | |
710 |
|
743 | |||
711 | cspc = cspc.reshape( (self.nPairs, self.m_ProcessingHeader.numHeights, self.m_ProcessingHeader.profilesPerBlock) ) #transforma a un arreglo 3D |
|
744 | cspc = cspc.reshape( (self.nPairs, self.m_ProcessingHeader.numHeights, self.m_ProcessingHeader.profilesPerBlock) ) #transforma a un arreglo 3D | |
@@ -1089,18 +1122,8 class SpectraReader( DataReader ): | |||||
1089 |
|
1122 | |||
1090 | if not( self.__setNewBlock() ): |
|
1123 | if not( self.__setNewBlock() ): | |
1091 | return 0 |
|
1124 | return 0 | |
1092 |
|
1125 | |||
1093 | if self.online: |
|
1126 | self.__readBlock() | |
1094 | nTries = 0 |
|
|||
1095 | while( nTries < self.__nTries ): |
|
|||
1096 | nTries += 1 |
|
|||
1097 | if self.__readBlock() == 0: |
|
|||
1098 | print "Waiting for the next block ..." |
|
|||
1099 | time.sleep( self.__delay ) |
|
|||
1100 | else: |
|
|||
1101 | break |
|
|||
1102 | else: |
|
|||
1103 | self.__readBlock() |
|
|||
1104 |
|
1127 | |||
1105 | self.__lastUTTime = self.m_BasicHeader.utc |
|
1128 | self.__lastUTTime = self.m_BasicHeader.utc | |
1106 |
|
1129 | |||
@@ -1128,6 +1151,7 class SpectraReader( DataReader ): | |||||
1128 | self.flagIsNewBlock = 0 |
|
1151 | self.flagIsNewBlock = 0 | |
1129 |
|
1152 | |||
1130 | if self.__hasNotDataInBuffer(): |
|
1153 | if self.__hasNotDataInBuffer(): | |
|
1154 | ||||
1131 | self.readNextBlock() |
|
1155 | self.readNextBlock() | |
1132 |
|
1156 | |||
1133 | self.m_Spectra.m_BasicHeader = self.m_BasicHeader.copy() |
|
1157 | self.m_Spectra.m_BasicHeader = self.m_BasicHeader.copy() |
General Comments 0
You need to be logged in to leave comments.
Login now