aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/cores
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2013-09-04 14:35:22 -0700
committerJosh Blum <josh@joshknows.com>2013-09-04 14:35:22 -0700
commit91b5557527896998b395f4683914c4bfecad1f8e (patch)
tree1817747cc4c63a049bc95b4d2c5cb8b173d7f6ef /host/lib/usrp/cores
parent8814558fcad1e1425d929035a651ab51aad05994 (diff)
parent8c1b63e1949134ec476b5b43e1caca42ffe017d5 (diff)
downloaduhd-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.cpp13
-rw-r--r--host/lib/usrp/cores/radio_ctrl_core_3000.hpp3
-rw-r--r--host/lib/usrp/cores/rx_dsp_core_3000.cpp17
-rw-r--r--host/lib/usrp/cores/tx_dsp_core_3000.cpp15
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);