diff --git a/host/apps/burn-db-eeprom b/host/apps/burn-db-eeprom index e9ff9f5..34f4c70 100755 --- a/host/apps/burn-db-eeprom +++ b/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/host/include/usrp/Makefile.am b/host/include/usrp/Makefile.am index 91d4392..d580d8a 100644 --- a/host/include/usrp/Makefile.am +++ b/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/host/include/usrp/db_tv_rx_mimo.h b/host/include/usrp/db_tv_rx_mimo.h new file mode 100644 index 0000000..0a9bb48 --- /dev/null +++ b/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 + +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/host/lib/Makefile.am b/host/lib/Makefile.am index 8482485..8e40692 100644 --- a/host/lib/Makefile.am +++ b/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/host/lib/db_boards.cc b/host/lib/db_boards.cc index 070b8dd..d6c6447 100644 --- a/host/lib/db_boards.cc +++ b/host/lib/db_boards.cc @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -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/host/lib/db_tv_rx_mimo.cc b/host/lib/db_tv_rx_mimo.cc new file mode 100644 index 0000000..d0dcb52 --- /dev/null +++ b/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 + +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/host/lib/usrp_dbid.dat b/host/lib/usrp_dbid.dat index bd7fd7e..6bad9a2 100644 --- a/host/lib/usrp_dbid.dat +++ b/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