aboutsummaryrefslogtreecommitdiffstats
path: root/host/include
Commit message (Collapse)AuthorAgeFilesLines
* utils: Added set_thread_name for std::threadAshish Chaudhari2019-11-261-0/+8
|
* nirio_fifo: Replace boost::atomic with std::atomicMartin Braun2019-11-261-2/+3
| | | | This is the only occurrence of boost::atomic in UHD.
* uhd: types: Extend stream_cmd_t::num_samps to 64 bitsMartin Braun2019-11-261-1/+1
| | | | Newer devices may be able to provide more then 32 bits worth of samples.
* uhd: Add new exceptions for RFNoC-specific errorsMartin Braun2019-11-261-0/+82
| | | | | | | | | | | | | | | | | | | Add the following exception types: - rfnoc_error - op_failed - op_seqerr - op_timeout - op_timeerr - access_error - It is meant to be used when access violations have taken place, i.e., when a resource is being accessed without appropriate permissions. - resolve_error - This is a derivative of rfnoc_error, and will be used when a property resolution fails unexpectedly. - routing_error - For use when the framework has path setup issues or general routing-related errors
* uhd: Remove deprecated objects and methodsMartin Braun2019-11-267-142/+0
| | | | | | | | | This removes the following symbols: - otw_type_t - clock_config_t - Any functions that use those symbols - Non-standard args from examples (e.g., --total-time is deprecated in favour of --duration)
* uhd: Remove support for N230Martin Braun2019-11-261-1/+1
| | | | Note: N230 is still supported on the 3.15 LTS branch
* cmake: Bump dependency versions for UHD 4.0.0.0Martin Braun2019-11-261-94/+0
| | | | | | | | | | | | - Boost >= 1.58 - CMake >= 3.5.1 - gcc >= 5.4.0 - Clang >= 3.8, AppleClang >= 600 - Python >= 3.5 (Py2k no longer supported) - Numpy >= 1.11 - C++14 for lib, include may now use C++11 constructs. - Because there is no more code requiring C++03 syntax, we remove the include-specific clang-format file
* uhd: dict: Add typecast operator to std::map<>Martin Braun2019-11-042-0/+15
| | | | | | | This will now allow calls like this: uhd::dict<k, v> d = /* ... */; auto m = static_cast<std::map<k, v>>(d);
* cmake: Add UHD_COMPONENT variablemichael-west2019-10-151-0/+3
| | | | | | | | Added cmake variable to set the component (currently UHD or MPM). so the banner printed by the log_resource would reference the correct component. Added accessor function and appropriate calls in log.cpp. Signed-off-by: michael-west <michael.west@ettus.com>
* Revert "uhd: Check property type at access; error if mismatch"Martin Braun2019-09-302-12/+3
| | | | | | | This reverts commit 94592641f0647563bc4d2163805d5284a6796273. The commit itself was OK, but it changed the requirements such that UHD could only be compiled with C++11.
* uhd: include: Add <string> to headers where it was missingMartin Braun2019-09-092-1/+3
|
* rfnoc: Read cmd FIFO size from blocks & configure ctrl_ifaceMartin Braun2019-09-041-2/+2
| | | | | | | | | | This requires noc_shell compat number 6.0. It will allow sending as many command packets, but no more, than there is space. Updated FPGA images for devices: - X310/X300 - N300/N310/N320 - E310/E320
* uhd: Check property type at access; error if mismatchAaron Rossetto2019-09-042-3/+12
|
* docs: Improve language on threading for recv() and send()Martin Braun2019-08-221-1/+11
|
* boost: Replaced units::demangle with core::demangle where appropriateMartin Braun2019-08-221-3/+3
| | | | Boost moved this around in version 1.58.
* uhd: Add UHD_FALLTHROUGH attributeMartin Braun2019-08-161-0/+13
| | | | | | | | | | | | | | | | | This provides a platform-independent attribute to allow fallthroughs in switch statements. Example: switch (foo) { case BAR: do_something(); UHD_FALLTHROUGH case BAZ: do_another_thing(); } The usage of UHD_FALLTHROUGH will avoid a compiler warning if indeed the fallthrough was intentional. The associated warning (-Wimplicit-fallthrough) is only available on gcc and Clang.
* uhd: rfnoc: docs: Fix Doxygen warning due to undoc'd parameterMartin Braun2019-08-131-1/+2
|
* rfnoc: Add update_graph() API callMartin Braun2019-07-151-0/+28
| | | | | | Blocks that change scaling, tick rate, or sampling rate can now notify the graph to update streamers. Before, this was handled only by mult_usrp, and only for DDC and DUC blocks.
* utils: log: Fix includes for UHD_HEX()Martin Braun2019-06-121-0/+1
| | | | Using UHD_HEX() requires <iomanip>, which is now part of log.hpp.
* rfnoc: Consolidate double-documented param in block_ctrl_baseAlex Williams2019-06-071-3/+3
|
* types: Add explicit copy-constructor for sid_tAlex Williams2019-06-071-0/+5
| | | | Removes warnings due to -Wdeprecated-copy
* utils: add support for directly updating components from image_loaderAndrew Lynch2019-05-021-1/+5
|
* prop_tree: add pop() functionBrent Stapleton2019-05-022-0/+13
| | | | | Adding pop function to property tree, which will remove and return a property from the property tree. This also includes unit tests.
* prop_tree: formatting property tree filesBrent Stapleton2019-05-022-57/+101
| | | | | | | | | | | | - Ran clang-format - Fixed typos - Updated copyright headers clang-format -i --style=file \ host/include/uhd/property_tree.hpp \ host/include/uhd/property_tree.ipp clang-format -i --style=file \ host/lib/property_tree.cpp host/tests/property_test.cpp
* C: Add uhd_get_abi_string, uhd_get_version_stringNicholas Corgan2019-05-023-0/+38
| | | | | | | | Clients that include the UHD C headers have access to the version and ABI #defines, but this is not available to clients that dynamically load the library. This commit adds publicly exported functions to provide this information.
* device3: Constraint send/recv_frame_size based on down/upstream MTUSugandha Gupta2019-05-012-0/+24
| | | | | | We need to properly contraint the send/recv_frame_size based on the minimum MTU of all the down/upstream blocks. This fixes the issue with E310 tx/rx streaming as it has smaller MTU sizes than the other usrps.
* e310/e320: Move E310 to MPM architecture and refactorSugandha Gupta2019-05-012-3/+3
| | | | | | | | | | | | - Turns the E310 into an MPM device (like N3xx, E320) - Factor out common code between E320 and E310, maximize sharing between the two devices - Remove all pre-MPM E310 code that is no longer needed - Modify MPM to remove all existing overlays before applying new ones (this is necessary to enable idle image mode for E310) Co-authored-by: Virendra Kakade <virendra.kakade@ni.com> Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
* include: Remove BOOST_VERSION hacks for 1.58Martin Braun2019-04-242-27/+7
| | | | | This removes all version hacks that were required for Boost versions 1.53 through 1.58 (since we now require 1.58).
* utils: Add scope_exit objectMartin Braun2019-04-012-0/+56
| | | | | | | This is a utility for RAII-style operations. An object that will run code when a scope is left. Also includes unit tests.
* utils: Change UHD_INLINE to inline in dirty_tracked.hppMartin Braun2019-03-251-7/+7
| | | | | This avoids having to include config.hpp. Also, the UHD_INLINE should be avoided in favour of either inline, or UHD_FORCE_INLINE.
* clang-format: Break after templatesMartin Braun2019-03-211-1/+1
| | | | | | | | | | | Before, code would get formatted thus: template <typename T> class X {} Now, it gets formatted as such: template <typename T> class X {}
* uhd: Remove cal containersMartin Braun2019-03-204-176/+0
| | | | | They are currently unused, and may need reimplementation. For the time being, they can go out of the codebase.
* uhd: mpm: update all license header w/ "-or-later"Brent Stapleton2019-03-0810-10/+10
| | | | Updating all SPDX license identifiers to include "-or-later"
* Revert "RFNoC: Fix flush in source_block_ctrl_base"Michael West2019-03-051-3/+3
| | | | | | This reverts commit 655b9b0f8e8f8556d434404da51aaccd124bbc3a. Signed-off-by: Michael West <michael.west@ettus.com>
* types: sid: Remove duplicate operator=()Martin Braun2019-02-281-6/+0
| | | | | This fixes a warning about multiple operators. Doesn't change any functionality.
* nirio: Demote rpc client start/stop log messages to DEBUGMartin Braun2019-02-181-2/+2
|
* node_ctrl_base: add check valid num_input_portsTrung Tran2019-02-181-2/+3
| | | | | | | | | | | | A node is not a block, it doesn't use any block definition to populate the number of input and output ports. This is equivalent to it have undefined number of input and output ports. The _find_child_node function relies on node input and output port size. When port size is not defined we should not follow the active channel; instead, we need to greedily to find all child node. Without this change graph_search_test will fail. Signed-off-by: Trung Tran<trung.tran@ettus.com>
* RFNoC: Fix flush in source_block_ctrl_baseMichael West2019-02-181-3/+3
| | | | | | | | | | The configure_flow_control_out function was set to dump any packets onto the crossbar, which could cause issues on the crossbar and in downstream blocks. Replacing wil a call to the _flush() function in the block_ctrl_base parent class, which drops the packets so they do not get put onto the crossbar. Signed-off-by: Michael West <michael.west@ettus.com>
* RFNoC: Disable FC ACK packets for lossless linksMichael West2019-02-182-7/+9
| | | | | | | FC ACK packets are unnecessary on lossless links and degrade overall performance. This change disables those packets on all lossless links. Signed-off-by: Michael West <michael.west@ettus.com>
* uhd: Replace all usage of boost::noncopyable with uhd::noncopyableMartin Braun2019-02-1528-52/+60
| | | | | | This fixes the build errors that occur due to switching locations of noncopyable.hpp within Boost, and also allows us to remove boost::noncopyable in one fell swoop.
* uhd: utils: Add noncopyable classMartin Braun2019-02-152-0/+56
| | | | | | | | | | | This is a replacement for boost::noncopyable. It has two implementations with identical APIs, selectable by a macro. One "implementation" is a renaming of the Boost version. The other is simply implemented using C++11 features. The motivation is that the location for boost::noncopyable has changed over the range of Boost versions, thus, using boost::noncopyable is difficult to maintain for a broad range of Boost versions.
* E3xx: Increase spp limit for E3xx radiomichael-west2019-01-311-2/+1
| | | | | | | Increase frame size from 364 to 508 samples. Reduces overhead. For some reason yet to be understood, sizes over 508 do not work. Signed-off-by: michael-west <michael.west@ettus.com>
* fixup! RFNoC: More graph traversal fixesmichael-west2019-01-312-30/+10
|
* RFNoC: More graph traversal fixesmichael-west2019-01-312-3/+31
| | | | | | | | | | - Store number of input and ouptput ports from block definition. - Use number of input and ouptut ports for graph traversal rather than number of connected blocks. - Fixes DAC synchronization failure errors when using only one TX channel on X300. Signed-off-by: michael-west <michael.west@ettus.com>
* RFNoC: Update FIFO XML definitionmichael-west2019-01-291-0/+2
| | | | | | Added explicit use of default block controller to remove warnings. Signed-off-by: michael-west <michael.west@ettus.com>
* transport: muxed_zero_copy_if fixesmichael-west2019-01-211-0/+4
| | | | | | | | | | Changed muxed_zero_copy_if to make each stream buffer the same number of frames as the underlying transport and changed the size of the underlying control transport for X300 and MPMD devices to match the size of the command FIFO in order to prevent starvation of any single control transport. Added some constants to remove hard coded values. Signed-off-by: michael-west <michael.west@ettus.com>
* endianness: Replace Boost macros with custom onesMartin Braun2019-01-213-6/+37
| | | | | | | | Boost changed the macros for endianness identification in 1.69, and the deprecation warning is a pretty noisy one during compilation. This abstracts away the Boost macro, so we have two UHD macros, UHD_BIG_ENDIAN and UHD_LITTLE_ENDIAN. They indicate big and little endian byte order.
* lib: transport: convert: apply clang-formatBrent Stapleton2019-01-211-74/+96
| | | | | | | | | | | | | This is a continuation of 967be2a4. Applying clang-format to files needed for endianness changes. $ clang-format -i --style=file \ host/include/uhd/types/endianness.hpp \ host/include/uhd/utils/byteswap.hpp \ host/include/uhd/utils/byteswap.ipp $ clang-format -i --style=file \ host/lib/convert/convert_with_tables.cpp \ host/lib/transport/chdr.cpp
* multi_usrp: fix get_{tx/rx}_dc_offset_range default argumentChristian Hahn2019-01-181-2/+2
| | | | | | | The use of the wildcard channel index, ALL_CHANS, as the default value for the argument chan in the methods get_{tx/rx}_dc_offset_range seems inappropriate. A default value of 0 is consistent with other getters.
* math: Replace boost::*::{lcm,gcd}() with portable versionsMartin Braun2019-01-181-0/+23
| | | | | | Boost changed the lcm() and gcd() functions in Boost 1.67. This creates portable UHD versions to be used instead. They use various Boost versions under the hood conditionally.