aboutsummaryrefslogtreecommitdiffstats
path: root/include/grgsm
diff options
context:
space:
mode:
authorRoman Khassraf <roman@khassraf.at>2015-08-05 12:51:33 +0200
committerRoman Khassraf <roman@khassraf.at>2015-08-05 12:51:33 +0200
commit64c74463ba818857138ad9b1286d41866d5ee7f2 (patch)
tree0dcde6a742d005004ba61de31a317f7784bd8fe0 /include/grgsm
parent1fc0565aa9b0b02ab6cbcb9dcb7d7524bdceddd9 (diff)
parent1ce4469fd20a466984607ce0d075cb213e9c86f9 (diff)
Merged origin/test-utils-98 into dev, fixed conflicts
Diffstat (limited to 'include/grgsm')
-rw-r--r--include/grgsm/CMakeLists.txt2
-rw-r--r--include/grgsm/misc_utils/CMakeLists.txt8
-rw-r--r--include/grgsm/misc_utils/burst_file_sink.h (renamed from include/grgsm/misc_utils/burst_source.h)17
-rw-r--r--include/grgsm/misc_utils/burst_file_source.h57
-rw-r--r--include/grgsm/misc_utils/message_printer.h2
-rw-r--r--include/grgsm/qa_utils/CMakeLists.txt28
-rw-r--r--include/grgsm/qa_utils/burst_sink.h (renamed from include/grgsm/misc_utils/burst_sink.h)6
-rw-r--r--include/grgsm/qa_utils/burst_source.h (renamed from include/grgsm/misc_utils/burst_source_qa.h)16
-rw-r--r--include/grgsm/qa_utils/message_sink.h (renamed from include/grgsm/misc_utils/burst_sink_qa.h)32
-rw-r--r--include/grgsm/qa_utils/message_source.h60
10 files changed, 187 insertions, 41 deletions
diff --git a/include/grgsm/CMakeLists.txt b/include/grgsm/CMakeLists.txt
index fd44c54..a16c076 100644
--- a/include/grgsm/CMakeLists.txt
+++ b/include/grgsm/CMakeLists.txt
@@ -32,4 +32,4 @@ add_subdirectory(decryption)
add_subdirectory(demapping)
add_subdirectory(receiver)
add_subdirectory(misc_utils)
-
+add_subdirectory(qa_utils)
diff --git a/include/grgsm/misc_utils/CMakeLists.txt b/include/grgsm/misc_utils/CMakeLists.txt
index 8b74fc7..527ae51 100644
--- a/include/grgsm/misc_utils/CMakeLists.txt
+++ b/include/grgsm/misc_utils/CMakeLists.txt
@@ -22,14 +22,12 @@
########################################################################
install(FILES
bursts_printer.h
- burst_sink.h
- burst_source.h
- burst_sink_qa.h
- burst_source_qa.h
+ burst_file_source.h
+ burst_file_sink.h
extract_system_info.h
extract_immediate_assignment.h
controlled_rotator_cc.h
controlled_const_source_f.h
- message_printer.h
+ message_printer.h
tmsi_dumper.h DESTINATION include/grgsm/misc_utils
)
diff --git a/include/grgsm/misc_utils/burst_source.h b/include/grgsm/misc_utils/burst_file_sink.h
index bd8644f..7263baa 100644
--- a/include/grgsm/misc_utils/burst_source.h
+++ b/include/grgsm/misc_utils/burst_file_sink.h
@@ -20,8 +20,8 @@
*
*/
-#ifndef INCLUDED_GSM_BURST_SOURCE_H
-#define INCLUDED_GSM_BURST_SOURCE_H
+#ifndef INCLUDED_GSM_BURST_FILE_SINK_H
+#define INCLUDED_GSM_BURST_FILE_SINK_H
#include <grgsm/api.h>
#include <gnuradio/block.h>
@@ -34,24 +34,23 @@ namespace gr {
* \ingroup gsm
*
*/
- class GSM_API burst_source : virtual public gr::block
+ class GSM_API burst_file_sink : virtual public gr::block
{
public:
- typedef boost::shared_ptr<burst_source> sptr;
+ typedef boost::shared_ptr<burst_file_sink> sptr;
/*!
- * \brief Return a shared_ptr to a new instance of grgsm::burst_source.
+ * \brief Return a shared_ptr to a new instance of grgsm::burst_file_sink.
*
- * To avoid accidental use of raw pointers, grgsm::burst_source's
+ * To avoid accidental use of raw pointers, grgsm::burst_file_sink's
* constructor is in a private implementation
- * class. grgsm::burst_source::make is the public interface for
+ * class. grgsm::burst_file_sink::make is the public interface for
* creating new instances.
*/
static sptr make(const std::string &filename);
};
-
} // namespace gsm
} // namespace gr
-#endif /* INCLUDED_GSM_BURST_SOURCE_H */
+#endif /* INCLUDED_GSM_BURST_FILE_SINK_H */
diff --git a/include/grgsm/misc_utils/burst_file_source.h b/include/grgsm/misc_utils/burst_file_source.h
new file mode 100644
index 0000000..e18ef44
--- /dev/null
+++ b/include/grgsm/misc_utils/burst_file_source.h
@@ -0,0 +1,57 @@
+/* -*- c++ -*- */
+/* @file
+ * @author Roman Khassraf <rkhassraf@gmail.com>
+ * @section LICENSE
+ *
+ * Gr-gsm 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.
+ *
+ * Gr-gsm 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 gr-gsm; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef INCLUDED_GSM_BURST_FILE_SOURCE_H
+#define INCLUDED_GSM_BURST_FILE_SOURCE_H
+
+#include <grgsm/api.h>
+#include <gnuradio/block.h>
+
+namespace gr {
+ namespace gsm {
+
+ /*!
+ * \brief <+description of block+>
+ * \ingroup gsm
+ *
+ */
+ class GSM_API burst_file_source : virtual public gr::block
+ {
+ public:
+ typedef boost::shared_ptr<burst_file_source> sptr;
+
+ /*!
+ * \brief Return a shared_ptr to a new instance of grgsm::burst_file_source.
+ *
+ * To avoid accidental use of raw pointers, grgsm::burst_file_source's
+ * constructor is in a private implementation
+ * class. grgsm::burst_file_source::make is the public interface for
+ * creating new instances.
+ */
+ static sptr make(const std::string &filename);
+ };
+
+ } // namespace gsm
+} // namespace gr
+
+#endif /* INCLUDED_GSM_BURST_FILE_SOURCE_H */
+
diff --git a/include/grgsm/misc_utils/message_printer.h b/include/grgsm/misc_utils/message_printer.h
index 3914707..d40352f 100644
--- a/include/grgsm/misc_utils/message_printer.h
+++ b/include/grgsm/misc_utils/message_printer.h
@@ -48,7 +48,7 @@ namespace gr {
* class. gsm::message_printer::make is the public interface for
* creating new instances.
*/
- static sptr make(pmt::pmt_t prepend_string);
+ static sptr make(pmt::pmt_t prepend_string, bool print_gsmtap_header=false);
};
} // namespace gsm
diff --git a/include/grgsm/qa_utils/CMakeLists.txt b/include/grgsm/qa_utils/CMakeLists.txt
new file mode 100644
index 0000000..44bbbfb
--- /dev/null
+++ b/include/grgsm/qa_utils/CMakeLists.txt
@@ -0,0 +1,28 @@
+# Copyright 2011,2012 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio 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.
+#
+# GNU Radio 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 GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+
+########################################################################
+# Install public header files
+########################################################################
+install(FILES
+ burst_sink.h
+ burst_source.h
+ message_source.h
+ message_sink.h DESTINATION include/grgsm/qa_utils
+)
diff --git a/include/grgsm/misc_utils/burst_sink.h b/include/grgsm/qa_utils/burst_sink.h
index 6903df9..266cbc8 100644
--- a/include/grgsm/misc_utils/burst_sink.h
+++ b/include/grgsm/qa_utils/burst_sink.h
@@ -47,7 +47,11 @@ namespace gr {
* class. grgsm::burst_sink::make is the public interface for
* creating new instances.
*/
- static sptr make(const std::string &filename);
+ static sptr make();
+
+ virtual std::vector<int> get_framenumbers() = 0;
+ virtual std::vector<int> get_timeslots() = 0;
+ virtual std::vector<std::string> get_burst_data() = 0;
};
} // namespace gsm
} // namespace gr
diff --git a/include/grgsm/misc_utils/burst_source_qa.h b/include/grgsm/qa_utils/burst_source.h
index c3c5713..bfed70f 100644
--- a/include/grgsm/misc_utils/burst_source_qa.h
+++ b/include/grgsm/qa_utils/burst_source.h
@@ -20,8 +20,8 @@
*
*/
-#ifndef INCLUDED_GSM_BURST_SOURCE_QA_H
-#define INCLUDED_GSM_BURST_SOURCE_QA_H
+#ifndef INCLUDED_GSM_BURST_SOURCE_H
+#define INCLUDED_GSM_BURST_SOURCE_H
#include <grgsm/api.h>
#include <gnuradio/block.h>
@@ -34,17 +34,17 @@ namespace gr {
* \ingroup gsm
*
*/
- class GSM_API burst_source_qa : virtual public gr::block
+ class GSM_API burst_source : virtual public gr::block
{
public:
- typedef boost::shared_ptr<burst_source_qa> sptr;
+ typedef boost::shared_ptr<burst_source> sptr;
/*!
- * \brief Return a shared_ptr to a new instance of grgsm::burst_source_qa.
+ * \brief Return a shared_ptr to a new instance of grgsm::burst_source.
*
- * To avoid accidental use of raw pointers, grgsm::burst_source_qa's
+ * To avoid accidental use of raw pointers, grgsm::burst_source's
* constructor is in a private implementation
- * class. grgsm::burst_source_qa::make is the public interface for
+ * class. grgsm::burst_source::make is the public interface for
* creating new instances.
*/
static sptr make(const std::vector<int> &framenumbers,
@@ -59,6 +59,6 @@ namespace gr {
} // namespace gsm
} // namespace gr
-#endif /* INCLUDED_GSM_BURST_SOURCE_QA_H */
+#endif /* INCLUDED_GSM_BURST_SOURCE_H */
diff --git a/include/grgsm/misc_utils/burst_sink_qa.h b/include/grgsm/qa_utils/message_sink.h
index 3b5cac2..5cfe2f7 100644
--- a/include/grgsm/misc_utils/burst_sink_qa.h
+++ b/include/grgsm/qa_utils/message_sink.h
@@ -2,26 +2,27 @@
/* @file
* @author Roman Khassraf <rkhassraf@gmail.com>
* @section LICENSE
- *
+ *
* Gr-gsm 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.
- *
+ *
* Gr-gsm 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 gr-gsm; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street,
* Boston, MA 02110-1301, USA.
- *
+ *
*/
-#ifndef INCLUDED_GSM_BURST_SINK_QA_H
-#define INCLUDED_GSM_BURST_SINK_QA_H
+
+#ifndef INCLUDED_GSM_MESSAGE_SINK_H
+#define INCLUDED_GSM_MESSAGE_SINK_H
#include <grgsm/api.h>
#include <gnuradio/block.h>
@@ -34,27 +35,26 @@ namespace gr {
* \ingroup gsm
*
*/
- class GSM_API burst_sink_qa : virtual public gr::block
+ class GSM_API message_sink : virtual public gr::block
{
public:
- typedef boost::shared_ptr<burst_sink_qa> sptr;
+ typedef boost::shared_ptr<message_sink> sptr;
/*!
- * \brief Return a shared_ptr to a new instance of grgsm::burst_sink_qa.
+ * \brief Return a shared_ptr to a new instance of grgsm::message_sink.
*
- * To avoid accidental use of raw pointers, grgsm::burst_sink_qa's
+ * To avoid accidental use of raw pointers, grgsm::message_sink's
* constructor is in a private implementation
- * class. grgsm::burst_sink_qa::make is the public interface for
+ * class. grgsm::message_sink::make is the public interface for
* creating new instances.
*/
static sptr make();
-
- virtual std::vector<int> get_framenumbers() = 0;
- virtual std::vector<int> get_timeslots() = 0;
- virtual std::vector<std::string> get_burst_data() = 0;
+
+ virtual std::vector<std::string> get_messages() = 0;
};
+
} // namespace gsm
} // namespace gr
-#endif /* INCLUDED_GSM_BURST_SINK_QA_H */
+#endif /* INCLUDED_GSM_MESSAGE_SINK_H */
diff --git a/include/grgsm/qa_utils/message_source.h b/include/grgsm/qa_utils/message_source.h
new file mode 100644
index 0000000..5c3e8a1
--- /dev/null
+++ b/include/grgsm/qa_utils/message_source.h
@@ -0,0 +1,60 @@
+/* -*- c++ -*- */
+/* @file
+ * @author Roman Khassraf <rkhassraf@gmail.com>
+ * @section LICENSE
+ *
+ * Gr-gsm 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.
+ *
+ * Gr-gsm 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 gr-gsm; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+
+#ifndef INCLUDED_GSM_MESSAGE_SOURCE_H
+#define INCLUDED_GSM_MESSAGE_SOURCE_H
+
+#include <grgsm/api.h>
+#include <gnuradio/block.h>
+
+namespace gr {
+ namespace gsm {
+
+ /*!
+ * \brief <+description of block+>
+ * \ingroup gsm
+ *
+ */
+ class GSM_API message_source : virtual public gr::block
+ {
+ public:
+ typedef boost::shared_ptr<message_source> sptr;
+
+ /*!
+ * \brief Return a shared_ptr to a new instance of grgsm::message_source.
+ *
+ * To avoid accidental use of raw pointers, grgsm::message_source's
+ * constructor is in a private implementation
+ * class. grgsm::message_source::make is the public interface for
+ * creating new instances.
+ */
+ static sptr make(const std::vector<std::string> &msg_data);
+
+ virtual void set_msg_data(const std::vector<std::string> &msg_data) = 0;
+ };
+
+ } // namespace gsm
+} // namespace gr
+
+#endif /* INCLUDED_GSM_MESSAGE_SOURCE_H */
+