diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt
index 75c02d8..7d77284 100644
--- a/grc/CMakeLists.txt
+++ b/grc/CMakeLists.txt
@@ -18,6 +18,7 @@
# Boston, MA 02110-1301, USA.
install(FILES
+ ccs_burst_tagger.xml
ccs_packet_dropper.xml
ccs_wireshark_connector.xml
DESTINATION share/gnuradio/grc/blocks
diff --git a/grc/ccs_burst_tagger.xml b/grc/ccs_burst_tagger.xml
new file mode 100644
index 0000000..e3969a8
--- /dev/null
+++ b/grc/ccs_burst_tagger.xml
@@ -0,0 +1,25 @@
+
+
+ Burst Tagger
+ ccs_burst_tagger
+ CCS
+ import ccs
+ ccs.burst_tagger($tag_name)
+
+
+ Tag Name
+ tag_name
+ pmt.intern("burst_len")
+ raw
+
+
+
+ in
+ complex
+
+
+
+ out
+ complex
+
+
diff --git a/include/ccs/CMakeLists.txt b/include/ccs/CMakeLists.txt
index 2f37528..62fef02 100644
--- a/include/ccs/CMakeLists.txt
+++ b/include/ccs/CMakeLists.txt
@@ -22,6 +22,7 @@
########################################################################
install(FILES
api.h
+ burst_tagger.h
packet_dropper.h
wireshark_connector.h
DESTINATION include/ccs
diff --git a/include/ccs/burst_tagger.h b/include/ccs/burst_tagger.h
new file mode 100644
index 0000000..76072f6
--- /dev/null
+++ b/include/ccs/burst_tagger.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2013 Bastian Bloessl.
+ *
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this software; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+
+#ifndef INCLUDED_CCS_BURST_TAGGER_H
+#define INCLUDED_CCS_BURST_TAGGER_H
+
+#include
+#include
+
+namespace gr {
+namespace ccs {
+
+ class CCS_API burst_tagger : virtual public gr::sync_block {
+ public:
+ typedef boost::shared_ptr sptr;
+
+ static sptr make(pmt::pmt_t tag_name);
+ };
+
+} // namespace ccs
+} // namespace gr
+
+#endif /* INCLUDED_CCS_BURST_TAGGER_H */
+
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index bc6e993..4ab3ab9 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -26,6 +26,7 @@ include_directories(${Boost_INCLUDE_DIR})
link_directories(${Boost_LIBRARY_DIRS})
list(APPEND ccs_sources
+ burst_tagger_impl.cc
packet_dropper_impl.cc
wireshark_connector_impl.cc
)
diff --git a/lib/burst_tagger_impl.cc b/lib/burst_tagger_impl.cc
new file mode 100644
index 0000000..c2c6435
--- /dev/null
+++ b/lib/burst_tagger_impl.cc
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2013 Bastian Bloessl.
+ *
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this software; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "burst_tagger_impl.h"
+#include
+
+namespace gr {
+namespace ccs {
+
+burst_tagger_impl::burst_tagger_impl(pmt::pmt_t tag_name)
+ : 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) {
+}
+
+burst_tagger_impl::~burst_tagger_impl() {
+}
+
+int
+burst_tagger_impl::work(int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items) {
+
+ const gr_complex *in = (const gr_complex*)input_items[0];
+ gr_complex *out = (gr_complex*)output_items[0];
+
+ return noutput_items;
+}
+
+burst_tagger::sptr burst_tagger::make(pmt::pmt_t tag_name) {
+ return gnuradio::get_initial_sptr(new burst_tagger_impl(tag_name));
+}
+
+
+} /* namespace ccs */
+} /* namespace gr */
+
diff --git a/lib/burst_tagger_impl.h b/lib/burst_tagger_impl.h
new file mode 100644
index 0000000..3148a9a
--- /dev/null
+++ b/lib/burst_tagger_impl.h
@@ -0,0 +1,46 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2013 Bastian Bloessl .
+ *
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this software; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_CCS_BURST_TAGGER_IMPL_H
+#define INCLUDED_CCS_BURST_TAGGER_IMPL_H
+
+#include
+
+namespace gr {
+namespace ccs {
+
+ class burst_tagger_impl : public burst_tagger {
+ private:
+ pmt::pmt_t d_tag_name;
+
+ public:
+ burst_tagger_impl(pmt::pmt_t tag_name);
+ ~burst_tagger_impl();
+
+ int work(int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+ };
+
+} // namespace ccs
+} // namespace gr
+
+#endif /* INCLUDED_CCS_BURST_TAGGER_IMPL_H */
+
diff --git a/swig/ccs_swig.i b/swig/ccs_swig.i
index 43b4624..e48c7ec 100644
--- a/swig/ccs_swig.i
+++ b/swig/ccs_swig.i
@@ -6,13 +6,16 @@
%include "ccs_swig_doc.i"
%{
+#include "ccs/burst_tagger.h"
#include "ccs/packet_dropper.h"
#include "ccs/wireshark_connector.h"
%}
+%include "ccs/burst_tagger.h"
%include "ccs/packet_dropper.h"
%include "ccs/wireshark_connector.h"
+GR_SWIG_BLOCK_MAGIC2(ccs, burst_tagger);
GR_SWIG_BLOCK_MAGIC2(ccs, packet_dropper);
GR_SWIG_BLOCK_MAGIC2(ccs, wireshark_connector);