diff options
Diffstat (limited to 'gnuradio-runtime/python/gnuradio/ctrlport/monitor.py')
-rw-r--r-- | gnuradio-runtime/python/gnuradio/ctrlport/monitor.py | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/gnuradio-runtime/python/gnuradio/ctrlport/monitor.py b/gnuradio-runtime/python/gnuradio/ctrlport/monitor.py index 53a571a698..e067b9b0a6 100644 --- a/gnuradio-runtime/python/gnuradio/ctrlport/monitor.py +++ b/gnuradio-runtime/python/gnuradio/ctrlport/monitor.py @@ -24,11 +24,22 @@ import sys, subprocess, re, signal, time, atexit, os from gnuradio import gr class monitor: - def __init__(self): + def __init__(self,tool="gr-ctrlport-monitor"): print "ControlPort Monitor running." self.started = False + self.tool = tool atexit.register(self.shutdown) + try: + # setup export prefs + gr.prefs().singleton().set_bool("ControlPort","on",True); + if(tool == "gr-ctrlport-monitor"): + gr.prefs().singleton().set_bool("ControlPort","edges_list",True); + gr.prefs().singleton().set_bool("PerfCounters","on",True); + gr.prefs().singleton().set_bool("PerfCounters","export",True); + except: + print "no support for gr.prefs setting" + def __del__(self): if(self.started): self.stop() @@ -36,10 +47,12 @@ class monitor: def start(self): print "monitor::endpoints() = %s" % (gr.rpcmanager_get().endpoints()) try: - self.proc = subprocess.Popen(map(lambda a: ["gr-ctrlport-monitor", + cmd = map(lambda a: [self.tool, re.search("\d+\.\d+\.\d+\.\d+",a).group(0), re.search("-p (\d+)",a).group(1)], - gr.rpcmanager_get().endpoints())[0]) + gr.rpcmanager_get().endpoints())[0] + print "running: %s"%(str(cmd)) + self.proc = subprocess.Popen(cmd); self.started = True except: self.proc = None |