@@ -664,6 +664,20 class SpectraReader( DataReader ): | |||
|
664 | 664 | if ( currentSize >= neededSize ): |
|
665 | 665 | self.__rdBasicHeader() |
|
666 | 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 | 682 | #Setting new file |
|
669 | 683 | if not( self.__setNextFile() ): |
@@ -702,9 +716,28 class SpectraReader( DataReader ): | |||
|
702 | 716 | self.__flagIsNewFile = 0 |
|
703 | 717 | self.flagIsNewBlock = 1 |
|
704 | 718 | |
|
719 | fpointer = self.__fp.tell() | |
|
720 | ||
|
721 | spc = numpy.fromfile( self.__fp, self.__dataType[0], self.__pts2read_SelfSpectra ) | |
|
722 | cspc = numpy.fromfile( self.__fp, self.__dataType, self.__pts2read_CrossSpectra ) | |
|
723 | dc = numpy.fromfile( self.__fp, self.__dataType, self.__pts2read_DCchannels ) #int(self.m_ProcessingHeader.numHeights*self.m_SystemHeader.numChannels) ) | |
|
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() | |
|
705 | 733 | spc = numpy.fromfile( self.__fp, self.__dataType[0], self.__pts2read_SelfSpectra ) |
|
706 | 734 | cspc = numpy.fromfile( self.__fp, self.__dataType, self.__pts2read_CrossSpectra ) |
|
707 | 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 | |
|
708 | 741 |
|
|
709 | 742 | spc = spc.reshape( (self.nChannels, self.m_ProcessingHeader.numHeights, self.m_ProcessingHeader.profilesPerBlock) ) #transforma a un arreglo 3D |
|
710 | 743 | |
@@ -1090,16 +1123,6 class SpectraReader( DataReader ): | |||
|
1090 | 1123 | if not( self.__setNewBlock() ): |
|
1091 | 1124 | return 0 |
|
1092 | 1125 | |
|
1093 | if self.online: | |
|
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 | 1126 |
|
|
1104 | 1127 | |
|
1105 | 1128 | self.__lastUTTime = self.m_BasicHeader.utc |
@@ -1128,6 +1151,7 class SpectraReader( DataReader ): | |||
|
1128 | 1151 | self.flagIsNewBlock = 0 |
|
1129 | 1152 | |
|
1130 | 1153 | if self.__hasNotDataInBuffer(): |
|
1154 | ||
|
1131 | 1155 | self.readNextBlock() |
|
1132 | 1156 | |
|
1133 | 1157 | self.m_Spectra.m_BasicHeader = self.m_BasicHeader.copy() |
General Comments 0
You need to be logged in to leave comments.
Login now