Message Debug: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
(Created page with "Category:Block Docs Category:Stub Docs This is the template for the "Page-per-block Docs". This first section should describe what the block...")
 
(→‎Parameters: document new log level param)
 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category:Block Docs]]
__NOTOC__
[[Category:Stub Docs]]
<span id="gr_vad"></span>
This is the template for the [[:Category:Block_Docs|"Page-per-block Docs"]].  This first section should describe what the block does and how to use it, using however many paragraphs necessary.  Note that the title of the wiki page should match the block's name in GRC, i.e. the one defined in the block's .grc file.  Look at the [[FFT]] Block for a good example.
<hr>
Debug block for the message passing system.


As this is a basic template, it's also in the [[:Category:Stub_Docs|"Stub Docs category"]]. Please improve it.
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 ==
== Parameters ==
(''R''): <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span>
<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 ==
 
=== Inputs ===
<div data-vad="3.11">
==== 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>


; Param 1 (''R'')
: Description of parameter, provide any tips or recommended values.  Note that the name of the parameter above should match the param's label that shows up in grc (e.g. Sample Rate).


; Param 2
<div data-vad="3.9,3.10">
: blah blah blah
==== 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">
 
==== 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]