diff options
author | Piotr Krysik <ptrkrysik@gmail.com> | 2017-09-13 09:33:27 +0200 |
---|---|---|
committer | Piotr Krysik <ptrkrysik@gmail.com> | 2017-09-13 09:33:27 +0200 |
commit | 2164b9be57887fa483f55ac9ca1fdf3f9d0909a7 (patch) | |
tree | 7946085100db4f8e9e67768fd1f8ece25b9ed711 | |
parent | 3148ff80cefb2023857a97a283dad8878a88d00c (diff) |
Added new block for tagging bursts messages with txtime
-rw-r--r-- | grc/transmitter/CMakeLists.txt | 22 | ||||
-rw-r--r-- | grc/transmitter/gsm_txtime_bursts_tagger.xml | 42 | ||||
-rwxr-xr-x | python/qa_txtime_bursts_tagger.py | 43 | ||||
-rw-r--r-- | python/transmitter/txtime_bursts_tagger.py | 47 |
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 |