Changed format of messages containing bursts to PDU. Corrected types of bursts.
diff --git a/lib/misc_utils/bursts_printer_impl.cc b/lib/misc_utils/bursts_printer_impl.cc
index 3e7d843..e428163 100644
--- a/lib/misc_utils/bursts_printer_impl.cc
+++ b/lib/misc_utils/bursts_printer_impl.cc
@@ -36,16 +36,15 @@
boost::mutex printer_mutex;
void bursts_printer_impl::bursts_print(pmt::pmt_t msg)
{
- pmt::pmt_t burst = pmt::cdr(msg);
- int8_t * burst_elements = (int8_t *)pmt::blob_data(burst);
- size_t burst_len=pmt::blob_length(burst);
+ pmt::pmt_t header_plus_burst = pmt::cdr(msg);
- pmt::pmt_t header_blob = pmt::car(msg);
- gsmtap_hdr * header = (gsmtap_hdr *)pmt::blob_data(header_blob);
-
+ gsmtap_hdr * header = (gsmtap_hdr *)pmt::blob_data(header_plus_burst);
+ int8_t * burst = (int8_t *)(pmt::blob_data(header_plus_burst))+sizeof(gsmtap_hdr);
+ size_t burst_len=pmt::blob_length(header_plus_burst)-sizeof(gsmtap_hdr);
+
for(int ii=0; ii<burst_len; ii++)
{
- std::cout << std::setprecision(1) << static_cast<int>(burst_elements[ii]) << "";
+ std::cout << std::setprecision(1) << static_cast<int>(burst[ii]) << "";
}
std::cout << std::endl;
}
diff --git a/lib/misc_utils/message_printer_impl.cc b/lib/misc_utils/message_printer_impl.cc
index 0e55233..5a9e6db 100644
--- a/lib/misc_utils/message_printer_impl.cc
+++ b/lib/misc_utils/message_printer_impl.cc
@@ -31,16 +31,15 @@
void message_printer_impl::message_print(pmt::pmt_t msg)
{
- pmt::pmt_t message = pmt::cdr(msg);
- uint8_t * message_elements = (uint8_t *)pmt::blob_data(message);
- size_t message_len=pmt::blob_length(message);
-
-// pmt::pmt_t header_blob = pmt::car(msg);
- gsmtap_hdr * header = (gsmtap_hdr *)message_elements;
+ pmt::pmt_t message_plus_header_blob = pmt::cdr(msg);
+ uint8_t * message_plus_header = (uint8_t *)pmt::blob_data(message_plus_header_blob);
+ size_t message_plus_header_len=pmt::blob_length(message_plus_header_blob);
- for(int ii=(header->hdr_len*4); ii<message_len; ii++)
+ gsmtap_hdr * header = (gsmtap_hdr *)message_plus_header;
+
+ for(int ii=sizeof(gsmtap_hdr); ii<message_plus_header_len; ii++)
{
- printf(" %02x", message_elements[ii]);
+ printf(" %02x", message_plus_header[ii]);
}
std::cout << std::endl;
}