diff options
author | Piotr Krysik <ptrkrysik@gmail.com> | 2016-01-06 22:21:09 +0100 |
---|---|---|
committer | Piotr Krysik <ptrkrysik@gmail.com> | 2016-01-06 22:21:09 +0100 |
commit | 8715da0893b5349f9c2d542807d5f5cd835262f4 (patch) | |
tree | b6876c4065790667b2fb632b57d85d1bdff8bd9e /python/misc_utils | |
parent | e3b652ddf393ab6d6d31131b461ca8820379bdcd (diff) |
Fixed all hierarchical blocks in the project
by adding a hier_block class that solves incompatibility between GNU Radio >=3.7.9 and <=3.7.8
and inheriting all hierarchical blocks from it.
This commit fixes #135
Diffstat (limited to 'python/misc_utils')
-rw-r--r-- | python/misc_utils/clock_offset_corrector.py | 11 | ||||
-rw-r--r-- | python/misc_utils/hier_block.py | 19 |
2 files changed, 23 insertions, 7 deletions
diff --git a/python/misc_utils/clock_offset_corrector.py b/python/misc_utils/clock_offset_corrector.py index 403b513..b75d682 100644 --- a/python/misc_utils/clock_offset_corrector.py +++ b/python/misc_utils/clock_offset_corrector.py @@ -14,19 +14,16 @@ from distutils.version import LooseVersion as version import grgsm import math -class clock_offset_corrector(gr.hier_block2): +class clock_offset_corrector(grgsm.hier_block): def __init__(self, fc=936.6e6, ppm=0, samp_rate_in=1625000.0/6.0*4.0): - gr.hier_block2.__init__( + grgsm.hier_block.__init__( self, "Clock offset corrector", gr.io_signature(1, 1, gr.sizeof_gr_complex*1), gr.io_signature(1, 1, gr.sizeof_gr_complex*1), ) - if version(gr.version()) >= version('3.7.9'): - self.message_port_register_hier_in("ppm_in") - else: - self.message_port_register_hier_out("ppm_in") - + self.message_port_register_hier_in("ppm_in") + ################################################## # Parameters ################################################## diff --git a/python/misc_utils/hier_block.py b/python/misc_utils/hier_block.py new file mode 100644 index 0000000..a3ca1e6 --- /dev/null +++ b/python/misc_utils/hier_block.py @@ -0,0 +1,19 @@ +from gnuradio import gr +from distutils.version import LooseVersion as version + +#class created to solve incompatibility of reginstration of message inputs +#that was introduced in gnuradio 3.7.9 + +class hier_block(gr.hier_block2): + def message_port_register_hier_in(self, port_id): + if version(gr.version()) >= version('3.7.9'): + super(hier_block, self).message_port_register_hier_in(port_id) + else: + super(hier_block, self).message_port_register_hier_out(port_id) + + def message_port_register_hier_out(self, port_id): + if version(gr.version()) >= version('3.7.9'): + super(hier_block, self).message_port_register_hier_out(port_id) + else: + super(hier_block, self).message_port_register_hier_in(port_id) + |