ZMQ SUB Message Source: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
m (Add source files)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[Category:Block Docs]]
[[Category:Block Docs]]
Receive messages on ZMQ SUB socket and output async messages.
The ZMQ SUB Message Source block receives messages from a ZMQ SUB socket and outputs async messages. This block will connect to a ZMQ PUB Message Sink or a non-GNU Radio ZMQ socket.
 
This block will connect to a ZMQ PUB socket, then convert them to outgoing async messages


== Parameters ==
== Parameters ==
Line 8: Line 6:


; Address
; Address
: ZMQ socket address specifier
: ZMQ socket address specifier. The format of the address is <code>tcp://*:port</code> where * should be 127.0.0.1 for localhost.<br>
: <b>Note:</b> If the Source and Sink blocks are on two different computers on the same LAN, then the IP and port number of the Sink block must be specified on each end of that connection. For example, if the Sink is on IP 192.168.2.14:5678 and the Source is on IP 192.168.2.5, both Source and Sink blocks must specify the Sink IP and port (192.168.2.14:5678).


; Timeout
; Timeout
: Receive timeout in milliseconds, default is 100ms, 1us increments
: Receive timeout in milliseconds, default is 100ms.


== Example Flowgraph ==
== Example Flowgraph ==


Insert description of flowgraph here, then show a screenshot of the flowgraph and the output if there is an interesting GUI.  Currently we have no standard method of uploading the actual flowgraph to the wiki or git repo, unfortunately. The plan is to have an example flowgraph showing how the block might be used, for every block, and the flowgraphs will live in the git repo.
In this example, the ZMQ SUB Message Source block is receiving a message and displaying it on the user's terminal.
 
[[File:PUB_SUB_msg_demo.png]]


== Source Files ==
== Source Files ==


; C++ files
; C++ files
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-zeromq/lib/sub_msg_source_impl.cc /gr-zeromq/lib/sub_msg_source_impl.cc]


; Header files
; Header files
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-zeromq/lib/sub_msg_source_impl.h /gr-zeromq/lib/sub_msg_source_impl.h]


; Public header files
; Public header files
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-zeromq/include/gnuradio/zeromq/sub_msg_source.h /gr-zeromq/include/gnuradio/zeromq/sub_msg_source.h]


; Block definition
; Block definition
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-zeromq/grc/zeromq_sub_msg_source.block.yml /gr-zeromq/grc/zeromq_sub_msg_source.block.yml]

Latest revision as of 17:13, 28 November 2023

The ZMQ SUB Message Source block receives messages from a ZMQ SUB socket and outputs async messages. This block will connect to a ZMQ PUB Message Sink or a non-GNU Radio ZMQ socket.

Parameters

(R): Run-time adjustable

Address
ZMQ socket address specifier. The format of the address is tcp://*:port where * should be 127.0.0.1 for localhost.
Note: If the Source and Sink blocks are on two different computers on the same LAN, then the IP and port number of the Sink block must be specified on each end of that connection. For example, if the Sink is on IP 192.168.2.14:5678 and the Source is on IP 192.168.2.5, both Source and Sink blocks must specify the Sink IP and port (192.168.2.14:5678).
Timeout
Receive timeout in milliseconds, default is 100ms.

Example Flowgraph

In this example, the ZMQ SUB Message Source block is receiving a message and displaying it on the user's terminal.

PUB SUB msg demo.png

Source Files

C++ files
/gr-zeromq/lib/sub_msg_source_impl.cc
Header files
/gr-zeromq/lib/sub_msg_source_impl.h
Public header files
/gr-zeromq/include/gnuradio/zeromq/sub_msg_source.h
Block definition
/gr-zeromq/grc/zeromq_sub_msg_source.block.yml