diff options
Diffstat (limited to 'gr-uhd')
-rwxr-xr-x | gr-uhd/apps/uhd_fft.py | 14 | ||||
-rwxr-xr-x | gr-uhd/apps/uhd_rx_cfile.py | 16 | ||||
-rwxr-xr-x | gr-uhd/apps/uhd_rx_nogui.py | 23 | ||||
-rwxr-xr-x | gr-uhd/apps/uhd_siggen.py | 17 | ||||
-rw-r--r-- | gr-uhd/doc/uhd.dox | 66 | ||||
-rwxr-xr-x | gr-uhd/examples/fm_tx4.py | 7 | ||||
-rwxr-xr-x | gr-uhd/examples/fm_tx_2_daughterboards.py | 11 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_am_mw_rcv.py | 7 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_nbfm_ptt.py | 27 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_nbfm_rcv.py | 11 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_spectrum_sense.py | 9 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_tv_rcv.py | 12 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_tv_rcv_nogui.py | 11 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_wfm_rcv.py | 9 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_wfm_rcv2_nogui.py | 8 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_wfm_rcv_fmdet.py | 9 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_wfm_rcv_nogui.py | 10 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_wfm_rcv_pll.py | 9 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_wfm_rcv_sca.py | 11 | ||||
-rwxr-xr-x | gr-uhd/examples/usrp_wxapt_rcv.py | 9 |
20 files changed, 267 insertions, 29 deletions
diff --git a/gr-uhd/apps/uhd_fft.py b/gr-uhd/apps/uhd_fft.py index 0f0c274e8..7f529a528 100755 --- a/gr-uhd/apps/uhd_fft.py +++ b/gr-uhd/apps/uhd_fft.py @@ -45,9 +45,10 @@ class app_top_block(stdgui2.std_top_block): self.panel = panel parser = OptionParser(option_class=eng_option) - parser.add_option("-a", "--address", type="string", - default="addr=192.168.10.2", - help="Address of UHD device, [default=%default]") + parser.add_option("-a", "--args", type="string", default="", + help="UHD device address args , [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-s", "--samp-rate", type="eng_float", default=1e6, @@ -73,7 +74,7 @@ class app_top_block(stdgui2.std_top_block): self.options = options self.show_debug_info = True - self.u = uhd.usrp_source(device_addr=options.address, + self.u = uhd.usrp_source(device_addr=options.args, io_type=uhd.io_type.COMPLEX_FLOAT32, num_channels=1) @@ -118,6 +119,11 @@ class app_top_block(stdgui2.std_top_block): self.set_gain(options.gain) + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna if(options.antenna): self.u.set_antenna(options.antenna, 0) diff --git a/gr-uhd/apps/uhd_rx_cfile.py b/gr-uhd/apps/uhd_rx_cfile.py index f49052d9c..625de36d3 100755 --- a/gr-uhd/apps/uhd_rx_cfile.py +++ b/gr-uhd/apps/uhd_rx_cfile.py @@ -41,12 +41,12 @@ class rx_cfile_block(gr.top_block): # Create a UHD device source if options.output_shorts: - self._u = uhd.usrp_source(device_addr=options.address, + self._u = uhd.usrp_source(device_addr=options.args, io_type=uhd.io_type.COMPLEX_INT16, num_channels=1) self._sink = gr.file_sink(gr.sizeof_short*2, filename) else: - self._u = uhd.usrp_source(device_addr=options.address, + self._u = uhd.usrp_source(device_addr=options.args, io_type=uhd.io_type.COMPLEX_FLOAT32, num_channels=1) self._sink = gr.file_sink(gr.sizeof_gr_complex, filename) @@ -61,6 +61,10 @@ class rx_cfile_block(gr.top_block): print "Using mid-point gain of", options.gain, "(", g.start(), "-", g.stop(), ")" self._u.set_gain(options.gain) + # Set the subdevice spec + if(options.spec): + self._u.set_subdev_spec(options.spec, 0) + # Set the antenna if(options.antenna): self._u.set_antenna(options.antenna, 0) @@ -89,7 +93,7 @@ class rx_cfile_block(gr.top_block): input_rate = self._u.get_samp_rate() if options.verbose: - print "Address:", options.address + print "Args: ", options.args print "Rx gain:", options.gain print "Rx baseband frequency:", n2s(tr.actual_rf_freq) print "Rx DDC frequency:", n2s(tr.actual_dsp_freq) @@ -107,8 +111,10 @@ class rx_cfile_block(gr.top_block): def get_options(): usage="%prog: [options] output_filename" parser = OptionParser(option_class=eng_option, usage=usage) - parser.add_option("-a", "--address", type="string", default="addr=192.168.10.2", - help="Address of UHD device, [default=%default]") + parser.add_option("-a", "--args", type="string", default="", + help="UHD device address args , [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("", "--samp-rate", type="eng_float", default=1e6, diff --git a/gr-uhd/apps/uhd_rx_nogui.py b/gr-uhd/apps/uhd_rx_nogui.py index 6f860b820..25068b3ac 100755 --- a/gr-uhd/apps/uhd_rx_nogui.py +++ b/gr-uhd/apps/uhd_rx_nogui.py @@ -83,12 +83,12 @@ class uhd_src(gr.hier_block2): Calibration value is the offset from the tuned frequency to the actual frequency. """ - def __init__(self, address, samp_rate, gain=None, calibration=0.0): + def __init__(self, args, spec, antenna, samp_rate, gain=None, calibration=0.0): gr.hier_block2.__init__(self, "uhd_src", gr.io_signature(0, 0, 0), # Input signature gr.io_signature(1, 1, gr.sizeof_gr_complex)) # Output signature - self._src = uhd.usrp_source(device_addr=address, + self._src = uhd.usrp_source(device_addr=args, io_type=uhd.io_type.COMPLEX_FLOAT32, num_channels=1) @@ -106,7 +106,15 @@ class uhd_src(gr.hier_block2): gain = (g.start()+g.stop())/2.0 print "Using gain: ", gain self._src.set_gain(gain) + + # Set the subdevice spec + if(spec): + self._src.set_subdev_spec(spec, 0) + # Set the antenna + if(antenna): + self._src.set_antenna(antenna, 0) + self._cal = calibration self.connect(self._src, self._resamp, self) @@ -124,7 +132,9 @@ class app_top_block(gr.top_block): (dev_rate, channel_rate, audio_rate, channel_pass, channel_stop, demod) = demod_params[options.modulation] - DEV = uhd_src(options.address, # UHD device address + DEV = uhd_src(options.args, # UHD device address + options.spec, # device subdev spec + options.antenna, # device antenna dev_rate, # device sample rate options.gain, # Receiver gain options.calibration) # Frequency offset @@ -185,9 +195,10 @@ class app_top_block(gr.top_block): def main(): parser = OptionParser(option_class=eng_option) - parser.add_option("-a", "--address", type="string", - default="addr=192.168.10.2", - help="Address of UHD device, [default=%default]") + parser.add_option("-a", "--args", type="string", default="", + help="UHD device address args , [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate [default=%default]") parser.add_option("-f", "--frequency", type="eng_float", diff --git a/gr-uhd/apps/uhd_siggen.py b/gr-uhd/apps/uhd_siggen.py index 921ba44b5..4b7060460 100755 --- a/gr-uhd/apps/uhd_siggen.py +++ b/gr-uhd/apps/uhd_siggen.py @@ -92,12 +92,18 @@ class top_block(gr.top_block, pubsub): self[TYPE_KEY] = options.type #set type last def _setup_usrpx(self, options): - self._u = uhd.usrp_sink(device_addr=options.address, + self._u = uhd.usrp_sink(device_addr=options.args, io_type=uhd.io_type.COMPLEX_FLOAT32, num_channels=1) self._u.set_samp_rate(options.samp_rate) + + # Set the subdevice spec + if(options.spec): + self._u.set_subdev_spec(options.spec, 0) + + # Set the antenna if(options.antenna): - self._u.set_antenna(options.antenna) + self._u.set_antenna(options.antenna, 0) self.publish(DESC_KEY, lambda: str(self._u)) self.publish(FREQ_RANGE_KEY, self._u.get_freq_range) @@ -280,9 +286,10 @@ def get_options(): usage="%prog: [options]" parser = OptionParser(option_class=eng_option, usage=usage) - parser.add_option("-a", "--address", type="string", - default="addr=192.168.10.2", - help="Address of UHD device, [default=%default]") + parser.add_option("-a", "--args", type="string", default="", + help="UHD device address args , [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-s", "--samp-rate", type="eng_float", default=1e6, diff --git a/gr-uhd/doc/uhd.dox b/gr-uhd/doc/uhd.dox index f08fe2f06..92ad7db4c 100644 --- a/gr-uhd/doc/uhd.dox +++ b/gr-uhd/doc/uhd.dox @@ -32,4 +32,70 @@ The UHD Doxygen page is located: http://files.ettus.com/uhd_docs/doxygen/html/index.html +\section Typical Setup + +A typical option parser setup for a UHD device looks like + +\code + parser = OptionParser(option_class=eng_option) + parser.add_option("-a", "--args", type="string", default="", + help="UHD device address args , [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") + parser.add_option("-A", "--antenna", type="string", default=None, + help="select Rx Antenna where appropriate") + parser.add_option("-s", "--samp-rate", type="eng_float", default=1e6, + help="set sample rate (bandwidth) [default=%default]") + parser.add_option("-f", "--freq", type="eng_float", default=None, + help="set frequency to FREQ", metavar="FREQ") + parser.add_option("-g", "--gain", type="eng_float", default=None, + help="set gain in dB (default is midpoint)") +\endcode + +To use these options to create a UHD source object: + +\code + self.u = uhd.usrp_source(device_addr=options.args, + io_type=uhd.io_type.COMPLEX_FLOAT32, + num_channels=1) + + self.u.set_samp_rate(options.samp_rate) + + # if no gain was specified, use the mid-point in dB + if options.gain is None: + g = self.u.get_gain_range() + options.gain = float(g.start()+g.stop())/2 + self.u.set_gain(options.gain, 0) + + # Set the center frequency + self.u.set_center_freq(options.freq, 0) + + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, 0) +\endcode + +Frequently, your application may need a sample rate that is not +supported by the UHD device. If you have extra CPU power to spare, you +can easily set the sample rate you want, then ask the device what the +actual sample rate set was. Then, you can easily create an arbitrary +resampler to take care of the difference. + +\code + self.u.set_samp_rate(options.samp_rate) + + desired_rate = options.samp_rate + actual_rate = self.u.get_samp_rate() + resample = desired_rate / actual_rate + + # Use the blks2 version and pass only the resample factor. + # This block builds a half-band filter for you + + self.resampler = blks2.pfb_arb_resampler_ccf(resample) +\endcode + */ diff --git a/gr-uhd/examples/fm_tx4.py b/gr-uhd/examples/fm_tx4.py index 7b04ebd73..11148ea63 100755 --- a/gr-uhd/examples/fm_tx4.py +++ b/gr-uhd/examples/fm_tx4.py @@ -85,6 +85,8 @@ class fm_tx_block(stdgui2.std_top_block): parser = OptionParser (option_class=eng_option) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-s", "--samp-rate", type="eng_float", default=400e3, @@ -134,6 +136,11 @@ class fm_tx_block(stdgui2.std_top_block): self.set_gain(options.gain) self.set_freq(options.freq) + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna if(options.antenna): self.u.set_antenna(options.antenna, 0) diff --git a/gr-uhd/examples/fm_tx_2_daughterboards.py b/gr-uhd/examples/fm_tx_2_daughterboards.py index 25325bd19..61c437a98 100755 --- a/gr-uhd/examples/fm_tx_2_daughterboards.py +++ b/gr-uhd/examples/fm_tx_2_daughterboards.py @@ -90,6 +90,8 @@ class my_top_block(gr.top_block): parser = OptionParser (option_class=eng_option, usage=usage) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-s", "--samp-rate", type="eng_float", default=320e3, @@ -170,6 +172,15 @@ class my_top_block(gr.top_block): self.set_gain(options.gain, 0) self.set_gain(options.gain, 1) + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, 0) + self.u.set_antenna(options.antenna, 1) + def set_freq(self, target_freq, chan): """ Set the center frequency we're interested in. diff --git a/gr-uhd/examples/usrp_am_mw_rcv.py b/gr-uhd/examples/usrp_am_mw_rcv.py index a4fba9f0e..db3b35760 100755 --- a/gr-uhd/examples/usrp_am_mw_rcv.py +++ b/gr-uhd/examples/usrp_am_mw_rcv.py @@ -40,6 +40,8 @@ class wfm_rx_block (stdgui2.std_top_block): parser=OptionParser(option_class=eng_option) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-s", "--samp-rate", type="eng_float", default=1e6, @@ -150,6 +152,11 @@ class wfm_rx_block (stdgui2.std_top_block): if not(self.set_freq(options.freq)): self._set_status_msg("Failed to set initial frequency") + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna if(options.antenna): self.u.set_antenna(options.antenna, 0) diff --git a/gr-uhd/examples/usrp_nbfm_ptt.py b/gr-uhd/examples/usrp_nbfm_ptt.py index 1f8a72e79..8f7ddee7d 100755 --- a/gr-uhd/examples/usrp_nbfm_ptt.py +++ b/gr-uhd/examples/usrp_nbfm_ptt.py @@ -50,6 +50,8 @@ class ptt_block(stdgui2.std_top_block): parser = OptionParser (option_class=eng_option) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option ("-f", "--freq", type="eng_float", default=442.1e6, @@ -72,9 +74,11 @@ class ptt_block(stdgui2.std_top_block): if options.freq < 1e6: options.freq *= 1e6 - self.txpath = transmit_path(options.args, options.tx_gain, + self.txpath = transmit_path(options.args, options.spec, + options.antenna, options.tx_gain, options.audio_input) - self.rxpath = receive_path(options.args, options.rx_gain, + self.rxpath = receive_path(options.args, options.spec, + options.antenna, options.rx_gain, options.audio_output) self.connect(self.txpath) self.connect(self.rxpath) @@ -272,7 +276,7 @@ class ptt_block(stdgui2.std_top_block): # //////////////////////////////////////////////////////////////////////// class transmit_path(gr.hier_block2): - def __init__(self, args, gain, audio_input): + def __init__(self, args, spec, antenna, gain, audio_input): gr.hier_block2.__init__(self, "transmit_path", gr.io_signature(0, 0, 0), # Input signature gr.io_signature(0, 0, 0)) # Output signature @@ -331,6 +335,14 @@ class transmit_path(gr.hier_block2): self.set_enable(False) + # Set the subdevice spec + if(spec): + self.u.set_subdev_spec(spec, 0) + + # Set the antenna + if(antenna): + self.u.set_antenna(antenna, 0) + def set_freq(self, target_freq): """ Set the center frequency we're interested in. @@ -415,7 +427,14 @@ class receive_path(gr.hier_block2): s = self.squelch_range() self.set_squelch((s[0]+s[1])/2) - + # Set the subdevice spec + if(spec): + self.u.set_subdev_spec(spec, 0) + + # Set the antenna + if(antenna): + self.u.set_antenna(antenna, 0) + def volume_range(self): return (-20.0, 0.0, 0.5) diff --git a/gr-uhd/examples/usrp_nbfm_rcv.py b/gr-uhd/examples/usrp_nbfm_rcv.py index 829381e7a..a558b9347 100755 --- a/gr-uhd/examples/usrp_nbfm_rcv.py +++ b/gr-uhd/examples/usrp_nbfm_rcv.py @@ -40,6 +40,8 @@ class my_top_block (stdgui2.std_top_block): parser=OptionParser(option_class=eng_option) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-f", "--freq", type="eng_float", default=146.585e6, @@ -67,7 +69,7 @@ class my_top_block (stdgui2.std_top_block): self.freq = 0 self.freq_step = 25e3 - self.rxpath = receive_path(options.args, options.antenna, + self.rxpath = receive_path(options.args, options.spec, options.antenna, options.gain, options.audio_output) self.connect(self.rxpath) @@ -259,7 +261,7 @@ class my_top_block (stdgui2.std_top_block): USE_SIMPLE_SQUELCH = False class receive_path(gr.hier_block2): - def __init__(self, args, antenna, gain, audio_output): + def __init__(self, args, spec, antenna, gain, audio_output): gr.hier_block2.__init__(self, "receive_path", gr.io_signature(0, 0, 0), # Input signature gr.io_signature(0, 0, 0)) # Output signature @@ -320,6 +322,11 @@ class receive_path(gr.hier_block2): s = self.squelch_range() self.set_squelch((s[0]+s[1])/2) + # Set the subdevice spec + if(spec): + self.u.set_subdev_spec(spec, 0) + + # Set the antenna if(antenna): self.u.set_antenna(antenna, 0) diff --git a/gr-uhd/examples/usrp_spectrum_sense.py b/gr-uhd/examples/usrp_spectrum_sense.py index cf41e7043..01ca60396 100755 --- a/gr-uhd/examples/usrp_spectrum_sense.py +++ b/gr-uhd/examples/usrp_spectrum_sense.py @@ -86,6 +86,8 @@ class my_top_block(gr.top_block): parser = OptionParser(option_class=eng_option, usage=usage) parser.add_option("-a", "--args", type="string", default="", help="UHD device device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-s", "--samp-rate", type="eng_float", default=1e6, @@ -182,6 +184,13 @@ class my_top_block(gr.top_block): self.set_gain(options.gain) print "gain =", options.gain + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, 0) def set_next_freq(self): target_freq = self.next_freq diff --git a/gr-uhd/examples/usrp_tv_rcv.py b/gr-uhd/examples/usrp_tv_rcv.py index 2ad1f2122..22493dd00 100755 --- a/gr-uhd/examples/usrp_tv_rcv.py +++ b/gr-uhd/examples/usrp_tv_rcv.py @@ -64,6 +64,8 @@ class tv_rx_block (stdgui2.std_top_block): parser=OptionParser(option_class=eng_option, usage=usage) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-s", "--samp-rate", type="eng_float", default=1e6, @@ -143,7 +145,15 @@ class tv_rx_block (stdgui2.std_top_block): self.src=self.u - self.gain = options.gain + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, 0) + + self.gain = options.gain f2uc=gr.float_to_uchar() diff --git a/gr-uhd/examples/usrp_tv_rcv_nogui.py b/gr-uhd/examples/usrp_tv_rcv_nogui.py index 3fe426fbc..2324eb29e 100755 --- a/gr-uhd/examples/usrp_tv_rcv_nogui.py +++ b/gr-uhd/examples/usrp_tv_rcv_nogui.py @@ -61,6 +61,8 @@ class my_top_block(gr.top_block): parser = OptionParser(option_class=eng_option, usage=usage) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-s", "--samp-rate", type="eng_float", default=1e6, @@ -148,6 +150,15 @@ class my_top_block(gr.top_block): if not r: sys.stderr.write('Failed to set frequency\n') raise SystemExit, 1 + + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, 0) + self.agc = gr.agc_cc(1e-7,1.0,1.0) #1e-7 self.am_demod = gr.complex_to_mag () diff --git a/gr-uhd/examples/usrp_wfm_rcv.py b/gr-uhd/examples/usrp_wfm_rcv.py index 138e5045b..cfdaa6d6f 100755 --- a/gr-uhd/examples/usrp_wfm_rcv.py +++ b/gr-uhd/examples/usrp_wfm_rcv.py @@ -36,6 +36,8 @@ class wfm_rx_block (stdgui2.std_top_block): parser=OptionParser(option_class=eng_option) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-f", "--freq", type="eng_float", default=100.1e6, @@ -129,6 +131,13 @@ class wfm_rx_block (stdgui2.std_top_block): if not(self.set_freq(options.freq)): self._set_status_msg("Failed to set initial frequency") + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, 0) def _set_status_msg(self, msg, which=0): self.frame.GetStatusBar().SetStatusText(msg, which) diff --git a/gr-uhd/examples/usrp_wfm_rcv2_nogui.py b/gr-uhd/examples/usrp_wfm_rcv2_nogui.py index 13f89c71c..8cbd18475 100755 --- a/gr-uhd/examples/usrp_wfm_rcv2_nogui.py +++ b/gr-uhd/examples/usrp_wfm_rcv2_nogui.py @@ -35,6 +35,8 @@ class wfm_rx_block (gr.top_block): parser=OptionParser(option_class=eng_option) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default="A:0 A:0", + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("", "--f1", type="eng_float", default=100.7e6, @@ -73,7 +75,7 @@ class wfm_rx_block (gr.top_block): num_channels=2) # Set front end channel mapping - self.u.set_subdev_spec("A:0 A:0") + self.u.set_subdev_spec(options.spec) usrp_rate = 320e3 demod_rate = 320e3 @@ -134,6 +136,10 @@ class wfm_rx_block (gr.top_block): # Set gain for each channel self.set_gain(options.gain, n) + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, n) + def set_vol (self, vol): self.vol = vol self.volume_control.set_k(self.vol) diff --git a/gr-uhd/examples/usrp_wfm_rcv_fmdet.py b/gr-uhd/examples/usrp_wfm_rcv_fmdet.py index d13ebe829..39c711a6d 100755 --- a/gr-uhd/examples/usrp_wfm_rcv_fmdet.py +++ b/gr-uhd/examples/usrp_wfm_rcv_fmdet.py @@ -35,6 +35,8 @@ class wfm_rx_block (stdgui2.std_top_block): parser=OptionParser(option_class=eng_option) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-f", "--freq", type="eng_float", default=100.1e6, @@ -151,6 +153,13 @@ class wfm_rx_block (stdgui2.std_top_block): if not(self.set_freq(options.freq)): self._set_status_msg("Failed to set initial frequency") + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, 0) def _set_status_msg(self, msg, which=0): self.frame.GetStatusBar().SetStatusText(msg, which) diff --git a/gr-uhd/examples/usrp_wfm_rcv_nogui.py b/gr-uhd/examples/usrp_wfm_rcv_nogui.py index 7c2c6050d..90caf7d08 100755 --- a/gr-uhd/examples/usrp_wfm_rcv_nogui.py +++ b/gr-uhd/examples/usrp_wfm_rcv_nogui.py @@ -34,6 +34,8 @@ class wfm_rx_block (gr.top_block): parser=OptionParser(option_class=eng_option) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-f", "--freq", type="eng_float", default=100.1e6, @@ -119,6 +121,14 @@ class wfm_rx_block (gr.top_block): if not(self.set_freq(options.freq)): self._set_status_msg("Failed to set initial frequency") + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, 0) + def set_vol (self, vol): g = self.volume_range() self.vol = max(g[0], min(g[1], vol)) diff --git a/gr-uhd/examples/usrp_wfm_rcv_pll.py b/gr-uhd/examples/usrp_wfm_rcv_pll.py index 78c05e057..2901bf735 100755 --- a/gr-uhd/examples/usrp_wfm_rcv_pll.py +++ b/gr-uhd/examples/usrp_wfm_rcv_pll.py @@ -36,6 +36,8 @@ class wfm_rx_block (stdgui2.std_top_block): parser=OptionParser(option_class=eng_option) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-f", "--freq", type="eng_float", default=100.1e6, @@ -149,6 +151,13 @@ class wfm_rx_block (stdgui2.std_top_block): if not(self.set_freq(options.freq)): self._set_status_msg("Failed to set initial frequency") + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, 0) def _set_status_msg(self, msg, which=0): self.frame.GetStatusBar().SetStatusText(msg, which) diff --git a/gr-uhd/examples/usrp_wfm_rcv_sca.py b/gr-uhd/examples/usrp_wfm_rcv_sca.py index f0f6aec66..9caef7499 100755 --- a/gr-uhd/examples/usrp_wfm_rcv_sca.py +++ b/gr-uhd/examples/usrp_wfm_rcv_sca.py @@ -66,6 +66,8 @@ class wfm_rx_sca_block (stdgui2.std_top_block): parser=OptionParser(option_class=eng_option) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-f", "--freq", type="eng_float", default=100.1e6, @@ -211,7 +213,14 @@ class wfm_rx_sca_block (stdgui2.std_top_block): self._set_status_msg("Failed to set initial frequency") self.set_sca_freq(67000) # A common SCA Frequency - + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, 0) + def _set_status_msg(self, msg, which=0): self.frame.GetStatusBar().SetStatusText(msg, which) diff --git a/gr-uhd/examples/usrp_wxapt_rcv.py b/gr-uhd/examples/usrp_wxapt_rcv.py index 809756d96..1da51d363 100755 --- a/gr-uhd/examples/usrp_wxapt_rcv.py +++ b/gr-uhd/examples/usrp_wxapt_rcv.py @@ -36,6 +36,8 @@ class wxapt_rx_block (stdgui2.std_top_block): parser=OptionParser(option_class=eng_option) parser.add_option("-a", "--args", type="string", default="", help="UHD device address args, [default=%default]") + parser.add_option("", "--spec", type="string", default=None, + help="Subdevice of UHD device where appropriate") parser.add_option("-A", "--antenna", type="string", default=None, help="select Rx Antenna where appropriate") parser.add_option("-f", "--freq", type="eng_float", default=137.5e6, @@ -124,6 +126,13 @@ class wxapt_rx_block (stdgui2.std_top_block): if not(self.set_freq(options.freq)): self._set_status_msg("Failed to set initial frequency") + # Set the subdevice spec + if(options.spec): + self.u.set_subdev_spec(options.spec, 0) + + # Set the antenna + if(options.antenna): + self.u.set_antenna(options.antenna, 0) def _set_status_msg(self, msg, which=0): self.frame.GetStatusBar().SetStatusText(msg, which) |