File gr-iridium-3.7-0002-consolitate-converter-usage.patch of Package gr-iridium
From 3081d2fe402b2aa306fe9ead073736398205ff85 Mon Sep 17 00:00:00 2001
From: schneider <schneider@blinkenlichts.net>
Date: Tue, 14 Jul 2020 19:11:58 +0200
Subject: [PATCH] refact(extractor): consolitate converter usage
---
python/iridium_extractor_flowgraph.py | 33 +++++++++++++++------------
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/python/iridium_extractor_flowgraph.py b/python/iridium_extractor_flowgraph.py
index b7a9a10..5774cc7 100755
--- a/python/iridium_extractor_flowgraph.py
+++ b/python/iridium_extractor_flowgraph.py
@@ -32,6 +32,9 @@ def __init__(self, center_frequency, sample_rate, decimation, filename, sample_f
self._burst_pre_len = 2 * self._fft_size
self._burst_post_len = 8 * self._fft_size
+ # Just to keep the code below a bit more portable
+ tb = self
+
if decimation > 1:
self._use_pfb = True
@@ -160,7 +163,6 @@ def match_gain(gain, gain_names):
#source.set_gain_mode($gain_mode0, 0)
#source.set_antenna($ant0, 0)
- converter = None
else:
if sample_format == "rtl":
converter = iridium.iuchar_to_complex()
@@ -176,10 +178,18 @@ def match_gain(gain, gain_names):
itemsize = gr.sizeof_gr_complex
else:
raise RuntimeError("Unknown sample format for offline mode given")
- source = blocks.file_source(itemsize=itemsize, filename=self._filename, repeat=False)
- # Just to keep the code below a bit more portable
- tb = self
+ file_source = blocks.file_source(itemsize=itemsize, filename=self._filename, repeat=False)
+
+ if converter:
+ #multi = blocks.multiply_const_cc(1/128.)
+ #tb.connect(file_source, converter, multi)
+ #source = multi
+ tb.connect(file_source, converter)
+ source = converter
+ else:
+ source = file_source
+
#fft_burst_tagger::make(float center_frequency, int fft_size, int sample_rate,
# int burst_pre_len, int burst_post_len, int burst_width,
@@ -212,6 +222,8 @@ def match_gain(gain, gain_names):
#self._iridium_qpsk_demod = iridium.iridium_qpsk_demod(250000)
+ tb.connect(source, self._fft_burst_tagger)
+
if self._use_pfb:
self._burst_to_pdu_converters = []
self._burst_downmixers = []
@@ -237,10 +249,7 @@ def match_gain(gain, gain_names):
pfb = gnuradio.filter.pfb.channelizer_ccf(numchans=self._channels, taps=self._pfb_fir_filter, oversample_rate=self._pfb_over_sample_ratio)
- if converter:
- tb.connect(source, converter, self._fft_burst_tagger, pfb)
- else:
- tb.connect(source, self._fft_burst_tagger, pfb)
+ tb.connect(self._fft_burst_tagger, pfb)
for i in range(self._channels):
tb.connect((pfb, i), self._burst_to_pdu_converters[i])
@@ -255,13 +264,7 @@ def match_gain(gain, gain_names):
burst_downmix = iridium.burst_downmix(self._burst_sample_rate, int(0.007 * 250000), 0, (input_filter), (start_finder_filter), self._handle_multiple_frames_per_burst)
burst_to_pdu = iridium.tagged_burst_to_pdu(self._max_burst_len, 0.0, 1.0, 1.0, self._max_queue_len, not self._offline)
- if converter:
- #multi = blocks.multiply_const_cc(1/128.)
- #tb.connect(source, converter, multi, self._fft_burst_tagger, burst_to_pdu)
- tb.connect(source, converter, self._fft_burst_tagger, burst_to_pdu)
- else:
- tb.connect(source, self._fft_burst_tagger, burst_to_pdu)
-
+ tb.connect(self._fft_burst_tagger, burst_to_pdu)
tb.msg_connect((burst_to_pdu, 'cpdus'), (burst_downmix, 'cpdus'))
tb.msg_connect((burst_downmix, 'burst_handled'), (burst_to_pdu, 'burst_handled'))