summaryrefslogtreecommitdiff
path: root/gr-digital/python/digital
diff options
context:
space:
mode:
authorSolomon Tan <solomonbstoner@yahoo.com.au>2021-08-04 10:14:35 +0800
committermormj <34754695+mormj@users.noreply.github.com>2021-08-23 06:56:49 -0400
commit0e7e21076f56aad0fed4816b6892f159c8f37190 (patch)
treeecd54095a45202d2ac39fe7471a9d575273e889b /gr-digital/python/digital
parent18689424bcb3581f29c5b18f85cd45107c6827b7 (diff)
gr-digital: Make unpack optional for gmsk mod hier block
Allow the unpack option to be disabled for custom, non-byte-aligned bit streams in gmsk mod, just like how it was done for gfsk in #4940. Signed-off-by: Solomon Tan <solomonbstoner@yahoo.com.au>
Diffstat (limited to 'gr-digital/python/digital')
-rw-r--r--gr-digital/python/digital/gmsk.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/gr-digital/python/digital/gmsk.py b/gr-digital/python/digital/gmsk.py
index 5d41ea2d02..cf998391c6 100644
--- a/gr-digital/python/digital/gmsk.py
+++ b/gr-digital/python/digital/gmsk.py
@@ -28,6 +28,7 @@ _def_samples_per_symbol = 2
_def_bt = 0.35
_def_verbose = False
_def_log = False
+_def_do_unpack = True
_def_gain_mu = None
_def_mu = 0.5
@@ -62,7 +63,8 @@ class gmsk_mod(gr.hier_block2):
samples_per_symbol=_def_samples_per_symbol,
bt=_def_bt,
verbose=_def_verbose,
- log=_def_log):
+ log=_def_log,
+ do_unpack=_def_do_unpack):
gr.hier_block2.__init__(self, "gmsk_mod",
gr.io_signature(1, 1, gr.sizeof_char), # Input signature
@@ -81,7 +83,6 @@ class gmsk_mod(gr.hier_block2):
# Turn it into NRZ data.
#self.nrz = digital.bytes_to_syms()
- self.unpack = blocks.packed_to_unpacked_bb(1, gr.GR_MSB_FIRST)
self.nrz = digital.chunks_to_symbols_bf([-1, 1], 1)
# Form Gaussian filter
@@ -107,7 +108,11 @@ class gmsk_mod(gr.hier_block2):
self._setup_logging()
# Connect & Initialize base class
- self.connect(self, self.unpack, self.nrz, self.gaussian_filter, self.fmmod, self)
+ if do_unpack:
+ self.unpack = blocks.packed_to_unpacked_bb(1, gr.GR_MSB_FIRST)
+ self.connect(self, self.unpack, self.nrz, self.gaussian_filter, self.fmmod, self)
+ else:
+ self.connect(self, self.nrz, self.gaussian_filter, self.fmmod, self)
def samples_per_symbol(self):
return self._samples_per_symbol