summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnuradio-examples/python/apps/hf_radio/input.py7
-rwxr-xr-xgnuradio-examples/python/usrp/usrp_am_mw_rcv.py5
-rwxr-xr-xgnuradio-examples/python/usrp/usrp_tv_rcv.py3
-rwxr-xr-xgnuradio-examples/python/usrp/usrp_wfm_rcv.py9
-rwxr-xr-xgnuradio-examples/python/usrp/usrp_wfm_rcv2_nogui.py4
-rwxr-xr-xgnuradio-examples/python/usrp/usrp_wfm_rcv_fmdet.py3
-rwxr-xr-xgnuradio-examples/python/usrp/usrp_wfm_rcv_nogui.py3
-rwxr-xr-xgnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py3
-rwxr-xr-xgnuradio-examples/python/usrp/usrp_wfm_rcv_sca.py4
-rwxr-xr-xgnuradio-examples/python/usrp/usrp_wxapt_rcv.py3
-rwxr-xr-xgnuradio-examples/python/usrp2/usrp2_wfm_qt.py5
-rwxr-xr-xgnuradio-examples/python/usrp2/usrp2_wfm_rcv.py5
-rw-r--r--gr-usrp/src/usrp_source_base.cc4
-rwxr-xr-xusrp/host/apps/burn-db-eeprom3
-rw-r--r--usrp/host/include/usrp/Makefile.am1
-rw-r--r--usrp/host/include/usrp/db_tv_rx_mimo.h34
-rw-r--r--usrp/host/lib/Makefile.am1
-rw-r--r--usrp/host/lib/db_boards.cc10
-rw-r--r--usrp/host/lib/db_tv_rx_mimo.cc35
-rw-r--r--usrp/host/lib/usrp_dbid.dat3
20 files changed, 140 insertions, 5 deletions
diff --git a/gnuradio-examples/python/apps/hf_radio/input.py b/gnuradio-examples/python/apps/hf_radio/input.py
index a7c871287..5984d8254 100644
--- a/gnuradio-examples/python/apps/hf_radio/input.py
+++ b/gnuradio-examples/python/apps/hf_radio/input.py
@@ -18,7 +18,12 @@ class input:
self.src = usrp.source_c( )
self.subdev = usrp.pick_subdev( self.src,
(usrp_dbid.BASIC_RX,
- usrp_dbid.TV_RX))
+ usrp_dbid.TV_RX,
+ usrp_dbid.TV_RX_REV_2,
+ usrp_dbid.TV_RX_REV_3,
+ usrp_dbid.TV_RX_MIMO,
+ usrp_dbid.TV_RX_REV_2_MIMO,
+ usrp_dbid.TV_RX_REV_3_MIMO))
print self.subdev
diff --git a/gnuradio-examples/python/usrp/usrp_am_mw_rcv.py b/gnuradio-examples/python/usrp/usrp_am_mw_rcv.py
index b11355985..60f6c5825 100755
--- a/gnuradio-examples/python/usrp/usrp_am_mw_rcv.py
+++ b/gnuradio-examples/python/usrp/usrp_am_mw_rcv.py
@@ -44,7 +44,10 @@ def pick_subdevice(u):
usrp_dbid.LF_RX,
usrp_dbid.TV_RX,
usrp_dbid.TV_RX_REV_2,
- usrp_dbid.TV_RX_REV_3))
+ usrp_dbid.TV_RX_REV_3,
+ usrp_dbid.TV_RX_MIMO,
+ usrp_dbid.TV_RX_REV_2_MIMO,
+ usrp_dbid.TV_RX_REV_3_MIMO))
class wfm_rx_block (stdgui2.std_top_block):
diff --git a/gnuradio-examples/python/usrp/usrp_tv_rcv.py b/gnuradio-examples/python/usrp/usrp_tv_rcv.py
index 537e339be..4e13a83ab 100755
--- a/gnuradio-examples/python/usrp/usrp_tv_rcv.py
+++ b/gnuradio-examples/python/usrp/usrp_tv_rcv.py
@@ -62,6 +62,9 @@ def pick_subdevice(u):
return usrp.pick_subdev(u, (usrp_dbid.TV_RX,
usrp_dbid.TV_RX_REV_2,
usrp_dbid.TV_RX_REV_3,
+ usrp_dbid.TV_RX_MIMO,
+ usrp_dbid.TV_RX_REV_2_MIMO,
+ usrp_dbid.TV_RX_REV_3_MIMO,
usrp_dbid.BASIC_RX))
diff --git a/gnuradio-examples/python/usrp/usrp_wfm_rcv.py b/gnuradio-examples/python/usrp/usrp_wfm_rcv.py
index 098897cfe..fba2a1210 100755
--- a/gnuradio-examples/python/usrp/usrp_wfm_rcv.py
+++ b/gnuradio-examples/python/usrp/usrp_wfm_rcv.py
@@ -43,6 +43,9 @@ def pick_subdevice(u):
return usrp.pick_subdev(u, (usrp_dbid.TV_RX,
usrp_dbid.TV_RX_REV_2,
usrp_dbid.TV_RX_REV_3,
+ usrp_dbid.TV_RX_MIMO,
+ usrp_dbid.TV_RX_REV_2_MIMO,
+ usrp_dbid.TV_RX_REV_3_MIMO,
usrp_dbid.BASIC_RX))
@@ -97,7 +100,11 @@ class wfm_rx_block (stdgui2.std_top_block):
if not (dbid == usrp_dbid.BASIC_RX or
dbid == usrp_dbid.TV_RX or
dbid == usrp_dbid.TV_RX_REV_2 or
- dbid == usrp_dbid.TV_RX_REV_3):
+ dbid == usrp_dbid.TV_RX_REV_3 or
+ dbid == usrp_dbid.TV_RX_MIMO or
+ dbid == usrp_dbid.TV_RX_REV_2_MIMO or
+ dbid == usrp_dbid.TV_RX_REV_3_MIMO
+):
print "This daughterboard does not cover the required frequency range"
print "for this application. Please use a BasicRX or TVRX daughterboard."
raw_input("Press ENTER to continue anyway, or Ctrl-C to exit.")
diff --git a/gnuradio-examples/python/usrp/usrp_wfm_rcv2_nogui.py b/gnuradio-examples/python/usrp/usrp_wfm_rcv2_nogui.py
index 0103982b8..edfbc3657 100755
--- a/gnuradio-examples/python/usrp/usrp_wfm_rcv2_nogui.py
+++ b/gnuradio-examples/python/usrp/usrp_wfm_rcv2_nogui.py
@@ -51,6 +51,10 @@ def pick_subdevice(u):
"""
return usrp.pick_subdev(u, (usrp_dbid.TV_RX,
usrp_dbid.TV_RX_REV_2,
+ usrp_dbid.TV_RX_REV_3,
+ usrp_dbid.TV_RX_MIMO,
+ usrp_dbid.TV_RX_REV_2_MIMO,
+ usrp_dbid.TV_RX_REV_3_MIMO,
usrp_dbid.BASIC_RX))
diff --git a/gnuradio-examples/python/usrp/usrp_wfm_rcv_fmdet.py b/gnuradio-examples/python/usrp/usrp_wfm_rcv_fmdet.py
index 82c521d56..30744ee01 100755
--- a/gnuradio-examples/python/usrp/usrp_wfm_rcv_fmdet.py
+++ b/gnuradio-examples/python/usrp/usrp_wfm_rcv_fmdet.py
@@ -43,6 +43,9 @@ def pick_subdevice(u):
return usrp.pick_subdev(u, (usrp_dbid.TV_RX,
usrp_dbid.TV_RX_REV_2,
usrp_dbid.TV_RX_REV_3,
+ usrp_dbid.TV_RX_MIMO,
+ usrp_dbid.TV_RX_REV_2_MIMO,
+ usrp_dbid.TV_RX_REV_3_MIMO,
usrp_dbid.BASIC_RX))
class wfm_rx_block (stdgui2.std_top_block):
diff --git a/gnuradio-examples/python/usrp/usrp_wfm_rcv_nogui.py b/gnuradio-examples/python/usrp/usrp_wfm_rcv_nogui.py
index 44f868855..217f207c5 100755
--- a/gnuradio-examples/python/usrp/usrp_wfm_rcv_nogui.py
+++ b/gnuradio-examples/python/usrp/usrp_wfm_rcv_nogui.py
@@ -40,6 +40,9 @@ def pick_subdevice(u):
return usrp.pick_subdev(u, (usrp_dbid.TV_RX,
usrp_dbid.TV_RX_REV_2,
usrp_dbid.TV_RX_REV_3,
+ usrp_dbid.TV_RX_MIMO,
+ usrp_dbid.TV_RX_REV_2_MIMO,
+ usrp_dbid.TV_RX_REV_3_MIMO,
usrp_dbid.BASIC_RX))
diff --git a/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py b/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py
index 84992955a..0d52ed7ee 100755
--- a/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py
+++ b/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py
@@ -43,6 +43,9 @@ def pick_subdevice(u):
return usrp.pick_subdev(u, (usrp_dbid.TV_RX,
usrp_dbid.TV_RX_REV_2,
usrp_dbid.TV_RX_REV_3,
+ usrp_dbid.TV_RX_MIMO,
+ usrp_dbid.TV_RX_REV_2_MIMO,
+ usrp_dbid.TV_RX_REV_3_MIMO,
usrp_dbid.BASIC_RX))
class wfm_rx_block (stdgui2.std_top_block):
diff --git a/gnuradio-examples/python/usrp/usrp_wfm_rcv_sca.py b/gnuradio-examples/python/usrp/usrp_wfm_rcv_sca.py
index 75bbc0acd..39547b3ae 100755
--- a/gnuradio-examples/python/usrp/usrp_wfm_rcv_sca.py
+++ b/gnuradio-examples/python/usrp/usrp_wfm_rcv_sca.py
@@ -72,6 +72,10 @@ def pick_subdevice(u):
"""
return usrp.pick_subdev(u, (usrp_dbid.TV_RX,
usrp_dbid.TV_RX_REV_2,
+ usrp_dbid.TV_RX_REV_3,
+ usrp_dbid.TV_RX_MIMO,
+ usrp_dbid.TV_RX_REV_2_MIMO,
+ usrp_dbid.TV_RX_REV_3_MIMO,
usrp_dbid.BASIC_RX))
diff --git a/gnuradio-examples/python/usrp/usrp_wxapt_rcv.py b/gnuradio-examples/python/usrp/usrp_wxapt_rcv.py
index 11b8c431f..b356702a6 100755
--- a/gnuradio-examples/python/usrp/usrp_wxapt_rcv.py
+++ b/gnuradio-examples/python/usrp/usrp_wxapt_rcv.py
@@ -43,6 +43,9 @@ def pick_subdevice(u):
return usrp.pick_subdev(u, (usrp_dbid.TV_RX,
usrp_dbid.TV_RX_REV_2,
usrp_dbid.TV_RX_REV_3,
+ usrp_dbid.TV_RX_MIMO,
+ usrp_dbid.TV_RX_REV_2_MIMO,
+ usrp_dbid.TV_RX_REV_3_MIMO,
usrp_dbid.BASIC_RX))
diff --git a/gnuradio-examples/python/usrp2/usrp2_wfm_qt.py b/gnuradio-examples/python/usrp2/usrp2_wfm_qt.py
index 0be21ceb9..0c7476921 100755
--- a/gnuradio-examples/python/usrp2/usrp2_wfm_qt.py
+++ b/gnuradio-examples/python/usrp2/usrp2_wfm_qt.py
@@ -194,7 +194,10 @@ class wfm_rx_block (gr.top_block):
#if not (dbid == 0x0001 or #usrp_dbid.BASIC_RX
# dbid == 0x0003 or #usrp_dbid.TV_RX
# dbid == 0x000c or #usrp_dbid.TV_RX_REV_2
- # dbid == 0x0040): #usrp_dbid.TV_RX_REV_3
+ # dbid == 0x0040 or #usrp_dbid.TV_RX_REV_3
+ # dbid == 0x0043 or #usrp_dbid.TV_RX_MIMO
+ # dbid == 0x0044 or #usrp_dbid.TV_RX_REV_2_MIMO
+ # dbid == 0x0045 ): #usrp_dbid.TV_RX_REV_3_MIMO
# print "This daughterboard does not cover the required frequency range"
# print "for this application. Please use a BasicRX or TVRX daughterboard."
# raw_input("Press ENTER to continue anyway, or Ctrl-C to exit.")
diff --git a/gnuradio-examples/python/usrp2/usrp2_wfm_rcv.py b/gnuradio-examples/python/usrp2/usrp2_wfm_rcv.py
index 8ea5baf57..1783660d6 100755
--- a/gnuradio-examples/python/usrp2/usrp2_wfm_rcv.py
+++ b/gnuradio-examples/python/usrp2/usrp2_wfm_rcv.py
@@ -84,7 +84,10 @@ class wfm_rx_block (stdgui2.std_top_block):
if not (dbid == 0x0001 or #usrp_dbid.BASIC_RX
dbid == 0x0003 or #usrp_dbid.TV_RX
dbid == 0x000c or #usrp_dbid.TV_RX_REV_2
- dbid == 0x0040): #usrp_dbid.TV_RX_REV_3
+ dbid == 0x0040 or #usrp_dbid.TV_RX_REV_3
+ dbid == 0x0043 or #usrp_dbid.TV_RX_MIMO
+ dbid == 0x0044 or #usrp_dbid.TV_RX_REV_2_MIMO
+ dbid == 0x0045 ): #usrp_dbid.TV_RX_REV_3_MIMO
print "This daughterboard does not cover the required frequency range"
print "for this application. Please use a BasicRX or TVRX daughterboard."
raw_input("Press ENTER to continue anyway, or Ctrl-C to exit.")
diff --git a/gr-usrp/src/usrp_source_base.cc b/gr-usrp/src/usrp_source_base.cc
index 85bd91715..5a5e20f3e 100644
--- a/gr-usrp/src/usrp_source_base.cc
+++ b/gr-usrp/src/usrp_source_base.cc
@@ -292,6 +292,10 @@ usrp_source_base::pick_rx_subdevice()
USRP_DBID_FLEX_2400_RX,
USRP_DBID_TV_RX,
USRP_DBID_TV_RX_REV_2,
+ USRP_DBID_TV_RX_REV_3,
+ USRP_DBID_TV_RX_MIMO,
+ USRP_DBID_TV_RX_REV_2_MIMO,
+ USRP_DBID_TV_RX_REV_3_MIMO,
USRP_DBID_DBS_RX,
USRP_DBID_BASIC_RX
};
diff --git a/usrp/host/apps/burn-db-eeprom b/usrp/host/apps/burn-db-eeprom
index e9ff9f5bc..34f4c7015 100755
--- a/usrp/host/apps/burn-db-eeprom
+++ b/usrp/host/apps/burn-db-eeprom
@@ -36,6 +36,9 @@ daughterboards = {
'tvrx' : (None, (TV_RX, 0x0000)),
'tvrx2' : (None, (TV_RX_REV_2, 0x0000)),
'tvrx3' : (None, (TV_RX_REV_3, 0x0000)),
+ 'tvrx_mimo' : (None, (TV_RX_MIMO, 0x0000)),
+ 'tvrx2_mimo' : (None, (TV_RX_REV_2_MIMO, 0x0000)),
+ 'tvrx3_mimo' : (None, (TV_RX_REV_3_MIMO, 0x0000)),
'dtt754' : (None, (DTT754, 0x0000)),
'dtt768' : (None, (DTT768, 0x0000)),
'rfx400' : ((FLEX_400_TX, 0x0000), (FLEX_400_RX, 0x0000)),
diff --git a/usrp/host/include/usrp/Makefile.am b/usrp/host/include/usrp/Makefile.am
index 91d439234..d580d8a75 100644
--- a/usrp/host/include/usrp/Makefile.am
+++ b/usrp/host/include/usrp/Makefile.am
@@ -32,6 +32,7 @@ usrpinclude_HEADERS = \
db_flexrf.h \
db_flexrf_mimo.h \
db_tv_rx.h \
+ db_tv_rx_mimo.h \
db_xcvr2450.h \
usrp_basic.h \
usrp_bytesex.h \
diff --git a/usrp/host/include/usrp/db_tv_rx_mimo.h b/usrp/host/include/usrp/db_tv_rx_mimo.h
new file mode 100644
index 000000000..0a9bb486e
--- /dev/null
+++ b/usrp/host/include/usrp/db_tv_rx_mimo.h
@@ -0,0 +1,34 @@
+/* -*- c++ -*- */
+//
+// 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 asversion 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.
+
+#ifndef DB_TV_RX_MIMO_H
+#define DB_TV_RX_MIMO_H
+
+#include <usrp/db_tv_rx.h>
+
+class db_tv_rx_mimo : public db_tv_rx
+{
+ public:
+ db_tv_rx_mimo(usrp_basic_sptr usrp, int which,double first_IF, double second_IF);
+ int _refclk_divisor();
+};
+
+#endif
diff --git a/usrp/host/lib/Makefile.am b/usrp/host/lib/Makefile.am
index 8482485f5..8e40692a5 100644
--- a/usrp/host/lib/Makefile.am
+++ b/usrp/host/lib/Makefile.am
@@ -110,6 +110,7 @@ libusrp_la_common_SOURCES = \
db_base.cc \
db_basic.cc \
db_tv_rx.cc \
+ db_tv_rx_mimo.cc \
db_flexrf.cc \
db_flexrf_mimo.cc \
db_dbs_rx.cc \
diff --git a/usrp/host/lib/db_boards.cc b/usrp/host/lib/db_boards.cc
index 070b8dd4e..d6c644704 100644
--- a/usrp/host/lib/db_boards.cc
+++ b/usrp/host/lib/db_boards.cc
@@ -24,6 +24,7 @@
#include <usrp/usrp_dbid.h>
#include <usrp/db_basic.h>
#include <usrp/db_tv_rx.h>
+#include <usrp/db_tv_rx_mimo.h>
#include <usrp/db_dbs_rx.h>
#include <usrp/db_flexrf.h>
#include <usrp/db_flexrf_mimo.h>
@@ -72,6 +73,15 @@ instantiate_dbs(int dbid, usrp_basic_sptr usrp, int which_side)
case(USRP_DBID_TV_RX_REV_3):
db.push_back(db_base_sptr(new db_tv_rx(usrp, which_side, 44e6, 20e6)));
break;
+ case(USRP_DBID_TV_RX_MIMO):
+ db.push_back(db_base_sptr(new db_tv_rx_mimo(usrp, which_side, 43.75e6, 5.75e6)));
+ break;
+ case(USRP_DBID_TV_RX_REV_2_MIMO):
+ db.push_back(db_base_sptr(new db_tv_rx_mimo(usrp, which_side, 44e6, 20e6)));
+ break;
+ case(USRP_DBID_TV_RX_REV_3_MIMO):
+ db.push_back(db_base_sptr(new db_tv_rx_mimo(usrp, which_side, 44e6, 20e6)));
+ break;
case(USRP_DBID_FLEX_2400_TX):
db.push_back(db_base_sptr(new db_flexrf_2400_tx(usrp, which_side)));
diff --git a/usrp/host/lib/db_tv_rx_mimo.cc b/usrp/host/lib/db_tv_rx_mimo.cc
new file mode 100644
index 000000000..d0dcb52a9
--- /dev/null
+++ b/usrp/host/lib/db_tv_rx_mimo.cc
@@ -0,0 +1,35 @@
+//
+// 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 asversion 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 <usrp/db_tv_rx_mimo.h>
+
+db_tv_rx_mimo::db_tv_rx_mimo(usrp_basic_sptr usrp, int which,
+ double first_IF, double second_IF)
+ : db_tv_rx(usrp, which,first_IF,second_IF)
+{
+ _enable_refclk(true);//enable FPGA refclock output on gpio 0
+}
+
+int
+db_tv_rx_mimo::_refclk_divisor()
+{
+ return 16;// 64/16=> 4 Mhz refclock
+}
+
diff --git a/usrp/host/lib/usrp_dbid.dat b/usrp/host/lib/usrp_dbid.dat
index bd7fd7ecb..6bad9a298 100644
--- a/usrp/host/lib/usrp_dbid.dat
+++ b/usrp/host/lib/usrp_dbid.dat
@@ -71,6 +71,9 @@
"TV Rx Rev 3" 0x0040
"DTT754" 0x0041
"DTT768" 0x0042
+"TV Rx MIMO" 0x0043
+"TV Rx Rev 2 MIMO" 0x0044
+"TV Rx Rev 3 MIMO" 0x0045
"WBX LO TX" 0x0050
"WBX LO RX" 0x0051