aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* uhd: Update version, manifest, and changelogsAaron Rossetto2021-07-214-17/+55
| | | | | | | | | | | | | | | | | | | Recently, we released UHD v4.1.0.1, which addressed some bugs that found their way into the UHD v4.1.0.0 release. While the changes that addressed those bugs were made in the master branch, they were cherry-picked into the UHD-4.1 branch, and the v4.1.0.1 release was made from that branch. However, the version, manifest, and changelogs were updated only in the UHD-4.1 branch, not in master. The effect of that is that the current master (a.k.a. the absolute latest, perhaps unstable, use-at-your-own-risk code) branch's version, manifest, and changelogs still reflect the v4.1.0.0 release. Furthermore, the UHD documentation refers to the manifest file in the master branch as the way to get (at least) the most recent filesystem and FPGA artifacts. Not updating the manifest in master renders that documentation inaccurate. This commit updates those details in master to reflect the latest v4.1.0.1 release artifacts, and updates the version of master to 4.2.0-git.
* b200: Move the B200 radio control core into usrp/b200/Martin Braun2021-07-207-25/+24
| | | | | | | | | | | | 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.
* dbsrx: Fix issue with loop variableMartin Braun2021-07-201-3/+4
| | | | | | In 26cc208, we accidentally added an `auto` into a loop, making the loop variable's scope local. However, this variable lives outside this for loop.
* rfnoc: allow find_blocks to search by device number or block count.Lars Amsel2021-07-203-4/+9
| | | | | | | | | | | | | In current implementation it is not possible to find all blocks of a device by calling find_blocks("0/"). The same is true for the block count. This is caused by the valid block id regex which requires a block name. This regex is used to validate the block name as well as to match block ids in search. This fix looses the requirement for the block name to allow searches by device number and block count and also extends the is_valid_block_id method to require the block name match to be non empty (which restores the previous behaviour at this point).
* utils: Get signal above noise floor when finding optimal gainmattprost2021-07-201-9/+31
| | | | | | | | | | Ensure that the signal is at least visible above the noise floor before attempting to identify gain compression. Another option that was considered involved starting from the top of the gain range and working down to avoid this issue, however, that option could expose the device to unsafe amounts of incoming signal power. Signed-off-by: mattprost <matt.prost@ni.com>
* ci: enable batch CISteven Koo2021-07-141-0/+1
| | | | Signed-off-by: Steven Koo <steven.koo@ni.com>
* ci: Split CI and PR pipelines for mono pipelineSteven Koo2021-07-143-47/+70
| | | | Signed-off-by: Steven Koo <steven.koo@ni.com>
* docs: Fix typo in ZBX Block DiagramSam O'Brien2021-07-141-2/+2
| | | | | | | | | | | | | | | | | | This commit changes the ZBX block diagram which is also visible at: https://files.ettus.com/manual/page_zbx.html The old version of this file had a typo where two paths in the RF section of the RX chain were both labeled "RF 3". The coresponding path in the TX chain was labeled "RF 4". Rather than change the RX label to "RF 4", this commit changes both labels to "RF 0", since that is how they are referred to in the tuning tables in the UHD source (see zbx_constants.hpp). This naming convention makes more sense anyways, because this path bypasses the filter bank in the RF section. Signed-off-by: Sam O'Brien <sam.obrien@ni.com>
* rfnoc: fix block id check to allow underscoreLars Amsel2021-07-142-1/+8
| | | | | | | We allow underscore in RFNoC's block names but the regular expressions only allowed the underscore in the block name RE. This fix adds the underscore to the block id RE as well as adapts the unit tests accordingly.
* host: Add static_assert to prevent meta_range_t(0,0)Lane Kolbly2021-07-146-9/+18
| | | | | | | meta_range_t(0,0) actually calls the iterator-based constructor for meta_range_t, which is almost certainly not the intended constructor for that call syntax. Therefore, we add a static_assert to prevent such usage, and fix all failing instances.
* lib: Add various missing includesMartin Braun2021-07-142-0/+3
|
* uhd: Replace boost::thread::id with std::thread::idMartin Braun2021-07-144-9/+11
| | | | | | | | The Boost version is identical to the std:: version (which is available since C++11) and thus is no longer needed. Because of implicit includes, this breaks compilation in other parts. Appropriate includes were added there also.
* docs: usrp_x4xx: improve filesystem update instructionsHumberto Jimenez2021-07-131-4/+41
|
* ci: Enable custom CXX flags, enable -WerrorMartin Braun2021-07-123-1/+25
| | | | | | | | | | | - Add a new boolean to make and ninja builds (uhdAllowWarnings). It defaults to false. - When asserted, we set build flags for make and ninja to -Werror -Wno-error=maybe-uninitialized - Add a new parameter to make and ninja builds (uhdCxxFlags). It is currently unused
* ci: Let make keep building upon failureMartin Braun2021-07-121-1/+1
| | | | | This is useful to get a full list of compile errors instead of just the first few. Particularly useful since we enabled -Werror.
* ci: Add clang as a compiler to all Fedora and Ubuntu containersMartin Braun2021-07-124-0/+4
|
* rfnoc: remove obsolete constantLars Amsel2021-07-121-3/+0
| | | | | | RFNoC 4.0 does not restrict the number of blocks. The constant is not used anywhere in the code and can therefore be removed savely.
* mpm: Skip DTS compatibility check if DTS is not being updated.Andrew Lynch2021-07-091-1/+2
|
* docs: fix typoMihai Turdean2021-07-091-1/+1
|
* docs: x4xx: Update information on CPLD updatingMartin Braun2021-07-092-0/+30
|
* mpm: zbx: Fix revision compat checkMartin Braun2021-07-081-11/+35
| | | | | | | | | | | | | | | The revision compat check for ZBX hardware is broken. It requires the rev_compat register to read 1. However, that is the value for RevA, which we are deliberately *not* supporting. Supported revisions are B and C, which have a rev_compat value of 2. We therefore change the check to support revision 2, but not 1. In the future, we would support revisions 2 and up if there are more revs to ZBX. Valid rev_compat values are tracked in a whitelist (which we need to update as we produce more revisions). This patch fixes an issue where MPM wouldn't start when ZBX revisions B or C are plugged in.
* mpm: Update usrp_update_fs to support X410Martin Braun2021-07-081-8/+13
| | | | | | | | | With this patch, we can, for example, run usrp_update_fs -t master to download the currently most up-to-date filesystem and apply to the device.
* mpm: max10_cpld_flash_ctrl: improve programming logHumberto Jimenez2021-07-071-4/+4
|
* core: remove boost::math in favor of std cmathMichael Dickens2021-07-062-13/+16
| | | | | | | | | | | | | | | | | | | | | | YA Boost removal!!! Justification --- const int if_freq_sign = boost::math::sign(fe_conn.get_if_freq()); _dsp_freq_offset = if_freq * (-if_freq_sign); // boost::math::sign : 1 if x > 0, -1 if x < 0, and 0 if x is zero. // ==> if if_freq_sign > 0 then * by -1 else +1 (effectively) // std::signbit : true if arg is negative, false otherwise // ==> need 'not' of input argument to invert for same result as prior algorithm double fe_if_freq = fe_conn.get_if_freq(); if (!std::signbit(fe_if_freq)) { if_freq *= -1.0; } --- The above should result in the same algorithm except possibly if fe_if_freq is exactly 0.0 in which case the results might be off by the sign (+0.0 versus -0.0).
* cmake: remove redundant includeMichael Dickens2021-07-061-1/+0
|
* cmake: correctly set and unset any CMAKE_REQUIRED variablesMichael Dickens2021-07-063-7/+10
|
* cmake: fix finding PkgConfig to work robustly (without CMake warnings)Michael Dickens2021-07-062-2/+2
|
* fixup! ci: Add CLA assistantMartin Braun2021-07-052-2/+10
| | | | | Fixed my fat-fingering of merging a preliminary branch which contained the wrong CLA text.
* ci: Add CLA assistantMartin Braun2021-07-052-0/+39
|
* tests: add missing header, required by some compilersMichael Dickens2021-07-021-0/+1
| | | | Ref: https://github.com/EttusResearch/uhd/issues/451
* fpga: ci: Add testbench pipelineWade Fife2021-07-012-0/+106
|
* uhd: Prepare branch for 4.1.0.0 releaseAaron Rossetto2021-06-303-14/+16
| | | | | | | | | uhd: Update CHANGELOG debian: Update changelog images: change filesystem version to v4.1 Signed-off-by: Aaron Rossetto <aaron.rossetto@ni.com> Signed-off-by: Steven Koo <steven.koo@ni.com>
* examples: Fix icores example to match current RFNoC specsMartin Braun2021-06-281-2/+2
| | | | The YAML file was using float-versions, not string versions.
* examples: Update example CMakeLists.txt for minimum version bumpsAaron Rossetto2021-06-282-3/+3
|
* uhd: Update minimum version of dependenciesAaron Rossetto2021-06-282-6/+6
| | | | | | | | | | | The minimum version of the following dependencies have been updated for UHD 4.1: * GCC: 5.4.0 --> 6.3.0 * Clang: 3.8.0 --> 6.0.0 * Apple Clang: 600 --> 800 * Python: 3.5 --> 3.6 * Boost: 1.58 --> 1.65
* uhd: Prepare branch for 4.1.0.0-rc1 releaseAaron Rossetto2021-06-258-35/+851
| | | | | | | | | | | uhd: Update changelog for 4.1 RC images: Update manifest debian: Update changelog debian: Update control and copyright installers: automatic version handling for dsc Signed-off-by: Aaron Rossetto <aaron.rossetto@ni.com> Signed-off-by: Steven Koo <steven.koo@ni.com>
* ci: Enable manifest to trigger CI/PR buildsSteven Koo2021-06-251-0/+2
| | | | Signed-off-by: Steven Koo <steven.koo@ni.com>
* examples: Fix tx frequency tuning in radio loopbackmattprost2021-06-251-2/+2
|
* x3xx: Fix x3xx fpga image namemattprost2021-06-251-1/+1
|
* mpm: update x410 fpga minor compat numberHumberto Jimenez2021-06-241-1/+1
|
* mpm: Bump MPM compat version to 4.0Lane Kolbly2021-06-242-2/+2
|
* cal: Add tune-settling timeMartin Braun2021-06-242-0/+7
| | | | | | This is a device-specific parameter to allow for the tune to settle before proceeding with the calibration. On X410, we set this time to 500 ms. On other devices, we leave it at 0.
* uhd: Remove includes of list_of.hpp where appropriateMartin Braun2021-06-2413-14/+0
| | | | This Boost header is included in some places, despite not being used.
* uhd: Remove all occurences of boost::math::*round()Martin Braun2021-06-2435-111/+111
| | | | | | | Its behaviour is almost identical to std::lround, which we use instead. The only downside of std::lround is that it always returns a long, which we don't always need. We thus add some casts for those cases to make the compiler happy.
* 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
|
* ci: move builds to the NI Build FarmMichael Auchter2021-06-242-289/+73
|
* ci: Add trace builds to pipelineSteven Koo2021-06-243-2/+23
| | | | Signed-off-by: Steven Koo <steven.koo@ni.com>
* cal: ensure proper range handlingLars Amsel2021-06-231-5/+9
| | | | | | | | | | | * frequency range adapts the lower limit to align with the step size the lower limit will be set to step size if it s smaller than the step size and not explicitly set. This prevents uneven measurment spots * aranges upper limit is always increased by step size to ensure the upper limit is part of the range * rearranged gain range calculation, create the range once and reverse it for RX
* cal: Remove silent capture of TypeErrorLars Amsel2021-06-231-6/+4
| | | | | | | Remove the silent capture of TypeError because it would also catch TypeErrors is initilization errors in class creation. Instead check obj to be a class first to ensure issubclass wont throw a TypeError.