Message Strobe: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
mNo edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 3: Line 3:


Takes a PMT message and sends it out every  milliseconds. Useful for testing/debugging the message system.
Takes a PMT message and sends it out every  milliseconds. Useful for testing/debugging the message system.
The PMT to send seems to be settable also from the input port (please confirm that)


== Parameters ==
== Parameters ==
Line 10: Line 8:


; Message PMT (''R'')
; Message PMT (''R'')
: The message to send as a PMT.
: The message to send as a PMT. For example, the following message creates a payload of a simple vector of 16 bytes that contains all 1's.
 
  pmt.cons(pmt.PMT_NIL, pmt.make_u8vector(16, 0xFF))


; Period (ms) (''R'')
; Period (ms) (''R'')
Line 16: Line 16:


== Example Flowgraph ==
== Example Flowgraph ==
=== Example 1 ===
In this example, a Message Strobe block sends the string "Demo" once per second.
In this example, a Message Strobe block sends the string "Demo" once per second.


[[File:PUB_SUB_msg_demo.png]]
[[File:PUB_SUB_msg_demo.png]]
=== Example 2 ===


In another example, we change the frequency of a signal source to 1kHz after 5 seconds.
In another example, we change the frequency of a signal source to 1kHz after 5 seconds.
[[File:Signal_source_freq_msg_port.PNG]]
[[File:Signal_source_freq_msg_port.PNG]]
The message strobe settings in the above example are as follows:
The message strobe settings in the above example are as follows:
[[File:Message_strobe_settings.PNG | 400px]]
[[File:Message_strobe_settings.PNG | 400px]]
=== Example 3 ===
Another example that uses a Message Strobe block can be found in [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/examples/msg_passing gr-blocks/examples/msg_passing].


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


; C++ files
; C++ files
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/message_strobe_impl.cc]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/lib/message_strobe_impl.cc]


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


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


; Block definition
; Block definition
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/grc/blocks_message_strobe.block.yml]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/grc/blocks_message_strobe.block.yml]

Latest revision as of 13:39, 6 May 2024

Send message at defined interval.

Takes a PMT message and sends it out every milliseconds. Useful for testing/debugging the message system.

Parameters

(R): Run-time adjustable

Message PMT (R)
The message to send as a PMT. For example, the following message creates a payload of a simple vector of 16 bytes that contains all 1's.
 pmt.cons(pmt.PMT_NIL, pmt.make_u8vector(16, 0xFF))
Period (ms) (R)
The specified time interval after which data is sent at the output repeatedly.

Example Flowgraph

Example 1

In this example, a Message Strobe block sends the string "Demo" once per second.

PUB SUB msg demo.png

Example 2

In another example, we change the frequency of a signal source to 1kHz after 5 seconds.

Signal source freq msg port.PNG

The message strobe settings in the above example are as follows:

Message strobe settings.PNG

Example 3

Another example that uses a Message Strobe block can be found in gr-blocks/examples/msg_passing.

Source Files

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