Dear gurus,
I am learning gnuradio Message Passing feature, but couldn't get
desirable result.
The Message seems published successfully, but not subscribed by the
Message receiver.
How to correct the error ..?
The message sender block:
// constructor
message_source1_impl::message_source1_impl()
: gr::sync_block("message_source1",
gr::io_signature::make(0, 0, 0),
gr::io_signature::make( 1, 1, sizeof(int)) )
{
message_port_register_out( pmt::mp("print") );
}
// send_message1
void
message_source1_impl::send_message1()
{
std::cout << "message_source1_impl::send_message():
invoked" << std::endl;
pmt::pmt_t str0 = pmt::string_to_symbol(
std::string("Welcome 2014"));
message_port_pub( pmt::mp("print"), str0 );
}
// work
int
message_source1_impl::work(int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
int *out = (int *) output_items[0];
for (int i=0; i < noutput_items; i++)
out[i] = (i+1) * (i+1);
send_message1();
return noutput_items;
}
The message receiver block:
// constructor
message_sink1_impl::message_sink1_impl()
: gr::sync_block("message_sink1",
gr::io_signature::make(0, 0, 0),
gr::io_signature::make( 1, 1, sizeof(int)) )
{
message_port_register_in( pmt::mp("print") );
set_msg_handler( pmt::mp("print"), boost::bind(
&message_sink1_impl::handler1, this, _1 ) );
}
// message handler
void
message_sink1_impl::handler1( pmt::pmt_t myMessage )
{
std::cout << "message_sink1_impl::handler1(): invoked" <<
std::endl;
pmt::print( myMessage );
}
// work
int
message_sink1_impl::work(int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
int *out = (int *) output_items[0];
for (int i=0; i < noutput_items; i++)
out[i] = i+1;
return noutput_items;
}
Flow graph execution output:
Executing: "/home/mmkk/gnuradio/gr-activecat/apps/top_block.py"
message_source1_impl::send_message(): invoked
message_source1_impl::send_message(): invoked
message_source1_impl::send_message(): invoked
message_source1_impl::send_message(): invoked
message_source1_impl::send_message(): invoked
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio