##// END OF EJS Templates
-jroIO_usrp_api is not include in Schain model anymore...
Miguel Valdez -
r634:abbd9ab7a050
parent child
Show More
@@ -1,30 +1,30
1 '''
1 '''
2
2
3 $Author: murco $
3 $Author: murco $
4 $Id: JRODataIO.py 169 2012-11-19 21:57:03Z murco $
4 $Id: JRODataIO.py 169 2012-11-19 21:57:03Z murco $
5 '''
5 '''
6
6
7 from jroIO_voltage import *
7 from jroIO_voltage import *
8 from jroIO_spectra import *
8 from jroIO_spectra import *
9 from jroIO_heispectra import *
9 from jroIO_heispectra import *
10 from jroIO_usrp import *
10 from jroIO_usrp import *
11
11
12 try:
12 # try:
13 from jroIO_usrp_api import *
13 # from jroIO_usrp_api import *
14 except:
14 # except:
15 print "jroIO_usrp_api could not be imported"
15 # print "jroIO_usrp_api could not be imported"
16
16
17 try:
17 try:
18 from jroIO_amisr import *
18 from jroIO_amisr import *
19 except:
19 except:
20 print "jroIO_amisr could not be imported"
20 print "jroIO_amisr could not be imported"
21
21
22 try:
22 try:
23 from jroIO_HDF5 import *
23 from jroIO_HDF5 import *
24 except:
24 except:
25 print "jroIO_HDF5 could not be imported"
25 print "jroIO_HDF5 could not be imported"
26
26
27 try:
27 try:
28 from jroIO_hf import *
28 from jroIO_hf import *
29 except:
29 except:
30 print "jroIO_hf could not be imported" No newline at end of file
30 print "jroIO_hf could not be imported"
@@ -1,135 +1,135
1 '''
1 '''
2 Created on Jul 15, 2014
2 Created on Jul 15, 2014
3
3
4 @author: roj-idl71
4 @author: roj-idl71
5 '''
5 '''
6 import time
6 import time
7 import threading
7 import threading
8 import cPickle
8 import cPickle
9
9
10 try:
10 # try:
11 from gevent import sleep
11 # from gevent import sleep
12 except:
12 # except:
13 from time import sleep
13 from time import sleep
14
14
15 SERIALIZER = cPickle
15 SERIALIZER = cPickle
16
16
17 # from schainpy.serializer import DynamicSerializer
17 # from schainpy.serializer import DynamicSerializer
18 from schainpy.model.io.jroIO_usrp import USRPReader
18 from schainpy.model.io.jroIO_usrp import USRPReader
19 from schainpy.serializer.DataTranslate import obj2Serial
19 from schainpy.serializer.DataTranslate import obj2Serial
20
20
21 class USRPReaderAPI(USRPReader, threading.Thread):
21 class USRPReaderAPI(USRPReader, threading.Thread):
22
22
23 # __isBufferEmpty = True
23 # __isBufferEmpty = True
24
24
25 __DATAKEYLIST = ['data','utctime','flagNoData']
25 __DATAKEYLIST = ['data','utctime','flagNoData']
26
26
27 def __init__(self, serializer='msgpack'):
27 def __init__(self, serializer='msgpack'):
28
28
29 threading.Thread.__init__(self)
29 threading.Thread.__init__(self)
30 USRPReader.__init__(self)
30 USRPReader.__init__(self)
31
31
32 # self.__serializerObj = DynamicSerializer.DynamicSerializer('msgpack')
32 # self.__serializerObj = DynamicSerializer.DynamicSerializer('msgpack')
33 self.__mySerial = None
33 self.__mySerial = None
34 self.__isBufferEmpty = True
34 self.__isBufferEmpty = True
35
35
36 self.setSerializer(serializer)
36 self.setSerializer(serializer)
37
37
38 def setSerializer(self, serializer):
38 def setSerializer(self, serializer):
39
39
40 self.__serializer = serializer
40 self.__serializer = serializer
41
41
42 def getSerializer(self):
42 def getSerializer(self):
43
43
44 return self.__serializer
44 return self.__serializer
45
45
46 def getProfileIndex(self):
46 def getProfileIndex(self):
47
47
48 return self.profileIndex
48 return self.profileIndex
49
49
50 def getSerialMetaData(self):
50 def getSerialMetaData(self):
51
51
52 if self.__isBufferEmpty:
52 if self.__isBufferEmpty:
53 ini = time.time()
53 ini = time.time()
54
54
55 while True:
55 while True:
56
56
57 if not self.__isBufferEmpty:
57 if not self.__isBufferEmpty:
58 break
58 break
59
59
60 if time.time() - ini > 20:
60 if time.time() - ini > 20:
61 break
61 break
62
62
63 sleep(1e-12)
63 sleep(1e-12)
64
64
65
65
66 # if not self.getData():
66 # if not self.getData():
67 # self.__isBufferEmpty = False
67 # self.__isBufferEmpty = False
68 # return None
68 # return None
69
69
70 if self.dataOut.flagNoData:
70 if self.dataOut.flagNoData:
71 return None
71 return None
72
72
73 myMetadataSerial = obj2Serial(self.dataOut,
73 myMetadataSerial = obj2Serial(self.dataOut,
74 serializer = self.__serializer)
74 serializer = self.__serializer)
75
75
76 return myMetadataSerial
76 return myMetadataSerial
77
77
78 def getSerialData(self):
78 def getSerialData(self):
79
79
80 if self.__isBufferEmpty:
80 if self.__isBufferEmpty:
81 ini = time.time()
81 ini = time.time()
82
82
83 while True:
83 while True:
84
84
85 if not self.__isBufferEmpty:
85 if not self.__isBufferEmpty:
86 break
86 break
87
87
88 if time.time() - ini > 20:
88 if time.time() - ini > 20:
89 break
89 break
90
90
91 sleep(1e-12)
91 sleep(1e-12)
92
92
93
93
94 # if not self.getData():
94 # if not self.getData():
95 # self.__isBufferEmpty = False
95 # self.__isBufferEmpty = False
96 # return None
96 # return None
97
97
98 if self.dataOut.flagNoData:
98 if self.dataOut.flagNoData:
99 return None
99 return None
100
100
101 self.__isBufferEmpty = True
101 self.__isBufferEmpty = True
102
102
103 return self.__mySerial
103 return self.__mySerial
104
104
105 def run(self):
105 def run(self):
106
106
107 '''
107 '''
108 This method will be called once when start() is called
108 This method will be called once when start() is called
109 '''
109 '''
110
110
111 if not self.isConfig:
111 if not self.isConfig:
112 raise IOError, 'setup() method has to be called before start()'
112 raise IOError, 'setup() method has to be called before start()'
113
113
114 while True:
114 while True:
115
115
116 if not self.__isBufferEmpty:
116 if not self.__isBufferEmpty:
117 sleep(1e-12)
117 sleep(1e-12)
118 continue
118 continue
119
119
120 if not self.getData():
120 if not self.getData():
121 break
121 break
122
122
123 print ".",
123 print ".",
124
124
125 self.__mySerial = obj2Serial(self.dataOut,
125 self.__mySerial = obj2Serial(self.dataOut,
126 keyList = self.__DATAKEYLIST,
126 keyList = self.__DATAKEYLIST,
127 serializer = self.__serializer)
127 serializer = self.__serializer)
128 self.__isBufferEmpty = False
128 self.__isBufferEmpty = False
129
129
130 # print self.profileIndex
130 # print self.profileIndex
131 # print 'wait 1 second'
131 # print 'wait 1 second'
132
132
133 # sleep(0.1)
133 # sleep(0.1)
134
134
135 return No newline at end of file
135 return
General Comments 0
You need to be logged in to leave comments. Login now