diff options
Diffstat (limited to 'gr-usrp/grc')
-rw-r--r-- | gr-usrp/grc/.gitignore | 2 | ||||
-rw-r--r-- | gr-usrp/grc/Makefile.am | 42 | ||||
-rw-r--r-- | gr-usrp/grc/__init__.py | 26 | ||||
-rw-r--r-- | gr-usrp/grc/common.py | 75 | ||||
-rw-r--r-- | gr-usrp/grc/dual_usrp.py | 132 | ||||
-rw-r--r-- | gr-usrp/grc/gnuradio-usrp_probe.desktop | 7 | ||||
-rw-r--r-- | gr-usrp/grc/simple_usrp.py | 113 | ||||
-rw-r--r-- | gr-usrp/grc/usrp_dual_sink_x.xml | 204 | ||||
-rw-r--r-- | gr-usrp/grc/usrp_dual_source_x.xml | 243 | ||||
-rwxr-xr-x | gr-usrp/grc/usrp_probe | 115 | ||||
-rw-r--r-- | gr-usrp/grc/usrp_probe.xml | 40 | ||||
-rw-r--r-- | gr-usrp/grc/usrp_simple_sink_x.xml | 133 | ||||
-rw-r--r-- | gr-usrp/grc/usrp_simple_source_x.xml | 168 |
13 files changed, 0 insertions, 1300 deletions
diff --git a/gr-usrp/grc/.gitignore b/gr-usrp/grc/.gitignore deleted file mode 100644 index b336cc7cec..0000000000 --- a/gr-usrp/grc/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/Makefile -/Makefile.in diff --git a/gr-usrp/grc/Makefile.am b/gr-usrp/grc/Makefile.am deleted file mode 100644 index 11a5f40dc0..0000000000 --- a/gr-usrp/grc/Makefile.am +++ /dev/null @@ -1,42 +0,0 @@ -# -# Copyright 2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -include $(top_srcdir)/Makefile.common - -usrp_pythondir = $(pythondir)/grc_gnuradio/usrp -usrp_python_PYTHON = \ - __init__.py \ - common.py \ - dual_usrp.py \ - simple_usrp.py - -dist_bin_SCRIPTS = usrp_probe - -grcblocksdir = $(grc_blocksdir) -dist_grcblocks_DATA = \ - usrp_dual_sink_x.xml \ - usrp_simple_sink_x.xml \ - usrp_dual_source_x.xml \ - usrp_simple_source_x.xml \ - usrp_probe.xml - -ourdatadir = $(pkgdatadir)/grc/freedesktop -dist_ourdata_DATA = gnuradio-usrp_probe.desktop diff --git a/gr-usrp/grc/__init__.py b/gr-usrp/grc/__init__.py deleted file mode 100644 index 1956bbd5b2..0000000000 --- a/gr-usrp/grc/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 2008 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from simple_usrp import \ - simple_source_c, simple_source_s, \ - simple_sink_c, simple_sink_s -from dual_usrp import \ - dual_source_c, dual_source_s, \ - dual_sink_c, dual_sink_s diff --git a/gr-usrp/grc/common.py b/gr-usrp/grc/common.py deleted file mode 100644 index 65c1e7e296..0000000000 --- a/gr-usrp/grc/common.py +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2009 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import sys -from gnuradio import usrp, gr - -################################################## -# USRP base class with common methods -################################################## -class usrp_helper(object): - def _make_usrp(self, *args, **kwargs): self._u = self._usrp_args[0](*args, **kwargs) - def _get_u(self): return self._u - def _get_io_size(self): return self._usrp_args[1] - def _set_frequency(self, chan, subdev, frequency, verbose=False): - """ - Set the carrier frequency for the given subdevice. - @param chan specifies the DDC/DUC number - @param frequency the carrier frequency in Hz - @param verbose if true, print usrp tuning information - """ - r = self._get_u().tune(chan, subdev, frequency) - if not verbose: return - print subdev.side_and_name() - if r: - print "\tr.baseband_frequency =", r.baseband_freq - print "\tr.dxc_frequency =", r.dxc_freq - print "\tr.residual_frequency =", r.residual_freq - print "\tr.inverted =", r.inverted, "\n" - else: print >> sys.stderr, 'Error calling tune on subdevice.' - def set_format(self, width, shift): self._get_u().set_format(self._get_u().make_format(width, shift)) - -################################################## -# Classes to associate usrp constructor w/ io size -################################################## -class usrp_source_c(usrp_helper): _usrp_args = (usrp.source_c, gr.sizeof_gr_complex) -class usrp_source_s(usrp_helper): _usrp_args = (usrp.source_s, gr.sizeof_short) -class usrp_sink_c(usrp_helper): _usrp_args = (usrp.sink_c, gr.sizeof_gr_complex) -class usrp_sink_s(usrp_helper): _usrp_args = (usrp.sink_s, gr.sizeof_short) - -################################################## -# Side spec and antenna spec functions -################################################## -def is_flex(rx_ant): return rx_ant.upper() in ('TX/RX', 'RX2') -def to_spec(side, rx_ant='RXA'): - """ - Convert the side to a spec number. - @param side A or B - @param rx_ant antenna type - @return the spec (0/1, 0/1/2) - """ - #determine the side spec - try: side_spec = {'A': 0, 'B': 1}[side.upper()] - except: raise ValueError, 'Side A or B expected.' - #determine the subdevice spec - if rx_ant.upper() == 'RXB': subdev_spec = 1 - elif rx_ant.upper() == 'RXAB': subdev_spec = 2 - else: subdev_spec = 0 - return (side_spec, subdev_spec) diff --git a/gr-usrp/grc/dual_usrp.py b/gr-usrp/grc/dual_usrp.py deleted file mode 100644 index 66b76b2df9..0000000000 --- a/gr-usrp/grc/dual_usrp.py +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 2009, 2010 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import common -from gnuradio import gr - -#################################################################### -# Dual USRP Source -#################################################################### -class _dual_source(gr.hier_block2): - """A dual usrp source of IO type short or complex.""" - - def __init__(self, which, rx_ant_a='RXA', rx_ant_b='RXA', rx_source_a='A', rx_source_b='B'): - """ - USRP dual source contructor. - @param which the unit number - @param rx_ant_a the antenna choice - @param rx_ant_b the antenna choice - """ - #initialize hier2 block - gr.hier_block2.__init__( - self, 'usrp_dual_source', - gr.io_signature(0, 0, 0), - gr.io_signature(2, 2, self._get_io_size()), - ) - #create usrp object - self._make_usrp(which=which, nchan=2) - subdev_spec_a = common.to_spec(rx_source_a, rx_ant_a) - subdev_spec_b = common.to_spec(rx_source_b, rx_ant_b) - self._get_u().set_mux(self._get_u().determine_rx_mux_value(subdev_spec_a, subdev_spec_b)) - self._subdev_a = self._get_u().selected_subdev(subdev_spec_a) - self._subdev_b = self._get_u().selected_subdev(subdev_spec_b) - #connect - deinter = gr.deinterleave(self._get_io_size()) - self.connect(self._get_u(), deinter) - for i in range(2): self.connect((deinter, i), (self, i)) - - def set_decim_rate(self, decim): self._get_u().set_decim_rate(int(decim)) - def set_frequency_a(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev_a.set_lo_offset(lo_offset) - self._set_frequency( - chan=0, #ddc0 - subdev=self._subdev_a, - frequency=frequency, - verbose=verbose, - ) - def set_frequency_b(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev_b.set_lo_offset(lo_offset) - self._set_frequency( - chan=1, #ddc1 - subdev=self._subdev_b, - frequency=frequency, - verbose=verbose, - ) - def set_gain_a(self, gain): self._subdev_a.set_gain(gain) - def set_gain_b(self, gain): self._subdev_b.set_gain(gain) - -class dual_source_c(_dual_source, common.usrp_source_c): pass -class dual_source_s(_dual_source, common.usrp_source_s): pass - -#################################################################### -# Dual USRP Sink -#################################################################### -class _dual_sink(gr.hier_block2): - """A dual usrp sink of IO type short or complex.""" - - def __init__(self, which): - """ - USRP simple sink contructor. - @param which the unit number - """ - #initialize hier2 block - gr.hier_block2.__init__( - self, 'usrp_dual_sink', - gr.io_signature(2, 2, self._get_io_size()), - gr.io_signature(0, 0, 0), - ) - #create usrp object - self._make_usrp(which=which, nchan=2) - subdev_spec_a = common.to_spec('A') - subdev_spec_b = common.to_spec('B') - self._get_u().set_mux(self._get_u().determine_tx_mux_value(subdev_spec_a, subdev_spec_b)) - self._subdev_a = self._get_u().selected_subdev(subdev_spec_a) - self._subdev_b = self._get_u().selected_subdev(subdev_spec_b) - #connect - inter = gr.interleave(self._get_io_size()) - self.connect(inter, self._get_u()) - for i in range(2): self.connect((self, i), (inter, i)) - - def set_interp_rate(self, interp): self._get_u().set_interp_rate(int(interp)) - def set_frequency_a(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev_a.set_lo_offset(lo_offset) - self._set_frequency( - chan=self._subdev_a.which(), - subdev=self._subdev_a, - frequency=frequency, - verbose=verbose, - ) - def set_frequency_b(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev_b.set_lo_offset(lo_offset) - self._set_frequency( - chan=self._subdev_b.which(), - subdev=self._subdev_b, - frequency=frequency, - verbose=verbose, - ) - def set_gain_a(self, gain): self._subdev_a.set_gain(gain) - def set_gain_b(self, gain): self._subdev_b.set_gain(gain) - def set_enable_a(self, enable): self._subdev_a.set_enable(enable) - def set_enable_b(self, enable): self._subdev_b.set_enable(enable) - def set_auto_tr_a(self, auto_tr): self._subdev_a.set_auto_tr(auto_tr) - def set_auto_tr_b(self, auto_tr): self._subdev_b.set_auto_tr(auto_tr) - -class dual_sink_c(_dual_sink, common.usrp_sink_c): pass -class dual_sink_s(_dual_sink, common.usrp_sink_s): pass diff --git a/gr-usrp/grc/gnuradio-usrp_probe.desktop b/gr-usrp/grc/gnuradio-usrp_probe.desktop deleted file mode 100644 index 1363219942..0000000000 --- a/gr-usrp/grc/gnuradio-usrp_probe.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Name=USRP Probe -Exec=usrp_probe -Categories=Development; -Icon=gnuradio-grc diff --git a/gr-usrp/grc/simple_usrp.py b/gr-usrp/grc/simple_usrp.py deleted file mode 100644 index fb7a39570f..0000000000 --- a/gr-usrp/grc/simple_usrp.py +++ /dev/null @@ -1,113 +0,0 @@ -# Copyright 2009 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import common -from gnuradio import gr - -#################################################################### -# Simple USRP Source -#################################################################### -class _simple_source(gr.hier_block2): - """A single usrp source of IO type short or complex.""" - - def __init__(self, which, side='A', rx_ant='RXA', no_hb=False): - """ - USRP simple source contructor. - @param which the unit number - @param side the usrp side A or B - @param rx_ant the antenna choice - @param no_hb disable half band filters - """ - self._no_hb = no_hb - #initialize hier2 block - gr.hier_block2.__init__( - self, 'usrp_simple_source', - gr.io_signature(0, 0, 0), - gr.io_signature(1, 1, self._get_io_size()), - ) - #create usrp object - if self._no_hb: self._make_usrp(which=which, nchan=1, fpga_filename="std_4rx_0tx.rbf") - else: self._make_usrp(which=which, nchan=1) - subdev_spec = common.to_spec(side, rx_ant) - self._get_u().set_mux(self._get_u().determine_rx_mux_value(subdev_spec)) - self._subdev = self._get_u().selected_subdev(subdev_spec) - if common.is_flex(rx_ant): self._subdev.select_rx_antenna(rx_ant) - #connect - self.connect(self._get_u(), self) - - def set_decim_rate(self, decim): - self._get_u().set_decim_rate(int(decim)) - if self._no_hb: #set the BW to half the sample rate - self._subdev.set_bw(self._get_u().converter_rate()/decim/2) - def set_frequency(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev.set_lo_offset(lo_offset) - self._set_frequency( - chan=0, #ddc0 - subdev=self._subdev, - frequency=frequency, - verbose=verbose, - ) - def set_gain(self, gain): self._subdev.set_gain(gain) - -class simple_source_c(_simple_source, common.usrp_source_c): pass -class simple_source_s(_simple_source, common.usrp_source_s): pass - -#################################################################### -# Simple USRP Sink -#################################################################### -class _simple_sink(gr.hier_block2): - """A single usrp sink of IO type short or complex.""" - - def __init__(self, which, side='A'): - """ - USRP simple sink contructor. - @param which the unit number - @param side the usrp side A or B - """ - #initialize hier2 block - gr.hier_block2.__init__( - self, 'usrp_simple_sink', - gr.io_signature(1, 1, self._get_io_size()), - gr.io_signature(0, 0, 0), - ) - #create usrp object - self._make_usrp(which=which, nchan=1) - subdev_spec = common.to_spec(side) - self._get_u().set_mux(self._get_u().determine_tx_mux_value(subdev_spec)) - self._subdev = self._get_u().selected_subdev(subdev_spec) - #connect - self.connect(self, self._get_u()) - - def set_interp_rate(self, interp): self._get_u().set_interp_rate(int(interp)) - def set_frequency(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev.set_lo_offset(lo_offset) - self._set_frequency( - chan=self._subdev.which(), - subdev=self._subdev, - frequency=frequency, - verbose=verbose, - ) - def set_gain(self, gain): self._subdev.set_gain(gain) - def set_enable(self, enable): self._subdev.set_enable(enable) - def set_auto_tr(self, auto_tr): self._subdev.set_auto_tr(auto_tr) - -class simple_sink_c(_simple_sink, common.usrp_sink_c): pass -class simple_sink_s(_simple_sink, common.usrp_sink_s): pass - diff --git a/gr-usrp/grc/usrp_dual_sink_x.xml b/gr-usrp/grc/usrp_dual_sink_x.xml deleted file mode 100644 index babc124d09..0000000000 --- a/gr-usrp/grc/usrp_dual_sink_x.xml +++ /dev/null @@ -1,204 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP Dual Sink -################################################### - --> -<block> - <name>USRP1 Dual Sink</name> - <key>usrp_dual_sink_x</key> - <category>USRP</category> - <import>from grc_gnuradio import usrp as grc_usrp</import> - <make>grc_usrp.dual_sink_$(type.fcn)(which=$which) -self.$(id).set_interp_rate($interpolation) -self.$(id).set_frequency_a($frequency_a, verbose=True#slurp -#if $lo_offset_a() != float('inf') -, lo_offset=$lo_offset_a#slurp -#end if -) -self.$(id).set_frequency_b($frequency_b, verbose=True#slurp -#if $lo_offset_b() != float('inf') -, lo_offset=$lo_offset_b#slurp -#end if -) -self.$(id).set_gain_a($gain_a) -self.$(id).set_gain_b($gain_b) -################################################## -## Flex RF A -################################################## -#if $transmit_a.tx_enb -self.$(id).set_enable_a(True) -#end if -#if $transmit_a.auto_tr -self.$(id).set_auto_tr_a(True) -#end if -################################################## -## Flex RF B -################################################## -#if $transmit_b.tx_enb -self.$(id).set_enable_b(True) -#end if -#if $transmit_b.auto_tr -self.$(id).set_auto_tr_b(True) -#end if</make> - <callback>set_interp_rate($interpolation)</callback> - <callback>set_frequency_a($frequency_a#slurp -#if $lo_offset_a() != float('inf') -, lo_offset=$lo_offset_a#slurp -#end if -)</callback> - <callback>set_frequency_b($frequency_b#slurp -#if $lo_offset_b() != float('inf') -, lo_offset=$lo_offset_b#slurp -#end if -)</callback> - <callback>set_gain_a($gain_a)</callback> - <callback>set_gain_b($gain_b)</callback> - <param> - <name>Input Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:c</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:s</opt> - </option> - </param> - <param> - <name>Unit Number</name> - <key>which</key> - <value>0</value> - <type>int</type> - </param> - <param> - <name>Interpolation</name> - <key>interpolation</key> - <type>int</type> - </param> - <param> - <name>Frequency A (Hz)</name> - <key>frequency_a</key> - <type>real</type> - </param> - <param> - <name>Frequency B (Hz)</name> - <key>frequency_b</key> - <type>real</type> - </param> - <param> - <name>LO Offset A (Hz)</name> - <key>lo_offset_a</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset_a() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>LO Offset B (Hz)</name> - <key>lo_offset_b</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset_b() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>Gain A (dB)</name> - <key>gain_a</key> - <value>0</value> - <type>real</type> - </param> - <param> - <name>Gain B (dB)</name> - <key>gain_b</key> - <value>0</value> - <type>real</type> - </param> -<!-- -################################################### -## Flex RF A -################################################### - --> - <param> - <name>Transmit A</name> - <key>transmit_a</key> - <value></value> - <type>enum</type> - <hide>#if $transmit_a.tx_enb then 'none' else 'part'#</hide> - <option> - <name>Unconfigured</name> - <key></key> - <opt>tx_enb:</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Enable</name> - <key>tx_enb</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Auto T/R</name> - <key>auto_tr</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:1</opt> - </option> - </param> -<!-- -################################################### -## Flex RF B -################################################### - --> - <param> - <name>Transmit B</name> - <key>transmit_b</key> - <value></value> - <type>enum</type> - <hide>#if $transmit_b.tx_enb then 'none' else 'part'#</hide> - <option> - <name>Unconfigured</name> - <key></key> - <opt>tx_enb:</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Enable</name> - <key>tx_enb</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Auto T/R</name> - <key>auto_tr</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:1</opt> - </option> - </param> - <sink> - <name>Ain</name> - <type>$type</type> - </sink> - <sink> - <name>Bin</name> - <type>$type</type> - </sink> - <doc> -The USRP sink inputs 128 Megasamples per second / interpolation. - -Input amplitude should be between 0 and 32767. - -Flex RF boards only: The "Transmit Setting" must be configured. \ -When set to "Enable" the transmitter is always on. \ -When set to "Auto Transmit/Receive", the transmitter is disabled while receiving. - </doc> -</block> diff --git a/gr-usrp/grc/usrp_dual_source_x.xml b/gr-usrp/grc/usrp_dual_source_x.xml deleted file mode 100644 index 4e1fa81d81..0000000000 --- a/gr-usrp/grc/usrp_dual_source_x.xml +++ /dev/null @@ -1,243 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP Dual Source -################################################### - --> -<block> - <name>USRP1 Dual Source</name> - <key>usrp_dual_source_x</key> - <category>USRP</category> - <import>from grc_gnuradio import usrp as grc_usrp</import> - <make>grc_usrp.dual_source_$(type.fcn)( - which=$which, - rx_ant_a=$rx_ant_a, rx_ant_b=$rx_ant_b, - rx_source_a=$rx_source_a, rx_source_b=$rx_source_b, -) -#if $format() -self.$(id).set_format(width=$format.width, shift=$format.shift) -#end if -self.$(id).set_decim_rate($decimation) -self.$(id).set_frequency_a($frequency_a, verbose=True#slurp -#if $lo_offset_a() != float('inf') -, lo_offset=$lo_offset_a#slurp -#end if -) -self.$(id).set_frequency_b($frequency_b, verbose=True#slurp -#if $lo_offset_b() != float('inf') -, lo_offset=$lo_offset_b#slurp -#end if -) -self.$(id).set_gain_a($gain_a) -self.$(id).set_gain_b($gain_b)</make> - <callback>set_decim_rate($decimation)</callback> - <callback>set_frequency_a($frequency_a#slurp -#if $lo_offset_a() != float('inf') -, lo_offset=$lo_offset_a#slurp -#end if -)</callback> - <callback>set_frequency_b($frequency_b#slurp -#if $lo_offset_b() != float('inf') -, lo_offset=$lo_offset_b#slurp -#end if -)</callback> - <callback>set_gain_a($gain_a)</callback> - <callback>set_gain_b($gain_b)</callback> - <param> - <name>Output Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:c</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:s</opt> - </option> - </param> - <param> - <name>Format</name> - <key>format</key> - <value></value> - <type>enum</type> - <hide>#if $format() then '' else 'part'#</hide> - <option> - <name>16 Bits (Default)</name> - <key></key> - <opt>width:16</opt> - <opt>shift:0</opt> - </option> - <option> - <name>8 Bits, Shift 8</name> - <key>w8_s8</key> - <opt>width:8</opt> - <opt>shift:8</opt> - </option> - </param> - <param> - <name>Unit Number</name> - <key>which</key> - <value>0</value> - <type>int</type> - </param> - <param> - <name>Decimation</name> - <key>decimation</key> - <type>int</type> - </param> - <param> - <name>Frequency A (Hz)</name> - <key>frequency_a</key> - <type>real</type> - </param> - <param> - <name>Frequency B (Hz)</name> - <key>frequency_b</key> - <type>real</type> - </param> - <param> - <name>LO Offset A (Hz)</name> - <key>lo_offset_a</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset_a() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>LO Offset B (Hz)</name> - <key>lo_offset_b</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset_b() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>Gain A (dB)</name> - <key>gain_a</key> - <value>0</value> - <type>real</type> - </param> - <param> - <name>Gain B (dB)</name> - <key>gain_b</key> - <value>0</value> - <type>real</type> - </param> -<!-- -################################################### -## Antenna A -################################################### - --> - <param> - <name>RX Antenna A</name> - <key>rx_ant_a</key> - <value>RXA</value> - <type>string</type> - <option> - <name>RXA</name> - <key>RXA</key> - </option> - <option> - <name>RXB</name> - <key>RXB</key> - </option> - <option> - <name>RXAB</name> - <key>RXAB</key> - </option> - <option> - <name>TX/RX</name> - <key>TX/RX</key> - </option> - <option> - <name>RX2</name> - <key>RX2</key> - </option> - </param> -<!-- -################################################### -## Antenna B -################################################### - --> - <param> - <name>RX Antenna B</name> - <key>rx_ant_b</key> - <value>RXA</value> - <type>string</type> - <option> - <name>RXA</name> - <key>RXA</key> - </option> - <option> - <name>RXB</name> - <key>RXB</key> - </option> - <option> - <name>RXAB</name> - <key>RXAB</key> - </option> - <option> - <name>TX/RX</name> - <key>TX/RX</key> - </option> - <option> - <name>RX2</name> - <key>RX2</key> - </option> - </param> - <param> - <name>RX Source A</name> - <key>rx_source_a</key> - <value>A</value> - <type>string</type> - <hide>#if $rx_source_a() == 'A' then 'part' else 'none'#</hide> - <option> - <name>Side A</name> - <key>A</key> - </option> - <option> - <name>Side B</name> - <key>B</key> - </option> - </param> - <param> - <name>RX Source B</name> - <key>rx_source_b</key> - <value>B</value> - <type>string</type> - <hide>#if $rx_source_b() == 'B' then 'part' else 'none'#</hide> - <option> - <name>Side A</name> - <key>A</key> - </option> - <option> - <name>Side B</name> - <key>B</key> - </option> - </param> - <source> - <name>Aout</name> - <type>$type</type> - </source> - <source> - <name>Bout</name> - <type>$type</type> - </source> - <doc> -The USRP source outputs 64 Megasamples per second / decimation. - -The "Receive Antenna Setting" selects one of the SMA connectors as the data source. \ -Flex RF boards use the "TX/RX" and "RX2" settings. \ -Basic RX and LFRX use the "RXA", "RXB", and "RXAB" settings. \ -All other boards use the "RXA" setting. - </doc> -</block> diff --git a/gr-usrp/grc/usrp_probe b/gr-usrp/grc/usrp_probe deleted file mode 100755 index d2e92e7530..0000000000 --- a/gr-usrp/grc/usrp_probe +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env python -""" -Copyright 2009 Free Software Foundation, Inc. -This file is part of GNU Radio - -GNU Radio Companion is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -GNU Radio Companion is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA -""" - -from gnuradio import usrp -import os - -import pygtk -pygtk.require('2.0') -import gtk - -from gnuradio.grc.gui.Dialogs import TextDisplay - -from gnuradio.grc.python.Platform import Platform -platform = Platform() - -flow_graph = platform.get_new_flow_graph() -block = flow_graph.get_new_block('usrp_probe') - -##all params -usrp_which_param = block.get_param('which') -usrp_dboard_param = block.get_param('dboard') - -def get_input(param): - param.validate() - input = param.get_input() - return input - -class USRPProbeWindow(gtk.Window): - """ - The main window for USRP Dignostics. - """ - - def delete_event(self, widget, event, data=None): return False - - def destroy(self, widget, data=None): gtk.main_quit() - - def __init__(self): - """ - USRPProbeWindow contructor. - Create a new gtk Dialog with a close button, USRP input paramaters, and output labels. - """ - gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) - #quit signals - self.connect("delete_event", self.delete_event) - self.connect("destroy", self.destroy) - #set the title - self.set_title('USRP Probe') - #create decorative frame - frame = gtk.Frame() - self.add(frame) - #create vbox for storage - vbox = gtk.VBox() - frame.add(vbox) - vbox.pack_start(get_input(usrp_which_param), False) - vbox.pack_start(get_input(usrp_dboard_param), False) - self.probe_button = gtk.Button('Probe') - self.probe_button.connect('clicked', self._probe_usrp) - vbox.pack_start(self.probe_button, False) - #Create a text box for USRP queries - self.query_buffer = TextDisplay() - self.query_buffer.set_text(block.get_doc()) - vbox.pack_start(self.query_buffer) - self.show_all() - - def _probe_usrp(self, widget=None): - """Probe the USRP device and copy the results into the query text box.""" - dboard = usrp_dboard_param.evaluate() - side = {'a': 0, 'b': 1}[dboard[-1]] - if dboard.startswith('rx'): make = usrp.source_c - elif dboard.startswith('tx'): make = usrp.sink_c - try: - u = make(which=usrp_which_param.evaluate()) - subdev_spec = (side, 0) - subdev = usrp.selected_subdev(u, subdev_spec) #get the subdev - msg = ">>> USRP Probe\n" - msg = "%s\nName:\n\t%s\n"%(msg, str(subdev.name())) - msg = "%s\nConverter Rate:\n\t%s\n"%(msg, u.converter_rate()) - msg = "%s\nUses Quadrature:\n\t%s\n"%(msg, str(subdev.is_quadrature())) - gain_min, gain_max, gain_step = subdev.gain_range() - msg = "%s\nGain Range (min, max, step size):\n\t%s\n\t%s\n\t%s\n"%(msg, gain_min, gain_max, gain_step) - freq_min, freq_max, freq_step = subdev.freq_range() - msg = "%s\nFreq Range (min, max, step size):\n\t%s\n\t%s\n\t%s\n"%(msg, freq_min, freq_max, freq_step) - self.query_buffer.set_text(msg) - except Exception, e: #display the error message - self.query_buffer.set_text('''\ ->>> Error\n%s - -If the USRP cannot be found, make sure that the USRP is plugged-in and restart this program. \ -If the problem persists, there may be a problem with you gnuradio installation or USB 2.0. -'''%str(e)) - -if __name__ == '__main__': - #setup icon using icon theme - try: gtk.window_set_default_icon(gtk.IconTheme().load_icon('gnuradio-grc', 256, 0)) - except: pass - #enter the mainloop - USRPProbeWindow() - gtk.main() diff --git a/gr-usrp/grc/usrp_probe.xml b/gr-usrp/grc/usrp_probe.xml deleted file mode 100644 index ee207c28d3..0000000000 --- a/gr-usrp/grc/usrp_probe.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP Probe: -## This block should not appear in the tree. -################################################### - --> -<block> - <name>USRP Probe</name> - <key>usrp_probe</key> - <make></make> - <param> - <name>Unit Number</name> - <key>which</key> - <value>0</value> - <type>int</type> - </param> - <param> - <name>Daughter Board</name> - <key>dboard</key> - <type>enum</type> - <option> - <name>RX A</name> - <key>rx_a</key> - </option> - <option> - <name>RX B</name> - <key>rx_b</key> - </option> - <option> - <name>TX A</name> - <key>tx_a</key> - </option> - <option> - <name>TX B</name> - <key>tx_b</key> - </option> - </param> - <doc>Press "Probe" to retrieve USRP information...</doc> -</block> diff --git a/gr-usrp/grc/usrp_simple_sink_x.xml b/gr-usrp/grc/usrp_simple_sink_x.xml deleted file mode 100644 index e52b5f0475..0000000000 --- a/gr-usrp/grc/usrp_simple_sink_x.xml +++ /dev/null @@ -1,133 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP Simple Sink -################################################### - --> -<block> - <name>USRP1 Sink</name> - <key>usrp_simple_sink_x</key> - <category>USRP</category> - <import>from grc_gnuradio import usrp as grc_usrp</import> - <make>grc_usrp.simple_sink_$(type.fcn)(which=$which, side=$side) -self.$(id).set_interp_rate($interpolation) -self.$(id).set_frequency($frequency, verbose=True#slurp -#if $lo_offset() != float('inf') -, lo_offset=$lo_offset#slurp -#end if -) -self.$(id).set_gain($gain) -#if $transmit.tx_enb -self.$(id).set_enable(True) -#end if -#if $transmit.auto_tr -self.$(id).set_auto_tr(True) -#end if</make> - <callback>set_interp_rate($interpolation)</callback> - <callback>set_frequency($frequency#slurp -#if $lo_offset() != float('inf') -, lo_offset=$lo_offset#slurp -#end if -)</callback> - <callback>set_gain($gain)</callback> - <param> - <name>Input Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:c</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:s</opt> - </option> - </param> - <param> - <name>Unit Number</name> - <key>which</key> - <value>0</value> - <type>int</type> - </param> - <param> - <name>Interpolation</name> - <key>interpolation</key> - <type>int</type> - </param> - <param> - <name>Frequency (Hz)</name> - <key>frequency</key> - <type>real</type> - </param> - <param> - <name>LO Offset (Hz)</name> - <key>lo_offset</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>Gain (dB)</name> - <key>gain</key> - <value>0</value> - <type>real</type> - </param> - <param> - <name>Side</name> - <key>side</key> - <value>A</value> - <type>string</type> - <option> - <name>A</name> - <key>A</key> - </option> - <option> - <name>B</name> - <key>B</key> - </option> - </param> - <param> - <name>Transmit</name> - <key>transmit</key> - <value></value> - <type>enum</type> - <hide>#if $transmit.tx_enb then 'none' else 'part'#</hide> - <option> - <name>Unconfigured</name> - <key></key> - <opt>tx_enb:</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Enable</name> - <key>tx_enb</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Auto T/R</name> - <key>auto_tr</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:1</opt> - </option> - </param> - <sink> - <name>in</name> - <type>$type</type> - </sink> - <doc> -The USRP sink inputs 128 Megasamples per second / interpolation. - -Input amplitude should be between 0 and 32767. - -Flex RF boards only: The "Transmit Setting" must be configured. \ -When set to "Enable" the transmitter is always on. \ -When set to "Auto Transmit/Receive", the transmitter is disabled while receiving. - </doc> -</block> diff --git a/gr-usrp/grc/usrp_simple_source_x.xml b/gr-usrp/grc/usrp_simple_source_x.xml deleted file mode 100644 index a79c78c20d..0000000000 --- a/gr-usrp/grc/usrp_simple_source_x.xml +++ /dev/null @@ -1,168 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP Simple Source -################################################### - --> -<block> - <name>USRP1 Source</name> - <key>usrp_simple_source_x</key> - <category>USRP</category> - <import>from grc_gnuradio import usrp as grc_usrp</import> - <make>grc_usrp.simple_source_$(type.fcn)(which=$which, side=$side, rx_ant=$rx_ant#if $hb_filters() then ', no_hb=True' else ''#) -#if $format() -self.$(id).set_format(width=$format.width, shift=$format.shift) -#end if -self.$(id).set_decim_rate($decimation) -self.$(id).set_frequency($frequency, verbose=True#slurp -#if $lo_offset() != float('inf') -, lo_offset=$lo_offset#slurp -#end if -) -self.$(id).set_gain($gain)</make> - <callback>set_decim_rate($decimation)</callback> - <callback>set_frequency($frequency#slurp -#if $lo_offset() != float('inf') -, lo_offset=$lo_offset#slurp -#end if -)</callback> - <callback>set_gain($gain)</callback> - <param> - <name>Output Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:c</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:s</opt> - </option> - </param> - <param> - <name>Format</name> - <key>format</key> - <value></value> - <type>enum</type> - <hide>#if $format() then '' else 'part'#</hide> - <option> - <name>16 Bits (Default)</name> - <key></key> - <opt>width:16</opt> - <opt>shift:0</opt> - </option> - <option> - <name>8 Bits, Shift 8</name> - <key>w8_s8</key> - <opt>width:8</opt> - <opt>shift:8</opt> - </option> - </param> - <param> - <name>Unit Number</name> - <key>which</key> - <value>0</value> - <type>int</type> - </param> - <param> - <name>Decimation</name> - <key>decimation</key> - <type>int</type> - </param> - <param> - <name>Frequency (Hz)</name> - <key>frequency</key> - <type>real</type> - </param> - <param> - <name>LO Offset (Hz)</name> - <key>lo_offset</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>Gain (dB)</name> - <key>gain</key> - <value>0</value> - <type>real</type> - </param> - <param> - <name>Side</name> - <key>side</key> - <value>A</value> - <type>string</type> - <option> - <name>A</name> - <key>A</key> - </option> - <option> - <name>B</name> - <key>B</key> - </option> - </param> - <param> - <name>RX Antenna</name> - <key>rx_ant</key> - <value>RXA</value> - <type>string</type> - <option> - <name>RXA</name> - <key>RXA</key> - </option> - <option> - <name>RXB</name> - <key>RXB</key> - </option> - <option> - <name>RXAB</name> - <key>RXAB</key> - </option> - <option> - <name>TX/RX</name> - <key>TX/RX</key> - </option> - <option> - <name>RX2</name> - <key>RX2</key> - </option> - </param> - <param> - <name>Halfband Filters</name> - <key>hb_filters</key> - <value></value> - <type>enum</type> - <hide>#if $hb_filters() then 'none' else 'part'#</hide> - <option> - <name>Enable</name> - <key></key> - </option> - <option> - <name>Disable</name> - <key>1</key> - </option> - </param> - <source> - <name>out</name> - <type>$type</type> - </source> - <doc> -The USRP source outputs 64 Megasamples per second / decimation. - -The "Receive Antenna Setting" selects one of the SMA connectors as the data source. \ -Flex RF boards use the "TX/RX" and "RX2" settings. \ -Basic RX and LFRX use the "RXA", "RXB", and "RXAB" settings. \ -All other boards use the "RXA" setting. - -With the format set to 8 bits and the halfband filters disabled, the USRP can acheive a decimation rate of 4. \ -Disabling the halfband filters requires a special USRP firmware without halfband filters or TX paths. \ -For this reason, the USRP cannot transmit with the halfband filters disabled. - </doc> -</block> |