aboutsummaryrefslogtreecommitdiffstats
path: root/gr-zeromq
diff options
context:
space:
mode:
authorAndrej Rode <mail@andrejro.de>2018-06-23 23:41:42 +0200
committerAndrej Rode <mail@andrejro.de>2018-06-24 00:03:35 +0200
commit167a6152bad060fc53dd29e0fa79ef83eff1be5b (patch)
treea01049672d9d7d1bf3d295ed96698a323941f8e8 /gr-zeromq
parentRevert codespelling fixes for xml files (diff)
parentfec: update VOLK API call (diff)
downloadgnuradio-167a6152bad060fc53dd29e0fa79ef83eff1be5b.tar.xz
gnuradio-167a6152bad060fc53dd29e0fa79ef83eff1be5b.zip
Merge branch 'python3_fix' into next
Manual merge conflict resolution has been applied to following conflicts: * Typos: * gnuradio-runtime/python/gnuradio/ctrlport/GrDataPlotter.py * gr-blocks/python/blocks/qa_wavfile.py * gr-filter/examples/gr_filtdes_api.py * grc/blocks/parameter.xml * gr-uhd/python/uhd/__init__.py * ValueError -> RuntimeError: * gr-blocks/python/blocks/qa_hier_block2.py * relative Imports & other Py3k: * gr-digital/python/digital/psk_constellations.py * gr-digital/python/digital/qam_constellations.py * gr-digital/python/digital/test_soft_decisions.py * gr-digital/python/digital/gfsk.py * SequenceCompleter: * gr-utils/python/modtool/modtool_add.py * gr-utils/python/modtool/modtool_rename.py * gr-utils/python/modtool/modtool_rm.py * Updated API on next: * gr-blocks/grc/blocks_file_source.xml * gr-blocks/python/blocks/qa_file_source_sink.py * gr-qtgui/grc/qtgui_time_sink_x.xml * GRC Py3k Updates: * grc/core/Block.py * grc/core/Constants.py * grc/core/Platform.py * grc/core/utils/odict.py * grc/gui/Actions.py * grc/gui/Block.py * grc/gui/Executor.py * grc/gui/Port.py
Diffstat (limited to 'gr-zeromq')
-rw-r--r--[-rwxr-xr-x]gr-zeromq/examples/python/client.py10
-rw-r--r--[-rwxr-xr-x]gr-zeromq/examples/python/gui.py3
-rw-r--r--[-rwxr-xr-x]gr-zeromq/examples/python/server.py10
-rw-r--r--gr-zeromq/grc/CMakeLists.txt24
-rw-r--r--gr-zeromq/grc/zeromq_pub_msg_sink.block.yml23
-rw-r--r--gr-zeromq/grc/zeromq_pub_msg_sink.xml28
-rw-r--r--gr-zeromq/grc/zeromq_pub_sink.block.yml48
-rw-r--r--gr-zeromq/grc/zeromq_pub_sink.xml89
-rw-r--r--gr-zeromq/grc/zeromq_pull_msg_source.block.yml23
-rw-r--r--gr-zeromq/grc/zeromq_pull_msg_source.xml28
-rw-r--r--gr-zeromq/grc/zeromq_pull_source.block.yml48
-rw-r--r--gr-zeromq/grc/zeromq_pull_source.xml89
-rw-r--r--gr-zeromq/grc/zeromq_push_msg_sink.block.yml23
-rw-r--r--gr-zeromq/grc/zeromq_push_msg_sink.xml28
-rw-r--r--gr-zeromq/grc/zeromq_push_sink.block.yml48
-rw-r--r--gr-zeromq/grc/zeromq_push_sink.xml89
-rw-r--r--gr-zeromq/grc/zeromq_rep_msg_sink.block.yml23
-rw-r--r--gr-zeromq/grc/zeromq_rep_msg_sink.xml28
-rw-r--r--gr-zeromq/grc/zeromq_rep_sink.block.yml49
-rw-r--r--gr-zeromq/grc/zeromq_rep_sink.xml89
-rw-r--r--gr-zeromq/grc/zeromq_req_msg_source.block.yml23
-rw-r--r--gr-zeromq/grc/zeromq_req_msg_source.xml28
-rw-r--r--gr-zeromq/grc/zeromq_req_source.block.yml48
-rw-r--r--gr-zeromq/grc/zeromq_req_source.xml89
-rw-r--r--gr-zeromq/grc/zeromq_sub_msg_source.block.yml23
-rw-r--r--gr-zeromq/grc/zeromq_sub_msg_source.xml28
-rw-r--r--gr-zeromq/grc/zeromq_sub_source.block.yml48
-rw-r--r--gr-zeromq/grc/zeromq_sub_source.xml89
-rw-r--r--gr-zeromq/python/zeromq/CMakeLists.txt2
-rw-r--r--gr-zeromq/python/zeromq/__init__.py10
-rw-r--r--gr-zeromq/python/zeromq/probe_manager.py6
-rw-r--r--[-rwxr-xr-x]gr-zeromq/python/zeromq/qa_zeromq_pub.py3
-rw-r--r--[-rwxr-xr-x]gr-zeromq/python/zeromq/qa_zeromq_pubsub.py3
-rw-r--r--[-rwxr-xr-x]gr-zeromq/python/zeromq/qa_zeromq_pushpull.py3
-rw-r--r--[-rwxr-xr-x]gr-zeromq/python/zeromq/qa_zeromq_reqrep.py3
-rwxr-xr-xgr-zeromq/python/zeromq/qa_zeromq_sub.py4
-rw-r--r--gr-zeromq/python/zeromq/rpc_manager.py23
37 files changed, 486 insertions, 747 deletions
diff --git a/gr-zeromq/examples/python/client.py b/gr-zeromq/examples/python/client.py
index ca7ad1830..39055bd3f 100755..100644
--- a/gr-zeromq/examples/python/client.py
+++ b/gr-zeromq/examples/python/client.py
@@ -1,3 +1,5 @@
+from __future__ import print_function
+from __future__ import unicode_literals
#
# Copyright 2013 Free Software Foundation, Inc.
#
@@ -67,14 +69,14 @@ class top_block(gr.top_block):
self.rpc_manager.start_watcher()
def start_fg(self):
- print "Start Flowgraph"
+ print("Start Flowgraph")
try:
self.start()
except RuntimeError:
- print "Can't start, flowgraph already running!"
+ print("Can't start, flowgraph already running!")
def stop_fg(self):
- print "Stop Flowgraph"
+ print("Stop Flowgraph")
self.stop()
self.wait()
@@ -110,7 +112,7 @@ if __name__ == "__main__":
time.sleep(1)
except KeyboardInterrupt:
pass
- print "Shutting down flowgraph."
+ print("Shutting down flowgraph.")
tb.rpc_manager.stop_watcher()
tb.stop()
tb.wait()
diff --git a/gr-zeromq/examples/python/gui.py b/gr-zeromq/examples/python/gui.py
index c93254940..832392f0a 100755..100644
--- a/gr-zeromq/examples/python/gui.py
+++ b/gr-zeromq/examples/python/gui.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
#
# Copyright 2013 Free Software Foundation, Inc.
#
@@ -112,7 +113,7 @@ class gui(QtGui.QMainWindow):
# plot the data from the queues
def plot_data(self, plot, samples):
- self.x = range(0,len(samples),1)
+ self.x = list(range(0,len(samples),1))
self.y = samples
# clear the previous points from the plot
plot.clear()
diff --git a/gr-zeromq/examples/python/server.py b/gr-zeromq/examples/python/server.py
index 23951664c..b2cd8e8ef 100755..100644
--- a/gr-zeromq/examples/python/server.py
+++ b/gr-zeromq/examples/python/server.py
@@ -1,3 +1,5 @@
+from __future__ import print_function
+from __future__ import unicode_literals
#
# Copyright 2013 Free Software Foundation, Inc.
#
@@ -78,14 +80,14 @@ class top_block(gr.top_block):
self.rpc_manager.start_watcher()
def start_fg(self):
- print "Start Flowgraph"
+ print("Start Flowgraph")
try:
self.start()
except RuntimeError:
- print "Can't start, flowgraph already running!"
+ print("Can't start, flowgraph already running!")
def stop_fg(self):
- print "Stop Flowgraph"
+ print("Stop Flowgraph")
self.stop()
self.wait()
@@ -119,7 +121,7 @@ if __name__ == "__main__":
time.sleep(1)
except KeyboardInterrupt:
pass
- print "Shutting down flowgraph."
+ print("Shutting down flowgraph.")
tb.rpc_manager.stop_watcher()
tb.stop()
tb.wait()
diff --git a/gr-zeromq/grc/CMakeLists.txt b/gr-zeromq/grc/CMakeLists.txt
index 7807bcfe9..50aa1d7d5 100644
--- a/gr-zeromq/grc/CMakeLists.txt
+++ b/gr-zeromq/grc/CMakeLists.txt
@@ -18,18 +18,18 @@
# Boston, MA 02110-1301, USA.
install(FILES
- zeromq_pub_sink.xml
- zeromq_pub_msg_sink.xml
- zeromq_sub_source.xml
- zeromq_sub_msg_source.xml
- zeromq_push_sink.xml
- zeromq_push_msg_sink.xml
- zeromq_pull_source.xml
- zeromq_pull_msg_source.xml
- zeromq_rep_sink.xml
- zeromq_rep_msg_sink.xml
- zeromq_req_source.xml
- zeromq_req_msg_source.xml
+ zeromq_pub_sink.block.yml
+ zeromq_pub_msg_sink.block.yml
+ zeromq_sub_source.block.yml
+ zeromq_sub_msg_source.block.yml
+ zeromq_push_sink.block.yml
+ zeromq_push_msg_sink.block.yml
+ zeromq_pull_source.block.yml
+ zeromq_pull_msg_source.block.yml
+ zeromq_rep_sink.block.yml
+ zeromq_rep_msg_sink.block.yml
+ zeromq_req_source.block.yml
+ zeromq_req_msg_source.block.yml
DESTINATION share/gnuradio/grc/blocks
)
diff --git a/gr-zeromq/grc/zeromq_pub_msg_sink.block.yml b/gr-zeromq/grc/zeromq_pub_msg_sink.block.yml
new file mode 100644
index 000000000..ee4e9739d
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_pub_msg_sink.block.yml
@@ -0,0 +1,23 @@
+id: zeromq_pub_msg_sink
+label: ZMQ PUB Message Sink
+category: '[Core]/ZeroMQ Interfaces'
+
+parameters:
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+
+inputs:
+- domain: message
+ id: in
+ optional: true
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.pub_msg_sink(${address}, ${timeout})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_pub_msg_sink.xml b/gr-zeromq/grc/zeromq_pub_msg_sink.xml
deleted file mode 100644
index 245ac3718..000000000
--- a/gr-zeromq/grc/zeromq_pub_msg_sink.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ PUB Message Sink</name>
- <key>zeromq_pub_msg_sink</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.pub_msg_sink($address, $timeout)</make>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <sink>
- <name>in</name>
- <type>message</type>
- <optional>1</optional>
- </sink>
-
-</block>
diff --git a/gr-zeromq/grc/zeromq_pub_sink.block.yml b/gr-zeromq/grc/zeromq_pub_sink.block.yml
new file mode 100644
index 000000000..d8e5983d2
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_pub_sink.block.yml
@@ -0,0 +1,48 @@
+id: zeromq_pub_sink
+label: ZMQ PUB Sink
+category: '[Core]/ZeroMQ Interfaces'
+
+parameters:
+- id: type
+ label: IO Type
+ dtype: enum
+ options: [complex, float, int, short, byte]
+ option_attributes:
+ itemsize: [gr.sizeof_gr_complex, gr.sizeof_float, gr.sizeof_int, gr.sizeof_short,
+ gr.sizeof_char]
+ hide: part
+- id: vlen
+ label: Vec Length
+ dtype: int
+ default: '1'
+ hide: ${ 'part' if vlen == 1 else 'none' }
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+- id: pass_tags
+ label: Pass Tags
+ dtype: enum
+ default: 'False'
+ options: ['True', 'False']
+ option_labels: ['Yes', 'No']
+- id: hwm
+ label: High Watermark
+ dtype: int
+ default: '-1'
+ hide: ${ ('part' if hwm == -1 else 'none') }
+
+inputs:
+- domain: stream
+ dtype: ${ type }
+ vlen: ${ vlen }
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.pub_sink(${type.itemsize}, ${vlen}, ${address}, ${timeout}, ${pass_tags},
+ ${hwm})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_pub_sink.xml b/gr-zeromq/grc/zeromq_pub_sink.xml
deleted file mode 100644
index af130eeb2..000000000
--- a/gr-zeromq/grc/zeromq_pub_sink.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ PUB Sink</name>
- <key>zeromq_pub_sink</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.pub_sink($type.itemsize, $vlen, $address, $timeout, $pass_tags, $hwm)</make>
-
- <param>
- <name>IO Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Complex</name>
- <key>complex</key>
- <opt>itemsize:gr.sizeof_gr_complex</opt>
- </option>
- <option>
- <name>Float</name>
- <key>float</key>
- <opt>itemsize:gr.sizeof_float</opt>
- </option>
- <option>
- <name>Int</name>
- <key>int</key>
- <opt>itemsize:gr.sizeof_int</opt>
- </option>
- <option>
- <name>Short</name>
- <key>short</key>
- <opt>itemsize:gr.sizeof_short</opt>
- </option>
- <option>
- <name>Byte</name>
- <key>byte</key>
- <opt>itemsize:gr.sizeof_char</opt>
- </option>
- </param>
-
- <param>
- <name>Vec Length</name>
- <key>vlen</key>
- <value>1</value>
- <type>int</type>
- </param>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <param>
- <name>Pass Tags</name>
- <key>pass_tags</key>
- <value>False</value>
- <type>enum</type>
- <option>
- <name>Yes</name>
- <key>True</key>
- </option>
- <option>
- <name>No</name>
- <key>False</key>
- </option>
- </param>
-
- <param>
- <name>High Watermark</name>
- <key>hwm</key>
- <value>-1</value>
- <type>int</type>
- <hide>#if $hwm() == -1 then 'part' else 'none'#</hide>
- </param>
-
- <sink>
- <name>in</name>
- <type>$type</type>
- <vlen>$vlen</vlen>
- </sink>
-
-</block>
diff --git a/gr-zeromq/grc/zeromq_pull_msg_source.block.yml b/gr-zeromq/grc/zeromq_pull_msg_source.block.yml
new file mode 100644
index 000000000..00be80c2c
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_pull_msg_source.block.yml
@@ -0,0 +1,23 @@
+id: zeromq_pull_msg_source
+label: ZMQ PULL Message Source
+category: '[Core]/ZeroMQ Interfaces'
+
+parameters:
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+
+outputs:
+- domain: message
+ id: out
+ optional: true
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.pull_msg_source(${address}, ${timeout})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_pull_msg_source.xml b/gr-zeromq/grc/zeromq_pull_msg_source.xml
deleted file mode 100644
index c6004d987..000000000
--- a/gr-zeromq/grc/zeromq_pull_msg_source.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ PULL Message Source</name>
- <key>zeromq_pull_msg_source</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.pull_msg_source($address, $timeout)</make>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <source>
- <name>out</name>
- <type>message</type>
- <optional>1</optional>
- </source>
-
-</block>
diff --git a/gr-zeromq/grc/zeromq_pull_source.block.yml b/gr-zeromq/grc/zeromq_pull_source.block.yml
new file mode 100644
index 000000000..a318b568f
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_pull_source.block.yml
@@ -0,0 +1,48 @@
+id: zeromq_pull_source
+label: ZMQ PULL Source
+category: '[Core]/ZeroMQ Interfaces'
+
+parameters:
+- id: type
+ label: IO Type
+ dtype: enum
+ options: [complex, float, int, short, byte]
+ option_attributes:
+ itemsize: [gr.sizeof_gr_complex, gr.sizeof_float, gr.sizeof_int, gr.sizeof_short,
+ gr.sizeof_char]
+ hide: part
+- id: vlen
+ label: Vec Length
+ dtype: int
+ default: '1'
+ hide: ${ 'part' if vlen == 1 else 'none' }
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+- id: pass_tags
+ label: Pass Tags
+ dtype: enum
+ default: 'False'
+ options: ['True', 'False']
+ option_labels: ['Yes', 'No']
+- id: hwm
+ label: High Watermark
+ dtype: int
+ default: '-1'
+ hide: ${ ('part' if hwm == -1 else 'none') }
+
+outputs:
+- domain: stream
+ dtype: ${ type }
+ vlen: ${ vlen }
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.pull_source(${type.itemsize}, ${vlen}, ${address}, ${timeout}, ${pass_tags},
+ ${hwm})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_pull_source.xml b/gr-zeromq/grc/zeromq_pull_source.xml
deleted file mode 100644
index f2c8b61d8..000000000
--- a/gr-zeromq/grc/zeromq_pull_source.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ PULL Source</name>
- <key>zeromq_pull_source</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.pull_source($type.itemsize, $vlen, $address, $timeout, $pass_tags, $hwm)</make>
-
- <param>
- <name>IO Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Complex</name>
- <key>complex</key>
- <opt>itemsize:gr.sizeof_gr_complex</opt>
- </option>
- <option>
- <name>Float</name>
- <key>float</key>
- <opt>itemsize:gr.sizeof_float</opt>
- </option>
- <option>
- <name>Int</name>
- <key>int</key>
- <opt>itemsize:gr.sizeof_int</opt>
- </option>
- <option>
- <name>Short</name>
- <key>short</key>
- <opt>itemsize:gr.sizeof_short</opt>
- </option>
- <option>
- <name>Byte</name>
- <key>byte</key>
- <opt>itemsize:gr.sizeof_char</opt>
- </option>
- </param>
-
- <param>
- <name>Vec Length</name>
- <key>vlen</key>
- <value>1</value>
- <type>int</type>
- </param>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <param>
- <name>Pass Tags</name>
- <key>pass_tags</key>
- <value>False</value>
- <type>enum</type>
- <option>
- <name>Yes</name>
- <key>True</key>
- </option>
- <option>
- <name>No</name>
- <key>False</key>
- </option>
- </param>
-
- <param>
- <name>High Watermark</name>
- <key>hwm</key>
- <value>-1</value>
- <type>int</type>
- <hide>#if $hwm() == -1 then 'part' else 'none'#</hide>
- </param>
-
- <source>
- <name>out</name>
- <type>$type</type>
- <vlen>$vlen</vlen>
- </source>
-
-</block>
diff --git a/gr-zeromq/grc/zeromq_push_msg_sink.block.yml b/gr-zeromq/grc/zeromq_push_msg_sink.block.yml
new file mode 100644
index 000000000..d1c9d8f82
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_push_msg_sink.block.yml
@@ -0,0 +1,23 @@
+id: zeromq_push_msg_sink
+label: ZMQ PUSH Message Sink
+category: '[Core]/ZeroMQ Interfaces'
+
+parameters:
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+
+inputs:
+- domain: message
+ id: in
+ optional: true
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.push_msg_sink(${address}, ${timeout})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_push_msg_sink.xml b/gr-zeromq/grc/zeromq_push_msg_sink.xml
deleted file mode 100644
index 283a25006..000000000
--- a/gr-zeromq/grc/zeromq_push_msg_sink.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ PUSH Message Sink</name>
- <key>zeromq_push_msg_sink</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.push_msg_sink($address, $timeout)</make>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <sink>
- <name>in</name>
- <type>message</type>
- <optional>1</optional>
- </sink>
-
-</block>
diff --git a/gr-zeromq/grc/zeromq_push_sink.block.yml b/gr-zeromq/grc/zeromq_push_sink.block.yml
new file mode 100644
index 000000000..63b9d2497
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_push_sink.block.yml
@@ -0,0 +1,48 @@
+id: zeromq_push_sink
+label: ZMQ PUSH Sink
+category: '[Core]/ZeroMQ Interfaces'
+
+parameters:
+- id: type
+ label: IO Type
+ dtype: enum
+ options: [complex, float, int, short, byte]
+ option_attributes:
+ itemsize: [gr.sizeof_gr_complex, gr.sizeof_float, gr.sizeof_int, gr.sizeof_short,
+ gr.sizeof_char]
+ hide: part
+- id: vlen
+ label: Vec Length
+ dtype: int
+ default: '1'
+ hide: ${ 'part' if vlen == 1 else 'none' }
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+- id: pass_tags
+ label: Pass Tags
+ dtype: enum
+ default: 'False'
+ options: ['True', 'False']
+ option_labels: ['Yes', 'No']
+- id: hwm
+ label: High Watermark
+ dtype: int
+ default: '-1'
+ hide: ${ ('part' if hwm == -1 else 'none') }
+
+inputs:
+- domain: stream
+ dtype: ${ type }
+ vlen: ${ vlen }
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.push_sink(${type.itemsize}, ${vlen}, ${address}, ${timeout}, ${pass_tags},
+ ${hwm})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_push_sink.xml b/gr-zeromq/grc/zeromq_push_sink.xml
deleted file mode 100644
index 8277c02c2..000000000
--- a/gr-zeromq/grc/zeromq_push_sink.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ PUSH Sink</name>
- <key>zeromq_push_sink</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.push_sink($type.itemsize, $vlen, $address, $timeout, $pass_tags, $hwm)</make>
-
- <param>
- <name>IO Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Complex</name>
- <key>complex</key>
- <opt>itemsize:gr.sizeof_gr_complex</opt>
- </option>
- <option>
- <name>Float</name>
- <key>float</key>
- <opt>itemsize:gr.sizeof_float</opt>
- </option>
- <option>
- <name>Int</name>
- <key>int</key>
- <opt>itemsize:gr.sizeof_int</opt>
- </option>
- <option>
- <name>Short</name>
- <key>short</key>
- <opt>itemsize:gr.sizeof_short</opt>
- </option>
- <option>
- <name>Byte</name>
- <key>byte</key>
- <opt>itemsize:gr.sizeof_char</opt>
- </option>
- </param>
-
- <param>
- <name>Vec Length</name>
- <key>vlen</key>
- <value>1</value>
- <type>int</type>
- </param>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <param>
- <name>Pass Tags</name>
- <key>pass_tags</key>
- <value>False</value>
- <type>enum</type>
- <option>
- <name>Yes</name>
- <key>True</key>
- </option>
- <option>
- <name>No</name>
- <key>False</key>
- </option>
- </param>
-
- <param>
- <name>High Watermark</name>
- <key>hwm</key>
- <value>-1</value>
- <type>int</type>
- <hide>#if $hwm() == -1 then 'part' else 'none'#</hide>
- </param>
-
- <sink>
- <name>in</name>
- <type>$type</type>
- <vlen>$vlen</vlen>
- </sink>
-
-</block>
diff --git a/gr-zeromq/grc/zeromq_rep_msg_sink.block.yml b/gr-zeromq/grc/zeromq_rep_msg_sink.block.yml
new file mode 100644
index 000000000..d4732a705
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_rep_msg_sink.block.yml
@@ -0,0 +1,23 @@
+id: zeromq_rep_msg_sink
+label: ZMQ REP Message Sink
+category: '[Core]/ZeroMQ Interfaces'
+
+parameters:
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+
+inputs:
+- domain: message
+ id: in
+ optional: true
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.rep_msg_sink(${address}, ${timeout})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_rep_msg_sink.xml b/gr-zeromq/grc/zeromq_rep_msg_sink.xml
deleted file mode 100644
index 37515b39b..000000000
--- a/gr-zeromq/grc/zeromq_rep_msg_sink.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ REP Message Sink</name>
- <key>zeromq_rep_msg_sink</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.rep_msg_sink($address, $timeout)</make>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <sink>
- <name>in</name>
- <type>message</type>
- <optional>1</optional>
- </sink>
-
-</block>
diff --git a/gr-zeromq/grc/zeromq_rep_sink.block.yml b/gr-zeromq/grc/zeromq_rep_sink.block.yml
new file mode 100644
index 000000000..fbc27fcf0
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_rep_sink.block.yml
@@ -0,0 +1,49 @@
+id: zeromq_rep_sink
+label: ZMQ REP Sink
+category: '[Core]/ZeroMQ Interfaces'
+
+
+parameters:
+- id: type
+ label: IO Type
+ dtype: enum
+ options: [complex, float, int, short, byte]
+ option_attributes:
+ itemsize: [gr.sizeof_gr_complex, gr.sizeof_float, gr.sizeof_int, gr.sizeof_short,
+ gr.sizeof_char]
+ hide: part
+- id: vlen
+ label: Vec Length
+ dtype: int
+ default: '1'
+ hide: ${ 'part' if vlen == 1 else 'none' }
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+- id: pass_tags
+ label: Pass Tags
+ dtype: enum
+ default: 'False'
+ options: ['True', 'False']
+ option_labels: ['Yes', 'No']
+- id: hwm
+ label: High Watermark
+ dtype: int
+ default: '-1'
+ hide: ${ ('part' if hwm == -1 else 'none') }
+
+inputs:
+- domain: stream
+ dtype: ${ type }
+ vlen: ${ vlen }
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.rep_sink(${type.itemsize}, ${vlen}, ${address}, ${timeout}, ${pass_tags},
+ ${hwm})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_rep_sink.xml b/gr-zeromq/grc/zeromq_rep_sink.xml
deleted file mode 100644
index 17c824156..000000000
--- a/gr-zeromq/grc/zeromq_rep_sink.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ REP Sink</name>
- <key>zeromq_rep_sink</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.rep_sink($type.itemsize, $vlen, $address, $timeout, $pass_tags, $hwm)</make>
-
- <param>
- <name>IO Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Complex</name>
- <key>complex</key>
- <opt>itemsize:gr.sizeof_gr_complex</opt>
- </option>
- <option>
- <name>Float</name>
- <key>float</key>
- <opt>itemsize:gr.sizeof_float</opt>
- </option>
- <option>
- <name>Int</name>
- <key>int</key>
- <opt>itemsize:gr.sizeof_int</opt>
- </option>
- <option>
- <name>Short</name>
- <key>short</key>
- <opt>itemsize:gr.sizeof_short</opt>
- </option>
- <option>
- <name>Byte</name>
- <key>byte</key>
- <opt>itemsize:gr.sizeof_char</opt>
- </option>
- </param>
-
- <param>
- <name>Vec Length</name>
- <key>vlen</key>
- <value>1</value>
- <type>int</type>
- </param>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <param>
- <name>Pass Tags</name>
- <key>pass_tags</key>
- <value>False</value>
- <type>enum</type>
- <option>
- <name>Yes</name>
- <key>True</key>
- </option>
- <option>
- <name>No</name>
- <key>False</key>
- </option>
- </param>
-
- <param>
- <name>High Watermark</name>
- <key>hwm</key>
- <value>-1</value>
- <type>int</type>
- <hide>#if $hwm() == -1 then 'part' else 'none'#</hide>
- </param>
-
- <sink>
- <name>in</name>
- <type>$type</type>
- <vlen>$vlen</vlen>
- </sink>
-
-</block>
diff --git a/gr-zeromq/grc/zeromq_req_msg_source.block.yml b/gr-zeromq/grc/zeromq_req_msg_source.block.yml
new file mode 100644
index 000000000..81cefd573
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_req_msg_source.block.yml
@@ -0,0 +1,23 @@
+id: zeromq_req_msg_source
+label: ZMQ REQ Message Source
+category: '[Core]/ZeroMQ Interfaces'
+
+parameters:
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+
+outputs:
+- domain: message
+ id: out
+ optional: true
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.req_msg_source(${address}, ${timeout})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_req_msg_source.xml b/gr-zeromq/grc/zeromq_req_msg_source.xml
deleted file mode 100644
index ae34c30dd..000000000
--- a/gr-zeromq/grc/zeromq_req_msg_source.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ REQ Message Source</name>
- <key>zeromq_req_msg_source</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.req_msg_source($address, $timeout)</make>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <source>
- <name>out</name>
- <type>message</type>
- <optional>1</optional>
- </source>
-
-</block>
diff --git a/gr-zeromq/grc/zeromq_req_source.block.yml b/gr-zeromq/grc/zeromq_req_source.block.yml
new file mode 100644
index 000000000..f534e106a
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_req_source.block.yml
@@ -0,0 +1,48 @@
+id: zeromq_req_source
+label: ZMQ REQ Source
+category: '[Core]/ZeroMQ Interfaces'
+
+parameters:
+- id: type
+ label: IO Type
+ dtype: enum
+ options: [complex, float, int, short, byte]
+ option_attributes:
+ itemsize: [gr.sizeof_gr_complex, gr.sizeof_float, gr.sizeof_int, gr.sizeof_short,
+ gr.sizeof_char]
+ hide: part
+- id: vlen
+ label: Vec Length
+ dtype: int
+ default: '1'
+ hide: ${ 'part' if vlen == 1 else 'none' }
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+- id: pass_tags
+ label: Pass Tags
+ dtype: enum
+ default: 'False'
+ options: ['True', 'False']
+ option_labels: ['Yes', 'No']
+- id: hwm
+ label: High Watermark
+ dtype: int
+ default: '-1'
+ hide: ${ ('part' if hwm == -1 else 'none') }
+
+outputs:
+- domain: stream
+ dtype: ${ type }
+ vlen: ${ vlen }
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.req_source(${type.itemsize}, ${vlen}, ${address}, ${timeout}, ${pass_tags},
+ ${hwm})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_req_source.xml b/gr-zeromq/grc/zeromq_req_source.xml
deleted file mode 100644
index 0fc1aa148..000000000
--- a/gr-zeromq/grc/zeromq_req_source.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ REQ Source</name>
- <key>zeromq_req_source</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.req_source($type.itemsize, $vlen, $address, $timeout, $pass_tags, $hwm)</make>
-
- <param>
- <name>IO Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Complex</name>
- <key>complex</key>
- <opt>itemsize:gr.sizeof_gr_complex</opt>
- </option>
- <option>
- <name>Float</name>
- <key>float</key>
- <opt>itemsize:gr.sizeof_float</opt>
- </option>
- <option>
- <name>Int</name>
- <key>int</key>
- <opt>itemsize:gr.sizeof_int</opt>
- </option>
- <option>
- <name>Short</name>
- <key>short</key>
- <opt>itemsize:gr.sizeof_short</opt>
- </option>
- <option>
- <name>Byte</name>
- <key>byte</key>
- <opt>itemsize:gr.sizeof_char</opt>
- </option>
- </param>
-
- <param>
- <name>Vec Length</name>
- <key>vlen</key>
- <value>1</value>
- <type>int</type>
- </param>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <param>
- <name>Pass Tags</name>
- <key>pass_tags</key>
- <value>False</value>
- <type>enum</type>
- <option>
- <name>Yes</name>
- <key>True</key>
- </option>
- <option>
- <name>No</name>
- <key>False</key>
- </option>
- </param>
-
- <param>
- <name>High Watermark</name>
- <key>hwm</key>
- <value>-1</value>
- <type>int</type>
- <hide>#if $hwm() == -1 then 'part' else 'none'#</hide>
- </param>
-
- <source>
- <name>out</name>
- <type>$type</type>
- <vlen>$vlen</vlen>
- </source>
-
-</block>
diff --git a/gr-zeromq/grc/zeromq_sub_msg_source.block.yml b/gr-zeromq/grc/zeromq_sub_msg_source.block.yml
new file mode 100644
index 000000000..a9202d948
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_sub_msg_source.block.yml
@@ -0,0 +1,23 @@
+id: zeromq_sub_msg_source
+label: ZMQ SUB Message Source
+category: '[Core]/ZeroMQ Interfaces'
+
+parameters:
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+
+outputs:
+- domain: message
+ id: out
+ optional: true
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.sub_msg_source(${address}, ${timeout})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_sub_msg_source.xml b/gr-zeromq/grc/zeromq_sub_msg_source.xml
deleted file mode 100644
index 475537f5f..000000000
--- a/gr-zeromq/grc/zeromq_sub_msg_source.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ SUB Message Source</name>
- <key>zeromq_sub_msg_source</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.sub_msg_source($address, $timeout)</make>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <source>
- <name>out</name>
- <type>message</type>
- <optional>1</optional>
- </source>
-
-</block>
diff --git a/gr-zeromq/grc/zeromq_sub_source.block.yml b/gr-zeromq/grc/zeromq_sub_source.block.yml
new file mode 100644
index 000000000..7235d480f
--- /dev/null
+++ b/gr-zeromq/grc/zeromq_sub_source.block.yml
@@ -0,0 +1,48 @@
+id: zeromq_sub_source
+label: ZMQ SUB Source
+category: '[Core]/ZeroMQ Interfaces'
+
+parameters:
+- id: type
+ label: IO Type
+ dtype: enum
+ options: [complex, float, int, short, byte]
+ option_attributes:
+ itemsize: [gr.sizeof_gr_complex, gr.sizeof_float, gr.sizeof_int, gr.sizeof_short,
+ gr.sizeof_char]
+ hide: part
+- id: vlen
+ label: Vec Length
+ dtype: int
+ default: '1'
+ hide: ${ 'part' if vlen == 1 else 'none' }
+- id: address
+ label: Address
+ dtype: string
+- id: timeout
+ label: Timeout (msec)
+ dtype: float
+ default: '100'
+- id: pass_tags
+ label: Pass Tags
+ dtype: enum
+ default: 'False'
+ options: ['True', 'False']
+ option_labels: ['Yes', 'No']
+- id: hwm
+ label: High Watermark
+ dtype: int
+ default: '-1'
+ hide: ${ ('part' if hwm == -1 else 'none') }
+
+outputs:
+- domain: stream
+ dtype: ${ type }
+ vlen: ${ vlen }
+
+templates:
+ imports: from gnuradio import zeromq
+ make: zeromq.sub_source(${type.itemsize}, ${vlen}, ${address}, ${timeout}, ${pass_tags},
+ ${hwm})
+
+file_format: 1
diff --git a/gr-zeromq/grc/zeromq_sub_source.xml b/gr-zeromq/grc/zeromq_sub_source.xml
deleted file mode 100644
index 31e6170c6..000000000
--- a/gr-zeromq/grc/zeromq_sub_source.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-<block>
- <name>ZMQ SUB Source</name>
- <key>zeromq_sub_source</key>
- <category>[Core]/ZeroMQ Interfaces</category>
- <import>from gnuradio import zeromq</import>
- <make>zeromq.sub_source($type.itemsize, $vlen, $address, $timeout, $pass_tags, $hwm)</make>
-
- <param>
- <name>IO Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Complex</name>
- <key>complex</key>
- <opt>itemsize:gr.sizeof_gr_complex</opt>
- </option>
- <option>
- <name>Float</name>
- <key>float</key>
- <opt>itemsize:gr.sizeof_float</opt>
- </option>
- <option>
- <name>Int</name>
- <key>int</key>
- <opt>itemsize:gr.sizeof_int</opt>
- </option>
- <option>
- <name>Short</name>
- <key>short</key>
- <opt>itemsize:gr.sizeof_short</opt>
- </option>
- <option>
- <name>Byte</name>
- <key>byte</key>
- <opt>itemsize:gr.sizeof_char</opt>
- </option>
- </param>
-
- <param>
- <name>Vec Length</name>
- <key>vlen</key>
- <value>1</value>
- <type>int</type>
- </param>
-
- <param>
- <name>Address</name>
- <key>address</key>
- <type>string</type>
- </param>
-
- <param>
- <name>Timeout (msec)</name>
- <key>timeout</key>
- <value>100</value>
- <type>float</type>
- </param>
-
- <param>
- <name>Pass Tags</name>
- <key>pass_tags</key>
- <value>False</value>
- <type>enum</type>
- <option>
- <name>Yes</name>
- <key>True</key>
- </option>
- <option>
- <name>No</name>
- <key>False</key>
- </option>
- </param>
-
- <param>
- <name>High Watermark</name>
- <key>hwm</key>
- <value>-1</value>
- <type>int</type>
- <hide>#if $hwm() == -1 then 'part' else 'none'#</hide>
- </param>
-
- <source>
- <name>out</name>
- <type>$type</type>
- <vlen>$vlen</vlen>
- </source>
-
-</block>
diff --git a/gr-zeromq/python/zeromq/CMakeLists.txt b/gr-zeromq/python/zeromq/CMakeLists.txt
index 66fc65a4b..100d1028f 100644
--- a/gr-zeromq/python/zeromq/CMakeLists.txt
+++ b/gr-zeromq/python/zeromq/CMakeLists.txt
@@ -51,6 +51,6 @@ if(ENABLE_TESTING)
file(GLOB py_qa_test_files "qa_*.py")
foreach(py_qa_test_file ${py_qa_test_files})
get_filename_component(py_qa_test_name ${py_qa_test_file} NAME_WE)
- GR_ADD_TEST(${py_qa_test_name} ${QA_PYTHON_EXECUTABLE} ${PYTHON_DASH_B} ${py_qa_test_file})
+ GR_ADD_TEST(${py_qa_test_name} ${QA_PYTHON_EXECUTABLE} -B ${py_qa_test_file})
endforeach(py_qa_test_file)
endif(ENABLE_TESTING)
diff --git a/gr-zeromq/python/zeromq/__init__.py b/gr-zeromq/python/zeromq/__init__.py
index cab4b6764..3b3e3869b 100644
--- a/gr-zeromq/python/zeromq/__init__.py
+++ b/gr-zeromq/python/zeromq/__init__.py
@@ -22,15 +22,17 @@
'''
Blocks for interfacing with ZeroMQ endpoints.
'''
+from __future__ import absolute_import
+from __future__ import unicode_literals
import os
try:
- from zeromq_swig import *
+ from .zeromq_swig import *
except ImportError:
dirname, filename = os.path.split(os.path.abspath(__file__))
__path__.append(os.path.join(dirname, "..", "..", "swig"))
- from zeromq_swig import *
+ from .zeromq_swig import *
-from probe_manager import probe_manager
-from rpc_manager import rpc_manager
+from .probe_manager import probe_manager
+from .rpc_manager import rpc_manager
diff --git a/gr-zeromq/python/zeromq/probe_manager.py b/gr-zeromq/python/zeromq/probe_manager.py
index 9facb33b2..c224ca787 100644
--- a/gr-zeromq/python/zeromq/probe_manager.py
+++ b/gr-zeromq/python/zeromq/probe_manager.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
#
# Copyright 2013 Free Software Foundation, Inc.
#
@@ -20,10 +21,9 @@
#
import zmq
-import threading
import numpy
-class probe_manager():
+class probe_manager(object):
def __init__(self):
self.zmq_context = zmq.Context()
self.poller = zmq.Poller()
@@ -31,7 +31,7 @@ class probe_manager():
def add_socket(self, address, data_type, callback_func):
socket = self.zmq_context.socket(zmq.SUB)
- socket.setsockopt(zmq.SUBSCRIBE, "")
+ socket.setsockopt(zmq.SUBSCRIBE, b"")
socket.connect(address)
# use a tuple to store interface elements
self.interfaces.append((socket, data_type, callback_func))
diff --git a/gr-zeromq/python/zeromq/qa_zeromq_pub.py b/gr-zeromq/python/zeromq/qa_zeromq_pub.py
index cc856d57c..2cee710d2 100755..100644
--- a/gr-zeromq/python/zeromq/qa_zeromq_pub.py
+++ b/gr-zeromq/python/zeromq/qa_zeromq_pub.py
@@ -21,6 +21,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest
from gnuradio import blocks, zeromq
from gnuradio import eng_notation
@@ -37,7 +38,7 @@ class qa_zeromq_pub (gr_unittest.TestCase):
def test_001 (self):
vlen = 10
self.rx_data = None
- src_data = range(vlen)*100
+ src_data = list(range(vlen))*100
src = blocks.vector_source_f(src_data, False, vlen)
zeromq_pub_sink = zeromq.pub_sink(gr.sizeof_float, vlen, "tcp://127.0.0.1:5555")
self.tb.connect(src, zeromq_pub_sink)
diff --git a/gr-zeromq/python/zeromq/qa_zeromq_pubsub.py b/gr-zeromq/python/zeromq/qa_zeromq_pubsub.py
index bb853d892..21c96a371 100755..100644
--- a/gr-zeromq/python/zeromq/qa_zeromq_pubsub.py
+++ b/gr-zeromq/python/zeromq/qa_zeromq_pubsub.py
@@ -21,6 +21,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest
from gnuradio import blocks, zeromq
import time
@@ -37,7 +38,7 @@ class qa_zeromq_pubsub (gr_unittest.TestCase):
def test_001 (self):
vlen = 10
- src_data = range(vlen)*100
+ src_data = list(range(vlen))*100
src = blocks.vector_source_f(src_data, False, vlen)
zeromq_pub_sink = zeromq.pub_sink(gr.sizeof_float, vlen, "tcp://127.0.0.1:5556", 0)
zeromq_sub_source = zeromq.sub_source(gr.sizeof_float, vlen, "tcp://127.0.0.1:5556", 0)
diff --git a/gr-zeromq/python/zeromq/qa_zeromq_pushpull.py b/gr-zeromq/python/zeromq/qa_zeromq_pushpull.py
index 388f7ff9c..b4dde8b2b 100755..100644
--- a/gr-zeromq/python/zeromq/qa_zeromq_pushpull.py
+++ b/gr-zeromq/python/zeromq/qa_zeromq_pushpull.py
@@ -20,6 +20,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest, blocks, zeromq
import time
@@ -35,7 +36,7 @@ class qa_zeromq_pushpull (gr_unittest.TestCase):
def test_001 (self):
vlen = 10
- src_data = range(vlen)*100
+ src_data = list(range(vlen))*100
src = blocks.vector_source_f(src_data, False, vlen)
zeromq_push_sink = zeromq.push_sink(gr.sizeof_float, vlen, "tcp://127.0.0.1:5557")
zeromq_pull_source = zeromq.pull_source(gr.sizeof_float, vlen, "tcp://127.0.0.1:5557", 0)
diff --git a/gr-zeromq/python/zeromq/qa_zeromq_reqrep.py b/gr-zeromq/python/zeromq/qa_zeromq_reqrep.py
index a5a3d33f6..9fccbf300 100755..100644
--- a/gr-zeromq/python/zeromq/qa_zeromq_reqrep.py
+++ b/gr-zeromq/python/zeromq/qa_zeromq_reqrep.py
@@ -21,6 +21,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest
from gnuradio import blocks, zeromq
from gnuradio import eng_notation
@@ -38,7 +39,7 @@ class qa_zeromq_reqrep (gr_unittest.TestCase):
def test_001 (self):
vlen = 10
- src_data = range(vlen)*100
+ src_data = list(range(vlen))*100
src = blocks.vector_source_f(src_data, False, vlen)
zeromq_rep_sink = zeromq.rep_sink(gr.sizeof_float, vlen, "tcp://127.0.0.1:5558", 0)
zeromq_req_source = zeromq.req_source(gr.sizeof_float, vlen, "tcp://127.0.0.1:5558", 0)
diff --git a/gr-zeromq/python/zeromq/qa_zeromq_sub.py b/gr-zeromq/python/zeromq/qa_zeromq_sub.py
index f916901ff..d6006780d 100755
--- a/gr-zeromq/python/zeromq/qa_zeromq_sub.py
+++ b/gr-zeromq/python/zeromq/qa_zeromq_sub.py
@@ -44,7 +44,7 @@ class qa_zeromq_sub (gr_unittest.TestCase):
def test_001 (self):
vlen = 10
- src_data = numpy.array(range(vlen)*100, 'float32')
+ src_data = numpy.array(range(vlen), 'float32')*100
zeromq_sub_source = zeromq.sub_source(gr.sizeof_float, vlen, "tcp://127.0.0.1:5555")
sink = blocks.vector_sink_f(vlen)
self.tb.connect(zeromq_sub_source, sink)
@@ -60,7 +60,7 @@ class qa_zeromq_sub (gr_unittest.TestCase):
vlen = 10
# Construct multipart source data to publish
- raw_data = [numpy.array(range(vlen)*100, 'float32'), numpy.array(range(vlen, 2*vlen)*100, 'float32')]
+ raw_data = [numpy.array(range(vlen), 'float32')*100, numpy.array(range(vlen, 2*vlen), 'float32')*100]
src_data = [a.tostring() for a in raw_data]
zeromq_sub_source = zeromq.sub_source(gr.sizeof_float, vlen, "tcp://127.0.0.1:5555")
sink = blocks.vector_sink_f(vlen)
diff --git a/gr-zeromq/python/zeromq/rpc_manager.py b/gr-zeromq/python/zeromq/rpc_manager.py
index 2dce997bd..f7c972b75 100644
--- a/gr-zeromq/python/zeromq/rpc_manager.py
+++ b/gr-zeromq/python/zeromq/rpc_manager.py
@@ -19,12 +19,15 @@
# Boston, MA 02110-1301, USA.
#
+from __future__ import print_function
+from __future__ import unicode_literals
+
import zmq
import pmt
import threading
-class rpc_manager():
+class rpc_manager(object):
def __init__(self):
self.zmq_context = zmq.Context()
self.poller_rep = zmq.Poller()
@@ -39,22 +42,22 @@ class rpc_manager():
def set_reply_socket(self, address):
self.rep_socket = self.zmq_context.socket(zmq.REP)
self.rep_socket.bind(address)
- print "[RPC] reply socket bound to: ", address
+ print("[RPC] reply socket bound to: ", address)
self.poller_rep.register(self.rep_socket, zmq.POLLIN)
def set_request_socket(self, address):
self.req_socket = self.zmq_context.socket(zmq.REQ)
self.req_socket.connect(address)
- print "[RPC] request socket connected to: ", address
+ print("[RPC] request socket connected to: ", address)
self.poller_req_out.register(self.req_socket, zmq.POLLOUT)
self.poller_req_in.register(self.req_socket, zmq.POLLIN)
def add_interface(self, id_str, callback_func):
- if not self.interfaces.has_key(id_str):
+ if id_str not in self.interfaces:
self.interfaces[id_str] = callback_func
- print "[RPC] added reply interface:", id_str
+ print("[RPC] added reply interface:", id_str)
else:
- print "[RPC] ERROR: duplicate id_str:", id_str
+ print("[RPC] ERROR: duplicate id_str:", id_str)
def watcher(self):
self.keep_running = True
@@ -65,7 +68,7 @@ class rpc_manager():
# receive call
msg = self.rep_socket.recv()
(id_str, args) = pmt.to_python(pmt.deserialize_str(msg))
- print "[RPC] request:", id_str, ", args:", args
+ print("[RPC] request:", id_str, ", args:", args)
reply = self.callback(id_str, args)
self.rep_socket.send(pmt.serialize_str(pmt.to_pmt(reply)))
@@ -85,11 +88,11 @@ class rpc_manager():
socks = dict(self.poller_req_in.poll(10))
if socks.get(self.req_socket) == zmq.POLLIN:
reply = pmt.to_python(pmt.deserialize_str(self.req_socket.recv()))
- print "[RPC] reply:", reply
+ print("[RPC] reply:", reply)
return reply
def callback(self, id_str, args):
- if self.interfaces.has_key(id_str):
+ if id_str in self.interfaces:
callback_func = self.interfaces.get(id_str)
if not args == None:
# use unpacking or splat operator * to unpack argument list
@@ -97,5 +100,5 @@ class rpc_manager():
else:
return(callback_func())
else:
- print "[RPC] ERROR: id_str not found:", id_str
+ print("[RPC] ERROR: id_str not found:", id_str)
return None