aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--grc/gsm_block_tree.xml1
-rw-r--r--grc/misc_utils/CMakeLists.txt4
-rw-r--r--grc/misc_utils/gsm_burst_to_fn_time.xml19
-rw-r--r--grc/transmitter/CMakeLists.txt2
-rw-r--r--python/misc_utils/CMakeLists.txt1
-rw-r--r--python/misc_utils/burst_to_fn_time.py28
6 files changed, 53 insertions, 2 deletions
diff --git a/grc/gsm_block_tree.xml b/grc/gsm_block_tree.xml
index dd971ab..89319c8 100644
--- a/grc/gsm_block_tree.xml
+++ b/grc/gsm_block_tree.xml
@@ -74,6 +74,7 @@
<block>gsm_msg_to_tag.xml</block>
<block>gsm_tmsi_dumper</block>
<block>gsm_trx_burst_if</block>
+ <block>gsm_burst_to_fn_time</block>
</cat>
</cat>
</cat>
diff --git a/grc/misc_utils/CMakeLists.txt b/grc/misc_utils/CMakeLists.txt
index 9407caf..3316373 100644
--- a/grc/misc_utils/CMakeLists.txt
+++ b/grc/misc_utils/CMakeLists.txt
@@ -33,5 +33,7 @@ install(FILES
gsm_message_file_source.xml
gsm_trx_burst_if.xml
gsm_msg_to_tag.xml
- gsm_controlled_fractional_resampler_cc.xml DESTINATION share/gnuradio/grc/blocks
+ gsm_controlled_fractional_resampler_cc.xml
+ gsm_burst_to_fn_time.xml
+ DESTINATION share/gnuradio/grc/blocks
)
diff --git a/grc/misc_utils/gsm_burst_to_fn_time.xml b/grc/misc_utils/gsm_burst_to_fn_time.xml
new file mode 100644
index 0000000..dbbfe31
--- /dev/null
+++ b/grc/misc_utils/gsm_burst_to_fn_time.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<block>
+ <name>Burst to fn_time</name>
+ <key>gsm_burst_to_fn_time</key>
+ <import>import grgsm</import>
+ <make>grgsm.burst_to_fn_time()</make>
+
+ <sink>
+ <name>bursts_in</name>
+ <type>message</type>
+ <optional>1</optional>
+ </sink>
+
+ <source>
+ <name>bursts_out</name>
+ <type>message</type>
+ <optional>1</optional>
+ </source>
+</block>
diff --git a/grc/transmitter/CMakeLists.txt b/grc/transmitter/CMakeLists.txt
index 0905e19..76d079e 100644
--- a/grc/transmitter/CMakeLists.txt
+++ b/grc/transmitter/CMakeLists.txt
@@ -21,5 +21,5 @@ install(FILES
gsm_gmsk_mod.xml
gsm_txtime_bursts_tagger.xml
gsm_txtime_setter.xml
- preprocess_tx_burst.xml DESTINATION share/gnuradio/grc/blocks
+ gsm_preprocess_tx_burst.xml DESTINATION share/gnuradio/grc/blocks
)
diff --git a/python/misc_utils/CMakeLists.txt b/python/misc_utils/CMakeLists.txt
index ec732a4..8c7c175 100644
--- a/python/misc_utils/CMakeLists.txt
+++ b/python/misc_utils/CMakeLists.txt
@@ -23,5 +23,6 @@ GR_PYTHON_INSTALL(
clock_offset_corrector_tagged.py
hier_block.py
fn_time.py
+ burst_to_fn_time.py
DESTINATION ${GR_PYTHON_DIR}/grgsm
)
diff --git a/python/misc_utils/burst_to_fn_time.py b/python/misc_utils/burst_to_fn_time.py
new file mode 100644
index 0000000..e31cf92
--- /dev/null
+++ b/python/misc_utils/burst_to_fn_time.py
@@ -0,0 +1,28 @@
+"""
+Embedded Python Blocks:
+
+Each this file is saved, GRC will instantiate the first class it finds to get
+ports and parameters of your block. The arguments to __init__ will be the
+parameters. All of them are required to have default values!
+"""
+import numpy as np
+from gnuradio import gr
+import pmt
+
+class burst_to_fn_time(gr.basic_block):
+ def __init__(self): # only default arguments here
+ gr.basic_block.__init__(
+ self,
+ name='Burst to fn_time',
+ in_sig=[],
+ out_sig=[]
+ )
+ self.message_port_register_in(pmt.intern("bursts_in"))
+ self.message_port_register_out(pmt.intern("fn_time_out"))
+ self.set_msg_handler(pmt.intern("bursts_in"), self.convert)
+
+ def convert(self, msg):
+ fn_time = pmt.dict_ref(pmt.car(msg),pmt.intern("fn_time"),pmt.PMT_NIL)
+ fn_time_msg = pmt.dict_add(pmt.make_dict(), pmt.intern("fn_time"), fn_time)
+ if pmt.to_python(fn_time) is not None:
+ self.message_port_pub(pmt.intern("fn_time_out"), fn_time_msg)