aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Krysik <ptrkrysik@gmail.com>2017-09-13 09:33:27 +0200
committerPiotr Krysik <ptrkrysik@gmail.com>2017-09-13 09:33:27 +0200
commit2164b9be57887fa483f55ac9ca1fdf3f9d0909a7 (patch)
tree7946085100db4f8e9e67768fd1f8ece25b9ed711
parent3148ff80cefb2023857a97a283dad8878a88d00c (diff)
Added new block for tagging bursts messages with txtime
-rw-r--r--grc/transmitter/CMakeLists.txt22
-rw-r--r--grc/transmitter/gsm_txtime_bursts_tagger.xml42
-rwxr-xr-xpython/qa_txtime_bursts_tagger.py43
-rw-r--r--python/transmitter/txtime_bursts_tagger.py47
4 files changed, 154 insertions, 0 deletions
diff --git a/grc/transmitter/CMakeLists.txt b/grc/transmitter/CMakeLists.txt
new file mode 100644
index 0000000..e4f5c0b
--- /dev/null
+++ b/grc/transmitter/CMakeLists.txt
@@ -0,0 +1,22 @@
+# 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(FILES
+ gsm_txtime_bursts_tagger.xml DESTINATION share/gnuradio/grc/blocks
+)
diff --git a/grc/transmitter/gsm_txtime_bursts_tagger.xml b/grc/transmitter/gsm_txtime_bursts_tagger.xml
new file mode 100644
index 0000000..6e72e03
--- /dev/null
+++ b/grc/transmitter/gsm_txtime_bursts_tagger.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<block>
+ <name>txtime_bursts_tagger</name>
+ <key>gsm_txtime_bursts_tagger</key>
+ <category>GSM</category>
+ <import>import grgsm</import>
+ <make>grgsm.txtime_bursts_tagger()</make>
+
+ <param>
+ <name>init_fn</name>
+ <key>init_fn</key>
+ <value>20</value>
+ <type>int</type>
+ <hide>part</hide>
+ </param>
+
+ <param>
+ <name>init_time</name>
+ <key>init_time</key>
+ <value>[10 0.1]</value>
+ <type>none</type>
+ <hide>part</hide>
+ </param>
+
+ <sink>
+ <name>fn_time</name>
+ <type>message</type>
+ <optional>1</optional>
+ </sink>
+
+ <sink>
+ <name>bursts</name>
+ <type>message</type>
+ <optional>1</optional>
+ </sink>
+
+ <source>
+ <name>bursts</name>
+ <type>message</type>
+ <optional>1</optional>
+ </source>
+</block>
diff --git a/python/qa_txtime_bursts_tagger.py b/python/qa_txtime_bursts_tagger.py
new file mode 100755
index 0000000..80257fa
--- /dev/null
+++ b/python/qa_txtime_bursts_tagger.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# @file
+# @author Piotr Krysik <ptrkrysik@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.
+#
+#
+
+from gnuradio import gr, gr_unittest
+from gnuradio import blocks
+from txtime_bursts_tagger import txtime_bursts_tagger
+
+class qa_txtime_bursts_tagger (gr_unittest.TestCase):
+
+ def setUp (self):
+ self.tb = gr.top_block ()
+
+ def tearDown (self):
+ self.tb = None
+
+ def test_001_t (self):
+ # set up fg
+ self.tb.run ()
+ # check data
+
+
+if __name__ == '__main__':
+ gr_unittest.run(qa_txtime_bursts_tagger, "qa_txtime_bursts_tagger.xml")
diff --git a/python/transmitter/txtime_bursts_tagger.py b/python/transmitter/txtime_bursts_tagger.py
new file mode 100644
index 0000000..ce57e55
--- /dev/null
+++ b/python/transmitter/txtime_bursts_tagger.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# @file
+# @author Piotr Krysik <ptrkrysik@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.
+#
+#
+
+import numpy
+from gnuradio import gr
+
+class txtime_bursts_tagger(gr.basic_block):
+ """
+ A block that adds txtime metadata to a burst
+ """
+ def __init__(self):
+ gr.basic_block.__init__(self,
+ name="txtime_bursts_tagger",
+ in_sig=[],
+ out_sig=[])
+ self.message_port_register_in(pmt.intern("fn_time"))
+ self.message_port_register_in(pmt.intern("bursts"))
+ self.message_port_register_out(pmt.intern("bursts"))
+
+ self.set_msg_handler(pmt.intern("fn_time"), self.set_fn_time_reference)
+ self.set_msg_handler(pmt.intern("bursts"), self.set_txtime_of_burst)
+
+ def set_fn_time_reference(self, msg):
+ pass
+
+ def set_txtime_of_burst()
+ pass