diff options
author | Roman Khassraf <roman@khassraf.at> | 2015-07-26 13:47:26 +0200 |
---|---|---|
committer | Roman Khassraf <roman@khassraf.at> | 2015-07-26 13:47:26 +0200 |
commit | 2bf49e4dd58d1c0833bde8f6af3fe0d71b2b694b (patch) | |
tree | bbbe7f1963ff6ccf7bd5c360fcfe8b6fa1a1eafe /lib/misc_utils | |
parent | 829eabb58c0e7c35d7abde55609b8c56154d7d7f (diff) |
Added option to message printer that allows printing the gsmtap header.
Diffstat (limited to 'lib/misc_utils')
-rw-r--r-- | lib/misc_utils/message_printer_impl.cc | 18 | ||||
-rw-r--r-- | lib/misc_utils/message_printer_impl.h | 3 |
2 files changed, 15 insertions, 6 deletions
diff --git a/lib/misc_utils/message_printer_impl.cc b/lib/misc_utils/message_printer_impl.cc index d02e2fe..2599f65 100644 --- a/lib/misc_utils/message_printer_impl.cc +++ b/lib/misc_utils/message_printer_impl.cc @@ -41,7 +41,15 @@ namespace gr { gsmtap_hdr * header = (gsmtap_hdr *)message_plus_header; std::cout << d_prepend_string; - for(int ii=sizeof(gsmtap_hdr); ii<message_plus_header_len; ii++) + + int start_index = sizeof(gsmtap_hdr); + + if (d_print_gsmtap_header) + { + start_index = 0; + } + + for(int ii=start_index; ii<message_plus_header_len; ii++) { printf(" %02x", message_plus_header[ii]); } @@ -49,24 +57,24 @@ namespace gr { } message_printer::sptr - message_printer::make(pmt::pmt_t prepend_string) + message_printer::make(pmt::pmt_t prepend_string, bool print_gsmtap_header) { return gnuradio::get_initial_sptr - (new message_printer_impl(prepend_string)); + (new message_printer_impl(prepend_string, print_gsmtap_header)); } /* * The private constructor */ - message_printer_impl::message_printer_impl(pmt::pmt_t prepend_string) + message_printer_impl::message_printer_impl(pmt::pmt_t prepend_string, bool print_gsmtap_header) : gr::block("message_printer", gr::io_signature::make(0, 0, 0), gr::io_signature::make(0, 0, 0)) { d_prepend_string = prepend_string; + d_print_gsmtap_header = print_gsmtap_header; message_port_register_in(pmt::mp("msgs")); set_msg_handler(pmt::mp("msgs"), boost::bind(&message_printer_impl::message_print, this, _1)); - } /* diff --git a/lib/misc_utils/message_printer_impl.h b/lib/misc_utils/message_printer_impl.h index e82485e..e44288b 100644 --- a/lib/misc_utils/message_printer_impl.h +++ b/lib/misc_utils/message_printer_impl.h @@ -33,8 +33,9 @@ namespace gr { private: void message_print(pmt::pmt_t msg); pmt::pmt_t d_prepend_string; + bool d_print_gsmtap_header; public: - message_printer_impl(pmt::pmt_t prepend_string); + message_printer_impl(pmt::pmt_t prepend_string, bool print_gsmtap_header=false); ~message_printer_impl(); }; |