##// 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:

r705:2b21a763c9a1
r1234:b6a76136b1f3
Show More
data.py
114 lines | 2.5 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: Miguel Urco
'''
Miguel Valdez
serializer module added to Signal Chain
r697 from serializer import DynamicSerializer
Miguel Valdez
jroplotter.py updated
r703
DEFAULT_SERIALIZER = None #'cPickle', 'msgpack', "yaml"
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
from schainpy.model.data.jrodata import *
CLASSNAME_KEY = 'classname__'
Miguel Valdez
schain serializer: minor changes
r705 def isObject(myObj):
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
Miguel Valdez
schain serializer: minor changes
r705 return hasattr(myObj,'__dict__')
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
def isDictFormat(thisValue):
if type(thisValue) != type({}):
return False
if CLASSNAME_KEY not in thisValue.keys():
return False
return True
def obj2Dict(myObj, keyList=[]):
if not keyList:
keyList = myObj.__dict__.keys()
myDict = {}
myDict[CLASSNAME_KEY] = myObj.__class__.__name__
for thisKey, thisValue in myObj.__dict__.items():
if thisKey not in keyList:
continue
Miguel Valdez
schain serializer: minor changes
r705 if not isObject(thisValue):
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 myDict[thisKey] = thisValue
continue
## If this value is another class instance
Miguel Valdez
schain serializer: minor changes
r705 myDict[thisKey] = obj2Dict(thisValue)
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
return myDict
def dict2Obj(myDict):
'''
'''
if CLASSNAME_KEY not in myDict.keys():
return None
className = eval(myDict[CLASSNAME_KEY])
myObj = className()
for thisKey, thisValue in myDict.items():
if thisKey == CLASSNAME_KEY:
continue
if not isDictFormat(thisValue):
setattr(myObj, thisKey, thisValue)
continue
myNewObj = dict2Obj(thisValue)
setattr(myObj, thisKey, myNewObj)
return myObj
Miguel Valdez
jroplotter.py updated
r703 def dict2Serial(myDict, serializer=DEFAULT_SERIALIZER):
SERIALIZER = DynamicSerializer(serializer)
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 mySerial = SERIALIZER.dumps(myDict)
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 return mySerial
Miguel Valdez
jroplotter.py updated
r703
def serial2Dict(mySerial, serializer=DEFAULT_SERIALIZER):
SERIALIZER = DynamicSerializer(serializer)
Miguel Valdez
serializer module added to Signal Chain
r697 myDict = SERIALIZER.loads(mySerial)
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
serializer module added to Signal Chain
r697 return myDict
Miguel Valdez
jroplotter.py updated
r703
def obj2Serial(myObj, serializer=DEFAULT_SERIALIZER, **kwargs):
SERIALIZER = DynamicSerializer(serializer)
Miguel Valdez
serializer module added to Signal Chain
r697 myDict = obj2Dict(myObj, **kwargs)
mySerial = dict2Serial(myDict, serializer)
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
serializer module added to Signal Chain
r697 return mySerial
Miguel Valdez
jroplotter.py updated
r703
def serial2Obj(mySerial, metadataDict = {}, serializer=DEFAULT_SERIALIZER):
SERIALIZER = DynamicSerializer(serializer)
Miguel Valdez
serializer module added to Signal Chain
r697 myDataDict = serial2Dict(mySerial, serializer)
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 if not metadataDict:
myObj = dict2Obj(myDataDict)
return myObj
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 metadataDict.update(myDataDict)
myObj = dict2Obj(metadataDict)
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
serializer module added to Signal Chain
r697 return myObj