summaryrefslogtreecommitdiff
path: root/grc
diff options
context:
space:
mode:
authorjblum2009-02-17 23:03:39 +0000
committerjblum2009-02-17 23:03:39 +0000
commit9030fb71746966a9ef6eb6ae2dc0aebdc6016987 (patch)
treea2f6a296048eeb1363cd8c77b68b36177473c1b4 /grc
parenteb2648dc72e7edb0adb0d810fc4166633c26aea0 (diff)
downloadgnuradio-9030fb71746966a9ef6eb6ae2dc0aebdc6016987.tar.gz
gnuradio-9030fb71746966a9ef6eb6ae2dc0aebdc6016987.tar.bz2
gnuradio-9030fb71746966a9ef6eb6ae2dc0aebdc6016987.zip
usrp methods for computing the mux for dual subdevices
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10457 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'grc')
-rwxr-xr-xgrc/scripts/usrp_probe9
-rw-r--r--grc/src/grc_gnuradio/usrp/dual_usrp.py22
-rw-r--r--grc/src/grc_gnuradio/usrp/simple_usrp.py8
3 files changed, 12 insertions, 27 deletions
diff --git a/grc/scripts/usrp_probe b/grc/scripts/usrp_probe
index ac786075c..3d7b6f0cb 100755
--- a/grc/scripts/usrp_probe
+++ b/grc/scripts/usrp_probe
@@ -81,19 +81,14 @@ class USRPProbeWindow(gtk.Window):
"""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'): #for the rx query, use the source and rx methods
- make = usrp.source_c
- get_mux = usrp.determine_rx_mux_value
- elif dboard.startswith('tx'): #for the tx query, use the sink and tx methods
- make = usrp.sink_c
- get_mux = usrp.determine_tx_mux_value
+ 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\nAutomated Mux:\n\t0x%08x\n"%(msg, 0xFFFFFFFFL & long(get_mux(u, subdev_spec))) #ensure that the value is displayed as: 8 nibbles, unsigned, hex
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()
diff --git a/grc/src/grc_gnuradio/usrp/dual_usrp.py b/grc/src/grc_gnuradio/usrp/dual_usrp.py
index 47449ae78..f12b5348d 100644
--- a/grc/src/grc_gnuradio/usrp/dual_usrp.py
+++ b/grc/src/grc_gnuradio/usrp/dual_usrp.py
@@ -42,16 +42,11 @@ class _dual_source(gr.hier_block2):
)
#create usrp object
self._make_usrp(which=which, nchan=2)
- #get the mux for side A
subdev_spec_a = common.to_spec('A', rx_ant_a)
- self._subdev_a = usrp.selected_subdev(self._get_u(), subdev_spec_a)
- mux_a = usrp.determine_rx_mux_value(self._get_u(), subdev_spec_a)
- #get the mux for side B
subdev_spec_b = common.to_spec('B', rx_ant_b)
- self._subdev_b = usrp.selected_subdev(self._get_u(), subdev_spec_b)
- mux_b = usrp.determine_rx_mux_value(self._get_u(), subdev_spec_b)
- #move the lower byte of the mux b into the second byte of the mux a
- self._get_u().set_mux(((mux_b & 0xff) << 8) | (mux_a - (mux_a & 0xff00)))
+ 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)
@@ -97,16 +92,11 @@ class _dual_sink(gr.hier_block2):
)
#create usrp object
self._make_usrp(which=which, nchan=2)
- #get the mux for side A
subdev_spec_a = common.to_spec('A')
- self._subdev_a = usrp.selected_subdev(self._get_u(), subdev_spec_a)
- mux_a = usrp.determine_tx_mux_value(self._get_u(), subdev_spec_a)
- #get the mux for side B
subdev_spec_b = common.to_spec('B')
- self._subdev_b = usrp.selected_subdev(self._get_u(), subdev_spec_b)
- mux_b = usrp.determine_tx_mux_value(self._get_u(), subdev_spec_b)
- #set the mux
- self._get_u().set_mux(mux_a | mux_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())
diff --git a/grc/src/grc_gnuradio/usrp/simple_usrp.py b/grc/src/grc_gnuradio/usrp/simple_usrp.py
index 819a01c2c..58683433e 100644
--- a/grc/src/grc_gnuradio/usrp/simple_usrp.py
+++ b/grc/src/grc_gnuradio/usrp/simple_usrp.py
@@ -46,8 +46,8 @@ class _simple_source(gr.hier_block2):
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(usrp.determine_rx_mux_value(self._get_u(), subdev_spec))
- self._subdev = usrp.selected_subdev(self._get_u(), subdev_spec)
+ 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)
@@ -89,8 +89,8 @@ class _simple_sink(gr.hier_block2):
#create usrp object
self._make_usrp(which=which, nchan=1)
subdev_spec = common.to_spec(side)
- self._get_u().set_mux(usrp.determine_tx_mux_value(self._get_u(), subdev_spec))
- self._subdev = usrp.selected_subdev(self._get_u(), subdev_spec)
+ 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())