##// END OF EJS Templates
Se realizar la lectura en modo online llamando al metodo digitalRFReader(self.path) en reemplazo del metodo reload(), grabando previamente el path de lectura o directorio superior donde se almacena la data. Adicionalmente, se ha definido un tiempo de espera de 3 segundos para dar tiempo suficiente al programa de adquisicion de generar archivos. ...
Se realizar la lectura en modo online llamando al metodo digitalRFReader(self.path) en reemplazo del metodo reload(), grabando previamente el path de lectura o directorio superior donde se almacena la data. Adicionalmente, se ha definido un tiempo de espera de 3 segundos para dar tiempo suficiente al programa de adquisicion de generar archivos. El archivo jroIO_digitalRF.py utiliza la libreria digital_rf cuya version actual es la 2.62( 2017 ) ,esta libreria no tiene definido el metodo o clase reload, este metodo existe en la version 2.0(2014), si uno revisa el archivo jroIO_usrp.py, esta unidad de lectura trabaja con la version 2.0 llamada digital_rf_hdf5, para hacer uso de esta unidad de lectura se instalan los programas correspondiente pero el formato y la informacion difiere un poco de la version actual. Se infiere entonces que al desarrollar del archivo jroIO_digitalRF.py, esperaba que la libreria aun tenga incluido el metodo reload con el update de las versiones pero este ya no es parte del desarrollo, Se realizo la consulta al desarrollador actual de digitalRF Ryan Voltz si se iba a incluir a futuro pero indico que no era necesario.

File last commit:

r800:0ed26d7e3402
r1234:b6a76136b1f3
Show More
jroIO_usrp_api.py
138 lines | 3.4 KiB | text/x-python | PythonLexer
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 '''
Created on Jul 15, 2014
@author: roj-idl71
'''
import time
import threading
import cPickle
Miguel Valdez
-jroIO_usrp_api is not include in Schain model anymore...
r634 # try:
# from gevent import sleep
# except:
from time import sleep
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
SERIALIZER = cPickle
# from schainpy.serializer import DynamicSerializer
from schainpy.model.io.jroIO_usrp import USRPReader
Miguel Valdez
serializer module added to Signal Chain
r697 from schainpy.model.serializer.data import obj2Serial
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
class USRPReaderAPI(USRPReader, threading.Thread):
# __isBufferEmpty = True
__DATAKEYLIST = ['data','utctime','flagNoData']
def __init__(self, serializer='msgpack'):
threading.Thread.__init__(self)
USRPReader.__init__(self)
# self.__serializerObj = DynamicSerializer.DynamicSerializer('msgpack')
self.__mySerial = None
self.__isBufferEmpty = True
self.setSerializer(serializer)
def setSerializer(self, serializer):
self.__serializer = serializer
def getSerializer(self):
return self.__serializer
def getProfileIndex(self):
return self.profileIndex
def getSerialMetaData(self):
if self.__isBufferEmpty:
ini = time.time()
while True:
if not self.__isBufferEmpty:
break
if time.time() - ini > 20:
break
sleep(1e-12)
# if not self.getData():
# self.__isBufferEmpty = False
# return None
if self.dataOut.flagNoData:
return None
myMetadataSerial = obj2Serial(self.dataOut,
serializer = self.__serializer)
return myMetadataSerial
def getSerialData(self):
if self.__isBufferEmpty:
ini = time.time()
while True:
if not self.__isBufferEmpty:
break
if time.time() - ini > 20:
break
sleep(1e-12)
# if not self.getData():
# self.__isBufferEmpty = False
# return None
if self.dataOut.flagNoData:
return None
self.__isBufferEmpty = True
return self.__mySerial
def run(self):
'''
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 This method will be called once when start() is called
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 '''
if not self.isConfig:
Miguel Valdez
-Using ValueError raises instead of IOError...
r684 raise RuntimeError, 'setup() method has to be called before start()'
Miguel Valdez
Bug fixed in zerorpc test module
r800
print "Running ..."
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 while True:
if not self.__isBufferEmpty:
sleep(1e-12)
continue
if not self.getData():
break
print ".",
self.__mySerial = obj2Serial(self.dataOut,
keyList = self.__DATAKEYLIST,
serializer = self.__serializer)
self.__isBufferEmpty = False
# print self.profileIndex
# print 'wait 1 second'
# sleep(0.1)
Miguel Valdez
Bug fixed in zerorpc test module
r800
print "Closing thread"
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 return