summaryrefslogtreecommitdiff
path: root/grc/src/grc_gnuradio
diff options
context:
space:
mode:
Diffstat (limited to 'grc/src/grc_gnuradio')
-rw-r--r--grc/src/grc_gnuradio/usrp/common.py13
-rw-r--r--grc/src/grc_gnuradio/usrp/dual_usrp.py12
2 files changed, 13 insertions, 12 deletions
diff --git a/grc/src/grc_gnuradio/usrp/common.py b/grc/src/grc_gnuradio/usrp/common.py
index 33eda351c..65c1e7e29 100644
--- a/grc/src/grc_gnuradio/usrp/common.py
+++ b/grc/src/grc_gnuradio/usrp/common.py
@@ -63,10 +63,13 @@ 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)
+ @return the spec (0/1, 0/1/2)
"""
- try: return (
- {'A': 0, 'B': 1}[side.upper()], #side spec is 0 for A, 1 for B
- rx_ant.upper() == 'RXB' and 1 or 0, #subdev spec is 1 for RXB
- )
+ #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/grc/src/grc_gnuradio/usrp/dual_usrp.py b/grc/src/grc_gnuradio/usrp/dual_usrp.py
index dd1e4605e..47449ae78 100644
--- a/grc/src/grc_gnuradio/usrp/dual_usrp.py
+++ b/grc/src/grc_gnuradio/usrp/dual_usrp.py
@@ -27,13 +27,11 @@ from gnuradio import gr, usrp
class _dual_source(gr.hier_block2):
"""A dual usrp source of IO type short or complex."""
- def __init__(self, which, side_a='A', rx_ant_a='RXA', side_b='B', rx_ant_b='RXA'):
+ def __init__(self, which, rx_ant_a='RXA', rx_ant_b='RXA'):
"""
USRP dual source contructor.
@param which the unit number
- @param side_a A or B
@param rx_ant_a the antenna choice
- @param side_b A or B
@param rx_ant_b the antenna choice
"""
#initialize hier2 block
@@ -44,12 +42,12 @@ class _dual_source(gr.hier_block2):
)
#create usrp object
self._make_usrp(which=which, nchan=2)
- #get the mux for output A
- subdev_spec_a = common.to_spec(side_a, rx_ant_a)
+ #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 output B
- subdev_spec_b = common.to_spec(side_b, rx_ant_b)
+ #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