aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/device3/device3_impl.cpp
diff options
context:
space:
mode:
authorBrent Stapleton <brent.stapleton@ettus.com>2019-01-14 10:35:25 -0800
committerBrent Stapleton <brent.stapleton@ettus.com>2019-01-16 11:40:23 -0800
commit967be2a4e82b1a125b26bb72a60318a4fb2b50c4 (patch)
tree8a24954b54d1546dc8049a17e485adb0a605f74f /host/lib/usrp/device3/device3_impl.cpp
parentaafe4e8b742a0e21d3818f21f34e3c8613132530 (diff)
downloaduhd-967be2a4e82b1a125b26bb72a60318a4fb2b50c4.tar.gz
uhd-967be2a4e82b1a125b26bb72a60318a4fb2b50c4.tar.bz2
uhd-967be2a4e82b1a125b26bb72a60318a4fb2b50c4.zip
uhd: mpm: apply clang-format to all files
Applying formatting changes to all .cpp and .hpp files in the following directories: ``` find host/examples/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/tests/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/neon/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/magnesium/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/device3/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/mpmd/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/x300/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/utils/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find mpm/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Also formatted host/include/, except Cpp03 was used as a the language standard instead of Cpp11. ``` sed -i 's/ Cpp11/ Cpp03/g' .clang-format find host/include/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Formatting style was designated by the .clang-format file.
Diffstat (limited to 'host/lib/usrp/device3/device3_impl.cpp')
-rw-r--r--host/lib/usrp/device3/device3_impl.cpp173
1 files changed, 77 insertions, 96 deletions
diff --git a/host/lib/usrp/device3/device3_impl.cpp b/host/lib/usrp/device3/device3_impl.cpp
index 5705d6a84..d636b3338 100644
--- a/host/lib/usrp/device3/device3_impl.cpp
+++ b/host/lib/usrp/device3/device3_impl.cpp
@@ -6,10 +6,10 @@
//
#include "device3_impl.hpp"
-#include <uhd/utils/log.hpp>
#include <uhd/rfnoc/block_ctrl_base.hpp>
-#include <uhdlib/rfnoc/graph_impl.hpp>
+#include <uhd/utils/log.hpp>
#include <uhdlib/rfnoc/ctrl_iface.hpp>
+#include <uhdlib/rfnoc/graph_impl.hpp>
#include <boost/make_shared.hpp>
#include <algorithm>
@@ -18,21 +18,20 @@ using namespace uhd::usrp;
device3_impl::device3_impl()
{
_type = uhd::device::USRP;
- _async_md.reset(new async_md_type(1000/*messages deep*/));
+ _async_md.reset(new async_md_type(1000 /*messages deep*/));
_tree = uhd::property_tree::make();
};
//! Returns true if the integer value stored in lhs is smaller than that in rhs
-bool _compare_string_indexes(const std::string &lhs, const std::string &rhs)
+bool _compare_string_indexes(const std::string& lhs, const std::string& rhs)
{
return boost::lexical_cast<size_t>(lhs) < boost::lexical_cast<size_t>(rhs);
}
-void device3_impl::merge_channel_defs(
- const std::vector<uhd::rfnoc::block_id_t> &chan_ids,
- const std::vector<uhd::device_addr_t> &chan_args,
- const uhd::direction_t dir
-) {
+void device3_impl::merge_channel_defs(const std::vector<uhd::rfnoc::block_id_t>& chan_ids,
+ const std::vector<uhd::device_addr_t>& chan_args,
+ const uhd::direction_t dir)
+{
UHD_ASSERT_THROW(chan_ids.size() == chan_args.size());
if (dir == uhd::DX_DIRECTION) {
merge_channel_defs(chan_ids, chan_args, RX_DIRECTION);
@@ -40,7 +39,8 @@ void device3_impl::merge_channel_defs(
return;
}
- uhd::fs_path chans_root = uhd::fs_path("/channels/") / (dir == RX_DIRECTION ? "rx" : "tx");
+ uhd::fs_path chans_root =
+ uhd::fs_path("/channels/") / (dir == RX_DIRECTION ? "rx" : "tx");
// Store the new positions of the channels:
std::vector<size_t> chan_idxs;
@@ -54,18 +54,23 @@ void device3_impl::merge_channel_defs(
// 2. Cycle through existing channels to find out where to merge
// the new channels. Rules are:
// - The order of chan_ids must be preserved
- // - All block indices that are in chan_ids may be overwritten in the channel definition
+ // - All block indices that are in chan_ids may be overwritten in the channel
+ // definition
// - If the channels in chan_ids are not yet in the property tree channel list,
// they are appended.
- for(const std::string &chan_idx: curr_channels) {
+ for (const std::string& chan_idx : curr_channels) {
if (_tree->exists(chans_root / chan_idx)) {
- rfnoc::block_id_t chan_block_id = _tree->access<rfnoc::block_id_t>(chans_root / chan_idx).get();
- if (std::find(chan_ids.begin(), chan_ids.end(), chan_block_id) != chan_ids.end()) {
+ rfnoc::block_id_t chan_block_id =
+ _tree->access<rfnoc::block_id_t>(chans_root / chan_idx).get();
+ if (std::find(chan_ids.begin(), chan_ids.end(), chan_block_id)
+ != chan_ids.end()) {
chan_idxs.push_back(boost::lexical_cast<size_t>(chan_idx));
}
}
}
- size_t last_chan_idx = curr_channels.empty() ? 0 : (boost::lexical_cast<size_t>(curr_channels.back()) + 1);
+ size_t last_chan_idx = curr_channels.empty()
+ ? 0
+ : (boost::lexical_cast<size_t>(curr_channels.back()) + 1);
while (chan_idxs.size() < chan_ids.size()) {
chan_idxs.push_back(last_chan_idx);
last_chan_idx++;
@@ -80,27 +85,28 @@ void device3_impl::merge_channel_defs(
if (not _tree->exists(chans_root / chan_idxs[i] / "args")) {
_tree->create<uhd::device_addr_t>(chans_root / chan_idxs[i] / "args");
}
- _tree->access<uhd::device_addr_t>(chans_root / chan_idxs[i] / "args").set(chan_args[i]);
+ _tree->access<uhd::device_addr_t>(chans_root / chan_idxs[i] / "args")
+ .set(chan_args[i]);
}
}
/***********************************************************************
* RFNoC-Specific
**********************************************************************/
-void device3_impl::enumerate_rfnoc_blocks(
- size_t device_index,
- size_t n_blocks,
- size_t base_port,
- const uhd::sid_t &base_sid,
- uhd::device_addr_t transport_args
-) {
+void device3_impl::enumerate_rfnoc_blocks(size_t device_index,
+ size_t n_blocks,
+ size_t base_port,
+ const uhd::sid_t& base_sid,
+ uhd::device_addr_t transport_args)
+{
// entries that are already connected to this block
uhd::sid_t ctrl_sid = base_sid;
- uhd::property_tree::sptr subtree = _tree->subtree(uhd::fs_path("/mboards") / device_index);
+ uhd::property_tree::sptr subtree =
+ _tree->subtree(uhd::fs_path("/mboards") / device_index);
// 1) Clean property tree entries
// TODO put this back once radios are actual rfnoc blocks!!!!!!
- //if (subtree->exists("xbar")) {
- //subtree->remove("xbar");
+ // if (subtree->exists("xbar")) {
+ // subtree->remove("xbar");
//}
// 2) Destroy existing block controllers
// TODO: Clear out all the old block control classes
@@ -109,40 +115,27 @@ void device3_impl::enumerate_rfnoc_blocks(
// First, make a transport for port number zero, because we always need that:
ctrl_sid.set_dst_xbarport(base_port + i);
ctrl_sid.set_dst_blockport(0);
- both_xports_t xport = this->make_transport(
- ctrl_sid,
- CTRL,
- transport_args
- );
+ both_xports_t xport = this->make_transport(ctrl_sid, CTRL, transport_args);
UHD_LOG_TRACE("DEVICE3",
str(boost::format("Setting up NoC-Shell Control for port #0 (SID: %s)...")
- % xport.send_sid.to_pp_string_hex())
- );
- uhd::rfnoc::ctrl_iface::sptr ctrl = uhd::rfnoc::ctrl_iface::make(
- xport,
- str(boost::format("CE_%02d_Port_%02X")
- % i
- % ctrl_sid.get_dst_endpoint())
- );
- uint64_t noc_id = ctrl->send_cmd_pkt(
- uhd::rfnoc::SR_READBACK,
- uhd::rfnoc::SR_READBACK_REG_ID,
- true
- );
- UHD_LOG_DEBUG("DEVICE3", str(
- boost::format("Port 0x%02X: Found NoC-Block with ID %016X.")
- % int(ctrl_sid.get_dst_endpoint())
- % noc_id
- ));
+ % xport.send_sid.to_pp_string_hex()));
+ uhd::rfnoc::ctrl_iface::sptr ctrl = uhd::rfnoc::ctrl_iface::make(xport,
+ str(boost::format("CE_%02d_Port_%02X") % i % ctrl_sid.get_dst_endpoint()));
+ uint64_t noc_id = ctrl->send_cmd_pkt(
+ uhd::rfnoc::SR_READBACK, uhd::rfnoc::SR_READBACK_REG_ID, true);
+ UHD_LOG_DEBUG("DEVICE3",
+ str(boost::format("Port 0x%02X: Found NoC-Block with ID %016X.")
+ % int(ctrl_sid.get_dst_endpoint()) % noc_id));
uhd::rfnoc::make_args_t make_args;
- uhd::rfnoc::blockdef::sptr block_def = uhd::rfnoc::blockdef::make_from_noc_id(noc_id);
+ uhd::rfnoc::blockdef::sptr block_def =
+ uhd::rfnoc::blockdef::make_from_noc_id(noc_id);
if (not block_def) {
UHD_LOG_WARNING("DEVICE3",
"No block definition found, using default block configuration "
- "for block with NOC ID: " + str(boost::format("0x%08X") % noc_id)
- );
- block_def = uhd::rfnoc::blockdef::make_from_noc_id(
- uhd::rfnoc::DEFAULT_NOC_ID);
+ "for block with NOC ID: "
+ + str(boost::format("0x%08X") % noc_id));
+ block_def =
+ uhd::rfnoc::blockdef::make_from_noc_id(uhd::rfnoc::DEFAULT_NOC_ID);
}
UHD_ASSERT_THROW(block_def);
make_args.ctrl_ifaces[0] = ctrl;
@@ -151,71 +144,59 @@ void device3_impl::enumerate_rfnoc_blocks(
continue;
}
ctrl_sid.set_dst_blockport(port_number);
- both_xports_t xport1 = this->make_transport(
- ctrl_sid,
- CTRL,
- transport_args
- );
- UHD_LOG_TRACE("DEVICE3", str(
- boost::format("Setting up NoC-Shell Control for port #%d "
+ both_xports_t xport1 = this->make_transport(ctrl_sid, CTRL, transport_args);
+ UHD_LOG_TRACE("DEVICE3",
+ str(boost::format("Setting up NoC-Shell Control for port #%d "
"(SID: %s)...")
- % port_number
- % xport1.send_sid.to_pp_string_hex()
- ));
- uhd::rfnoc::ctrl_iface::sptr ctrl1 = uhd::rfnoc::ctrl_iface::make(
- xport1,
- str(boost::format("CE_%02d_Port_%02X") % i % ctrl_sid.get_dst_endpoint())
- );
+ % port_number % xport1.send_sid.to_pp_string_hex()));
+ uhd::rfnoc::ctrl_iface::sptr ctrl1 = uhd::rfnoc::ctrl_iface::make(xport1,
+ str(boost::format("CE_%02d_Port_%02X") % i
+ % ctrl_sid.get_dst_endpoint()));
make_args.ctrl_ifaces[port_number] = ctrl1;
}
UHD_LOG_TRACE("DEVICE3",
- "All control transports successfully created for block with ID " <<
- str(boost::format("0x%08X") % noc_id)
- );
+ "All control transports successfully created for block with ID "
+ << str(boost::format("0x%08X") % noc_id));
make_args.base_address = xport.send_sid.get_dst();
make_args.device_index = device_index;
- make_args.tree = subtree;
- { //Critical section for block_ctrl vector access
+ make_args.tree = subtree;
+ { // Critical section for block_ctrl vector access
boost::lock_guard<boost::mutex> lock(_block_ctrl_mutex);
- _rfnoc_block_ctrl.push_back(uhd::rfnoc::block_ctrl_base::make(make_args, noc_id));
+ _rfnoc_block_ctrl.push_back(
+ uhd::rfnoc::block_ctrl_base::make(make_args, noc_id));
}
}
}
-uhd::rfnoc::graph::sptr device3_impl::create_graph(const std::string &name)
+uhd::rfnoc::graph::sptr device3_impl::create_graph(const std::string& name)
{
// Create an async message handler
- UHD_LOGGER_TRACE("DEVICE3") << "Creating async message handler for graph `" << name << "'...";
- // FIXME: right now this only can only handle source sid of 0 and xbar local addr of 2.
- // This is ok for now because that most of our device has xbard local addr hardcode to 2.
+ UHD_LOGGER_TRACE("DEVICE3")
+ << "Creating async message handler for graph `" << name << "'...";
+ // FIXME: right now this only can only handle source sid of 0 and xbar local addr
+ // of 2. This is ok for now because that most of our device has xbard local addr
+ // hardcode to 2.
sid_t async_sid(0);
async_sid.set_dst_addr(2);
- both_xports_t async_xports = make_transport(
- async_sid,
- ASYNC_MSG,
- //FIXME: only get rx_hints from mb index of 0
- get_rx_hints(0)
- );
+ both_xports_t async_xports = make_transport(async_sid,
+ ASYNC_MSG,
+ // FIXME: only get rx_hints from mb index of 0
+ get_rx_hints(0));
UHD_LOGGER_TRACE("DEVICE3") << " Async transport ready." << std::endl;
uhd::rfnoc::async_msg_handler::sptr async_msg_handler =
- uhd::rfnoc::async_msg_handler::make(
- async_xports.recv,
- async_xports.send,
- async_xports.send_sid,
- async_xports.endianness
- );
- UHD_LOGGER_TRACE("DEVICE3") << "Async message has address " << async_xports.send_sid << std::endl;
+ uhd::rfnoc::async_msg_handler::make(async_xports.recv,
+ async_xports.send,
+ async_xports.send_sid,
+ async_xports.endianness);
+ UHD_LOGGER_TRACE("DEVICE3")
+ << "Async message has address " << async_xports.send_sid << std::endl;
// Create the graph
UHD_LOGGER_TRACE("DEVICE3") << "Creating graph `" << name << "'..." << std::endl;
uhd::rfnoc::graph::sptr graph = boost::make_shared<uhd::rfnoc::graph_impl>(
- name,
- shared_from_this(),
- async_msg_handler
- );
+ name, shared_from_this(), async_msg_handler);
return graph;
}
-