@@ -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_ |
|
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 |
|
|
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= |
|
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=" |
|
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