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 Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio