aboutsummaryrefslogtreecommitdiffstats
path: root/lib/misc_utils
diff options
context:
space:
mode:
authorRoman Khassraf <roman@khassraf.at>2015-07-26 13:47:26 +0200
committerRoman Khassraf <roman@khassraf.at>2015-07-26 13:47:26 +0200
commit2bf49e4dd58d1c0833bde8f6af3fe0d71b2b694b (patch)
treebbbe7f1963ff6ccf7bd5c360fcfe8b6fa1a1eafe /lib/misc_utils
parent829eabb58c0e7c35d7abde55609b8c56154d7d7f (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.cc18
-rw-r--r--lib/misc_utils/message_printer_impl.h3
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();
};