##// END OF EJS Templates
receiver data modificado para web
José Chávez -
r904:1253852f58ac
parent child
Show More
@@ -29,6 +29,10 def roundFloats(obj):
29 elif isinstance(obj, float):
29 elif isinstance(obj, float):
30 return round(obj, 2)
30 return round(obj, 2)
31
31
32 def decimate(z):
33 # dx = int(len(self.x)/self.__MAXNUMX) + 1
34 dy = int(len(z[0])/MAXNUMY) + 1
35 return z[::, ::dy]
32
36
33 class throttle(object):
37 class throttle(object):
34 """Decorator that prevents a function from being called more than once every
38 """Decorator that prevents a function from being called more than once every
@@ -319,7 +323,7 class ReceiverData(ProcessingUnit, Process):
319 return sendDataThrottled
323 return sendDataThrottled
320
324
321 def send(self, data):
325 def send(self, data):
322 print '[sending] data=%s size=%s' % (data.keys(), len(data['times']))
326 # print '[sending] data=%s size=%s' % (data.keys(), len(data['times']))
323 self.sender.send_pyobj(data)
327 self.sender.send_pyobj(data)
324
328
325 def update(self):
329 def update(self):
@@ -343,7 +347,7 class ReceiverData(ProcessingUnit, Process):
343 if plottype == 'phase':
347 if plottype == 'phase':
344 self.data[plottype][t] = self.dataOut.getCoherence(phase=True)
348 self.data[plottype][t] = self.dataOut.getCoherence(phase=True)
345 if self.realtime:
349 if self.realtime:
346 self.data_web[plottype] = self.data[plottype][t]
350 self.data_web[plottype] = roundFloats(decimate(self.data[plottype][t]).tolist())
347 self.data_web['time'] = t
351 self.data_web['time'] = t
348 def run(self):
352 def run(self):
349
353
@@ -356,10 +360,11 class ReceiverData(ProcessingUnit, Process):
356 self.sender = self.context.socket(zmq.PUB)
360 self.sender = self.context.socket(zmq.PUB)
357 if self.realtime:
361 if self.realtime:
358 self.sender_web = self.context.socket(zmq.PUB)
362 self.sender_web = self.context.socket(zmq.PUB)
359 self.sender.bind("ipc:///tmp/zmq.web")
363 # self.sender_web.setsockopt(zmq.PUBLISH, 'realtime')
364 self.sender_web.bind("ipc:///tmp/zmq.web")
360 self.sender.bind("ipc:///tmp/zmq.plots")
365 self.sender.bind("ipc:///tmp/zmq.plots")
361
366
362 t = Thread(target=self.event_monitor)
367 t = Thread(target=self.event_monitor, args=(monitor,))
363 t.start()
368 t.start()
364
369
365 while True:
370 while True:
@@ -380,7 +385,7 class ReceiverData(ProcessingUnit, Process):
380 else:
385 else:
381 if self.realtime:
386 if self.realtime:
382 self.send(self.data)
387 self.send(self.data)
383 self.sender_web.send_json(json.dumps(self.data_web))
388 self.sender_web.send_string(json.dumps(self.data_web))
384 else:
389 else:
385 self.sendData(self.send, self.data)
390 self.sendData(self.send, self.data)
386 self.started = True
391 self.started = True
@@ -65,7 +65,7 def fiber(cursor, skip, q, dt):
65 # opObj13.addParameter(name='zeromq', value=1, format='int')
65 # opObj13.addParameter(name='zeromq', value=1, format='int')
66 # opObj13.addParameter(name='server', value="juanca", format='str')
66 # opObj13.addParameter(name='server', value="juanca", format='str')
67
67
68 # opObj12.addParameter(name='delay', value=1, format='int')
68 opObj12.addParameter(name='delay', value=1, format='int')
69
69
70
70
71 # print "Escribiendo el archivo XML"
71 # print "Escribiendo el archivo XML"
@@ -81,6 +81,6 def fiber(cursor, skip, q, dt):
81
81
82 if __name__ == '__main__':
82 if __name__ == '__main__':
83 parser = argparse.ArgumentParser(description='Set number of parallel processes')
83 parser = argparse.ArgumentParser(description='Set number of parallel processes')
84 parser.add_argument('--nProcess', default=2, type=int)
84 parser.add_argument('--nProcess', default=1, type=int)
85 args = parser.parse_args()
85 args = parser.parse_args()
86 multiSchain(fiber, nProcess=args.nProcess, startDate='2015/09/26', endDate='2015/09/26')
86 multiSchain(fiber, nProcess=args.nProcess, startDate='2015/09/26', endDate='2015/09/26')
@@ -16,7 +16,6 if __name__ == '__main__':
16
16
17 proc1 = controllerObj.addProcUnit(name='ReceiverData')
17 proc1 = controllerObj.addProcUnit(name='ReceiverData')
18 proc1.addParameter(name='realtime', value='1', format='bool')
18 proc1.addParameter(name='realtime', value='1', format='bool')
19
20 proc1.addParameter(name='plottypes', value='rti', format='str')
19 proc1.addParameter(name='plottypes', value='rti', format='str')
21 proc1.addParameter(name='throttle', value='10', format='int')
20 proc1.addParameter(name='throttle', value='10', format='int')
22 ## TODO Agregar direccion de server de publicacion a graficos como variable
21 ## TODO Agregar direccion de server de publicacion a graficos como variable
@@ -1,1 +1,1
1 <Project description="HF_EXAMPLE" id="191" name="test01"><ReadUnit datatype="SpectraReader" id="1911" inputId="0" name="SpectraReader"><Operation id="19111" name="run" priority="1" type="self"><Parameter format="str" id="191111" name="datatype" value="SpectraReader" /><Parameter format="str" id="191112" name="path" value="/home/nanosat/data/hysell_data20/pdata" /><Parameter format="date" id="191113" name="startDate" value="2015/09/26" /><Parameter format="date" id="191114" name="endDate" value="2015/09/26" /><Parameter format="time" id="191115" name="startTime" value="00:00:00" /><Parameter format="time" id="191116" name="endTime" value="23:59:59" /><Parameter format="int" id="191118" name="cursor" value="3" /><Parameter format="int" id="191119" name="skip" value="360" /><Parameter format="int" id="191120" name="delay" value="10" /><Parameter format="int" id="191121" name="walk" value="1" /><Parameter format="int" id="191122" name="online" value="0" /></Operation></ReadUnit><ProcUnit datatype="Spectra" id="1912" inputId="1911" name="SpectraProc"><Operation id="19121" name="run" priority="1" type="self" /><Operation id="19122" name="PublishData" priority="2" type="other"><Parameter format="int" id="191221" name="zeromq" value="1" /></Operation></ProcUnit></Project> No newline at end of file
1 <Project description="HF_EXAMPLE" id="191" name="test01"><ReadUnit datatype="SpectraReader" id="1911" inputId="0" name="SpectraReader"><Operation id="19111" name="run" priority="1" type="self"><Parameter format="str" id="191111" name="datatype" value="SpectraReader" /><Parameter format="str" id="191112" name="path" value="/home/nanosat/data/hysell_data20/pdata" /><Parameter format="date" id="191113" name="startDate" value="2015/09/26" /><Parameter format="date" id="191114" name="endDate" value="2015/09/26" /><Parameter format="time" id="191115" name="startTime" value="00:00:00" /><Parameter format="time" id="191116" name="endTime" value="23:59:59" /><Parameter format="int" id="191118" name="cursor" value="2" /><Parameter format="int" id="191119" name="skip" value="720" /><Parameter format="int" id="191120" name="delay" value="10" /><Parameter format="int" id="191121" name="walk" value="1" /><Parameter format="int" id="191122" name="online" value="0" /></Operation></ReadUnit><ProcUnit datatype="Spectra" id="1912" inputId="1911" name="SpectraProc"><Operation id="19121" name="run" priority="1" type="self" /><Operation id="19122" name="PublishData" priority="2" type="other"><Parameter format="int" id="191221" name="zeromq" value="1" /><Parameter format="int" id="191222" name="delay" value="1" /></Operation></ProcUnit></Project> No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now