aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/b200/b200_impl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* b200: Move the B200 radio control core into usrp/b200/Martin Braun2021-07-201-4/+4
| | | | | | | | | | | | 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.
* 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-041-10/+10
| | | | | | | | | 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-031-19/+95
| | | | | | 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-031-526/+584
| | | | | 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-46/+46
| | | | | | | | | | | | | | | | | | | | | 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-6/+5
| | | | | | | | | | | | | | | | | | | 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: Fix compiler warnings related to type conversionsMartin Braun2019-01-071-6/+6
| | | | | | | 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.
* B200: Restore asynchronous reset of AD936x.michael-west2018-10-171-1/+10
|
* b200: Enable access to user regs via the 'enable_user_regs' argMartin Braun2018-08-161-4/+24
|
* 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-131-12/+19
|
* B200: Check if recv_frame_size is larger than minimum valueVidush2018-07-121-0/+8
|
* B200: Change Recv Frame Size to 8176Vidush2018-07-121-2/+17
| | | | | | | | 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.
* 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: 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-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
|
* uhd: Changed mboard_eeprom_t interface, refactored MB EEPROM codeMartin Braun2017-09-291-7/+2
| | | | | | | | | | | | - 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
* utils: introduce new logging API and remove msg APIAndrej Rode2017-02-201-17/+16
|
* 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.
* uhd: replace BOOST_FOREACH with C++11 range-based for loopAndrej Rode2017-02-101-13/+13
| | | | | 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-26/+26
| | | | | | | | 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).
* b200: Make sure no GPS settings are applied when no gpsdo present.Martin Braun2016-10-181-1/+4
| | | | | | | This changes the exception message thrown when gpsdo is selected as a clock source, but does not change the exception. Note that before, during its first run, the B2x0 would happily accept gpsdo as a clock source even when none was present.
* Merge branch 'UHD-3.9.LTS' into maintMartin Braun2016-09-021-4/+4
|\ | | | | | | | | | | | | | | This provides the GPS fixes. Conflicts: host/CMakeLists.txt tools/debs/upload_debs.sh
| * B200: GPSDO fixesmichael-west2016-09-021-4/+4
| | | | | | | | | | | | | | - Fix initialization order - Initialize to proper baud rate divisor - Remove unused function to change baud rate divisor - Simplify UART code so it does not strip or add characters
* | Revert "B200: Adding separate B200 radio control code"Martin Braun2016-08-231-6/+6
| | | | | | | | This reverts commit 5d360ab43eca63e3f12f0e5abde5a3186b7f12dc.
* | ad936x: Loopback check now takes peeker/poker functors instead of assuming ↵Martin Braun2016-08-091-2/+6
| | | | | | | | any kind of interface
* | B200: Adding separate B200 radio control codemichael-west2016-07-221-4/+4
| |
* | Merge branch 'maint'Martin Braun2016-06-231-5/+7
|\| | | | | | | | | Conflicts: host/lib/usrp/b200/b200_impl.cpp
| * b200: Update DSPs after changing tick rateMartin Braun2016-06-221-6/+8
| | | | | | | | | | Reviewed-By: Andrew Lynch <andrew.lynch@ni.com> Reviewed-By: Michael West <michael.west@ettus.com>
* | Merge branch 'maint'Martin Braun2016-05-061-4/+8
|\| | | | | | | | | | | Conflicts: host/CMakeLists.txt host/lib/usrp/b200/b200_impl.cpp
| * b200: Changed implicit conversion to explicit conversion for wptrAndrew Lynch2016-05-051-2/+2
| |
| * b200: Changed tree sptr in lambda to wptrAndrew Lynch2016-05-041-2/+6
| |
* | Merge branch 'maint'Martin Braun2016-04-221-0/+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-0/+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>
* | usrp3: Added RX DSP support for heterodyne samplingAshish Chaudhari2016-03-211-1/+1
| | | | | | | | | | | | | | | | | | - rx_dsp_core: set_mux takes in a fe_connection obj to determine IQ mapping and sampling mode parameters - rx_dsp_core: Support a non-zero IF for downconversion The current strategy applies a software DSP freq offset which eats into the range of the CORDIC which is OK because heterodyne assumes real-mode sampling