aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp_clock
Commit message (Collapse)AuthorAgeFilesLines
* uhd: Remove includes of list_of.hpp where appropriateMartin Braun2021-06-242-2/+0
| | | | This Boost header is included in some places, despite not being used.
* host: Update code base using clang-tidyMartin Braun2021-03-044-16/+16
| | | | | | | | | The checks from the new clang-tidy file are applied to the source tree using: $ find . -name "*.cpp" | sort -u | xargs \ --max-procs 8 --max-args 1 clang-tidy --format-style=file \ --fix -p /path/to/compile_commands.json
* mpmd: Skip find if "resource" key is specifiedmichael-west2021-02-111-4/+1
| | | | | | | | | | | MPM devices were being discovered when trying to locate PCIe connected devices. Adding filter to exclude them if the "resource" key is specified in the device address arguments. Replaces "lib: disable non pcie types in find with resource" to reduce impact to older devices and remove API change. Signed-off-by: michael-west <michael.west@ettus.com>
* lib: disable non pcie types in find with resourceSteven Koo2020-10-051-1/+4
| | | | | | | mpmd find doesn't respect the "resource" arg hint and can be detected when "resource" is set. This results in incorrect device selection when using PCIe. This change adds detection for "resource" as a prefix in the device hints for mpmd and the other devices.
* uhd: clang format device implSteven Koo2020-10-051-1/+1
|
* uhd: Apply clang-format against all .cpp and .hpp files in host/Martin Braun2020-03-031-1/+1
| | | | | Note: template_lvbitx.{cpp,hpp} need to be excluded from the list of files that clang-format gets applied against.
* octoclock: Change type of EEPROM property to mboard_eeprom_tMartin Braun2020-02-042-5/+8
| | | | | | | | | Before, the type was octoclock_eeprom_t, which was incompatible with mboard_eeprom_t and would cause issues with uhd_usrp_probe. octoclock_eeprom_t is a superset of mboard_eeprom_t, and there is no necessity for exposing the additional features to the public. This harmonizes the Octoclock prop tree with the rest of UHD, and fixes an issue where the Octoclock won't allow uhd_usrp_probe on master branch.
* octoclock: Avoid usage of uninitialized memoryMartin Braun2020-02-045-41/+48
| | | | | | | | The Octoclock host code would send uninitialized memory over the network, which would be flagged by tools such as Valgrind. This patch creates a factory function for OctoClock packets that initializes the memory to zero, defaults the proto version to the OctoClock default, and can provide a random sequence number if none is given.
* octoclock: Apply clang-formatMartin Braun2020-02-048-659/+753
|
* uhd: Replace all occurrences of boost::bind with std::bindMartin Braun2019-11-261-22/+16
| | | | | | | | | | | | | | | | | | | | | Note: Replacing everything with a lambda would be even better, but that can't be easily scripted so we'll do this as a first step to reduce the Boost footprint. This also removes occurences of #include <boost/bind.hpp>, and makes sure all usages of std::bind have an #include <functional>. clang-format wasn't always applied to minimize the changeset in this commit, however, it was applied to the blocks of #includes. Due to conflicts with other Boost libraries, the placeholders _1, _2, etc. could not be directly used, but had to be explicitly called out (as std::placeholders::_1, etc.). This makes the use of std::bind even uglier, which serves as another reminder that using std::bind (and even more so, boost::bind) should be avoided. nirio/rpc/rpc_client.cpp still contains a reference to boost::bind. It was not possible to remove it by simply doing a search and replace, so it will be removed in a separate commit.
* uhd: Replace usage of boost smart pointers with C++11 counterpartsMartin Braun2019-11-261-1/+1
| | | | | | | | | | | | | | | | | | | This removes the following Boost constructs: - boost::shared_ptr, boost::weak_ptr - boost::enable_shared_from_this - boost::static_pointer_cast, boost::dynamic_pointer_cast The appropriate includes were also removed. All C++11 versions of these require #include <memory>. Note that the stdlib and Boost versions have the exact same syntax, they only differ in the namespace (boost vs. std). The modifications were all done using sed, with the exception of boost::scoped_ptr, which was replaced by std::unique_ptr. References to boost::smart_ptr were also removed. boost::intrusive_ptr is not removed in this commit, since it does not have a 1:1 mapping to a C++11 construct.
* uhd: mpm: update all license header w/ "-or-later"Brent Stapleton2019-03-082-2/+2
| | | | Updating all SPDX license identifiers to include "-or-later"
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-142-4/+4
| | | | | | | | | | | | | | | | | Also updates our coding style file. Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code (with GNU compliant sed): cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done > convert.sed \ && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \ '*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed (Make sure the backslashes don't get mangled!)
* lib: Purge some use of boost::system_timeMartin Braun2018-07-121-3/+4
| | | | | These are all timeout loops, which now use std::chrono::steady_clock::now() to check for timeout events.
* lib: Purge all references to boost::this_thread::sleep()Martin Braun2018-04-302-4/+7
| | | | Replace with std::this_thread::sleep_for().
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-141-2/+2
| | | | | | | | | | | | | | | | To avoid the proliferation of additional include directories and multiple ways of including project-local headers, we now default to moving all headers that are used across UHD into the uhdlib/ subdirectory. Some #include statements were also reordered as they were modified for closer compliance with the coding guidelines. Internal cpp source files should now include files like this: #include <uhdlib/rfnoc/ctrl_iface.hpp> Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* uhd: Update license headersMartin Braun2018-02-1911-9/+20
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* Move all license headers to SPDX format.Martin Braun2017-12-2211-132/+11
|
* uhd: Replaced many lexical_cast with appropriate C++11 equivalentsMartin Braun2017-06-293-5/+3
|
* logging: Demoted a number of DEBUG messages to TRACEMartin Braun2017-04-051-1/+1
|
* utils: introduce new logging API and remove msg APIAndrej Rode2017-02-202-21/+18
|
* uhd: replace BOOST_FOREACH with C++11 range-based for loopAndrej Rode2017-02-105-10/+6
| | | | | Note: This is the first commit that uses for-range, and range-based for-loops are now usable for UHD development.
* Remove all boost:: namespace prefix for uint32_t, int32_t etc. (fixed-width ↵Martin Braun2016-11-087-61/+61
| | | | | | | | types) - Also removes all references to boost/cstdint.hpp and replaces it with stdint.h (The 'correct' replacement would be <cstdint>, but not all of our compilers support that).
* Merge branch 'UHD-3.9.LTS' into maintMartin Braun2016-09-021-13/+10
|\ | | | | | | | | | | | | | | This provides the GPS fixes. Conflicts: host/CMakeLists.txt tools/debs/upload_debs.sh
| * Octoclock: Simplify GPSDO UART so it does not strip or add charactersmichael-west2016-09-021-14/+10
| |
| * GPSDO: Make sure read_uart() returns only complete strings for all devices.michael-west2016-09-021-0/+1
| |
* | Merge branch 'maint'Martin Braun2016-08-017-43/+60
|\| | | | | | | | | | | Conflicts: host/lib/usrp/dboard/db_wbx_version2.cpp host/lib/usrp/dboard/db_wbx_version3.cpp
| * Octoclock: Fixed issues related to missing strings from GPSDO.michael-west2016-06-282-13/+26
| | | | | | | | | | - Corrected case when num_wraps overflowed - Added limit to cache age
| * Octoclock: Fix firmware version compatibilitymichael-west2016-06-277-30/+34
| |
* | Merge branch 'maint'Martin Braun2016-06-176-34/+64
|\|
| * octoclock: bugfixes, bumped firmware compat number to 4Nicholas Corgan2016-06-176-32/+62
| | | | | | | | | | | | | | | | | | * host: consistency in setting packet sequence numbers * firmware: populate packet length field when setting GPSDO cache * both: logic for dealing with mismatching compatibility numbers Reviewed-By: Michael West <michael.west@ettus.com> Reviewed-By: Martin Braun <martin.braun@ettus.com>
| * Octoclock: Fix off by one errors in uart codemichael-west2016-06-161-2/+2
| |
* | Merge branch 'maint'Martin Braun2016-06-141-2/+2
|\|
| * Spelling fixesNicholas Corgan2016-06-141-2/+2
| |
* | Merge branch 'maint'Martin Braun2016-06-061-8/+10
|\|
| * octoclock: Fix multi-line #define statementsMarcus Müller2016-06-061-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now, use `do{...} while(0)` to pack multiple statements into a single one that isn't fragile. Currently ``` if(state_just_right) OCTOCLOCK_SEND_AND_RECV(all,the,options); ``` would introduce annoying bugs. Generally, there's no good reason this is a `#define` rather than a C/C++ function. The `OCTOCLOCK_PACKET_MATCHES` should probably be a C function, too, or simply an overloaded `==` operator on to `const octoclock_packet_t&`.
* | prop_tree: Multiple API enhancements to uhd::propertyAshish Chaudhari2016-02-111-7/+7
| | | | | | | | | | | | | | | | | | - Added desired and coerced values and accessors to property - Added support to register desired subscribers - set APIs don't reallocate storage for a property value - Renamed callback method registration APIs - Registering 2 coercers or publishers for a property will throw - Registering a coercer and a publisher for the same property will throw
* | Merge branch 'maint'Ashish Chaudhari2015-12-156-670/+44
|\| | | | | | | | | | | | | Conflicts: host/lib/usrp/b200/b200_impl.hpp host/lib/usrp/e300/e300_fpga_defs.hpp host/lib/usrp/x300/x300_fw_common.h
| * ihex: Windows fixesNicholas Corgan2015-12-141-9/+8
| |
| * octoclock: Now uses internal ihex parserMartin Braun2015-12-146-669/+44
| |
* | cmake: Cleaned up output, removed duplicate OctoClock component registrationMartin Braun2015-11-171-2/+0
|/
* octoclock: fixed still-in-bootloader error messageNicholas Corgan2015-10-061-1/+1
|
* Fixed minor warningsNicholas Corgan2015-09-012-7/+7
| | | | | | * Unreferenced exceptions in try-catch statements * Incorrect function documentation * Unlabelled unused variables
* octoclock: replaced Intel hex -> binary converterNicholas Corgan2015-08-148-290/+631
|
* C API cleanup, feature additionsNicholas Corgan2015-08-121-26/+13
| | | | | | * Cleaned up usage of handles vs. handle pointers * Store global string for last error thrown * Removed uhd::device_addr_t handle, added std::vector<std::string> handle
* cmake: added variable to LIBUHD_REGISTER_COMPONENT macro to make required, ↵Nicholas Corgan2015-08-111-1/+1
| | | | | | set LibUHD to required * If required component's dependencies aren't met, CMake will throw an error unless user specifically disables it
* C API: feature additions, bugfixesNicholas Corgan2015-08-071-0/+14
| | | | | | * Wrapped uhd::device_addrs_t, added find functions for multi_usrp, multi_usrp_clock * Replaced getopt with public domain implementation * Minor bugfixes
* uhd: C API wrapperNicholas Corgan2015-08-062-1/+182
| | | | | | | * multi_usrp, multi_usrp_clock, and associated classes accessible through C * Added Doxygen documentation explaining structure and API * Simple RX and TX streaming examples * Unit tests for different parts of C interface and C++ error conversion
* image_loader: force user to specify deviceNicholas Corgan2015-08-051-13/+35
| | | | | * On utility level, force user to use --args=type=foo * In each loader, throw an error if args are ambiguous
* Added uhd::image_loader class and uhd_image_loader utilityNicholas Corgan2015-07-155-5/+617
| | | | | | * Single class for loading firmware/FPGA images onto devices instead of multiple utilities * Loading functions are registered for each device, corresponding to their --args="type=foo" name * Deprecation warnings added to all product-specific image loading utilities