aboutsummaryrefslogtreecommitdiffstats
path: root/host/include
Commit message (Collapse)AuthorAgeFilesLines
...
* rfnoc: add chdr packet interfaceTrung Tran2019-11-262-15/+196
| | | | This is a generic CHDR interface that abstracts out the bus width.
* rfnoc: Add properties, nodes, and accessorsMartin Braun2019-11-267-0/+712
| | | | | | | | | | | | | | Adds the following classes: - uhd::rfnoc::node_t, the base class for RFNoC nodes - uhd::rfnoc::node_accessor_t, a class to access private properties - uhd::rfnoc::res_source_info, a struct that identifies where properties come from - uhd::rfnoc::property_t, and property_base_t (its parent) - uhd::rfnoc::prop_accessor_t, a class to access properties Add always dirty property (dirtifier). Also adds unit tests for properties.
* rfnoc: add new data_chdr packetization.Trung Tran2019-11-264-1/+411
|
* niusrprio: Add get_resource() API callMartin Braun2019-11-261-0/+5
|
* niusrpio: Apply formattingMartin Braun2019-11-261-40/+35
|
* types: time_spec: Add ASAP valueMartin Braun2019-11-261-0/+3
|
* gain groups: FormattingBrent Stapleton2019-11-261-1/+1
| | | | Applying formatting in anticipation of upcoming changes.
* gain_groups: Add zero-value gain groupsBrent Stapleton2019-11-261-0/+7
| | | | | | | | | | | | | | | Add convenience factory for making a gain group that has a single zero-valued element. This factory requires a name, which should probably be ALL_GAINS, or something similar (these constants are device-specific). Using this new make_zero factory in the X300 radio control when we don't find any gain elements so that our gain groups aren't empty. This simplifies our later setters/getters because we know that we'll always have _something_ cached. Note that we only register this zero value gain group for TX, as our ADC is registered as a gain element, so our RX gain groups are never empty.
* uhd: Add thread affinity utility functionsAaron Rossetto2019-11-261-0/+6
|
* utils: cast: Add from_str() typecastMartin Braun2019-11-261-1/+20
| | | | | This is the inverse to std::to_string(), and we can overload it with UHD-internal types.
* soft_register: Replace boost::unordered_map with std versionMartin Braun2019-11-261-2/+2
| | | | This is the only occurrence of boost::unordered_map in UHD.
* utils: soft_register: Remove 16-bit modeMartin Braun2019-11-261-14/+3
| | | | | This mode is never used, and makes it more cumbersome to maintain this code.
* utils: dirty_tracked: Remove custom copy constructorMartin Braun2019-11-261-7/+1
| | | | | | | The custom copy ctor for dirty_tracked was using the = operator, which wouldn't necessarily copy the dirty flag. By removing it (and thus using the default copy ctor), the copied dirty_tracked object now has the same value *and* dirty flag as the original.
* 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>