diff options
author | Tom Rondeau <tom@trondeau.com> | 2016-01-06 17:04:20 -0500 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2016-01-06 17:19:49 -0500 |
commit | 32d1d46c7b6404a2b36d37ebfdc7f4afd88e4d6f (patch) | |
tree | b3b002b36c734ae1b4156359721a9ffc875391df /gr-analog/python | |
parent | dec480ab3f0809677ba3ef2a3a64d402d742b5ec (diff) |
analog: enable setting max dev. during runtime for NBFM transmitter
and receiver hier_blocks.
Also fixes up the XML files to allow for the callback along with
indent formatting.
Diffstat (limited to 'gr-analog/python')
-rw-r--r-- | gr-analog/python/analog/nbfm_rx.py | 8 | ||||
-rw-r--r-- | gr-analog/python/analog/nbfm_tx.py | 9 |
2 files changed, 13 insertions, 4 deletions
diff --git a/gr-analog/python/analog/nbfm_rx.py b/gr-analog/python/analog/nbfm_rx.py index b2c86db70f..38fbf803c8 100644 --- a/gr-analog/python/analog/nbfm_rx.py +++ b/gr-analog/python/analog/nbfm_rx.py @@ -57,8 +57,8 @@ class nbfm_rx(gr.hier_block2): gr.io_signature(1, 1, gr.sizeof_float)) # Output signature # FIXME audio_rate and quad_rate ought to be exact rationals - audio_rate = int(audio_rate) - quad_rate = int(quad_rate) + self._audio_rate = audio_rate = int(audio_rate) + self._quad_rate = quad_rate = int(quad_rate) if quad_rate % audio_rate != 0: raise ValueError, "quad_rate is not an integer multiple of audio_rate" @@ -88,3 +88,7 @@ class nbfm_rx(gr.hier_block2): self.audio_filter = filter.fir_filter_fff(audio_decim, audio_taps) self.connect(self, self.quad_demod, self.deemph, self.audio_filter, self) + + def set_max_deviation(self, max_dev): + k = self._quad_rate/(2*math.pi*max_dev) + self.quad_demod.set_gain(k) diff --git a/gr-analog/python/analog/nbfm_tx.py b/gr-analog/python/analog/nbfm_tx.py index 62b56bae52..ffd539ec55 100644 --- a/gr-analog/python/analog/nbfm_tx.py +++ b/gr-analog/python/analog/nbfm_tx.py @@ -50,8 +50,8 @@ class nbfm_tx(gr.hier_block2): gr.io_signature(1, 1, gr.sizeof_gr_complex)) # Output signature # FIXME audio_rate and quad_rate ought to be exact rationals - audio_rate = int(audio_rate) - quad_rate = int(quad_rate) + self._audio_rate = audio_rate = int(audio_rate) + self._quad_rate = quad_rate = int(quad_rate) if quad_rate % audio_rate != 0: raise ValueError, "quad_rate is not an integer multiple of audio_rate" @@ -81,6 +81,11 @@ class nbfm_tx(gr.hier_block2): else: self.connect(self, self.preemph, self.modulator, self) + def set_max_deviation(self, max_dev): + k = 2 * math.pi * max_dev / self._quad_rate + self.modulator.set_sensitivity(k) + + class ctcss_gen_f(gr.hier_block2): def __init__(self, sample_rate, tone_freq): |