diff --git a/grc/foo_burst_tagger.xml b/grc/foo_burst_tagger.xml
index 4390f04..2401599 100644
--- a/grc/foo_burst_tagger.xml
+++ b/grc/foo_burst_tagger.xml
@@ -5,7 +5,7 @@
Foo
import pmt
import foo
- foo.burst_tagger($tag_name)
+ foo.burst_tagger($tag_name, $mult)
Tag Name
@@ -14,6 +14,15 @@
raw
+
+ Multiplier
+ mult
+ 1
+ int
+
+
+ $mult > 0
+
in
complex
diff --git a/include/foo/burst_tagger.h b/include/foo/burst_tagger.h
index f42a95b..b48e118 100644
--- a/include/foo/burst_tagger.h
+++ b/include/foo/burst_tagger.h
@@ -31,7 +31,7 @@ namespace foo {
public:
typedef boost::shared_ptr sptr;
- static sptr make(pmt::pmt_t tag_name);
+ static sptr make(pmt::pmt_t tag_name, unsigned int mult);
};
} // namespace foo
diff --git a/lib/burst_tagger_impl.cc b/lib/burst_tagger_impl.cc
index 35f218c..eb9ccbf 100644
--- a/lib/burst_tagger_impl.cc
+++ b/lib/burst_tagger_impl.cc
@@ -25,12 +25,14 @@
namespace gr {
namespace foo {
-burst_tagger_impl::burst_tagger_impl(pmt::pmt_t tag_name)
+burst_tagger_impl::burst_tagger_impl(pmt::pmt_t tag_name,
+ unsigned int mult)
: gr::sync_block("burst_tagger",
gr::io_signature::make(1, 1, sizeof(gr_complex)),
gr::io_signature::make(1, 1, sizeof(gr_complex))),
d_tag_name(tag_name),
- d_copy(0) {
+ d_copy(0),
+ d_mult(mult) {
}
burst_tagger_impl::~burst_tagger_impl() {
@@ -81,7 +83,7 @@ burst_tagger_impl::work(int noutput_items,
GR_LOG_DEBUG(d_debug_log, "tags found");
tag_t tag = tags.front();
if(tag.offset == nitems_read(0)) {
- d_copy = pmt::to_uint64(tag.value) * 128;
+ d_copy = pmt::to_uint64(tag.value) * d_mult;
GR_LOG_DEBUG(d_debug_log, boost::format("tag is at current offset, packet len %1%") % d_copy);
add_sob(nitems_written(0));
} else {
@@ -109,8 +111,8 @@ burst_tagger_impl::work(int noutput_items,
}
}
-burst_tagger::sptr burst_tagger::make(pmt::pmt_t tag_name) {
- return gnuradio::get_initial_sptr(new burst_tagger_impl(tag_name));
+burst_tagger::sptr burst_tagger::make(pmt::pmt_t tag_name, unsigned int mult) {
+ return gnuradio::get_initial_sptr(new burst_tagger_impl(tag_name, mult));
}
diff --git a/lib/burst_tagger_impl.h b/lib/burst_tagger_impl.h
index 38b4bd2..d2dcb6b 100644
--- a/lib/burst_tagger_impl.h
+++ b/lib/burst_tagger_impl.h
@@ -33,9 +33,11 @@ namespace foo {
pmt::pmt_t d_tag_name;
int d_copy;
+ unsigned int d_mult;
public:
- burst_tagger_impl(pmt::pmt_t tag_name);
+ burst_tagger_impl(pmt::pmt_t tag_name,
+ unsigned int mult);
~burst_tagger_impl();
int work(int noutput_items,