Message Debug: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
(→‎Parameters: document new log level param)
 
(13 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category:Block Docs]]
__NOTOC__
<span id="gr_vad"></span>
<hr>
Debug block for the message passing system.
Debug block for the message passing system.


The message debug block is used to capture and print or store messages as they are received. Any block that generates a message may connect that message port to one or more of the three message input ports of this debug block.
The message debug block is used to capture and print or store messages as they are received. Any block that generates a message may connect that message port to one or more of the three message input ports of this debug block.


The message ports are:
== Parameters ==
<b>(''R''):</b> <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span>
 
<div data-vad="3.9,3.10">
<code>Added in 3.9</code>
; PDU Vectors (''R'')
: On or Off - determines if the uniform vector is printed or not.
</div>
 
<div data-vad="3.8">
<code>Version 3.8</code>
; None
</div>
 
<div data-vad="3.11">
<code>Version 3.11, 3.10.6++</code>
; Log level
: Sets the "log" input's log level to trace, debug, info, warning, error or critical
</div>
 
== Messages ==


* print: prints the message directly to standard out.
=== Inputs ===
* store: stores the message in an internal vector. May be access using the get_message function.
<div data-vad="3.11">
* print_pdu: specifically designed to handle formatted PDUs (see pdu.h).
==== Versions 3.11 (and >3.10.6.1) ====
----
; log
: Logs all messages to the logging system (which by default prints it to your console). '''Generally, this is preferred over the "print" input.'''
; print
: Prints all messages to standard out. If the message is a PDU, it will receive special formatting and the <code>PDU Vectors</code> block parameter will determine if the uniform vector is printed or not.
; store
: Stores the message in an internal vector. It works in conjunction with a message_debug::get_message(size_t i) call that allows us to retrieve message i afterward.
; print_pdu
: PDU messages are redirected to the <code>print</code> port. This is included for compatibility and is no longer recommended for use.
</div>




== Parameters ==
<div data-vad="3.9,3.10">
==== Versions 3.9 and 3.10 ====
----
; print
: Prints all messages to standard out. If the message is a PDU, it will receive special formatting and the <code>PDU Vectors</code> block parameter will determine if the uniform vector is printed or not.
; store
: Stores the message in an internal vector. It works in conjunction with a message_debug::get_message(size_t i) call that allows us to retrieve message i afterward.
; print_pdu
: PDU messages are redirected to the <code>print</code> port. This is included for compatibility and is no longer recommended for use.
</div>
 
<div data-vad="3.8">


None
==== Version 3.8 ====
----
; print
: Prints the message to standard out.
; store
: Stores the message in an internal vector. It works in conjunction with a message_debug::get_message(size_t i) call that allows us to retrieve message i afterward.
; print_pdu
: Specifically designed to handle formatted PDUs (see pdu.h). It discards messages that aren't PDU pairs (or are null).
</div>


== Example Flowgraph ==
== Example Flowgraph ==
In this example, a Message Strobe block sends the string "Demo" once per second. It is displayed on the user terminal by the Message Debug block.


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.
[[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/master/gr-blocks/lib/message_debug_impl.cc]


; Header files
; Header files
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/message_debug_impl.h]


; Public header files
; Public header files
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/include/gnuradio/blocks/message_debug.h]


; Block definition
; Block definition
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/grc/blocks_message_debug.block.yml]
 
[[Category:Block Docs]]
[[Category:Version-adaptive docs]]

Latest revision as of 13:15, 18 May 2023


Debug block for the message passing system.

The message debug block is used to capture and print or store messages as they are received. Any block that generates a message may connect that message port to one or more of the three message input ports of this debug block.

Parameters

(R): Run-time adjustable

Added in 3.9

PDU Vectors (R)
On or Off - determines if the uniform vector is printed or not.

Version 3.8

None

Version 3.11, 3.10.6++

Log level
Sets the "log" input's log level to trace, debug, info, warning, error or critical

Messages

Inputs

Versions 3.11 (and >3.10.6.1)


log
Logs all messages to the logging system (which by default prints it to your console). Generally, this is preferred over the "print" input.
print
Prints all messages to standard out. If the message is a PDU, it will receive special formatting and the PDU Vectors block parameter will determine if the uniform vector is printed or not.
store
Stores the message in an internal vector. It works in conjunction with a message_debug::get_message(size_t i) call that allows us to retrieve message i afterward.
print_pdu
PDU messages are redirected to the print port. This is included for compatibility and is no longer recommended for use.


Versions 3.9 and 3.10


print
Prints all messages to standard out. If the message is a PDU, it will receive special formatting and the PDU Vectors block parameter will determine if the uniform vector is printed or not.
store
Stores the message in an internal vector. It works in conjunction with a message_debug::get_message(size_t i) call that allows us to retrieve message i afterward.
print_pdu
PDU messages are redirected to the print port. This is included for compatibility and is no longer recommended for use.

Version 3.8


print
Prints the message to standard out.
store
Stores the message in an internal vector. It works in conjunction with a message_debug::get_message(size_t i) call that allows us to retrieve message i afterward.
print_pdu
Specifically designed to handle formatted PDUs (see pdu.h). It discards messages that aren't PDU pairs (or are null).

Example Flowgraph

In this example, a Message Strobe block sends the string "Demo" once per second. It is displayed on the user terminal by the Message Debug block.

PUB SUB msg demo.png

Source Files

C++ files
[1]
Header files
[2]
Public header files
[3]
Block definition
[4]