summaryrefslogtreecommitdiff
path: root/gr-digital/lib/packet_header_ofdm.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital/lib/packet_header_ofdm.cc')
-rw-r--r--gr-digital/lib/packet_header_ofdm.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/gr-digital/lib/packet_header_ofdm.cc b/gr-digital/lib/packet_header_ofdm.cc
index cd42273285..f163657bab 100644
--- a/gr-digital/lib/packet_header_ofdm.cc
+++ b/gr-digital/lib/packet_header_ofdm.cc
@@ -23,7 +23,7 @@
#include "config.h"
#endif
-#include <digital/packet_header_ofdm.h>
+#include <gnuradio/digital/packet_header_ofdm.h>
namespace gr {
namespace digital {
@@ -85,7 +85,7 @@ namespace gr {
bool packet_header_ofdm::header_parser(
const unsigned char *in,
- std::vector<gr_tag_t> &tags)
+ std::vector<tag_t> &tags)
{
if (!packet_header_default::header_parser(in, tags)) {
return false;
@@ -93,12 +93,15 @@ namespace gr {
int packet_len = 0; // # of bytes in this frame
for (unsigned i = 0; i < tags.size(); i++) {
if (pmt::equal(tags[i].key, d_len_tag_key)) {
- packet_len = pmt::to_long(tags[i].value);
+ // Convert bytes to complex symbols:
+ packet_len = pmt::to_long(tags[i].value) * 8 / d_bits_per_payload_sym;
+ if (pmt::to_long(tags[i].value) * 8 % d_bits_per_payload_sym) {
+ packet_len++;
+ }
+ tags[i].value = pmt::from_long(packet_len);
break;
}
}
- // Convert bytes to complex symbols:
- packet_len = packet_len * 8 / d_bits_per_payload_sym;
// frame_len == # of OFDM symbols in this frame
int frame_len = packet_len / d_syms_per_set;
@@ -108,7 +111,7 @@ namespace gr {
frame_len++;
i += d_occupied_carriers[k].size();
}
- gr_tag_t tag;
+ tag_t tag;
tag.key = d_frame_len_tag_key;
tag.value = pmt::from_long(frame_len);
tags.push_back(tag);