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
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):
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))
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))
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.")
"""
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))
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):
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))
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):
"""
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))
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))
#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.")
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.")
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
};
'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)),
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 \
--- /dev/null
+/* -*- 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
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 \
#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>
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)));
--- /dev/null
+//
+// 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
+}
+
"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