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
This commit is contained in:
parent
e3b652ddf3
commit
8715da0893
|
@ -40,16 +40,16 @@ import time
|
|||
|
||||
#from wideband_receiver import *
|
||||
|
||||
class receiver_with_decoder(gr.hier_block2):
|
||||
class receiver_with_decoder(grgsm.hier_block):
|
||||
|
||||
def __init__(self, OSR=4, chan_num=0, fc=939.4e6, ppm=0, samp_rate=0.2e6):
|
||||
gr.hier_block2.__init__(
|
||||
grgsm.hier_block.__init__(
|
||||
self, "Receiver With Decoder",
|
||||
gr.io_signature(1, 1, gr.sizeof_gr_complex*1),
|
||||
gr.io_signature(0, 0, 0),
|
||||
)
|
||||
self.message_port_register_hier_in("bursts")
|
||||
self.message_port_register_hier_in("msgs")
|
||||
self.message_port_register_hier_out("bursts")
|
||||
self.message_port_register_hier_out("msgs")
|
||||
|
||||
##################################################
|
||||
# Parameters
|
||||
|
@ -134,16 +134,16 @@ class receiver_with_decoder(gr.hier_block2):
|
|||
self.samp_rate_out = samp_rate_out
|
||||
|
||||
|
||||
class wideband_receiver(gr.hier_block2):
|
||||
class wideband_receiver(grgsm.hier_block):
|
||||
|
||||
def __init__(self, OSR=4, fc=939.4e6, samp_rate=0.4e6):
|
||||
gr.hier_block2.__init__(
|
||||
grgsm.hier_block.__init__(
|
||||
self, "Wideband receiver",
|
||||
gr.io_signature(1, 1, gr.sizeof_gr_complex*1),
|
||||
gr.io_signature(0, 0, 0),
|
||||
)
|
||||
self.message_port_register_hier_in("bursts")
|
||||
self.message_port_register_hier_in("msgs")
|
||||
self.message_port_register_hier_out("bursts")
|
||||
self.message_port_register_hier_out("msgs")
|
||||
self.__init(OSR, fc, samp_rate)
|
||||
|
||||
def __init(self, OSR=4, fc=939.4e6, samp_rate=0.4e6):
|
||||
|
|
|
@ -38,7 +38,8 @@ GR_PYTHON_INSTALL(
|
|||
receiver/fcch_detector.py
|
||||
receiver/chirpz.py
|
||||
misc_utils/arfcn.py
|
||||
misc_utils/clock_offset_corrector.py DESTINATION ${GR_PYTHON_DIR}/grgsm
|
||||
misc_utils/clock_offset_corrector.py
|
||||
misc_utils/hier_block.py DESTINATION ${GR_PYTHON_DIR}/grgsm
|
||||
)
|
||||
|
||||
########################################################################
|
||||
|
|
|
@ -46,12 +46,14 @@ from grgsm_swig import *
|
|||
|
||||
# import any pure python here
|
||||
|
||||
from hier_block import hier_block
|
||||
from fcch_burst_tagger import fcch_burst_tagger
|
||||
from sch_detector import sch_detector
|
||||
from fcch_detector import fcch_detector
|
||||
from clock_offset_corrector import clock_offset_corrector
|
||||
from gsm_input import gsm_input
|
||||
from gsm_wideband_input import gsm_wideband_input
|
||||
|
||||
import arfcn
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
##################################################
|
||||
|
|
|
@ -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)
|
||||
|
|
@ -15,10 +15,10 @@ from gnuradio import gr
|
|||
from gnuradio.filter import firdes
|
||||
import grgsm
|
||||
|
||||
class fcch_detector(gr.hier_block2):
|
||||
class fcch_detector(grgsm.hier_block):
|
||||
|
||||
def __init__(self, OSR=4):
|
||||
gr.hier_block2.__init__(
|
||||
grgsm.hier_block.__init__(
|
||||
self, "FCCH bursts detector",
|
||||
gr.io_signature(1, 1, gr.sizeof_gr_complex*1),
|
||||
gr.io_signature(1, 1, gr.sizeof_gr_complex*1),
|
||||
|
|
|
@ -13,10 +13,10 @@ from gnuradio.filter import firdes
|
|||
from distutils.version import LooseVersion as version
|
||||
import grgsm
|
||||
|
||||
class gsm_input(gr.hier_block2):
|
||||
class gsm_input(grgsm.hier_block):
|
||||
|
||||
def __init__(self, ppm=0, osr=4, fc=940e6, samp_rate_in=1e6):
|
||||
gr.hier_block2.__init__(
|
||||
grgsm.hier_block.__init__(
|
||||
self, "GSM input adaptor",
|
||||
gr.io_signature(1, 1, gr.sizeof_gr_complex*1),
|
||||
gr.io_signature(1, 1, gr.sizeof_gr_complex*1),
|
||||
|
|
|
@ -14,10 +14,10 @@ from gnuradio.filter import firdes
|
|||
import grgsm.arfcn as arfcn
|
||||
import grgsm
|
||||
|
||||
class gsm_wideband_input(gr.hier_block2):
|
||||
class gsm_wideband_input(grgsm.hier_block):
|
||||
def __init__(self, ppm=0, osr=4, fc=925.2e6, samp_rate_in=20e6, ca=[]):
|
||||
self.num_streams = len(ca)
|
||||
gr.hier_block2.__init__(
|
||||
grgsm.hier_block.__init__(
|
||||
self, "GSM wideband input adaptor",
|
||||
gr.io_signature(1, 1, gr.sizeof_gr_complex*1),
|
||||
gr.io_signature(self.num_streams, self.num_streams, gr.sizeof_gr_complex*1),
|
||||
|
|
Loading…
Reference in New Issue