diff options
Diffstat (limited to 'host/lib/usrp/x300')
-rw-r--r-- | host/lib/usrp/x300/x300_adc_ctrl.cpp | 6 | ||||
-rw-r--r-- | host/lib/usrp/x300/x300_adc_ctrl.hpp | 4 | ||||
-rw-r--r-- | host/lib/usrp/x300/x300_clock_ctrl.cpp | 4 | ||||
-rw-r--r-- | host/lib/usrp/x300/x300_clock_ctrl.hpp | 2 | ||||
-rw-r--r-- | host/lib/usrp/x300/x300_dac_ctrl.cpp | 6 | ||||
-rw-r--r-- | host/lib/usrp/x300/x300_dac_ctrl.hpp | 4 | ||||
-rw-r--r-- | host/lib/usrp/x300/x300_impl.cpp | 12 | ||||
-rw-r--r-- | host/lib/usrp/x300/x300_impl.hpp | 1 |
8 files changed, 32 insertions, 7 deletions
diff --git a/host/lib/usrp/x300/x300_adc_ctrl.cpp b/host/lib/usrp/x300/x300_adc_ctrl.cpp index 75bfb048c..53d1662ae 100644 --- a/host/lib/usrp/x300/x300_adc_ctrl.cpp +++ b/host/lib/usrp/x300/x300_adc_ctrl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2010-2013 Ettus Research LLC +// Copyright 2010-2014 Ettus Research LLC // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -25,6 +25,10 @@ using namespace uhd; +x300_adc_ctrl::~x300_adc_ctrl(void){ + /* NOP */ +} + /*! * A X300 codec control specific to the ads62p48 ic. */ diff --git a/host/lib/usrp/x300/x300_adc_ctrl.hpp b/host/lib/usrp/x300/x300_adc_ctrl.hpp index fce40a434..c8ce19c94 100644 --- a/host/lib/usrp/x300/x300_adc_ctrl.hpp +++ b/host/lib/usrp/x300/x300_adc_ctrl.hpp @@ -1,5 +1,5 @@ // -// Copyright 2010-2013 Ettus Research LLC +// Copyright 2010-2014 Ettus Research LLC // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -27,6 +27,8 @@ class x300_adc_ctrl : boost::noncopyable public: typedef boost::shared_ptr<x300_adc_ctrl> sptr; + virtual ~x300_adc_ctrl(void) = 0; + /*! * Make a codec control for the ADC. * \param iface a pointer to the interface object diff --git a/host/lib/usrp/x300/x300_clock_ctrl.cpp b/host/lib/usrp/x300/x300_clock_ctrl.cpp index dbaa67592..ffb97e147 100644 --- a/host/lib/usrp/x300/x300_clock_ctrl.cpp +++ b/host/lib/usrp/x300/x300_clock_ctrl.cpp @@ -28,6 +28,10 @@ static const double X300_REF_CLK_OUT_RATE = 10e6; using namespace uhd; +x300_clock_ctrl::~x300_clock_ctrl(void){ + /* NOP */ +} + class x300_clock_ctrl_impl : public x300_clock_ctrl { public: diff --git a/host/lib/usrp/x300/x300_clock_ctrl.hpp b/host/lib/usrp/x300/x300_clock_ctrl.hpp index e9904d25c..40b62b09a 100644 --- a/host/lib/usrp/x300/x300_clock_ctrl.hpp +++ b/host/lib/usrp/x300/x300_clock_ctrl.hpp @@ -42,6 +42,8 @@ public: typedef boost::shared_ptr<x300_clock_ctrl> sptr; + virtual ~x300_clock_ctrl(void) = 0; + static sptr make(uhd::spi_iface::sptr spiface, const size_t slaveno, const size_t hw_rev, diff --git a/host/lib/usrp/x300/x300_dac_ctrl.cpp b/host/lib/usrp/x300/x300_dac_ctrl.cpp index 5eae9cc48..a9d9a7730 100644 --- a/host/lib/usrp/x300/x300_dac_ctrl.cpp +++ b/host/lib/usrp/x300/x300_dac_ctrl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2010-2013 Ettus Research LLC +// Copyright 2010-2014 Ettus Research LLC // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -32,6 +32,10 @@ using namespace uhd; #define read_ad9146_reg(addr) \ (_iface->read_spi(_slaveno, spi_config_t::EDGE_RISE, ((addr) << 8) | (1 << 15), 16) & 0xff) +x300_dac_ctrl::~x300_dac_ctrl(void){ + /* NOP */ +} + /*! * A X300 codec control specific to the ad9146 ic. */ diff --git a/host/lib/usrp/x300/x300_dac_ctrl.hpp b/host/lib/usrp/x300/x300_dac_ctrl.hpp index 0db7e1e35..78046cee5 100644 --- a/host/lib/usrp/x300/x300_dac_ctrl.hpp +++ b/host/lib/usrp/x300/x300_dac_ctrl.hpp @@ -1,5 +1,5 @@ // -// Copyright 2010-2013 Ettus Research LLC +// Copyright 2010-2014 Ettus Research LLC // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -27,6 +27,8 @@ class x300_dac_ctrl : boost::noncopyable public: typedef boost::shared_ptr<x300_dac_ctrl> sptr; + virtual ~x300_dac_ctrl(void) = 0; + /*! * Make a codec control for the DAC. * \param iface a pointer to the interface object diff --git a/host/lib/usrp/x300/x300_impl.cpp b/host/lib/usrp/x300/x300_impl.cpp index 1b651065d..a670f28c4 100644 --- a/host/lib/usrp/x300/x300_impl.cpp +++ b/host/lib/usrp/x300/x300_impl.cpp @@ -326,7 +326,7 @@ static device::sptr x300_make(const device_addr_t &device_addr) UHD_STATIC_BLOCK(register_x300_device) { - device::register_device(&x300_find, &x300_make); + device::register_device(&x300_find, &x300_make, device::USRP); } static void x300_load_fw(wb_iface::sptr fw_reg_ctrl, const std::string &file_name) @@ -355,6 +355,8 @@ static void x300_load_fw(wb_iface::sptr fw_reg_ctrl, const std::string &file_nam x300_impl::x300_impl(const uhd::device_addr_t &dev_addr) { UHD_MSG(status) << "X300 initialization sequence..." << std::endl; + _type = device::USRP; + _ignore_cal_file = dev_addr.has_key("ignore-cal-file"); _async_md.reset(new async_md_type(1000/*messages deep*/)); _tree = uhd::property_tree::make(); _tree->create<std::string>("/name").set("X-Series Device"); @@ -1081,12 +1083,16 @@ void x300_impl::setup_radio(const size_t mb_i, const std::string &slot_name) void x300_impl::set_rx_fe_corrections(const uhd::fs_path &mb_path, const std::string &fe_name, const double lo_freq) { - apply_rx_fe_corrections(this->get_tree()->subtree(mb_path), fe_name, lo_freq); + if(not _ignore_cal_file){ + apply_rx_fe_corrections(this->get_tree()->subtree(mb_path), fe_name, lo_freq); + } } void x300_impl::set_tx_fe_corrections(const uhd::fs_path &mb_path, const std::string &fe_name, const double lo_freq) { - apply_tx_fe_corrections(this->get_tree()->subtree(mb_path), fe_name, lo_freq); + if(not _ignore_cal_file){ + apply_tx_fe_corrections(this->get_tree()->subtree(mb_path), fe_name, lo_freq); + } } boost::uint32_t get_pcie_dma_channel(boost::uint8_t destination, boost::uint8_t prefix) diff --git a/host/lib/usrp/x300/x300_impl.hpp b/host/lib/usrp/x300/x300_impl.hpp index 578e96383..1130c24d6 100644 --- a/host/lib/usrp/x300/x300_impl.hpp +++ b/host/lib/usrp/x300/x300_impl.hpp @@ -322,6 +322,7 @@ private: void set_rx_fe_corrections(const uhd::fs_path &mb_path, const std::string &fe_name, const double lo_freq); void set_tx_fe_corrections(const uhd::fs_path &mb_path, const std::string &fe_name, const double lo_freq); + bool _ignore_cal_file; /*! Update the IQ MUX settings for the radio peripheral according to given subdev spec. |