diff options
author | Tom Rondeau | 2011-10-27 18:59:10 -0400 |
---|---|---|
committer | Tom Rondeau | 2011-10-27 18:59:10 -0400 |
commit | 99d47a9d2a013d4ee381b090244220b2fb60a517 (patch) | |
tree | b7b882d854dc8bd28ef8bbcb4e773fd4c3fa27b7 /gr-noaa/apps/usrp_rx_hrpt.py | |
parent | 1fccc0189ace6f0c407711243f1df9989fad9e7a (diff) | |
parent | 735eaec9c601c4a68e2f0f34a91ca43ee2dc43ad (diff) | |
download | gnuradio-99d47a9d2a013d4ee381b090244220b2fb60a517.tar.gz gnuradio-99d47a9d2a013d4ee381b090244220b2fb60a517.tar.bz2 gnuradio-99d47a9d2a013d4ee381b090244220b2fb60a517.zip |
Merge branch 'master' of gnuradio.org:gnuradio
Diffstat (limited to 'gr-noaa/apps/usrp_rx_hrpt.py')
-rwxr-xr-x | gr-noaa/apps/usrp_rx_hrpt.py | 401 |
1 files changed, 218 insertions, 183 deletions
diff --git a/gr-noaa/apps/usrp_rx_hrpt.py b/gr-noaa/apps/usrp_rx_hrpt.py index 48c5f9d29..e603e768e 100755 --- a/gr-noaa/apps/usrp_rx_hrpt.py +++ b/gr-noaa/apps/usrp_rx_hrpt.py @@ -2,19 +2,20 @@ ################################################## # Gnuradio Python Flow Graph # Title: USRP HRPT Receiver -# Generated: Mon Nov 9 07:56:11 2009 +# Generated: Thu Oct 27 13:26:42 2011 ################################################## +from gnuradio import digital from gnuradio import eng_notation from gnuradio import gr from gnuradio import noaa +from gnuradio import uhd from gnuradio import window from gnuradio.eng_option import eng_option from gnuradio.gr import firdes from gnuradio.wxgui import fftsink2 from gnuradio.wxgui import forms from gnuradio.wxgui import scopesink2 -from grc_gnuradio import usrp as grc_usrp from grc_gnuradio import wxgui as grc_wxgui from optparse import OptionParser import ConfigParser @@ -29,20 +30,10 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): ################################################## # Variables ################################################## - self.config_filename = config_filename = os.environ['HOME']+'/.gnuradio/config.conf' - self._decim_config = ConfigParser.ConfigParser() - self._decim_config.read(config_filename) - try: decim = self._decim_config.getfloat('usrp_rx_hrpt', 'decim') - except: decim = 32 - self.decim = decim self.sym_rate = sym_rate = 600*1109 - self.sample_rate = sample_rate = 64e6/decim + self.sample_rate = sample_rate = 4e6 + self.config_filename = config_filename = os.environ['HOME']+'/.gnuradio/config.conf' self.sps = sps = sample_rate/sym_rate - self._side_config = ConfigParser.ConfigParser() - self._side_config.read(config_filename) - try: side = self._side_config.get('usrp_rx_hrpt', 'side') - except: side = 'A' - self.side = side self._saved_pll_alpha_config = ConfigParser.ConfigParser() self._saved_pll_alpha_config.read(config_filename) try: saved_pll_alpha = self._saved_pll_alpha_config.getfloat('usrp_rx_hrpt', 'pll_alpha') @@ -63,7 +54,12 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): try: saved_clock_alpha = self._saved_clock_alpha_config.getfloat('usrp_rx_hrpt', 'clock_alpha') except: saved_clock_alpha = 0.01 self.saved_clock_alpha = saved_clock_alpha - self.side_text = side_text = side + self._addr_config = ConfigParser.ConfigParser() + self._addr_config.read(config_filename) + try: addr = self._addr_config.get('usrp_rx_hrpt', 'addr') + except: addr = "" + self.addr = addr + self.rate_text = rate_text = sample_rate self.pll_alpha = pll_alpha = saved_pll_alpha self._output_filename_config = ConfigParser.ConfigParser() self._output_filename_config.read(config_filename) @@ -75,28 +71,80 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): self.hs = hs = int(sps/2.0) self.gain = gain = saved_gain self.freq = freq = saved_freq - self.decim_text = decim_text = decim self.clock_alpha = clock_alpha = saved_clock_alpha + self.addr_text = addr_text = addr ################################################## - # Notebooks + # Blocks ################################################## - self.displays = wx.Notebook(self.GetWin(), style=wx.NB_TOP) + self._freq_text_box = forms.text_box( + parent=self.GetWin(), + value=self.freq, + callback=self.set_freq, + label="Frequency", + converter=forms.float_converter(), + ) + self.GridAdd(self._freq_text_box, 0, 0, 1, 1) + self.displays = self.displays = wx.Notebook(self.GetWin(), style=wx.NB_TOP) self.displays.AddPage(grc_wxgui.Panel(self.displays), "Spectrum") self.displays.AddPage(grc_wxgui.Panel(self.displays), "Demod") self.GridAdd(self.displays, 2, 0, 1, 4) - - ################################################## - # Controls - ################################################## - self._side_text_static_text = forms.static_text( + _clock_alpha_sizer = wx.BoxSizer(wx.VERTICAL) + self._clock_alpha_text_box = forms.text_box( parent=self.GetWin(), - value=self.side_text, - callback=self.set_side_text, - label="USRP Side", - converter=forms.str_converter(), + sizer=_clock_alpha_sizer, + value=self.clock_alpha, + callback=self.set_clock_alpha, + label="Clock Alpha", + converter=forms.float_converter(), + proportion=0, + ) + self._clock_alpha_slider = forms.slider( + parent=self.GetWin(), + sizer=_clock_alpha_sizer, + value=self.clock_alpha, + callback=self.set_clock_alpha, + minimum=0.0, + maximum=0.5, + num_steps=100, + style=wx.SL_HORIZONTAL, + cast=float, + proportion=1, + ) + self.GridAdd(_clock_alpha_sizer, 0, 3, 1, 1) + self.uhd_usrp_source_0 = uhd.usrp_source( + device_addr=addr, + io_type=uhd.io_type.COMPLEX_FLOAT32, + num_channels=1, ) - self.GridAdd(self._side_text_static_text, 1, 0, 1, 1) + self.uhd_usrp_source_0.set_samp_rate(sample_rate) + self.uhd_usrp_source_0.set_center_freq(freq, 0) + self.uhd_usrp_source_0.set_gain(0, 0) + self.rx_fft = fftsink2.fft_sink_c( + self.displays.GetPage(0).GetWin(), + baseband_freq=freq, + y_per_div=5, + y_divs=8, + ref_level=-5, + ref_scale=2.0, + sample_rate=sample_rate, + fft_size=1024, + fft_rate=15, + average=True, + avg_alpha=0.1, + title="RX Spectrum", + peak_hold=False, + size=(640, 360), + ) + self.displays.GetPage(0).GridAdd(self.rx_fft.win, 0, 0, 1, 1) + self._rate_text_static_text = forms.static_text( + parent=self.GetWin(), + value=self.rate_text, + callback=self.set_rate_text, + label="Baseband Rate", + converter=forms.float_converter(), + ) + self.GridAdd(self._rate_text_static_text, 1, 1, 1, 1) _pll_alpha_sizer = wx.BoxSizer(wx.VERTICAL) self._pll_alpha_text_box = forms.text_box( parent=self.GetWin(), @@ -120,6 +168,8 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): proportion=1, ) self.GridAdd(_pll_alpha_sizer, 0, 2, 1, 1) + self.pll = noaa.hrpt_pll_cf(pll_alpha, pll_alpha**2/4.0, max_carrier_offset) + self.gr_moving_average_xx_0 = gr.moving_average_ff(hs, 1.0/hs, 4000) _gain_sizer = wx.BoxSizer(wx.VERTICAL) self._gain_text_box = forms.text_box( parent=self.GetWin(), @@ -143,52 +193,10 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): proportion=1, ) self.GridAdd(_gain_sizer, 0, 1, 1, 1) - self._freq_text_box = forms.text_box( - parent=self.GetWin(), - value=self.freq, - callback=self.set_freq, - label="Frequency", - converter=forms.float_converter(), - ) - self.GridAdd(self._freq_text_box, 0, 0, 1, 1) - self._decim_text_static_text = forms.static_text( - parent=self.GetWin(), - value=self.decim_text, - callback=self.set_decim_text, - label="Decimation", - converter=forms.float_converter(), - ) - self.GridAdd(self._decim_text_static_text, 1, 1, 1, 1) - _clock_alpha_sizer = wx.BoxSizer(wx.VERTICAL) - self._clock_alpha_text_box = forms.text_box( - parent=self.GetWin(), - sizer=_clock_alpha_sizer, - value=self.clock_alpha, - callback=self.set_clock_alpha, - label="Clock Alpha", - converter=forms.float_converter(), - proportion=0, - ) - self._clock_alpha_slider = forms.slider( - parent=self.GetWin(), - sizer=_clock_alpha_sizer, - value=self.clock_alpha, - callback=self.set_clock_alpha, - minimum=0.0, - maximum=0.5, - num_steps=100, - style=wx.SL_HORIZONTAL, - cast=float, - proportion=1, - ) - self.GridAdd(_clock_alpha_sizer, 0, 3, 1, 1) - - ################################################## - # Blocks - ################################################## - self.agc = gr.agc_cc(1e-6, 1.0, 1.0, 1.0) - self.decoder = noaa.hrpt_decoder(True,True) - self.deframer = noaa.hrpt_deframer() + self.frame_sink = gr.file_sink(gr.sizeof_short*1, output_filename) + self.frame_sink.set_unbuffered(False) + self.digital_clock_recovery_mm_xx_0 = digital.clock_recovery_mm_ff(sps/2.0, clock_alpha**2/4.0, 0.5, clock_alpha, max_clock_offset) + self.digital_binary_slicer_fb_0 = digital.binary_slicer_fb() self.demod_scope = scopesink2.scope_sink_f( self.displays.GetPage(1).GetWin(), title="Post-Demod", @@ -199,151 +207,155 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): ac_couple=False, xy_mode=False, num_inputs=1, + trig_mode=gr.gr_TRIG_MODE_AUTO, + y_axis_label="Counts", ) self.displays.GetPage(1).GridAdd(self.demod_scope.win, 0, 0, 1, 1) - self.frame_sink = gr.file_sink(gr.sizeof_short*1, output_filename) - self.gr_binary_slicer_fb_0 = gr.binary_slicer_fb() - self.gr_clock_recovery_mm_xx_0 = gr.clock_recovery_mm_ff(sps/2.0, clock_alpha**2/4.0, 0.5, clock_alpha, max_clock_offset) - self.gr_moving_average_xx_0 = gr.moving_average_ff(hs, 1.0/hs, 4000) - self.pll = noaa.hrpt_pll_cf(pll_alpha, pll_alpha**2/4.0, max_carrier_offset) - self.rx_fft = fftsink2.fft_sink_c( - self.displays.GetPage(0).GetWin(), - baseband_freq=freq, - y_per_div=5, - y_divs=8, - ref_level=-5, - ref_scale=2.0, - sample_rate=sample_rate, - fft_size=1024, - fft_rate=15, - average=True, - avg_alpha=0.1, - title="RX Spectrum", - peak_hold=False, - size=(640, 360), + self.deframer = noaa.hrpt_deframer() + self.decoder = noaa.hrpt_decoder(True,True) + self.agc = gr.agc_cc(1e-6, 1.0, 1.0, 1.0) + self._addr_text_static_text = forms.static_text( + parent=self.GetWin(), + value=self.addr_text, + callback=self.set_addr_text, + label="USRP Addr", + converter=forms.str_converter(), ) - self.displays.GetPage(0).GridAdd(self.rx_fft.win, 0, 0, 1, 1) - self.usrp_source = grc_usrp.simple_source_c(which=0, side=side, rx_ant="RXA") - self.usrp_source.set_decim_rate(decim) - self.usrp_source.set_frequency(freq, verbose=True) - self.usrp_source.set_gain(gain) + self.GridAdd(self._addr_text_static_text, 1, 0, 1, 1) ################################################## # Connections ################################################## - self.connect((self.gr_clock_recovery_mm_xx_0, 0), (self.gr_binary_slicer_fb_0, 0)) self.connect((self.deframer, 0), (self.frame_sink, 0)) self.connect((self.deframer, 0), (self.decoder, 0)) - self.connect((self.gr_clock_recovery_mm_xx_0, 0), (self.demod_scope, 0)) - self.connect((self.gr_moving_average_xx_0, 0), (self.gr_clock_recovery_mm_xx_0, 0)) - self.connect((self.pll, 0), (self.gr_moving_average_xx_0, 0)) self.connect((self.agc, 0), (self.pll, 0)) - self.connect((self.usrp_source, 0), (self.agc, 0)) self.connect((self.agc, 0), (self.rx_fft, 0)) - self.connect((self.gr_binary_slicer_fb_0, 0), (self.deframer, 0)) - - def set_config_filename(self, config_filename): - self.config_filename = config_filename - self._saved_freq_config = ConfigParser.ConfigParser() - self._saved_freq_config.read(self.config_filename) - if not self._saved_freq_config.has_section('usrp_rx_hrpt'): - self._saved_freq_config.add_section('usrp_rx_hrpt') - self._saved_freq_config.set('usrp_rx_hrpt', 'freq', str(self.freq)) - self._saved_freq_config.write(open(self.config_filename, 'w')) - self._saved_gain_config = ConfigParser.ConfigParser() - self._saved_gain_config.read(self.config_filename) - if not self._saved_gain_config.has_section('usrp_rx_hrpt'): - self._saved_gain_config.add_section('usrp_rx_hrpt') - self._saved_gain_config.set('usrp_rx_hrpt', 'gain', str(self.gain)) - self._saved_gain_config.write(open(self.config_filename, 'w')) - self._side_config = ConfigParser.ConfigParser() - self._side_config.read(self.config_filename) - if not self._side_config.has_section('usrp_rx_hrpt'): - self._side_config.add_section('usrp_rx_hrpt') - self._side_config.set('usrp_rx_hrpt', 'side', str(self.side)) - self._side_config.write(open(self.config_filename, 'w')) - self._decim_config = ConfigParser.ConfigParser() - self._decim_config.read(self.config_filename) - if not self._decim_config.has_section('usrp_rx_hrpt'): - self._decim_config.add_section('usrp_rx_hrpt') - self._decim_config.set('usrp_rx_hrpt', 'decim', str(self.decim)) - self._decim_config.write(open(self.config_filename, 'w')) - self._saved_pll_alpha_config = ConfigParser.ConfigParser() - self._saved_pll_alpha_config.read(self.config_filename) - if not self._saved_pll_alpha_config.has_section('usrp_rx_hrpt'): - self._saved_pll_alpha_config.add_section('usrp_rx_hrpt') - self._saved_pll_alpha_config.set('usrp_rx_hrpt', 'pll_alpha', str(self.pll_alpha)) - self._saved_pll_alpha_config.write(open(self.config_filename, 'w')) - self._saved_clock_alpha_config = ConfigParser.ConfigParser() - self._saved_clock_alpha_config.read(self.config_filename) - if not self._saved_clock_alpha_config.has_section('usrp_rx_hrpt'): - self._saved_clock_alpha_config.add_section('usrp_rx_hrpt') - self._saved_clock_alpha_config.set('usrp_rx_hrpt', 'clock_alpha', str(self.clock_alpha)) - self._saved_clock_alpha_config.write(open(self.config_filename, 'w')) - self._output_filename_config = ConfigParser.ConfigParser() - self._output_filename_config.read(self.config_filename) - if not self._output_filename_config.has_section('usrp_rx_hrpt'): - self._output_filename_config.add_section('usrp_rx_hrpt') - self._output_filename_config.set('usrp_rx_hrpt', 'filename', str(self.output_filename)) - self._output_filename_config.write(open(self.config_filename, 'w')) + self.connect((self.uhd_usrp_source_0, 0), (self.agc, 0)) + self.connect((self.pll, 0), (self.gr_moving_average_xx_0, 0)) + self.connect((self.gr_moving_average_xx_0, 0), (self.demod_scope, 0)) + self.connect((self.gr_moving_average_xx_0, 0), (self.digital_clock_recovery_mm_xx_0, 0)) + self.connect((self.digital_clock_recovery_mm_xx_0, 0), (self.digital_binary_slicer_fb_0, 0)) + self.connect((self.digital_binary_slicer_fb_0, 0), (self.deframer, 0)) - def set_decim(self, decim): - self.decim = decim - self.set_sample_rate(64e6/self.decim) - self.set_decim_text(self.decim) - self.usrp_source.set_decim_rate(self.decim) - self._decim_config = ConfigParser.ConfigParser() - self._decim_config.read(self.config_filename) - if not self._decim_config.has_section('usrp_rx_hrpt'): - self._decim_config.add_section('usrp_rx_hrpt') - self._decim_config.set('usrp_rx_hrpt', 'decim', str(self.decim)) - self._decim_config.write(open(self.config_filename, 'w')) + def get_sym_rate(self): + return self.sym_rate def set_sym_rate(self, sym_rate): self.sym_rate = sym_rate self.set_sps(self.sample_rate/self.sym_rate) self.demod_scope.set_sample_rate(self.sym_rate*2.0) + def get_sample_rate(self): + return self.sample_rate + def set_sample_rate(self, sample_rate): self.sample_rate = sample_rate self.set_max_carrier_offset(2*math.pi*100e3/self.sample_rate) self.set_sps(self.sample_rate/self.sym_rate) self.rx_fft.set_sample_rate(self.sample_rate) + self.uhd_usrp_source_0.set_samp_rate(self.sample_rate) + self.set_rate_text(self.sample_rate) + + def get_config_filename(self): + return self.config_filename + + def set_config_filename(self, config_filename): + self.config_filename = config_filename + self._addr_config = ConfigParser.ConfigParser() + self._addr_config.read(self.config_filename) + if not self._addr_config.has_section('usrp_rx_hrpt'): + self._addr_config.add_section('usrp_rx_hrpt') + self._addr_config.set('usrp_rx_hrpt', 'addr', str(self.addr)) + self._addr_config.write(open(self.config_filename, 'w')) + self._output_filename_config = ConfigParser.ConfigParser() + self._output_filename_config.read(self.config_filename) + if not self._output_filename_config.has_section('usrp_rx_hrpt'): + self._output_filename_config.add_section('usrp_rx_hrpt') + self._output_filename_config.set('usrp_rx_hrpt', 'filename', str(self.output_filename)) + self._output_filename_config.write(open(self.config_filename, 'w')) + self._saved_clock_alpha_config = ConfigParser.ConfigParser() + self._saved_clock_alpha_config.read(self.config_filename) + if not self._saved_clock_alpha_config.has_section('usrp_rx_hrpt'): + self._saved_clock_alpha_config.add_section('usrp_rx_hrpt') + self._saved_clock_alpha_config.set('usrp_rx_hrpt', 'clock_alpha', str(self.clock_alpha)) + self._saved_clock_alpha_config.write(open(self.config_filename, 'w')) + self._saved_pll_alpha_config = ConfigParser.ConfigParser() + self._saved_pll_alpha_config.read(self.config_filename) + if not self._saved_pll_alpha_config.has_section('usrp_rx_hrpt'): + self._saved_pll_alpha_config.add_section('usrp_rx_hrpt') + self._saved_pll_alpha_config.set('usrp_rx_hrpt', 'pll_alpha', str(self.pll_alpha)) + self._saved_pll_alpha_config.write(open(self.config_filename, 'w')) + self._saved_gain_config = ConfigParser.ConfigParser() + self._saved_gain_config.read(self.config_filename) + if not self._saved_gain_config.has_section('usrp_rx_hrpt'): + self._saved_gain_config.add_section('usrp_rx_hrpt') + self._saved_gain_config.set('usrp_rx_hrpt', 'gain', str(self.gain)) + self._saved_gain_config.write(open(self.config_filename, 'w')) + self._saved_freq_config = ConfigParser.ConfigParser() + self._saved_freq_config.read(self.config_filename) + if not self._saved_freq_config.has_section('usrp_rx_hrpt'): + self._saved_freq_config.add_section('usrp_rx_hrpt') + self._saved_freq_config.set('usrp_rx_hrpt', 'freq', str(self.freq)) + self._saved_freq_config.write(open(self.config_filename, 'w')) + + def get_sps(self): + return self.sps def set_sps(self, sps): self.sps = sps self.set_hs(int(self.sps/2.0)) - self.gr_clock_recovery_mm_xx_0.set_omega(self.sps/2.0) - - def set_side(self, side): - self.side = side - self.set_side_text(self.side) - self._side_config = ConfigParser.ConfigParser() - self._side_config.read(self.config_filename) - if not self._side_config.has_section('usrp_rx_hrpt'): - self._side_config.add_section('usrp_rx_hrpt') - self._side_config.set('usrp_rx_hrpt', 'side', str(self.side)) - self._side_config.write(open(self.config_filename, 'w')) + self.digital_clock_recovery_mm_xx_0.set_omega(self.sps/2.0) + + def get_saved_pll_alpha(self): + return self.saved_pll_alpha def set_saved_pll_alpha(self, saved_pll_alpha): self.saved_pll_alpha = saved_pll_alpha self.set_pll_alpha(self.saved_pll_alpha) + def get_saved_gain(self): + return self.saved_gain + def set_saved_gain(self, saved_gain): self.saved_gain = saved_gain self.set_gain(self.saved_gain) + def get_saved_freq(self): + return self.saved_freq + def set_saved_freq(self, saved_freq): self.saved_freq = saved_freq self.set_freq(self.saved_freq) + def get_saved_clock_alpha(self): + return self.saved_clock_alpha + def set_saved_clock_alpha(self, saved_clock_alpha): self.saved_clock_alpha = saved_clock_alpha self.set_clock_alpha(self.saved_clock_alpha) - def set_side_text(self, side_text): - self.side_text = side_text - self._side_text_static_text.set_value(self.side_text) + def get_addr(self): + return self.addr + + def set_addr(self, addr): + self.addr = addr + self._addr_config = ConfigParser.ConfigParser() + self._addr_config.read(self.config_filename) + if not self._addr_config.has_section('usrp_rx_hrpt'): + self._addr_config.add_section('usrp_rx_hrpt') + self._addr_config.set('usrp_rx_hrpt', 'addr', str(self.addr)) + self._addr_config.write(open(self.config_filename, 'w')) + self.set_addr_text(self.addr) + + def get_rate_text(self): + return self.rate_text + + def set_rate_text(self, rate_text): + self.rate_text = rate_text + self._rate_text_static_text.set_value(self.rate_text) + + def get_pll_alpha(self): + return self.pll_alpha def set_pll_alpha(self, pll_alpha): self.pll_alpha = pll_alpha @@ -358,6 +370,9 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): self._saved_pll_alpha_config.set('usrp_rx_hrpt', 'pll_alpha', str(self.pll_alpha)) self._saved_pll_alpha_config.write(open(self.config_filename, 'w')) + def get_output_filename(self): + return self.output_filename + def set_output_filename(self, output_filename): self.output_filename = output_filename self._output_filename_config = ConfigParser.ConfigParser() @@ -367,17 +382,29 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): self._output_filename_config.set('usrp_rx_hrpt', 'filename', str(self.output_filename)) self._output_filename_config.write(open(self.config_filename, 'w')) + def get_max_clock_offset(self): + return self.max_clock_offset + def set_max_clock_offset(self, max_clock_offset): self.max_clock_offset = max_clock_offset + def get_max_carrier_offset(self): + return self.max_carrier_offset + def set_max_carrier_offset(self, max_carrier_offset): self.max_carrier_offset = max_carrier_offset self.pll.set_max_offset(self.max_carrier_offset) + def get_hs(self): + return self.hs + def set_hs(self, hs): self.hs = hs self.gr_moving_average_xx_0.set_length_and_scale(self.hs, 1.0/self.hs) + def get_gain(self): + return self.gain + def set_gain(self, gain): self.gain = gain self._gain_slider.set_value(self.gain) @@ -388,36 +415,44 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): self._saved_gain_config.add_section('usrp_rx_hrpt') self._saved_gain_config.set('usrp_rx_hrpt', 'gain', str(self.gain)) self._saved_gain_config.write(open(self.config_filename, 'w')) - self.usrp_source.set_gain(self.gain) + + def get_freq(self): + return self.freq def set_freq(self, freq): self.freq = freq self._freq_text_box.set_value(self.freq) + self.rx_fft.set_baseband_freq(self.freq) + self.uhd_usrp_source_0.set_center_freq(self.freq, 0) self._saved_freq_config = ConfigParser.ConfigParser() self._saved_freq_config.read(self.config_filename) if not self._saved_freq_config.has_section('usrp_rx_hrpt'): self._saved_freq_config.add_section('usrp_rx_hrpt') self._saved_freq_config.set('usrp_rx_hrpt', 'freq', str(self.freq)) self._saved_freq_config.write(open(self.config_filename, 'w')) - self.usrp_source.set_frequency(self.freq) - self.rx_fft.set_baseband_freq(self.freq) - def set_decim_text(self, decim_text): - self.decim_text = decim_text - self._decim_text_static_text.set_value(self.decim_text) + def get_clock_alpha(self): + return self.clock_alpha def set_clock_alpha(self, clock_alpha): self.clock_alpha = clock_alpha self._clock_alpha_slider.set_value(self.clock_alpha) self._clock_alpha_text_box.set_value(self.clock_alpha) - self.gr_clock_recovery_mm_xx_0.set_gain_omega(self.clock_alpha**2/4.0) - self.gr_clock_recovery_mm_xx_0.set_gain_mu(self.clock_alpha) self._saved_clock_alpha_config = ConfigParser.ConfigParser() self._saved_clock_alpha_config.read(self.config_filename) if not self._saved_clock_alpha_config.has_section('usrp_rx_hrpt'): self._saved_clock_alpha_config.add_section('usrp_rx_hrpt') self._saved_clock_alpha_config.set('usrp_rx_hrpt', 'clock_alpha', str(self.clock_alpha)) self._saved_clock_alpha_config.write(open(self.config_filename, 'w')) + self.digital_clock_recovery_mm_xx_0.set_gain_omega(self.clock_alpha**2/4.0) + self.digital_clock_recovery_mm_xx_0.set_gain_mu(self.clock_alpha) + + def get_addr_text(self): + return self.addr_text + + def set_addr_text(self, addr_text): + self.addr_text = addr_text + self._addr_text_static_text.set_value(self.addr_text) if __name__ == '__main__': parser = OptionParser(option_class=eng_option, usage="%prog: [options]") |