From 9b215d85b7ae09b253839f93284a637ebc3385c3 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Wed, 19 Oct 2016 17:49:26 -0700 Subject: rfnoc: Fixed case where stream terminators would not notify node about active status --- host/lib/rfnoc/rx_stream_terminator.cpp | 1 + host/lib/rfnoc/tx_stream_terminator.cpp | 2 ++ 2 files changed, 3 insertions(+) (limited to 'host/lib') diff --git a/host/lib/rfnoc/rx_stream_terminator.cpp b/host/lib/rfnoc/rx_stream_terminator.cpp index b2a2d5a64..43b3664fc 100644 --- a/host/lib/rfnoc/rx_stream_terminator.cpp +++ b/host/lib/rfnoc/rx_stream_terminator.cpp @@ -58,6 +58,7 @@ void rx_stream_terminator::set_rx_streamer(bool active, const size_t) get_upstream_port(upstream_node.first) ); } + _rx_streamer_active[upstream_node.first] = active; } } diff --git a/host/lib/rfnoc/tx_stream_terminator.cpp b/host/lib/rfnoc/tx_stream_terminator.cpp index 2746fc4d8..ee856843d 100644 --- a/host/lib/rfnoc/tx_stream_terminator.cpp +++ b/host/lib/rfnoc/tx_stream_terminator.cpp @@ -54,7 +54,9 @@ void tx_stream_terminator::set_tx_streamer(bool active, const size_t /* port */) get_downstream_port(downstream_node.first) ); } + _tx_streamer_active[downstream_node.first] = active; } + } tx_stream_terminator::~tx_stream_terminator() -- cgit v1.2.3 From 129fb9d1995ed556ff7353dc9ecf2be821495108 Mon Sep 17 00:00:00 2001 From: Derek Kozel Date: Mon, 24 Oct 2016 15:48:42 -0700 Subject: Experts: Add a printer for time_spec_t --- host/lib/experts/expert_nodes.hpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'host/lib') diff --git a/host/lib/experts/expert_nodes.hpp b/host/lib/experts/expert_nodes.hpp index dc5cc934b..56afd0f10 100644 --- a/host/lib/experts/expert_nodes.hpp +++ b/host/lib/experts/expert_nodes.hpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -98,6 +99,12 @@ namespace uhd { namespace experts { os << int(val); return os.str(); } + + static std::string print(const time_spec_t time) { + std::ostringstream os; + os << time.get_real_secs(); + return os.str(); + } }; /*!--------------------------------------------------------- -- cgit v1.2.3 From d97e3abb53b4bf67b8a78bb3a151898ef8158811 Mon Sep 17 00:00:00 2001 From: Derek Kozel Date: Mon, 24 Oct 2016 15:49:02 -0700 Subject: Experts: Fix typo --- host/lib/experts/expert_nodes.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'host/lib') diff --git a/host/lib/experts/expert_nodes.hpp b/host/lib/experts/expert_nodes.hpp index 56afd0f10..a704023a3 100644 --- a/host/lib/experts/expert_nodes.hpp +++ b/host/lib/experts/expert_nodes.hpp @@ -394,7 +394,7 @@ namespace uhd { namespace experts { * class worker_node_t * * A node class to implement a function that consumes - * zero or more input data nodes and emits zeroor more output + * zero or more input data nodes and emits zero or more output * data nodes. The worker can also operate on other non-expert * interfaces because worker_node_t is abstract and the client * is required to implement the "resolve" method in a subclass. -- cgit v1.2.3 From abee6b1929390e4824964f9fc2b3ed538dc3c679 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Tue, 25 Oct 2016 15:09:06 -0700 Subject: x300: Throttle MTU to 3000 for PCIe to avoid underruns This is a temporary workaround to make PCIe available on lower rates. --- host/lib/usrp/x300/x300_impl.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'host/lib') diff --git a/host/lib/usrp/x300/x300_impl.hpp b/host/lib/usrp/x300/x300_impl.hpp index ee42dcf3e..5d3fa4fed 100644 --- a/host/lib/usrp/x300/x300_impl.hpp +++ b/host/lib/usrp/x300/x300_impl.hpp @@ -54,7 +54,10 @@ static const size_t X300_RX_SW_BUFF_SIZE_ETH_MACOS = 0x100000; //1Mib //where an element is 8 bytes. For best throughput ensure that the data frame fits in these buffers. //Also ensure that the kernel has enough frames to hold buffered TX and RX data static const size_t X300_PCIE_RX_DATA_FRAME_SIZE = 8184; //bytes -static const size_t X300_PCIE_TX_DATA_FRAME_SIZE = 8192; //bytes +//static const size_t X300_PCIE_TX_DATA_FRAME_SIZE = 8192; //bytes +// This is a temporary solution: We're throttling PCIe MTU to avoid +// underruns on Tx. Once we solve it on the FPGA side, need revert this commit. +static const size_t X300_PCIE_TX_DATA_FRAME_SIZE = 3000; //bytes static const size_t X300_PCIE_DATA_NUM_FRAMES = 2048; static const size_t X300_PCIE_MSG_FRAME_SIZE = 256; //bytes static const size_t X300_PCIE_MSG_NUM_FRAMES = 64; -- cgit v1.2.3 From 9517de45709adaea8b574011573a565007149d5d Mon Sep 17 00:00:00 2001 From: Paul David Date: Tue, 25 Oct 2016 16:19:13 -0700 Subject: CMake: fix the lvbitx path on windows --- host/lib/transport/nirio/lvbitx/process-lvbitx.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'host/lib') diff --git a/host/lib/transport/nirio/lvbitx/process-lvbitx.py b/host/lib/transport/nirio/lvbitx/process-lvbitx.py index 7887c3997..8b06cb01c 100755 --- a/host/lib/transport/nirio/lvbitx/process-lvbitx.py +++ b/host/lib/transport/nirio/lvbitx/process-lvbitx.py @@ -39,14 +39,14 @@ if (len(args) < 1): sys.exit(1) lvbitx_filename = args[0] -input_filename = os.path.abspath(lvbitx_filename) -autogen_src_path = os.path.abspath(options.output_src_path) if (options.output_src_path is not None) else os.path.dirname(input_filename) +input_filename = os.path.relpath(lvbitx_filename) +autogen_src_path = os.path.relpath(options.output_src_path) if (options.output_src_path is not None) else os.path.dirname(input_filename) class_name = os.path.splitext(os.path.basename(input_filename))[0] if (not os.path.isfile(input_filename)): print('ERROR: FPGA File ' + input_filename + ' could not be accessed or is not a file.') sys.exit(1) -if (options.merge_bin is not None and not os.path.isfile(os.path.abspath(options.merge_bin))): +if (options.merge_bin is not None and not os.path.isfile(os.path.relpath(options.merge_bin))): print('ERROR: FPGA Bin File ' + options.merge_bin + ' could not be accessed or is not a file.') sys.exit(1) if (not os.path.exists(autogen_src_path)): @@ -171,7 +171,7 @@ codegen_transform['in_fifo_list'] = in_fifo_list # Merge bitstream into LVBITX if (options.merge_bin is not None): - with open(os.path.abspath(options.merge_bin), 'rb') as bin_file: + with open(os.path.relpath(options.merge_bin), 'rb') as bin_file: bitstream = bin_file.read() bitstream_md5 = hashlib.md5(bitstream).hexdigest() bitstream_b64 = base64.b64encode(bitstream) @@ -199,12 +199,12 @@ if (options.output_lvbitx_path is not None): tree.write(os.path.join(options.output_lvbitx_path, class_name + '_fpga.lvbitx'), encoding="utf-8", xml_declaration=True, default_namespace=None, method="xml") # Save HPP and CPP -with open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'template_lvbitx.hpp'), 'r') as template_file: +with open(os.path.join(os.path.dirname(os.path.relpath(__file__)), 'template_lvbitx.hpp'), 'r') as template_file: template_string = template_file.read() with open(os.path.join(autogen_src_path, class_name + '_lvbitx.hpp'), 'w') as source_file: source_file.write(template_string.format(**codegen_transform)) -with open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'template_lvbitx.cpp'), 'r') as template_file: +with open(os.path.join(os.path.dirname(os.path.relpath(__file__)), 'template_lvbitx.cpp'), 'r') as template_file: template_string = template_file.read() with open(os.path.join(autogen_src_path, class_name + '_lvbitx.cpp'), 'w') as source_file: source_file.write(template_string.format(**codegen_transform)) -- cgit v1.2.3