diff options
author | Josh Blum <josh@joshknows.com> | 2013-09-04 14:35:22 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2013-09-04 14:35:22 -0700 |
commit | 91b5557527896998b395f4683914c4bfecad1f8e (patch) | |
tree | 1817747cc4c63a049bc95b4d2c5cb8b173d7f6ef /host/lib/usrp/cores | |
parent | 8814558fcad1e1425d929035a651ab51aad05994 (diff) | |
parent | 8c1b63e1949134ec476b5b43e1caca42ffe017d5 (diff) | |
download | uhd-91b5557527896998b395f4683914c4bfecad1f8e.tar.gz uhd-91b5557527896998b395f4683914c4bfecad1f8e.tar.bz2 uhd-91b5557527896998b395f4683914c4bfecad1f8e.zip |
Merge branch 'master_converter_work'
Diffstat (limited to 'host/lib/usrp/cores')
-rw-r--r-- | host/lib/usrp/cores/radio_ctrl_core_3000.cpp | 13 | ||||
-rw-r--r-- | host/lib/usrp/cores/radio_ctrl_core_3000.hpp | 3 | ||||
-rw-r--r-- | host/lib/usrp/cores/rx_dsp_core_3000.cpp | 17 | ||||
-rw-r--r-- | host/lib/usrp/cores/tx_dsp_core_3000.cpp | 15 |
4 files changed, 29 insertions, 19 deletions
diff --git a/host/lib/usrp/cores/radio_ctrl_core_3000.cpp b/host/lib/usrp/cores/radio_ctrl_core_3000.cpp index 616903920..5298fd213 100644 --- a/host/lib/usrp/cores/radio_ctrl_core_3000.cpp +++ b/host/lib/usrp/cores/radio_ctrl_core_3000.cpp @@ -22,6 +22,7 @@ #include <uhd/utils/byteswap.hpp> #include <uhd/utils/safe_call.hpp> #include <uhd/transport/bounded_buffer.hpp> +#include <uhd/transport/vrt_if_packet.hpp> #include <boost/thread/mutex.hpp> #include <boost/thread/thread.hpp> #include <boost/format.hpp> @@ -32,7 +33,7 @@ using namespace uhd; using namespace uhd::usrp; using namespace uhd::transport; -static const double ACK_TIMEOUT = 0.5; +static const double ACK_TIMEOUT = 2.0; //supposed to be worst case practical timeout static const double MASSIVE_TIMEOUT = 10.0; //for when we wait on a timed command static const size_t SR_READBACK = 32; @@ -41,15 +42,15 @@ class radio_ctrl_core_3000_impl : public radio_ctrl_core_3000 public: radio_ctrl_core_3000_impl( - vrt::if_packet_info_t::link_type_t link_type, + const bool big_endian, uhd::transport::zero_copy_if::sptr ctrl_xport, uhd::transport::zero_copy_if::sptr resp_xport, const boost::uint32_t sid, const std::string &name ): - _link_type(link_type), + _link_type(vrt::if_packet_info_t::LINK_TYPE_CHDR), _packet_type(vrt::if_packet_info_t::PACKET_TYPE_CONTEXT), - _bige(link_type == vrt::if_packet_info_t::LINK_TYPE_VRLP), + _bige(big_endian), _ctrl_xport(ctrl_xport), _resp_xport(resp_xport), _sid(sid), @@ -301,12 +302,12 @@ private: radio_ctrl_core_3000::sptr radio_ctrl_core_3000::make( - vrt::if_packet_info_t::link_type_t link_type, + const bool big_endian, zero_copy_if::sptr ctrl_xport, zero_copy_if::sptr resp_xport, const boost::uint32_t sid, const std::string &name ) { - return sptr(new radio_ctrl_core_3000_impl(link_type, ctrl_xport, resp_xport, sid, name)); + return sptr(new radio_ctrl_core_3000_impl(big_endian, ctrl_xport, resp_xport, sid, name)); } diff --git a/host/lib/usrp/cores/radio_ctrl_core_3000.hpp b/host/lib/usrp/cores/radio_ctrl_core_3000.hpp index 6ef484296..8c0548d89 100644 --- a/host/lib/usrp/cores/radio_ctrl_core_3000.hpp +++ b/host/lib/usrp/cores/radio_ctrl_core_3000.hpp @@ -20,7 +20,6 @@ #include <uhd/types/time_spec.hpp> #include <uhd/transport/zero_copy.hpp> -#include <uhd/transport/vrt_if_packet.hpp> #include <boost/shared_ptr.hpp> #include <boost/utility.hpp> #include "wb_iface.hpp" @@ -36,7 +35,7 @@ public: //! Make a new control object static sptr make( - uhd::transport::vrt::if_packet_info_t::link_type_t link_type, + const bool big_endian, uhd::transport::zero_copy_if::sptr ctrl_xport, uhd::transport::zero_copy_if::sptr resp_xport, const boost::uint32_t sid, diff --git a/host/lib/usrp/cores/rx_dsp_core_3000.cpp b/host/lib/usrp/cores/rx_dsp_core_3000.cpp index 36d9af5bc..7b3324f74 100644 --- a/host/lib/usrp/cores/rx_dsp_core_3000.cpp +++ b/host/lib/usrp/cores/rx_dsp_core_3000.cpp @@ -169,21 +169,26 @@ public: void setup(const uhd::stream_args_t &stream_args){ - //unsigned format_word = 0; if (stream_args.otw_format == "sc16"){ - //format_word = 0; _dsp_extra_scaling = 1.0; _host_extra_scaling = 1.0; } - /* else if (stream_args.otw_format == "sc8"){ - format_word = (1 << 0); double peak = stream_args.args.cast<double>("peak", 1.0); peak = std::max(peak, 1.0/256); _host_extra_scaling = peak*256; - _dsp_extra_scaling = peak*256; + _dsp_extra_scaling = peak; + } + else if (stream_args.otw_format == "sc12"){ + double peak = stream_args.args.cast<double>("peak", 1.0); + peak = std::max(peak, 1.0/16); + _host_extra_scaling = peak*16; + _dsp_extra_scaling = peak; + } + else if (stream_args.otw_format == "fc32"){ + _host_extra_scaling = 1.0; + _dsp_extra_scaling = 1.0; } - */ else throw uhd::value_error("USRP RX cannot handle requested wire format: " + stream_args.otw_format); _host_extra_scaling *= stream_args.args.cast<double>("fullscale", 1.0); diff --git a/host/lib/usrp/cores/tx_dsp_core_3000.cpp b/host/lib/usrp/cores/tx_dsp_core_3000.cpp index ff4392a13..feb749cd9 100644 --- a/host/lib/usrp/cores/tx_dsp_core_3000.cpp +++ b/host/lib/usrp/cores/tx_dsp_core_3000.cpp @@ -146,22 +146,27 @@ public: void setup(const uhd::stream_args_t &stream_args){ - //unsigned format_word = 0; if (stream_args.otw_format == "sc16"){ - //format_word = 0; _dsp_extra_scaling = 1.0; _host_extra_scaling = 1.0; } - /* else if (stream_args.otw_format == "sc8"){ - format_word = (1 << 0); double peak = stream_args.args.cast<double>("peak", 1.0); peak = std::max(peak, 1.0/256); _host_extra_scaling = 1.0/peak/256; _dsp_extra_scaling = 1.0/peak; } + else if (stream_args.otw_format == "sc12"){ + double peak = stream_args.args.cast<double>("peak", 1.0); + peak = std::max(peak, 1.0/16); + _host_extra_scaling = 1.0/peak/16; + _dsp_extra_scaling = 1.0/peak; + } + else if (stream_args.otw_format == "fc32"){ + _host_extra_scaling = 1.0; + _dsp_extra_scaling = 1.0; + } else throw uhd::value_error("USRP TX cannot handle requested wire format: " + stream_args.otw_format); - */ _host_extra_scaling /= stream_args.args.cast<double>("fullscale", 1.0); |