aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/mboard/usrp2/usrp2_impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp/mboard/usrp2/usrp2_impl.hpp')
-rw-r--r--host/lib/usrp/mboard/usrp2/usrp2_impl.hpp160
1 files changed, 0 insertions, 160 deletions
diff --git a/host/lib/usrp/mboard/usrp2/usrp2_impl.hpp b/host/lib/usrp/mboard/usrp2/usrp2_impl.hpp
deleted file mode 100644
index 42fe46099..000000000
--- a/host/lib/usrp/mboard/usrp2/usrp2_impl.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-//
-// Copyright 2010 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
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
-//
-
-#include <uhd/dict.hpp>
-#include <uhd/props.hpp>
-#include <uhd/time_spec.hpp>
-#include <boost/thread.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/function.hpp>
-#include <uhd/transport/udp.hpp>
-#include <uhd/usrp/dboard/manager.hpp>
-#include "fw_common.h"
-
-#ifndef INCLUDED_USRP2_IMPL_HPP
-#define INCLUDED_USRP2_IMPL_HPP
-
-/*!
- * Simple wax obj proxy class:
- * Provides a wax obj interface for a set and a get function.
- * This allows us to create nested properties structures
- * while maintaining flattened code within the implementation.
- */
-class wax_obj_proxy : public wax::obj{
-public:
- typedef boost::function<void(const wax::obj &, wax::obj &)> get_t;
- typedef boost::function<void(const wax::obj &, const wax::obj &)> set_t;
-
- wax_obj_proxy(void){
- /* NOP */
- }
-
- wax_obj_proxy(const get_t &get, const set_t &set){
- _get = get;
- _set = set;
- };
-
- ~wax_obj_proxy(void){
- /* NOP */
- }
-
- void get(const wax::obj &key, wax::obj &val){
- return _get(key, val);
- }
-
- void set(const wax::obj &key, const wax::obj &val){
- return _set(key, val);
- }
-
-private:
- get_t _get;
- set_t _set;
-};
-
-/*!
- * USRP2 implementation guts:
- * The implementation details are encapsulated here.
- * Handles properties on the mboard, dboard, dsps...
- */
-class usrp2_impl : boost::noncopyable, public wax::obj{
-public:
- typedef boost::shared_ptr<usrp2_impl> sptr;
-
- /*!
- * Create a new usrp2 impl base.
- * \param ctrl_transport the udp transport for control
- * \param data_transport the udp transport for data
- */
- usrp2_impl(
- uhd::transport::udp::sptr ctrl_transport,
- uhd::transport::udp::sptr data_transport
- );
-
- ~usrp2_impl(void);
-
- //properties interface
- void get(const wax::obj &, wax::obj &);
- void set(const wax::obj &, const wax::obj &);
-
- //performs a control transaction
- usrp2_ctrl_data_t ctrl_send_and_recv(const usrp2_ctrl_data_t &);
-
- //misc access methods
- double get_master_clock_freq(void);
-
-private:
- //udp transports for control and data
- uhd::transport::udp::sptr _ctrl_transport;
- uhd::transport::udp::sptr _data_transport;
-
- //private vars for dealing with send/recv control
- uint32_t _ctrl_seq_num;
- boost::mutex _ctrl_mutex;
-
- //methods and shadows for clock configuration
- std::string _pps_source, _pps_polarity, _ref_source;
- void init_clock_config(void);
- void update_clock_config(void);
-
- //mappings from clock config strings to over the wire enums
- uhd::dict<std::string, usrp2_pps_source_t> _pps_source_dict;
- uhd::dict<std::string, usrp2_pps_polarity_t> _pps_polarity_dict;
- uhd::dict<std::string, usrp2_ref_source_t> _ref_source_dict;
-
- //rx and tx dboard methods and objects
- uhd::usrp::dboard::manager::sptr _dboard_manager;
- void dboard_init(void);
-
- //properties interface for rx dboard
- void rx_dboard_get(const wax::obj &, wax::obj &);
- void rx_dboard_set(const wax::obj &, const wax::obj &);
- uhd::dict<std::string, wax_obj_proxy> _rx_dboards;
-
- //properties interface for tx dboard
- void tx_dboard_get(const wax::obj &, wax::obj &);
- void tx_dboard_set(const wax::obj &, const wax::obj &);
- uhd::dict<std::string, wax_obj_proxy> _tx_dboards;
-
- //methods and shadows for the ddc dsp
- std::vector<size_t> _allowed_decim_and_interp_rates;
- size_t _ddc_decim;
- uhd::freq_t _ddc_freq;
- bool _ddc_enabled;
- uhd::time_spec_t _ddc_stream_at;
- void init_ddc_config(void);
- void update_ddc_config(void);
- void update_ddc_enabled(void);
-
- //methods and shadows for the duc dsp
- size_t _duc_interp;
- uhd::freq_t _duc_freq;
- void init_duc_config(void);
- void update_duc_config(void);
-
- //properties interface for ddc
- void ddc_get(const wax::obj &, wax::obj &);
- void ddc_set(const wax::obj &, const wax::obj &);
- uhd::dict<std::string, wax_obj_proxy> _rx_dsps;
-
- //properties interface for duc
- void duc_get(const wax::obj &, wax::obj &);
- void duc_set(const wax::obj &, const wax::obj &);
- uhd::dict<std::string, wax_obj_proxy> _tx_dsps;
-
-};
-
-#endif /* INCLUDED_USRP2_IMPL_HPP */