aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/b200
Commit message (Collapse)AuthorAgeFilesLines
* B200: Fix overflow handlingmichael-west2021-08-161-14/+9
| | | | | | | - Use FPGA images with fixed sc12 converter. - Properly flush channels and restart streaming in the case of an overrun. Signed-off-by: michael-west <michael.west@ettus.com>
* b200: Move the B200 radio control core into usrp/b200/Martin Braun2021-07-206-12/+410
| | | | | | | | | | | | This serves two purposes: - This file no longer goes into the compiled DLL if B200 is disabled - Discourage use of this file for new devices, making it clear that this architecture is no longer used The file itself is left untouched, only the class is renamed from radio_ctrl_core_3000 to b200_radio_ctrl_core. Note: In UHD 3, this file was also used by N230.
* b200: flush receive buffer after getting an overflowMatthew Crymble2021-06-241-1/+3
|
* b200: temporary change to remove stream restart after overflowMatthew Crymble2021-06-241-3/+8
|
* lib: Use const-ref in for loops instead of const-copyMartin Braun2021-03-041-1/+1
| | | | | | This is potentially a performance issue, even though it doesn't have a big impact in this context. Clang will warn about it, and this fixes the compiler warning.
* lib: Fix warnings related to unnecessary lambda capturesMartin Braun2021-03-041-2/+2
|
* host: Update code base using clang-tidyMartin Braun2021-03-048-41/+45
| | | | | | | | | 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-7/+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/+7
| | | | | | | 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-6/+5
|
* b200: Enable power calibration APIMartin Braun2020-06-032-19/+98
| | | | | | This lets the B200 transmit and/or receive at given reference power levels. Requirement is that the devices have been separately calibrated with an external calibration device.
* b200: Add a prop tree node usb_versionMartin Braun2020-04-141-0/+1
| | | | | At /mboards/0/usb_version, we can now read back an int. It's either 2 or 3, depending on what we're using.
* uhd: Apply clang-format against all .cpp and .hpp files in host/Martin Braun2020-03-0312-1107/+1280
| | | | | Note: template_lvbitx.{cpp,hpp} need to be excluded from the list of files that clang-format gets applied against.
* uhd: Replace all occurrences of boost::bind with std::bindMartin Braun2019-11-263-66/+65
| | | | | | | | | | | | | | | | | | | | | 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-266-44/+43
| | | | | | | | | | | | | | | | | | | 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: Remove deprecated objects and methodsMartin Braun2019-11-261-1/+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)
* b200: enable usage of custom bootloaderMark Meserve2019-04-113-79/+292
| | | | | - Update MB EEPROM - Add bootloader load command to fx3 util
* uhd: mpm: update all license header w/ "-or-later"Brent Stapleton2019-03-081-1/+1
| | | | Updating all SPDX license identifiers to include "-or-later"
* uhd: Replace all usage of boost::noncopyable with uhd::noncopyableMartin Braun2019-02-151-2/+2
| | | | | | 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.
* b200_cores: Replace usage of boost::mutex with std::mutexMartin Braun2019-02-154-7/+10
|
* b200: Use uhd::noncopyableMartin Braun2019-02-152-3/+6
| | | | | This removes the usage of boost::noncopyable in some places and serves as a reference for how to do that.
* math: Replace boost::*::{lcm,gcd}() with portable versionsMartin Braun2019-01-181-2/+1
| | | | | | 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.
* formatting: preparing for uhd::math cleanupBrent Stapleton2019-01-181-241/+286
| | | | Formatting files that will be touched in upcoming changes to uhd::math
* b200: Fix compiler warnings related to type conversionsMartin Braun2019-01-072-8/+8
| | | | | | | These compiler warnings mostly pop up on MSVC. Most of them are due to inconsistent usage of size_t, uint{8,16,32}_t, and even int. This commit changes types mostly such that variables have the correct type to begin with, although it also contains a few explicit type-casts.
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-141-2/+2
| | | | | | | | | | | | | | | | | 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!)
* B200: Restore asynchronous reset of AD936x.michael-west2018-10-172-4/+15
|
* b200: Enable access to user regs via the 'enable_user_regs' argMartin Braun2018-08-163-4/+31
|
* b200: Remove superfluous fake lambdaMartin Braun2018-08-161-11/+10
| | | | No functional changes. Cleanup only. A little less Boost.
* B200: Fix SC8 RX StreamingVidush2018-07-161-9/+18
| | | | | Coerces recv_frame_size to size of words (8 bytes) to prevent USB_TRANSFER_OVERFLOW error.
* fixup! B200: Check if recv_frame_size is larger than minimum valuemichael-west2018-07-132-12/+20
|
* b200: Update FW and FPGA imagesMartin Braun2018-07-121-2/+2
| | | | | FPGA compat number bumped to 15. This includes fixes to resolve the "lost EOB" issue on B2xx.
* B200: Check if recv_frame_size is larger than minimum valueVidush2018-07-122-0/+10
|
* B200: Change Recv Frame Size to 8176Vidush2018-07-122-2/+20
| | | | | | | | The default frame size is set to 8176. If a frame size entered is a multiple of 512, the actual frame size is set to the next lowest multiple of 24. Both changes are made to ensure no packet gets stuck in the fx3.
* lib: Purge some use of boost::system_timeMartin Braun2018-07-121-1/+0
| | | | | These are all timeout loops, which now use std::chrono::steady_clock::now() to check for timeout events.
* B200: Enforce min_tick_rateVidush2018-06-211-0/+11
|
* lib: Remove some unnecessary use of boost::posix_timeMartin Braun2018-05-141-7/+11
| | | | Replace by std::chrono.
* lib: Purge use of boost::assign, except for uhd::dictMartin Braun2018-05-021-10/+10
| | | | | | | Replaced with initialization lists. Note: uhd::dict does not work with initializer lists without making changes to said data structure. This commit has no functional changes, so keeping the boost::assigns for uhd::dict.
* lib: Purge all references to boost::this_thread::sleep()Martin Braun2018-04-301-5/+6
| | | | Replace with std::this_thread::sleep_for().
* ad936x: De-boostify ad936x_manager, minor cleanupMartin Braun2018-04-261-6/+7
| | | | | | | - Remove all use of boost::bind and boost::function - Demote some log messages to DEBUG - Change some formatting to match coding guidelines - B2xx/E310: Match changes in loopback function
* b200: Add clock rate rangeMartin Braun2018-04-031-0/+5
|
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-146-22/+23
| | | | | | | | | | | | | | | | 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: Fix some log statementsAndrej Rode2018-03-071-2/+2
| | | | Some log statements were incorrectly using multi-line log statements.
* fixup! x300,n230,e300: changes to adapt to new usrp APIMartin Braun2018-02-231-2/+2
| | | | Fixes some compiler warnings.
* fixup! x300,n230,e300,b200: changes to adapt to new usrp APITrung N Tran2018-02-221-6/+29
|
* uhd: Update license headersMartin Braun2018-02-1913-12/+24
| | | | | | | 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-2212-144/+12
|
* uhd: Changed mboard_eeprom_t interface, refactored MB EEPROM codeMartin Braun2017-09-295-12/+94
| | | | | | | | | | | | - uhd::usrp::mboard_eeprom_t is now simply a map. Its commit() method has no utility being a public API call, because the user never gets access to the appropriate I2C object (Minor API breakage) - The central mboard_eeprom.cpp file was broken up and put into many smaller compilation units in every device's implementation folder. - Renamed some of the constants (e.g. B000_* -> USRP1_*, N100_* -> N200_*) - Removed the N000_* EEPROM code, because, well, you know, there's no such device
* b200: Fixed logging messages during FPGA image loading.Martin Braun2017-06-161-11/+19
|
* utils: introduce new logging API and remove msg APIAndrej Rode2017-02-204-30/+29
|
* uhd: Replace clocking_mode_t unscoped enum with scoped versionMartin Braun2017-02-171-2/+2
| | | | | This is not a functional change, but it marks the usage of scoped enums in UHD. Commits past this one may also use this C++11 feature.