aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/b200/b200_io_impl.cpp
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-201-1/+1
| | | | | | | | | | | | 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
|
* host: Update code base using clang-tidyMartin Braun2021-03-041-2/+3
| | | | | | | | | 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
* uhd: Apply clang-format against all .cpp and .hpp files in host/Martin Braun2020-03-031-6/+14
| | | | | 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-261-7/+7
| | | | | | | | | | | | | | | | | | | | | 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-20/+20
| | | | | | | | | | | | | | | | | | | 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.
* b200_cores: Replace usage of boost::mutex with std::mutexMartin Braun2019-02-151-2/+2
|
* 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
* 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-191-1/+2
| | | | | | | 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-221-12/+1
|
* utils: introduce new logging API and remove msg APIAndrej Rode2017-02-201-5/+5
|
* uhd: replace BOOST_FOREACH with C++11 range-based for loopAndrej Rode2017-02-101-4/+4
| | | | | 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-081-14/+14
| | | | | | | | 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).
* B2xx: fixed a typo when checking arguments on a streamerPaul David2016-09-271-1/+1
|
* Revert "B200: Adding separate B200 radio control code"Martin Braun2016-08-231-1/+1
| | | | This reverts commit 5d360ab43eca63e3f12f0e5abde5a3186b7f12dc.
* B200: Adding separate B200 radio control codemichael-west2016-07-221-1/+1
|
* Merge branch 'maint'Martin Braun2016-06-231-0/+16
|\ | | | | | | | | Conflicts: host/lib/usrp/b200/b200_impl.cpp
| * b200: Update DSPs after changing tick rateMartin Braun2016-06-221-0/+16
| | | | | | | | | | Reviewed-By: Andrew Lynch <andrew.lynch@ni.com> Reviewed-By: Michael West <michael.west@ettus.com>
* | Merge branch 'maint'Martin Braun2016-04-221-10/+9
|\| | | | | | | | | | | | | Conflicts: fpga-src host/cmake/Modules/UHDVersion.cmake host/lib/usrp/b200/b200_impl.cpp
| * b200: Fixed setting of max rateMartin Braun2016-04-221-10/+9
| | | | | | | | | | | | | | DSP rates are now being tracked as in whether or not they've been set. We can disregard unset DSPs for the automatic clock rate calculation. Reviewed-By: Derek Kozel <derek.kozel@ettus.com>
* | Merge branch 'maint'Martin Braun2016-02-081-2/+2
|\|
| * B200: Fix for increasing retune timesmichael-west2016-02-051-2/+2
| |
* | Merge branch 'maint'Ashish Chaudhari2015-12-151-1/+2
|\| | | | | | | | | | | | | Conflicts: host/lib/usrp/b200/b200_impl.hpp host/lib/usrp/e300/e300_fpga_defs.hpp host/lib/usrp/x300/x300_fw_common.h
| * B2xx: Added B205mini support.michael-west2015-12-101-1/+2
| | | | | | | | | | | | - Add support to b200_impl - New INF file - Removed references to old 'B205' name
* | usrp3: Added support for pre-FIFO TX flowcontrolAshish Chaudhari2015-09-161-1/+0
|/ | | | | | - tx_vita_core_3000 can now monitor for flow-control immediately before the radio or immediately before the radio external FIFO - B200 does not have an external FIFO so it will use the default config
* Fixed minor warningsNicholas Corgan2015-09-011-2/+2
| | | | | | * Unreferenced exceptions in try-catch statements * Incorrect function documentation * Unlabelled unused variables
* B2XX: Added B200mini supportmichael-west2015-08-171-1/+1
|
* ad9361/b200/e300: Refactored AD936x + perifs managementMartin Braun2015-07-291-47/+10
| | | | | | - Created AD936x manager class - Moved functionality from B2x0 and E310 into manager - Separated property tree + perifs initialization in both device classes
* b200: Modify initialization sequence to avoid warningsMartin Braun2015-06-291-14/+8
| | | | | | | | | | This will set the actual default rate to an integer factor of whatever the tick rate is, but leave the property tree value at zero. This avoids warnings if the chosen tick rate is not a multiple of the previous default rate, but also returns a zero value for the rate when it has not been initialized, allowing the user to probe if the value has not yet been set.
* b200: Added another rate check for auto tick rate modeMartin Braun2015-05-111-0/+8
|
* b200: Removed stray messagesMartin Braun2015-05-111-2/+0
|
* b200: Replaced float comparisons with uhd::math::fp* operationsMartin Braun2015-05-071-5/+16
|
* Merge branch 'maint'Martin Braun2015-04-271-16/+18
|\
| * b200: Added convenience subdev override for consistent subdev experienceMartin Braun2015-04-271-16/+18
| |
| * b200: Boost 1.58-related fixes in B200 IO code.Michael Dickens2015-04-201-2/+2
| | | | | | | | | | | | When returning an invalid payload in handle_async_task, Boost 1.58 does not allow NULL to be returned; instead, to be more compatible, use the correct type initialized to (0, []).
* | b200: Throw error for unreachable sampling ratesMartin Braun2015-04-241-1/+18
| | | | | | | | | | When auto tick rate is used, and the sampling rate exceeds the limits, throw an error instead of coercing to the default rate.
* | b200: Boost 1.58-related fixes in B200 IO code.Michael Dickens2015-04-211-2/+2
| | | | | | | | | | | | When returning an invalid payload in handle_async_task, Boost 1.58 does not allow NULL to be returned; instead, to be more compatible, use the correct type initialized to (0, []).
* | Merge branch 'maint'Martin Braun2015-04-141-1/+10
|\| | | | | | | | | | | | | Conflicts: host/lib/usrp/b200/b200_io_impl.cpp host/lib/usrp/common/ad9361_driver/ad9361_device.cpp host/lib/usrp/common/ad9361_driver/ad9361_device.h
| * b200: Added warning for high bandwidth usageMartin Braun2015-04-141-0/+10
| |
* | b200: Remove now obsolete check for recommended max clock rateMartin Braun2015-04-101-2/+1
| |
* | Merge branch 'maint'Martin Braun2014-11-211-0/+4
|\| | | | | | | | | Conflicts: host/lib/usrp/b200/b200_impl.hpp
| * b200: serialized access to get_rx/tx_streamJulian Arnold2014-11-211-0/+4
| |
* | b200: Make the master clock rate auto-configurableMartin Braun2014-11-201-21/+135
|/ | | | | | | | | | When no master_clock_rate is defined, the B200 driver will now select a suitable clock rate automatically based on the selected sampling rate. The selected tick rate is a multiple of the LCM of tx and rx rates. Auto-setting is done every time a streamer is generated or the sampling rate is configured.
* Merge branch adding warning regarding MCR on the B2xx.Ben Hilburn2014-03-271-0/+44
|\
| * b200: throw exception when master clock rate (tick rate) is requested to be ↵Balint Seeber2014-02-141-0/+44
| | | | | | | | | | | | > max for certain # of channels (i.e. restrict to 30.72MHz for MIMO) Also includes sscanf type fix in b200_impl and longer timeout for AD9361 read
* | b200: Added channel mapping capabilitiesMartin Braun2014-02-251-40/+29
|/