diff options
author | Ashish Chaudhari <ashish@ettus.com> | 2016-05-06 12:21:41 -0700 |
---|---|---|
committer | Ashish Chaudhari <ashish@ettus.com> | 2016-05-16 11:52:06 -0700 |
commit | 36075f38e6c8b4f641ba3d1fd97cfd72dcc05e7b (patch) | |
tree | 694ac18f5eaf6e10cfa1c664e31a66a99535acce | |
parent | 1c9aea4e15d7e68be56529b78050910ca73b8d0e (diff) | |
download | uhd-36075f38e6c8b4f641ba3d1fd97cfd72dcc05e7b.tar.gz uhd-36075f38e6c8b4f641ba3d1fd97cfd72dcc05e7b.tar.bz2 uhd-36075f38e6c8b4f641ba3d1fd97cfd72dcc05e7b.zip |
dboard_iface: Added FE name input to set_fe_connection
- A dboard_base class can have multiple frontends (subdevs) and
the set_fe_connection needs to be able to distinguish between them
-rw-r--r-- | host/include/uhd/usrp/dboard_iface.hpp | 9 | ||||
-rw-r--r-- | host/lib/usrp/b100/dboard_iface.cpp | 6 | ||||
-rw-r--r-- | host/lib/usrp/e100/dboard_iface.cpp | 6 | ||||
-rw-r--r-- | host/lib/usrp/usrp1/dboard_iface.cpp | 6 | ||||
-rw-r--r-- | host/lib/usrp/usrp2/dboard_iface.cpp | 6 | ||||
-rw-r--r-- | host/lib/usrp/x300/x300_dboard_iface.cpp | 12 |
6 files changed, 28 insertions, 17 deletions
diff --git a/host/include/uhd/usrp/dboard_iface.hpp b/host/include/uhd/usrp/dboard_iface.hpp index add22ffa3..52d226004 100644 --- a/host/include/uhd/usrp/dboard_iface.hpp +++ b/host/include/uhd/usrp/dboard_iface.hpp @@ -1,5 +1,5 @@ // -// Copyright 2010-2013 Ettus Research LLC +// Copyright 2010-2013,2015-2016 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 @@ -276,9 +276,14 @@ public: * Configure the front-end connection parameters. * * \param unit which unit rx or tx + * \param fe_name name of the front-end to update * \param fe_conn connection parameters class */ - virtual void set_fe_connection(unit_t unit, const uhd::usrp::fe_connection_t& fe_conn) = 0; + virtual void set_fe_connection( + unit_t unit, + const std::string& fe_name, + const uhd::usrp::fe_connection_t& fe_conn + ) = 0; /*! * Get the command time. diff --git a/host/lib/usrp/b100/dboard_iface.cpp b/host/lib/usrp/b100/dboard_iface.cpp index 73c97c104..9829f3f09 100644 --- a/host/lib/usrp/b100/dboard_iface.cpp +++ b/host/lib/usrp/b100/dboard_iface.cpp @@ -1,5 +1,5 @@ // -// Copyright 2011 Ettus Research LLC +// Copyright 2011,2015,2016 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 @@ -101,7 +101,7 @@ public: double get_clock_rate(unit_t); void set_clock_enabled(unit_t, bool); double get_codec_rate(unit_t); - void set_fe_connection(unit_t unit, const fe_connection_t& fe_conn); + void set_fe_connection(unit_t unit, const std::string&, const fe_connection_t& fe_conn); private: timed_wb_iface::sptr _wb_iface; @@ -288,7 +288,7 @@ uhd::time_spec_t b100_dboard_iface::get_command_time(void) return _wb_iface->get_time(); } -void b100_dboard_iface::set_fe_connection(unit_t, const fe_connection_t&) +void b100_dboard_iface::set_fe_connection(unit_t, const std::string&, const fe_connection_t&) { throw uhd::not_implemented_error("fe connection configuration support not implemented"); } diff --git a/host/lib/usrp/e100/dboard_iface.cpp b/host/lib/usrp/e100/dboard_iface.cpp index faa0ff7d4..ce0ac026b 100644 --- a/host/lib/usrp/e100/dboard_iface.cpp +++ b/host/lib/usrp/e100/dboard_iface.cpp @@ -1,5 +1,5 @@ // -// Copyright 2010-2011,2015 Ettus Research LLC +// Copyright 2010-2011,2015,2016 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 @@ -101,7 +101,7 @@ public: double get_clock_rate(unit_t); void set_clock_enabled(unit_t, bool); double get_codec_rate(unit_t); - void set_fe_connection(unit_t unit, const fe_connection_t& fe_conn); + void set_fe_connection(unit_t unit, const std::string&, const fe_connection_t& fe_conn); private: timed_wb_iface::sptr _wb_iface; @@ -288,7 +288,7 @@ void e100_dboard_iface::set_command_time(const uhd::time_spec_t& t) _wb_iface->set_time(t); } -void e100_dboard_iface::set_fe_connection(unit_t, const fe_connection_t&) +void e100_dboard_iface::set_fe_connection(unit_t, const std::string&, const fe_connection_t&) { throw uhd::not_implemented_error("fe connection configuration support not implemented"); } diff --git a/host/lib/usrp/usrp1/dboard_iface.cpp b/host/lib/usrp/usrp1/dboard_iface.cpp index b8d651694..5640e8dae 100644 --- a/host/lib/usrp/usrp1/dboard_iface.cpp +++ b/host/lib/usrp/usrp1/dboard_iface.cpp @@ -1,5 +1,5 @@ // -// Copyright 2010-2012 Ettus Research LLC +// Copyright 2010-2012,2015,2016 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 @@ -143,7 +143,7 @@ public: double get_clock_rate(unit_t); void set_clock_enabled(unit_t, bool); double get_codec_rate(unit_t); - void set_fe_connection(unit_t unit, const fe_connection_t& fe_conn); + void set_fe_connection(unit_t unit, const std::string&, const fe_connection_t& fe_conn); private: usrp1_iface::sptr _iface; @@ -500,7 +500,7 @@ uhd::time_spec_t usrp1_dboard_iface::get_command_time() throw uhd::not_implemented_error("timed command support not implemented"); } -void usrp1_dboard_iface::set_fe_connection(unit_t, const fe_connection_t&) +void usrp1_dboard_iface::set_fe_connection(unit_t, const std::string&, const fe_connection_t&) { throw uhd::not_implemented_error("fe connection configuration support not implemented"); } diff --git a/host/lib/usrp/usrp2/dboard_iface.cpp b/host/lib/usrp/usrp2/dboard_iface.cpp index b4066898e..a6ba1e0b7 100644 --- a/host/lib/usrp/usrp2/dboard_iface.cpp +++ b/host/lib/usrp/usrp2/dboard_iface.cpp @@ -1,5 +1,5 @@ // -// Copyright 2010-2012,2015 Ettus Research LLC +// Copyright 2010-2012,2015,2016 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 @@ -75,7 +75,7 @@ public: std::vector<double> get_clock_rates(unit_t); void set_clock_enabled(unit_t, bool); double get_codec_rate(unit_t); - void set_fe_connection(unit_t unit, const fe_connection_t& fe_conn); + void set_fe_connection(unit_t unit, const std::string&, const fe_connection_t& fe_conn); void write_spi( unit_t unit, @@ -353,7 +353,7 @@ void usrp2_dboard_iface::set_command_time(const uhd::time_spec_t& t) _wb_iface->set_time(t); } -void usrp2_dboard_iface::set_fe_connection(unit_t, const fe_connection_t&) +void usrp2_dboard_iface::set_fe_connection(unit_t, const std::string&, const fe_connection_t&) { throw uhd::not_implemented_error("fe connection configuration support not implemented"); } diff --git a/host/lib/usrp/x300/x300_dboard_iface.cpp b/host/lib/usrp/x300/x300_dboard_iface.cpp index 884848624..87f537874 100644 --- a/host/lib/usrp/x300/x300_dboard_iface.cpp +++ b/host/lib/usrp/x300/x300_dboard_iface.cpp @@ -1,5 +1,5 @@ // -// Copyright 2013,2015 Ettus Research LLC +// Copyright 2013,2015,2016 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 @@ -80,7 +80,11 @@ public: boost::uint32_t data, size_t num_bits ); - void set_fe_connection(unit_t unit, const fe_connection_t& fe_conn); + void set_fe_connection( + unit_t unit, + const std::string& fe_name, + const fe_connection_t& fe_conn + ); const x300_dboard_iface_config_t _config; uhd::dict<unit_t, ad5623_regs_t> _dac_regs; @@ -371,7 +375,9 @@ void x300_dboard_iface::set_command_time(const uhd::time_spec_t& t) _config.cmd_time_ctrl->set_time(t); } -void x300_dboard_iface::set_fe_connection(unit_t unit, const fe_connection_t& fe_conn) +void x300_dboard_iface::set_fe_connection( + unit_t unit, const std::string& /*fe_name*/, + const fe_connection_t& fe_conn) { if (unit == UNIT_RX) { _config.rx_dsp->set_mux(fe_conn); |