summaryrefslogtreecommitdiff
path: root/usrp/host/lib/legacy/db_base.cc
diff options
context:
space:
mode:
Diffstat (limited to 'usrp/host/lib/legacy/db_base.cc')
-rw-r--r--usrp/host/lib/legacy/db_base.cc252
1 files changed, 0 insertions, 252 deletions
diff --git a/usrp/host/lib/legacy/db_base.cc b/usrp/host/lib/legacy/db_base.cc
deleted file mode 100644
index 80c6d4665..000000000
--- a/usrp/host/lib/legacy/db_base.cc
+++ /dev/null
@@ -1,252 +0,0 @@
-//
-// 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_base.h>
-#include <db_base_impl.h>
-
-#if 0
-tune_result::tune_result(double baseband, double dxc, double residual, bool inv)
- : ok(false), baseband_freq(baseband), dxc_freq(dxc),
- residual_freq(residual), inverted(inv)
-{
-}
-
-tune_result::~tune_result()
-{
-}
-#endif
-
-
-/*****************************************************************************/
-
-db_base::db_base(usrp_basic_sptr usrp, int which)
- : d_is_shutdown(false), d_raw_usrp(usrp.get()), d_which(which), d_lo_offset(0.0)
-{
-}
-
-db_base::~db_base()
-{
- shutdown();
-}
-
-void
-db_base::shutdown()
-{
- if (!d_is_shutdown){
- d_is_shutdown = true;
- // do whatever there is to do to shutdown
- }
-}
-
-int
-db_base::dbid()
-{
- return usrp()->daughterboard_id(d_which);
-}
-
-std::string
-db_base::name()
-{
- return usrp_dbid_to_string(dbid());
-}
-
-std::string
-db_base::side_and_name()
-{
- if(d_which == 0)
- return "A: " + name();
- else
- return "B: " + name();
-}
-
-// Function to bypass ADC buffers. Any board which is DC-coupled
-// should bypass the buffers
-
-bool
-db_base::bypass_adc_buffers(bool bypass)
-{
- //if(d_tx) {
- // throw std::runtime_error("TX Board has no adc buffers\n");
- //}
-
- bool ok = true;
- if(d_which==0) {
- ok &= usrp()->set_adc_buffer_bypass(0, bypass);
- ok &= usrp()->set_adc_buffer_bypass(1, bypass);
- }
- else {
- ok &= usrp()->set_adc_buffer_bypass(2, bypass);
- ok &= usrp()->set_adc_buffer_bypass(3, bypass);
- }
- return ok;
-}
-
-bool
-db_base::set_atr_mask(int v)
-{
- // Set Auto T/R mask.
- return usrp()->write_atr_mask(d_which, v);
-}
-
-bool
-db_base::set_atr_txval(int v)
-{
- // Set Auto T/R register value to be used when transmitting.
- return usrp()->write_atr_txval(d_which, v);
-}
-
-bool
-db_base::set_atr_rxval(int v)
-{
- // Set Auto T/R register value to be used when receiving.
- return usrp()->write_atr_rxval(d_which, v);
-}
-
-bool
-db_base::set_atr_tx_delay(int v)
-{
- // Set Auto T/R delay (in clock ticks) from when Tx fifo gets data to
- // when T/R switches.
- return usrp()->write_atr_tx_delay(v);
-}
-
-bool
-db_base::set_atr_rx_delay(int v)
-{
- // Set Auto T/R delay (in clock ticks) from when Tx fifo goes empty to
- // when T/R switches.
- return usrp()->write_atr_rx_delay(v);
-}
-
-bool
-db_base::i_and_q_swapped()
-{
- // Return True if this is a quadrature device and (for RX) ADC 0 is Q
- // or (for TX) DAC 0 is Q
- return false;
-}
-
-bool
-db_base::spectrum_inverted()
-{
- // Return True if the dboard gives an inverted spectrum
-
- return false;
-}
-
-bool
-db_base::set_enable(bool on)
-{
- // For tx daughterboards, this controls the transmitter enable.
-
- return true; // default is nop
-}
-
-bool
-db_base::set_auto_tr(bool on)
-{
- // Enable automatic Transmit/Receive switching (ATR).
- //
- // Should be overridden in subclasses that care. This will typically
- // set the atr_mask, txval and rxval.
-
- return true;
-}
-
-bool
-db_base::set_lo_offset(double offset)
-{
- // Set how much LO is offset from requested frequency
-
- d_lo_offset = offset;
- return true;
-}
-
-bool
-db_base::select_rx_antenna(int which_antenna)
-{
- // Specify which antenna port to use for reception.
- // Should be overriden by daughterboards that care.
-
- return which_antenna == 0;
-}
-
-bool
-db_base::select_rx_antenna(const std::string &which_antenna)
-{
- // Specify which antenna port to use for reception.
- // Should be overriden by daughterboards that care.
-
- return which_antenna == "";
-}
-
-
-// Reference Clock section
-//
-// Control whether a reference clock is sent to the daughterboards,
-// and what frequency
-//
-// Bit 7 -- 1 turns on refclk, 0 allows IO use
-// Bits 6:0 Divider value
-//
-
-double
-db_base::_refclk_freq()
-{
- return usrp()->fpga_master_clock_freq() / _refclk_divisor();
-}
-
-void
-db_base::_enable_refclk(bool enable)
-{
- int CLOCK_OUT = 1; // Clock is on lowest bit
- int REFCLK_ENABLE = 0x80;
- int REFCLK_DIVISOR_MASK = 0x7f;
-
- if(enable) {
- usrp()->_write_oe(d_which, CLOCK_OUT, CLOCK_OUT); // output enable
- usrp()->write_refclk(d_which, (_refclk_divisor() & REFCLK_DIVISOR_MASK) | REFCLK_ENABLE);
- }
- else {
- usrp()->write_refclk(d_which, 0);
- }
-}
-
-int
-db_base::_refclk_divisor()
-{
- // Return value to stick in REFCLK_DIVISOR register
- throw std::runtime_error("_reflck_divisor() called from base class\n");;
-}
-
-bool
-db_base::set_bw(float bw)
-{
- // Set baseband bandwidth (board specific)
- // Should be overriden by boards that implement variable IF filtering (e.g., DBSRX)
- return false;
-}
-
-std::ostream &operator<<(std::ostream &os, db_base &x)
-{
- os << x.side_and_name();
- return os;
-}