Package: uhd / 3.15.0.0-4

Metadata

Package Version Patches format
uhd 3.15.0.0-4 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 docs n3xx document eeprom flags.patch | (download)

host/docs/usrp_n3xx.dox | 34 34 0 - 0 !
1 file changed, 34 insertions( )

 [patch 01/62] docs: n3xx: document eeprom flags

Add a subsection to both N310- and N320 specific features to
document the EEPROM flags simliar to as it is done in the E320
documentation.

Signed-off-by: Joerg Hofrichter <[email protected]>

0002 fixup docs e320 Add documentation for gpio and eepro.patch | (download)

host/docs/usrp_e3xx.dox | 4 2 2 - 0 !
1 file changed, 2 insertions( ), 2 deletions(-)

 [patch 02/62] fixup! docs: e320: add documentation for gpio and
 eeprom-flags


0003 mpm optionally generate XML report when running unit.patch | (download)

mpm/python/tests/run_unit_tests.py | 29 22 7 - 0 !
1 file changed, 22 insertions( ), 7 deletions(-)

 [patch 03/62] mpm: optionally generate xml report when running
 unittests

If the unittests are invoked with an extra argument -x, an XML report
is generated if the xmlrunner module is installed

0004 transport liberio correctly release resources on des.patch | (download)

host/lib/transport/liberio_zero_copy.cpp | 12 7 5 - 0 !
1 file changed, 7 insertions( ), 5 deletions(-)

 [patch 04/62] transport: liberio: correctly release resources on
 destruction

Stop the streaming and free the allocated buffers on destruction of the
liberio xport object.

Note: There is a lingering resource leak in the kernel module, this
patch merely orders the resource release correctly.

Signed-off-by: Joerg Hofrichter <[email protected]>

0005 replay Add time support to replay block.patch | (download)

host/examples/replay_samples_from_file.cpp | 62 45 17 - 0 !
host/include/uhd/rfnoc/blocks/replay.xml | 8 8 0 - 0 !
host/include/uhd/rfnoc/blocks/replay_x2.xml | 8 8 0 - 0 !
host/include/uhd/rfnoc/blocks/replay_x4.xml | 8 8 0 - 0 !
host/lib/rfnoc/replay_block_ctrl_impl.cpp | 75 50 25 - 0 !
5 files changed, 119 insertions( ), 42 deletions(-)

 [patch 05/62] replay: add time support to replay block


0006 images Update manifest.patch | (download)

images/manifest.txt | 10 5 5 - 0 !
1 file changed, 5 insertions( ), 5 deletions(-)

 [patch 06/62] images: update manifest

Update X3xx and N3xx FPGA images.

Signed-off-by: michael-west <[email protected]>

0008 fixup replay Add time support to replay block.patch | (download)

host/lib/rfnoc/replay_block_ctrl_impl.cpp | 4 1 3 - 0 !
1 file changed, 1 insertion( ), 3 deletions(-)

 [patch 08/62] fixup! replay: add time support to replay block


0009 utils images downloader Add support for UHD_IMAGES_U.patch | (download)

host/utils/uhd_images_downloader.py.in | 42 26 16 - 0 !
1 file changed, 26 insertions( ), 16 deletions(-)

 [patch 09/62] utils: images downloader: add support for
 UHD_IMAGES_URL

- Read the UHD_IMAGES_URL environment variable. If set, it
  overrides the default value for --base-url

0010 utils image_downloader check write conditions.patch | (download)

host/utils/uhd_images_downloader.py.in | 13 13 0 - 0 !
1 file changed, 13 insertions( )

 [patch 10/62] utils: image_downloader: check write conditions

Prior to downloading any images, check that the images destination:
- Is a valid directory
- Has valid permissions for images to be written

Images are downloaded to a temporary location before being written to
image destination, so these checks help avoid situation where images are
downloaded but unable to be written

0011 octoclock Apply clang format.patch | (download)

host/lib/usrp_clock/multi_usrp_clock.cpp | 47 27 20 - 0 !
host/lib/usrp_clock/octoclock/octoclock_eeprom.cpp | 125 70 55 - 0 !
host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp | 327 177 150 - 0 !
host/lib/usrp_clock/octoclock/octoclock_impl.cpp | 441 247 194 - 0 !
host/lib/usrp_clock/octoclock/octoclock_impl.hpp | 50 26 24 - 0 !
host/lib/usrp_clock/octoclock/octoclock_uart.cpp | 268 139 129 - 0 !
host/lib/usrp_clock/octoclock/octoclock_uart.hpp | 22 13 9 - 0 !
host/lib/usrp_clock/usrp_clock_c.cpp | 156 63 93 - 0 !
8 files changed, 762 insertions( ), 674 deletions(-)

 [patch 11/62] octoclock: apply clang-format


0012 octoclock Avoid usage of uninitialized memory.patch | (download)

host/lib/usrp_clock/octoclock/octoclock_eeprom.cpp | 17 6 11 - 0 !
host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp | 14 5 9 - 0 !
host/lib/usrp_clock/octoclock/octoclock_impl.cpp | 40 27 13 - 0 !
host/lib/usrp_clock/octoclock/octoclock_impl.hpp | 5 5 0 - 0 !
host/lib/usrp_clock/octoclock/octoclock_uart.cpp | 13 5 8 - 0 !
5 files changed, 48 insertions( ), 41 deletions(-)

 [patch 12/62] octoclock: avoid usage of uninitialized memory

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.

0013 utils uhd_images_downloader use HTTPS instead of HTT.patch | (download)

host/utils/uhd_images_downloader.py.in | 2 1 1 - 0 !
1 file changed, 1 insertion( ), 1 deletion(-)

 [patch 13/62] utils: uhd_images_downloader: use https instead of http
 to avoid redirect

Since the webserver responding to requests at http://files.ettus.com
replies with a redirect to the same URL, but using the https://
transport, this isn't only the safer thing we should be doing, anyways,
but also the quicker, since it saves the user from one unnecessary
redirect.

This is the 3.15-LTS variant of this fix.

0014 debian Use Python3 dependencies.patch | (download)

host/cmake/debian/control | 18 9 9 - 0 !
1 file changed, 9 insertions( ), 9 deletions(-)

 [patch 14/62] debian: use python3 dependencies

This updates the Debian control file to rely on the Python3 versions of
the respective dependencies.

0015 uhd Apply clang format against all .cpp and .hpp fil.patch | (download)

host/examples/ascii_art_dft.hpp | 6 4 2 - 0 !
host/examples/benchmark_rate.cpp | 26 19 7 - 0 !
host/examples/gpio.cpp | 2 1 1 - 0 !
host/examples/replay_samples_from_file.cpp | 16 7 9 - 0 !
host/examples/rfnoc_radio_loopback.cpp | 20 10 10 - 0 !
host/examples/txrx_loopback_to_file.cpp | 2 1 1 - 0 !
host/include/uhd/device3.hpp | 3 2 1 - 0 !
host/include/uhd/rfnoc/constants.hpp | 2 1 1 - 0 !
host/include/uhd/transport/bounded_buffer.hpp | 3 2 1 - 0 !
host/include/uhd/transport/muxed_zero_copy_if.hpp | 2 1 1 - 0 !
host/include/uhd/transport/nirio/rpc/rpc_common.hpp | 12 8 4 - 0 !
host/include/uhd/transport/nirio/rpc/usrprio_rpc_common.hpp | 3 2 1 - 0 !
host/include/uhd/transport/udp_constants.hpp | 2 2 0 - 0 !
host/include/uhd/transport/zero_copy.hpp | 3 2 1 - 0 !
host/include/uhd/types/device_addr.hpp | 3 2 1 - 0 !
host/include/uhd/types/dict.hpp | 6 4 2 - 0 !
host/include/uhd/types/filters.hpp | 3 2 1 - 0 !
host/include/uhd/types/ref_vector.hpp | 3 2 1 - 0 !
host/include/uhd/types/sid.hpp | 3 2 1 - 0 !
host/include/uhd/usrp/dboard_base.hpp | 2 1 1 - 0 !
host/include/uhd/usrp/dboard_manager.hpp | 2 1 1 - 0 !
host/include/uhd/usrp/multi_usrp.hpp | 2 1 1 - 0 !
host/include/uhd/utils/algorithm.hpp | 9 6 3 - 0 !
host/include/uhd/utils/byteswap.hpp | 12 8 4 - 0 !
host/include/uhd/utils/cast.hpp | 3 2 1 - 0 !
host/include/uhd/utils/dirty_tracked.hpp | 3 2 1 - 0 !
host/include/uhd/utils/gain_group.hpp | 2 1 1 - 0 !
host/include/uhd/utils/math.hpp | 12 8 4 - 0 !
host/include/uhd/utils/msg_task.hpp | 2 1 1 - 0 !
host/include/uhd/utils/scope_exit.hpp | 7 3 4 - 0 !
host/include/uhd/utils/soft_register.hpp | 5 3 2 - 0 !
host/lib/build_info.cpp | 158 80 78 - 0 !
host/lib/convert/convert_common.hpp | 292 143 149 - 0 !
host/lib/convert/convert_fc32_item32.cpp | 116 69 47 - 0 !
host/lib/convert/convert_impl.cpp | 131 64 67 - 0 !
host/lib/convert/convert_item32.cpp | 26 14 12 - 0 !
host/lib/convert/convert_pack_sc12.cpp | 151 90 61 - 0 !
host/lib/convert/convert_pack_sc12.hpp | 64 29 35 - 0 !
host/lib/convert/convert_unpack_sc12.cpp | 147 94 53 - 0 !
host/lib/convert/convert_unpack_sc12.hpp | 80 37 43 - 0 !
host/lib/convert/convert_with_neon.cpp | 122 63 59 - 0 !
host/lib/convert/convert_with_tables.cpp | 3 2 1 - 0 !
host/lib/convert/sse2_fc32_to_sc16.cpp | 160 85 75 - 0 !
host/lib/convert/sse2_fc32_to_sc8.cpp | 127 64 63 - 0 !
host/lib/convert/sse2_fc64_to_sc16.cpp | 138 73 65 - 0 !
host/lib/convert/sse2_fc64_to_sc8.cpp | 153 82 71 - 0 !
host/lib/convert/sse2_sc16_to_fc32.cpp | 162 84 78 - 0 !
host/lib/convert/sse2_sc16_to_fc64.cpp | 140 70 70 - 0 !
host/lib/convert/sse2_sc16_to_sc16.cpp | 240 130 110 - 0 !
host/lib/convert/sse2_sc8_to_fc32.cpp | 132 67 65 - 0 !
host/lib/convert/sse2_sc8_to_fc64.cpp | 168 86 82 - 0 !
host/lib/convert/ssse3_pack_sc12.cpp | 180 99 81 - 0 !
host/lib/convert/ssse3_unpack_sc12.cpp | 136 81 55 - 0 !
host/lib/deprecated.cpp | 41 19 22 - 0 !
host/lib/device.cpp | 143 63 80 - 0 !
host/lib/device3.cpp | 22 12 10 - 0 !
host/lib/error_c.cpp | 53 25 28 - 0 !
host/lib/exception.cpp | 75 48 27 - 0 !
host/lib/experts/expert_container.cpp | 337 190 147 - 0 !
host/lib/experts/expert_factory.cpp | 2 1 1 - 0 !
host/lib/image_loader.cpp | 64 34 30 - 0 !
host/lib/include/uhdlib/experts/expert_container.hpp | 350 177 173 - 0 !
host/lib/include/uhdlib/experts/expert_factory.hpp | 600 311 289 - 0 !
host/lib/include/uhdlib/experts/expert_nodes.hpp | 962 521 441 - 0 !
host/lib/include/uhdlib/rfnoc/async_msg.hpp | 126 64 62 - 0 !
host/lib/include/uhdlib/rfnoc/async_msg_handler.hpp | 20 7 13 - 0 !
host/lib/include/uhdlib/rfnoc/ctrl_iface.hpp | 15 5 10 - 0 !
host/lib/include/uhdlib/rfnoc/legacy_compat.hpp | 38 18 20 - 0 !
host/lib/include/uhdlib/rfnoc/radio_ctrl_impl.hpp | 249 144 105 - 0 !
host/lib/include/uhdlib/rfnoc/rpc_block_ctrl.hpp | 10 3 7 - 0 !
host/lib/include/uhdlib/rfnoc/rx_stream_terminator.hpp | 35 21 14 - 0 !
host/lib/include/uhdlib/rfnoc/tx_stream_terminator.hpp | 39 23 16 - 0 !
host/lib/include/uhdlib/rfnoc/utils.hpp | 76 38 38 - 0 !
host/lib/include/uhdlib/rfnoc/wb_iface_adapter.hpp | 38 22 16 - 0 !
host/lib/include/uhdlib/rfnoc/xports.hpp | 35 17 18 - 0 !
host/lib/include/uhdlib/transport/dpdk_common.hpp | 11 6 5 - 0 !
host/lib/include/uhdlib/transport/dpdk_simple.hpp | 8 4 4 - 0 !
host/lib/include/uhdlib/transport/dpdk_zero_copy.hpp | 21 10 11 - 0 !
host/lib/include/uhdlib/usrp/common/ad9361_ctrl.hpp | 80 40 40 - 0 !
host/lib/include/uhdlib/usrp/common/ad936x_manager.hpp | 35 13 22 - 0 !
host/lib/include/uhdlib/usrp/common/adf4001_ctrl.hpp | 68 30 38 - 0 !
host/lib/include/uhdlib/usrp/common/apply_corrections.hpp | 44 20 24 - 0 !
host/lib/include/uhdlib/usrp/common/async_packet_handler.hpp | 87 39 48 - 0 !
host/lib/include/uhdlib/usrp/common/fx2_ctrl.hpp | 66 31 35 - 0 !
host/lib/include/uhdlib/usrp/common/max287x.hpp | 618 299 319 - 0 !
host/lib/include/uhdlib/usrp/common/recv_packet_demuxer.hpp | 28 16 12 - 0 !
host/lib/include/uhdlib/usrp/common/recv_packet_demuxer_3000.hpp | 219 118 101 - 0 !
host/lib/include/uhdlib/usrp/common/validate_subdev_spec.hpp | 18 8 10 - 0 !
host/lib/include/uhdlib/usrp/constrained_device_args.hpp | 555 289 266 - 0 !
host/lib/include/uhdlib/usrp/cores/dma_fifo_core_3000.hpp | 15 8 7 - 0 !
host/lib/include/uhdlib/usrp/cores/dsp_core_utils.hpp | 10 4 6 - 0 !
host/lib/include/uhdlib/usrp/cores/gpio_atr_3000.hpp | 49 29 20 - 0 !
host/lib/include/uhdlib/usrp/cores/gpio_core_200.hpp | 19 11 8 - 0 !
host/lib/include/uhdlib/usrp/cores/i2c_core_100_wb32.hpp | 5 3 2 - 0 !
host/lib/include/uhdlib/usrp/cores/i2c_core_200.hpp | 7 4 3 - 0 !
host/lib/include/uhdlib/usrp/cores/radio_ctrl_core_3000.hpp | 14 6 8 - 0 !
host/lib/include/uhdlib/usrp/cores/rx_dsp_core_200.hpp | 23 12 11 - 0 !
host/lib/include/uhdlib/usrp/cores/rx_frontend_core_200.hpp | 10 5 5 - 0 !
host/lib/include/uhdlib/usrp/cores/rx_vita_core_3000.hpp | 13 5 8 - 0 !
host/lib/include/uhdlib/usrp/cores/spi_core_3000.hpp | 2 1 1 - 0 !
host/lib/include/uhdlib/usrp/cores/time64_core_200.hpp | 23 12 11 - 0 !
host/lib/include/uhdlib/usrp/cores/time_core_3000.hpp | 16 7 9 - 0 !
host/lib/include/uhdlib/usrp/cores/tx_dsp_core_200.hpp | 16 8 8 - 0 !
host/lib/include/uhdlib/usrp/cores/tx_frontend_core_200.hpp | 12 6 6 - 0 !
host/lib/include/uhdlib/usrp/cores/tx_vita_core_3000.hpp | 26 9 17 - 0 !
host/lib/include/uhdlib/usrp/cores/user_settings_core_200.hpp | 9 5 4 - 0 !
host/lib/include/uhdlib/usrp/cores/user_settings_core_3000.hpp | 13 7 6 - 0 !
host/lib/include/uhdlib/usrp/gpio_defs.hpp | 195 85 110 - 0 !
host/lib/include/uhdlib/utils/atomic.hpp | 97 50 47 - 0 !
host/lib/include/uhdlib/utils/auto_timer.hpp | 168 83 85 - 0 !
host/lib/include/uhdlib/utils/compat_check.hpp | 22 10 12 - 0 !
host/lib/include/uhdlib/utils/config_parser.hpp | 36 13 23 - 0 !
host/lib/include/uhdlib/utils/eeprom_utils.hpp | 54 23 31 - 0 !
host/lib/include/uhdlib/utils/ihex.hpp | 10 5 5 - 0 !
host/lib/include/uhdlib/utils/isatty.hpp | 52 26 26 - 0 !
host/lib/include/uhdlib/utils/math.hpp | 5 3 2 - 0 !
host/lib/include/uhdlib/utils/narrow.hpp | 7 4 3 - 0 !
host/lib/include/uhdlib/utils/paths.hpp | 13 6 7 - 0 !
host/lib/include/uhdlib/utils/prefs.hpp | 133 66 67 - 0 !
host/lib/include/uhdlib/utils/rpc.hpp | 160 76 84 - 0 !
host/lib/include/uhdlib/utils/system_time.hpp | 12 6 6 - 0 !
host/lib/rfnoc/block_ctrl_base.cpp | 2 1 1 - 0 !
host/lib/rfnoc/ctrl_iface.cpp | 4 2 2 - 0 !
host/lib/rfnoc/nocscript/expression.hpp | 3 2 1 - 0 !
host/lib/rfnoc/nocscript/parser.cpp | 5 3 2 - 0 !
host/lib/rfnoc/replay_block_ctrl_impl.cpp | 17 9 8 - 0 !
host/lib/rfnoc/source_block_ctrl_base.cpp | 3 1 2 - 0 !
host/lib/stream.cpp | 4 2 2 - 0 !
host/lib/stream_python.hpp | 126 56 70 - 0 !
host/lib/transport/dpdk_simple.cpp | 79 40 39 - 0 !
host/lib/transport/dpdk_zero_copy.cpp | 314 153 161 - 0 !
host/lib/transport/libusb1_base.hpp | 2 1 1 - 0 !
host/lib/transport/nirio/nifpga_lvbitx.cpp | 23 9 14 - 0 !
host/lib/transport/nirio/nirio_driver_iface_linux.cpp | 64 36 28 - 0 !
host/lib/transport/nirio/nirio_driver_iface_unsupported.cpp | 23 9 14 - 0 !
host/lib/transport/nirio/nirio_driver_iface_win.cpp | 118 72 46 - 0 !
host/lib/transport/nirio/nirio_resource_manager.cpp | 51 28 23 - 0 !
host/lib/transport/nirio/niriok_proxy.cpp | 77 36 41 - 0 !
host/lib/transport/nirio/niriok_proxy_impl_v1.cpp | 1324 655 669 - 0 !
host/lib/transport/nirio/niriok_proxy_impl_v2.cpp | 1485 727 758 - 0 !
host/lib/transport/nirio/niusrprio_session.cpp | 128 69 59 - 0 !
host/lib/transport/nirio/rpc/rpc_client.cpp | 189 106 83 - 0 !
host/lib/transport/nirio/rpc/usrprio_rpc_client.cpp | 53 30 23 - 0 !
host/lib/transport/nirio/status.cpp | 29 16 13 - 0 !
host/lib/transport/super_recv_packet_handler.hpp | 6 3 3 - 0 !
host/lib/transport/udp_zero_copy.cpp | 6 4 2 - 0 !
host/lib/types/byte_vector.cpp | 18 11 7 - 0 !
host/lib/types/device_addr.cpp | 100 55 45 - 0 !
host/lib/types/filters.cpp | 36 19 17 - 0 !
host/lib/types/filters_python.hpp | 28 13 15 - 0 !
host/lib/types/mac_addr.cpp | 42 22 20 - 0 !
host/lib/types/metadata.cpp | 15 8 7 - 0 !
host/lib/types/metadata_c.cpp | 316 110 206 - 0 !
host/lib/types/metadata_python.hpp | 92 43 49 - 0 !
host/lib/types/ranges.cpp | 124 68 56 - 0 !
host/lib/types/ranges_c.cpp | 152 49 103 - 0 !
host/lib/types/sensors.cpp | 139 60 79 - 0 !
host/lib/types/sensors_c.cpp | 237 82 155 - 0 !
host/lib/types/sensors_python.hpp | 28 16 12 - 0 !
host/lib/types/serial.cpp | 108 37 71 - 0 !
host/lib/types/serial_python.hpp | 12 5 7 - 0 !
host/lib/types/sid.cpp | 62 27 35 - 0 !
host/lib/types/string_vector_c.cpp | 67 21 46 - 0 !
host/lib/types/time_spec.cpp | 131 67 64 - 0 !
host/lib/types/time_spec_python.hpp | 17 8 9 - 0 !
host/lib/types/tune.cpp | 44 21 23 - 0 !
host/lib/types/tune_c.cpp | 35 20 15 - 0 !
host/lib/types/tune_python.hpp | 29 13 16 - 0 !
host/lib/types/types.cpp | 18 8 10 - 0 !
host/lib/types/types_python.hpp | 26 11 15 - 0 !
host/lib/types/usrp_info_c.cpp | 6 4 2 - 0 !
host/lib/types/wb_iface.cpp | 4 2 2 - 0 !
host/lib/usrp/b100/b100_impl.cpp | 504 278 226 - 0 !
host/lib/usrp/b100/b100_impl.hpp | 100 49 51 - 0 !
host/lib/usrp/b100/b100_regs.hpp | 49 24 25 - 0 !
host/lib/usrp/b100/clock_ctrl.cpp | 6 4 2 - 0 !
host/lib/usrp/b100/clock_ctrl.hpp | 14 7 7 - 0 !
host/lib/usrp/b100/codec_ctrl.cpp | 281 152 129 - 0 !
host/lib/usrp/b100/codec_ctrl.hpp | 11 6 5 - 0 !
host/lib/usrp/b100/dboard_iface.cpp | 233 128 105 - 0 !
host/lib/usrp/b100/fifo_ctrl_excelsior.cpp | 224 124 100 - 0 !
host/lib/usrp/b100/fifo_ctrl_excelsior.hpp | 14 6 8 - 0 !
host/lib/usrp/b100/io_impl.cpp | 225 125 100 - 0 !
host/lib/usrp/b100/mb_eeprom.cpp | 103 45 58 - 0 !
host/lib/usrp/b100/usb_zero_copy_wrapper.cpp | 181 104 77 - 0 !
host/lib/usrp/b200/b200_cores.cpp | 29 12 17 - 0 !
host/lib/usrp/b200/b200_cores.hpp | 26 12 14 - 0 !
host/lib/usrp/b200/b200_iface.cpp | 547 337 210 - 0 !
host/lib/usrp/b200/b200_iface.hpp | 103 42 61 - 0 !
host/lib/usrp/b200/b200_image_loader.cpp | 132 70 62 - 0 !
host/lib/usrp/b200/b200_impl.cpp | 1092 564 528 - 0 !
host/lib/usrp/b200/b200_impl.hpp | 183 103 80 - 0 !
host/lib/usrp/b200/b200_mb_eeprom.cpp | 56 25 31 - 0 !
host/lib/usrp/b200/b200_regs.hpp | 136 58 78 - 0 !
host/lib/usrp/b200/b200_uart.cpp | 63 31 32 - 0 !
host/lib/usrp/b200/b200_uart.hpp | 2 1 1 - 0 !
host/lib/usrp/common/ad9361_driver/ad9361_device.cpp | 1428 755 673 - 0 !
host/lib/usrp/common/adf4001_ctrl.cpp | 157 78 79 - 0 !
host/lib/usrp/common/adf435x.cpp | 4 1 3 - 0 !
host/lib/usrp/common/apply_corrections.cpp | 220 113 107 - 0 !
host/lib/usrp/common/fx2_ctrl.cpp | 241 132 109 - 0 !
host/lib/usrp/common/lmx2592.cpp | 391 181 210 - 0 !
host/lib/usrp/common/recv_packet_demuxer.cpp | 88 49 39 - 0 !
host/lib/usrp/common/validate_subdev_spec.cpp | 82 46 36 - 0 !
host/lib/usrp/cores/dma_fifo_core_3000.cpp | 291 162 129 - 0 !
host/lib/usrp/cores/dsp_core_utils.cpp | 22 10 12 - 0 !
host/lib/usrp/cores/gpio_atr_3000.cpp | 377 218 159 - 0 !
host/lib/usrp/cores/gpio_core_200.cpp | 205 119 86 - 0 !
host/lib/usrp/cores/i2c_core_100_wb32.cpp | 117 61 56 - 0 !
host/lib/usrp/cores/i2c_core_200.cpp | 124 66 58 - 0 !
host/lib/usrp/cores/radio_ctrl_core_3000.cpp | 280 146 134 - 0 !
host/lib/usrp/cores/rx_dsp_core_200.cpp | 297 168 129 - 0 !
host/lib/usrp/cores/rx_frontend_core_200.cpp | 92 51 41 - 0 !
host/lib/usrp/cores/rx_vita_core_3000.cpp | 113 55 58 - 0 !
host/lib/usrp/cores/spi_core_3000.cpp | 67 35 32 - 0 !
host/lib/usrp/cores/time64_core_200.cpp | 112 66 46 - 0 !
host/lib/usrp/cores/time_core_3000.cpp | 62 28 34 - 0 !
host/lib/usrp/cores/tx_dsp_core_200.cpp | 213 121 92 - 0 !
host/lib/usrp/cores/tx_frontend_core_200.cpp | 91 50 41 - 0 !
host/lib/usrp/cores/tx_vita_core_3000.cpp | 102 47 55 - 0 !
host/lib/usrp/cores/user_settings_core_200.cpp | 23 14 9 - 0 !
host/lib/usrp/cores/user_settings_core_3000.cpp | 49 28 21 - 0 !
host/lib/usrp/dboard/db_basic_and_lf.cpp | 229 113 116 - 0 !
host/lib/usrp/dboard/db_cbx.cpp | 55 30 25 - 0 !
host/lib/usrp/dboard/db_dbsrx.cpp | 548 299 249 - 0 !
host/lib/usrp/dboard/db_dbsrx2.cpp | 323 171 152 - 0 !
host/lib/usrp/dboard/db_rfx.cpp | 460 259 201 - 0 !
host/lib/usrp/dboard/db_sbx_common.cpp | 339 190 149 - 0 !
host/lib/usrp/dboard/db_sbx_common.hpp | 175 86 89 - 0 !
host/lib/usrp/dboard/db_sbx_version3.cpp | 50 28 22 - 0 !
host/lib/usrp/dboard/db_sbx_version4.cpp | 50 28 22 - 0 !
host/lib/usrp/dboard/db_tvrx.cpp | 465 275 190 - 0 !
host/lib/usrp/dboard/db_tvrx2.cpp | 1185 673 512 - 0 !
host/lib/usrp/dboard/db_twinrx.cpp | 405 228 177 - 0 !
host/lib/usrp/dboard/db_ubx.cpp | 853 425 428 - 0 !
host/lib/usrp/dboard/db_unknown.cpp | 141 68 73 - 0 !
host/lib/usrp/dboard/db_wbx_common.cpp | 103 58 45 - 0 !
host/lib/usrp/dboard/db_wbx_common.hpp | 135 69 66 - 0 !
host/lib/usrp/dboard/db_wbx_simple.cpp | 143 87 56 - 0 !
host/lib/usrp/dboard/db_wbx_version2.cpp | 235 141 94 - 0 !
host/lib/usrp/dboard/db_wbx_version3.cpp | 269 147 122 - 0 !
host/lib/usrp/dboard/db_wbx_version4.cpp | 283 156 127 - 0 !
host/lib/usrp/dboard/db_xcvr2450.cpp | 754 408 346 - 0 !
host/lib/usrp/dboard/e3xx/e31x_radio_ctrl_impl.cpp | 261 121 140 - 0 !
host/lib/usrp/dboard/e3xx/e31x_radio_ctrl_impl.hpp | 58 24 34 - 0 !
host/lib/usrp/dboard/e3xx/e31x_regs.hpp | 21 10 11 - 0 !
host/lib/usrp/dboard/e3xx/e3xx_ad9361_iface.cpp | 6 4 2 - 0 !
host/lib/usrp/dboard/e3xx/e3xx_ad9361_iface.hpp | 5 3 2 - 0 !
host/lib/usrp/dboard/e3xx/e3xx_bands.cpp | 32 21 11 - 0 !
host/lib/usrp/dboard/e3xx/e3xx_radio_ctrl_impl.cpp | 8 4 4 - 0 !
host/lib/usrp/dboard/eiscat/eiscat_radio_ctrl_impl.cpp | 779 317 462 - 0 !
host/lib/usrp/dboard/eiscat/eiscat_radio_ctrl_impl.hpp | 46 16 30 - 0 !
host/lib/usrp/dboard/magnesium/magnesium_ad9371_iface.cpp | 2 1 1 - 0 !
host/lib/usrp/dboard/magnesium/magnesium_ad9371_iface.hpp | 5 1 4 - 0 !
host/lib/usrp/dboard/rhodium/rhodium_bands.cpp | 115 57 58 - 0 !
host/lib/usrp/dboard/rhodium/rhodium_constants.hpp | 51 22 29 - 0 !
host/lib/usrp/dboard/rhodium/rhodium_cpld_ctrl.cpp | 411 184 227 - 0 !
host/lib/usrp/dboard/rhodium/rhodium_cpld_ctrl.hpp | 217 86 131 - 0 !
host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_cpld.cpp | 329 144 185 - 0 !
host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_impl.cpp | 352 166 186 - 0 !
host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_impl.hpp | 135 57 78 - 0 !
host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_init.cpp | 949 410 539 - 0 !
host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_lo.cpp | 466 235 231 - 0 !
host/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp | 620 387 233 - 0 !
host/lib/usrp/dboard/twinrx/twinrx_ctrl.hpp | 39 25 14 - 0 !
host/lib/usrp/dboard/twinrx/twinrx_experts.cpp | 368 200 168 - 0 !
host/lib/usrp/dboard/twinrx/twinrx_experts.hpp | 633 332 301 - 0 !
host/lib/usrp/dboard/twinrx/twinrx_gain_tables.cpp | 17 9 8 - 0 !
host/lib/usrp/dboard/twinrx/twinrx_gain_tables.hpp | 63 36 27 - 0 !
host/lib/usrp/dboard/twinrx/twinrx_ids.hpp | 8 4 4 - 0 !
host/lib/usrp/dboard/twinrx/twinrx_io.hpp | 541 329 212 - 0 !
host/lib/usrp/dboard_base.cpp | 77 45 32 - 0 !
host/lib/usrp/dboard_ctor_args.hpp | 30 16 14 - 0 !
host/lib/usrp/dboard_eeprom.cpp | 107 53 54 - 0 !
host/lib/usrp/dboard_eeprom_c.cpp | 122 42 80 - 0 !
host/lib/usrp/dboard_id.cpp | 45 29 16 - 0 !
host/lib/usrp/dboard_iface.cpp | 14 7 7 - 0 !
host/lib/usrp/dboard_iface_python.hpp | 77 35 42 - 0 !
host/lib/usrp/dboard_manager.cpp | 512 278 234 - 0 !
host/lib/usrp/device3/device3_flow_ctrl.hpp | 3 2 1 - 0 !
host/lib/usrp/device3/device3_io_impl.cpp | 45 16 29 - 0 !
host/lib/usrp/fe_connection.cpp | 50 29 21 - 0 !
host/lib/usrp/fe_connection_python.hpp | 14 6 8 - 0 !
host/lib/usrp/gps_ctrl.cpp | 573 284 289 - 0 !
host/lib/usrp/mboard_eeprom_c.cpp | 58 18 40 - 0 !
host/lib/usrp/mpmd/mpmd_find.cpp | 2 1 1 - 0 !
host/lib/usrp/mpmd/mpmd_impl.cpp | 3 2 1 - 0 !
host/lib/usrp/mpmd/mpmd_impl.hpp | 4 2 2 - 0 !
host/lib/usrp/mpmd/mpmd_xport_ctrl_dpdk_udp.cpp | 182 82 100 - 0 !
host/lib/usrp/mpmd/mpmd_xport_ctrl_dpdk_udp.hpp | 22 7 15 - 0 !
host/lib/usrp/mpmd/mpmd_xport_ctrl_liberio.cpp | 43 20 23 - 0 !
host/lib/usrp/mpmd/mpmd_xport_ctrl_udp.cpp | 23 8 15 - 0 !
host/lib/usrp/mpmd/mpmd_xport_mgr.cpp | 2 1 1 - 0 !
host/lib/usrp/multi_usrp.cpp | 2330 1315 1015 - 0 !
host/lib/usrp/multi_usrp_python.hpp | 546 409 137 - 0 !
host/lib/usrp/n230/n230_clk_pps_ctrl.cpp | 83 42 41 - 0 !
host/lib/usrp/n230/n230_clk_pps_ctrl.hpp | 13 6 7 - 0 !
host/lib/usrp/n230/n230_cores.cpp | 32 13 19 - 0 !
host/lib/usrp/n230/n230_cores.hpp | 28 13 15 - 0 !
host/lib/usrp/n230/n230_defaults.h | 3 3 0 - 0 !
host/lib/usrp/n230/n230_device_args.hpp | 110 61 49 - 0 !
host/lib/usrp/n230/n230_eeprom_manager.cpp | 129 67 62 - 0 !
host/lib/usrp/n230/n230_eeprom_manager.hpp | 23 12 11 - 0 !
host/lib/usrp/n230/n230_frontend_ctrl.cpp | 154 71 83 - 0 !
host/lib/usrp/n230/n230_frontend_ctrl.hpp | 39 13 26 - 0 !
host/lib/usrp/n230/n230_fw_ctrl_iface.cpp | 157 78 79 - 0 !
host/lib/usrp/n230/n230_fw_ctrl_iface.hpp | 26 11 15 - 0 !
host/lib/usrp/n230/n230_image_loader.cpp | 152 84 68 - 0 !
host/lib/usrp/n230/n230_impl.cpp | 567 314 253 - 0 !
host/lib/usrp/n230/n230_impl.hpp | 44 22 22 - 0 !
host/lib/usrp/n230/n230_resource_manager.cpp | 513 299 214 - 0 !
host/lib/usrp/n230/n230_resource_manager.hpp | 304 159 145 - 0 !
host/lib/usrp/n230/n230_stream_manager.cpp | 468 255 213 - 0 !
host/lib/usrp/n230/n230_stream_manager.hpp | 109 47 62 - 0 !
host/lib/usrp/n230/n230_uart.cpp | 76 37 39 - 0 !
host/lib/usrp/n230/n230_uart.hpp | 6 3 3 - 0 !
host/lib/usrp/subdev_spec.cpp | 67 39 28 - 0 !
host/lib/usrp/subdev_spec_c.cpp | 152 56 96 - 0 !
host/lib/usrp/subdev_spec_python.hpp | 14 6 8 - 0 !
host/lib/usrp/usrp1/codec_ctrl.cpp | 389 198 191 - 0 !
host/lib/usrp/usrp1/codec_ctrl.hpp | 14 5 9 - 0 !
host/lib/usrp/usrp1/dboard_iface.cpp | 439 225 214 - 0 !
host/lib/usrp/usrp1/io_impl.cpp | 679 353 326 - 0 !
host/lib/usrp/usrp1/mb_eeprom.cpp | 93 44 49 - 0 !
host/lib/usrp/usrp1/soft_time_ctrl.cpp | 189 104 85 - 0 !
host/lib/usrp/usrp1/soft_time_ctrl.hpp | 27 14 13 - 0 !
host/lib/usrp/usrp1/usrp1_calc_mux.hpp | 133 69 64 - 0 !
host/lib/usrp/usrp1/usrp1_iface.cpp | 141 69 72 - 0 !
host/lib/usrp/usrp1/usrp1_iface.hpp | 29 16 13 - 0 !
host/lib/usrp/usrp1/usrp1_impl.cpp | 425 234 191 - 0 !
host/lib/usrp/usrp1/usrp1_impl.hpp | 156 80 76 - 0 !
host/lib/usrp/usrp2/clock_ctrl.cpp | 469 258 211 - 0 !
host/lib/usrp/usrp2/clock_ctrl.hpp | 8 4 4 - 0 !
host/lib/usrp/usrp2/codec_ctrl.cpp | 308 165 143 - 0 !
host/lib/usrp/usrp2/codec_ctrl.hpp | 6 3 3 - 0 !
host/lib/usrp/usrp2/dboard_iface.cpp | 317 168 149 - 0 !
host/lib/usrp/usrp2/io_impl.cpp | 517 291 226 - 0 !
host/lib/usrp/usrp2/mb_eeprom.cpp | 251 134 117 - 0 !
host/lib/usrp/usrp2/n200_image_loader.cpp | 529 275 254 - 0 !
host/lib/usrp/usrp2/usrp2_clk_regs.hpp | 138 72 66 - 0 !
host/lib/usrp/usrp2/usrp2_fifo_ctrl.cpp | 181 96 85 - 0 !
host/lib/usrp/usrp2/usrp2_fifo_ctrl.hpp | 6 3 3 - 0 !
host/lib/usrp/usrp2/usrp2_iface.cpp | 500 284 216 - 0 !
host/lib/usrp/usrp2/usrp2_iface.hpp | 22 12 10 - 0 !
host/lib/usrp/usrp2/usrp2_impl.cpp | 1090 577 513 - 0 !
host/lib/usrp/usrp2/usrp2_impl.hpp | 116 59 57 - 0 !
host/lib/usrp/usrp2/usrp2_regs.hpp | 88 44 44 - 0 !
host/lib/usrp/usrp_c.cpp | 1609 581 1028 - 0 !
host/lib/usrp/x300/x300_defaults.hpp | 23 11 12 - 0 !
host/lib/usrp/x300/x300_device_args.hpp | 4 2 2 - 0 !
host/lib/usrp/x300/x300_image_loader.cpp | 5 2 3 - 0 !
host/lib/usrp/x300/x300_impl.cpp | 13 6 7 - 0 !
host/lib/usrp/x300/x300_mb_eeprom_iface.cpp | 2 1 1 - 0 !
host/lib/usrp/x300/x300_pcie_mgr.cpp | 2 1 1 - 0 !
host/lib/usrp/x300/x300_radio_ctrl_impl.cpp | 17 8 9 - 0 !
host/lib/usrp_clock/octoclock/octoclock_uart.cpp | 2 1 1 - 0 !
host/lib/utils/compat_check.cpp | 89 31 58 - 0 !
host/lib/utils/config_parser.cpp | 27 10 17 - 0 !
host/lib/utils/csv.cpp | 26 14 12 - 0 !
host/lib/utils/eeprom_utils.cpp | 15 7 8 - 0 !
host/lib/utils/gain_group.cpp | 141 77 64 - 0 !
host/lib/utils/ihex.cpp | 92 46 46 - 0 !
host/lib/utils/load_modules.cpp | 65 32 33 - 0 !
host/lib/utils/log.cpp | 4 2 2 - 0 !
host/lib/utils/log_c.cpp | 31 15 16 - 0 !
host/lib/utils/paths.cpp | 241 141 100 - 0 !
host/lib/utils/pathslib.cpp | 14 5 9 - 0 !
host/lib/utils/platform.cpp | 50 29 21 - 0 !
host/lib/utils/prefs.cpp | 115 49 66 - 0 !
host/lib/utils/static.cpp | 13 6 7 - 0 !
host/lib/utils/system_time.cpp | 37 20 17 - 0 !
host/lib/utils/tasks.cpp | 130 65 65 - 0 !
host/lib/utils/thread.cpp | 146 79 67 - 0 !
host/lib/utils/thread_priority_c.cpp | 16 6 10 - 0 !
host/lib/version.cpp | 13 8 5 - 0 !
host/lib/version_c.cpp | 29 10 19 - 0 !
host/python/pyuhd.cpp | 17 7 10 - 0 !
host/tests/dpdk_test.cpp | 110 45 65 - 0 !
host/tests/isatty_test.cpp | 3 1 2 - 0 !
host/tests/scope_exit_test.cpp | 5 2 3 - 0 !
host/utils/b2xx_fx3_utils.cpp | 7 4 3 - 0 !
host/utils/converter_benchmark.cpp | 8 5 3 - 0 !
382 files changed, 29725 insertions( ), 27770 deletions(-)

 [patch 15/62] uhd: apply clang-format against all .cpp and .hpp files
 in host/

Note: template_lvbitx.{cpp,hpp} need to be excluded from the
list of files that clang-format gets applied against.
host/lib/dep is also excluded from this change.

0016 mpm Apply clang format against all .cpp and .hpp fil.patch | (download)

mpm/include/mpm/ad9361/ad9361_ctrl.hpp | 61 22 39 - 0 !
mpm/include/mpm/ad9361/e31x_defaults.hpp | 33 21 12 - 0 !
mpm/include/mpm/ad937x/ad937x_ctrl.hpp | 37 19 18 - 0 !
mpm/include/mpm/dboards/e31x_db_manager.hpp | 23 13 10 - 0 !
mpm/include/mpm/types/types_python.hpp | 4 1 3 - 0 !
mpm/lib/dboards/e31x_db_manager.cpp | 27 15 12 - 0 !
mpm/lib/mykonos/ad937x_device.cpp | 5 3 2 - 0 !
mpm/lib/mykonos/config/ad937x_gain_ctrl_config.hpp | 6 4 2 - 0 !
8 files changed, 98 insertions( ), 98 deletions(-)

 [patch 16/62] mpm: apply clang-format against all .cpp and .hpp files


0017 mpm cmake adopt default enable values of modules.patch | (download)

mpm/CMakeLists.txt | 8 4 4 - 0 !
1 file changed, 4 insertions( ), 4 deletions(-)

 [patch 17/62] mpm: cmake: adopt default enable values of modules

The cmake script (macro MPM_REGISTER_COMPONENT) has an issue that the default
value is ignored which will be fixed in the following commit.

As a result of this issue, the modules Mykonos, Magnesium, E320 and E300 never
got enabled per default. It was always necessary to use an override
like ENABLE_MYKONOS=ON.

Therefore, change the default enable values so that a fix to MPM_REGISTER_COMPONENT
does not change the current behavior.

0018 mpm fixed cmake macro for enabling modules.patch | (download)

mpm/cmake/Modules/MPMComponent.cmake | 19 12 7 - 0 !
1 file changed, 12 insertions( ), 7 deletions(-)

 [patch 18/62] mpm: fixed cmake macro for enabling modules

The macro MPM_REGISTER_COMPONENT did not work as described: in case
the default enable was set to ON and all dependencies were met, the
module was still not enabled.

Also made the status prints more helpful:
- print the default value,
- print the user override (if one was provided)
- print the resulting VAR = VALUE
- print the override hint only if the user did not
  already specify an override

Example of old incorrect behavior:
-- Configuring Mykonos support...
--   Dependency ENABLE_LIBMPM = ON
--   Disabling Mykonos support.
--   Override with -DENABLE_MYKONOS=ON/OFF

Example of new correct behavior (also with changed prints):
-- Configuring Mykonos support...
--   Default value ENABLE_MYKONOS = ON
--   Dependency ENABLE_LIBMPM = ON
--   Enabling Mykonos support (ENABLE_MYKONOS = ON)
--   Override with -DENABLE_MYKONOS=ON/OFF

0019 thread Remove log messages for set_thread_name when .patch | (download)

host/lib/utils/thread.cpp | 6 4 2 - 0 !
1 file changed, 4 insertions( ), 2 deletions(-)

 [patch 19/62] thread: remove log messages for set_thread_name() when
 not supported

On systems like Windows, set_thread_name() is not supported, and would
previously log an error message telling the user that it can't set the
thread name. However, that prevents set_thread_name() to be called
before the logger is being set up, and the logger would like to use this
function.

Since it is obvious to the user if threads can be named or not, the log
message is considered redundant and is removed.

0020 log Remove LOG statement from _get_log_level.patch | (download)

host/lib/utils/log.cpp | 3 1 2 - 0 !
1 file changed, 1 insertion( ), 2 deletions(-)

 [patch 20/62] log: remove log statement from _get_log_level()

_get_log_level() is an internal function that only gets called during
setup, so the logger isn't ready yet. It thus now logs to stderr instead
of the logger.

0021 docs fix typo in stream.hpp.patch | (download)

host/include/uhd/stream.hpp | 2 1 1 - 0 !
1 file changed, 1 insertion( ), 1 deletion(-)

 [patch 21/62] docs: fix typo in stream.hpp


0022 examples benchmark_rate clean print out.patch | (download)

host/examples/benchmark_rate.cpp | 20 11 9 - 0 !
1 file changed, 11 insertions( ), 9 deletions(-)

 [patch 22/62] examples: benchmark_rate clean print out

Cleans up the print out for the benchmark rate example. Removes
race condition that would cause send and receive initialization
messages to interleave to stdout.

0023 python Fix internal library name incl. suffix to mat.patch | (download)

host/python/CMakeLists.txt | 14 7 7 - 0 !
1 file changed, 7 insertions( ), 7 deletions(-)

 [patch 23/62] python: fix internal library name (incl. suffix) to
 match filename.

Instead of renaming the library file, this sets the suffix in CMake so
that the filename turns out as desired and also linker references know
the correct name.

0024 python Do not link against python lib for building a.patch | (download)

host/python/CMakeLists.txt | 11 10 1 - 0 !
1 file changed, 10 insertions( ), 1 deletion(-)

 [patch 24/62] python: do not link against python lib for building an
 extension module.

This fixes a segmentation fault when trying to use the python module on
OSX when built with conda (unsure why it doesn't arise otherwise).
Instead of linking against the python library, it is proper to not link
against the library and, for OSX builds, add linker options for
"-undefined" and "dynamic_lookup". This is precisely what the CMake
FindPython module does for linking against the Python::Module target.

See https://blog.tim-smith.us/2015/09/python-extension-modules-os-x
and https://bugs.python.org/issue36721

0025 python Set python module suffix to conform with PEP .patch | (download)

host/python/CMakeLists.txt | 11 10 1 - 0 !
1 file changed, 10 insertions( ), 1 deletion(-)

 [patch 25/62] python: set python module suffix to conform with pep
 3149.

This adds the python implementation, major and minor version numbers,
and any additional flags (debug, pymalloc, wide unicode) to the
extension module suffix as specified in PEP 3149.

Hat tip to @isuruf:
https://github.com/conda-forge/staged-recipes/pull/10076#discussion_r348721448

0026 lib utils Don t use hard coded path constants.patch | (download)

host/include/uhd/utils/paths.hpp | 3 3 0 - 0 !
host/lib/utils/paths.cpp | 29 27 2 - 0 !
2 files changed, 30 insertions( ), 2 deletions(-)

 [patch 26/62] lib: utils: don't use hard-coded path constants

This replaces the package path constant with a runtime library path
lookup. The package path is taken to be the parent directory of the
library directory.

When boost >= 1.61 is not available, this maintains the current behavior
of using CMake to set path contants.

Runtime path determination is preferable for making a relocatable
library so that it is not necessary to do string substitution on
relocated binaries (as with, for example, building a conda package).

0027 mpm catalina Add thread.cpp from UHD to included fil.patch | (download)

mpm/lib/catalina/CMakeLists.txt | 13 13 0 - 0 !
1 file changed, 13 insertions( )

 [patch 27/62] mpm: catalina: add thread.cpp from uhd to included
 files

This avoids a linker error where set_thread_name and set_thread_priority
cannot be found.

0028 mpm cmake added date_time as required boost componen.patch | (download)

mpm/CMakeLists.txt | 1 1 0 - 0 !
1 file changed, 1 insertion( )

 [patch 28/62] mpm: cmake: added date_time as required boost component

this fixes the error of a missing symbol
_ZNK5boost9gregorian10greg_month15as_short_stringEv
in /usr/lib/libusrp-periphs.so.4 when building
with Boost 1.71

0029 utils images downloader Handle missing content lengt.patch | (download)

host/utils/uhd_images_downloader.py.in | 25 18 7 - 0 !
1 file changed, 18 insertions( ), 7 deletions(-)

 [patch 29/62] utils: images downloader: handle missing content-length
 response

If the content-length header is not available, uhd_images_downloader
will now ask the user if she wants to continue. Previously, the tool
would throw an exception.

0030 utils images downloader Add support for UHD_IMAGES_U.patch | (download)

host/utils/uhd_images_downloader.py.in | 22 3 19 - 0 !
1 file changed, 3 insertions( ), 19 deletions(-)

 [patch 30/62] utils: images downloader: add support for
 UHD_IMAGES_URL, clean up

- Remove Python2 compat hacks
- Read the UHD_IMAGES_URL environment variable. If set, it overrides the
  default value for --base-url

0031 device read in preferences file before discovery.patch | (download)

host/lib/device.cpp | 4 3 1 - 0 !
1 file changed, 3 insertions( ), 1 deletion(-)

 [patch 31/62] device: read in preferences file before discovery


0032 docs n3xx x3xx Fix links to DPDK page.patch | (download)

host/docs/usrp_n3xx.dox | 2 1 1 - 0 !
host/docs/usrp_x3x0.dox | 2 1 1 - 0 !
2 files changed, 2 insertions( ), 2 deletions(-)

 [patch 32/62] docs: n3xx/x3xx: fix links to dpdk page

The n3xx and x3xx device pages both link to the DPDK page. However, the
link was setup as type "subpage" instead of "ref". The result was that
both device pages thought they owned the DPDK page which caused
non-intuitive behavior when clicking through links in the manual

0033 utils populate_images download with python3.patch | (download)

images/populate_images.py | 2 1 1 - 0 !
1 file changed, 1 insertion( ), 1 deletion(-)

 [patch 33/62] utils: populate_images: download with python3


0034 mpm rpc Use contextmanager for claim timeouts.patch | (download)

mpm/python/usrp_mpm/rpc_server.py | 71 38 33 - 0 !
1 file changed, 38 insertions( ), 33 deletions(-)

 [patch 34/62] mpm: rpc: use contextmanager for claim timeouts

Modify the RPC claim timeout mechanism to use a contextmanager
helper function when enabling/disabling timeouts.

0035 mpm Make contextmanagers exception safe.patch | (download)

mpm/python/tests/mpm_utils_tests.py | 55 55 0 - 0 !
mpm/python/tests/run_unit_tests.py | 6 5 1 - 0 !
mpm/python/usrp_mpm/mpmutils.py | 6 4 2 - 0 !
mpm/python/usrp_mpm/sys_utils/uio.py | 6 4 2 - 0 !
4 files changed, 68 insertions( ), 5 deletions(-)

 [patch 35/62] mpm: make contextmanagers exception-safe

When making context managers in Python, the yield statement has to be wrapped in a try/finally clause in order to properly clean up after exceptions happen.

0036 Add TwinRX support to phase alignment script.patch | (download)

tools/gr-usrptest/apps/uhd_phase_alignment.py | 76 57 19 - 0 !
1 file changed, 57 insertions( ), 19 deletions(-)

 [patch 36/62] add twinrx support to phase alignment script


0037 mpm explicitly set max buffer size for msgpack unpac.patch | (download)

mpm/python/usrp_mpm/rpc_server.py | 2 2 0 - 0 !
1 file changed, 2 insertions( )

 [patch 37/62] mpm: explicitly set max buffer size for msgpack
 unpacker

Msgpack version 0.6 reduced the default max buffer size to 1MB which is
smaller than the bitfiles. This change sets the max buffer size to 50MB
which is larger than the bitfiles.

0038 mpm rpc_server set correct default unpacker params f.patch | (download)

mpm/python/usrp_mpm/rpc_server.py | 4 2 2 - 0 !
1 file changed, 2 insertions( ), 2 deletions(-)

 [patch 38/62] mpm: rpc_server: set correct default unpacker params
 for msgpack 0.6.1

msgpack 0.6.1 suggests new default parameters which ensures compatibility
with the upcoming msgpack 1.0 release which will have breaking changes.

The parameter changes are described in
https://github.com/msgpack/msgpack-python/blob/v0.6.1/README.rst

The default parameters for msgpack 1.0 will be:
- packer: use_bin_type=True
- unpacker: raw=False

The packer use_bin_type=True option is already set in the client
(mpm_shell.py) but the unpacker option raw=False needs to be set
in the server (rpc_server.py)

This change allows the usage of a patched version of python3-mprpc
0.1.17 which removes passing the encoding option to the Packer and
Unpacker

Signed-off-by: Joerg Hofrichter <[email protected]>

0039 uhd Add quotes around test environment variables.patch | (download)

host/cmake/Modules/UHDUnitTest.cmake | 2 1 1 - 0 !
1 file changed, 1 insertion( ), 1 deletion(-)

 [patch 39/62] uhd: add quotes around test environment variables

On systems which have spaces in the environment variables, such as
$PATH, attempting to run the generated test scripts will throw an error
about a bad variable name. Adding quotes around the values prevents
this error.

0040 examples Fix replay example for replay_chan 1.patch | (download)

host/examples/replay_samples_from_file.cpp | 9 7 2 - 0 !
1 file changed, 7 insertions( ), 2 deletions(-)

 [patch 40/62] examples: fix replay example for replay_chan > 1


0041 Revert utils images downloader Add support for UHD_I.patch | (download)

host/utils/uhd_images_downloader.py.in | 22 19 3 - 0 !
1 file changed, 19 insertions( ), 3 deletions(-)

 [patch 41/62] revert "utils: images downloader: add support for
 UHD_IMAGES_URL, clean up"

This reverts commit 43cfd1ffe9a45598777a939bcb3b507b5934f4f3.
Said commit breaks Python2-compatibility, which is still required on
3.15.

Note that this branch (UHD-3.15.LTS) already has a related fix in
a Python2-compatible version (95475ae), so this commit is not needed to
add support for UHD_IMAGES_URL.

0042 rpclib Remove some warnings from object.hpp.patch | (download)

host/lib/deps/rpclib/include/rpc/msgpack/object.hpp | 12 12 0 - 0 !
1 file changed, 12 insertions( )

 [patch 42/62] rpclib: remove some warnings from object.hpp

This removes -Wmaybe-uninitialized and -Wclass-memaccess from this file
when using gcc.

0043 libusb Remove deprecation warnings for libusb_set_de.patch | (download)

host/lib/transport/libusb1_base.cpp | 15 14 1 - 0 !
1 file changed, 14 insertions( ), 1 deletion(-)

 [patch 43/62] libusb: remove deprecation warnings for
 libusb_set_debug

Starting with 1.0.22, libusb considers libusb_set_debug() deprecated.
This replaces said call with libusb_set_option(), conditionally on the
libusb version. This has no effect on the execution, but will remove
some compiler versions, and make this code more future-proof.

Note that Ubuntu 18.04 ships libusb 1.0.21, so this conditional code
needs to remain until that version is deprecated and libusb version is
bumped higher.

0044 x300 Fix get_tx_gain.patch | (download)

host/lib/usrp/x300/x300_radio_ctrl_impl.cpp | 16 9 7 - 0 !
host/lib/usrp/x300/x300_radio_ctrl_impl.hpp | 1 1 0 - 0 !
2 files changed, 10 insertions( ), 7 deletions(-)

 [patch 44/62] x300: fix get_tx_gain()

RX and TX gain were asymmetrically implemented. This makes them
symmetric by making the following changes:
- Don't rely on radio_ctrl_impl for any gain settings
- Use the gain groups for get/set gain
- Remove a branch in set_tx_gain() that would return 0 if called with
  an invalid channel.

0045 ad9361 Remove compiler warning.patch | (download)

host/lib/usrp/common/ad9361_driver/ad9361_device.cpp | 2 1 1 - 0 !
1 file changed, 1 insertion( ), 1 deletion(-)

 [patch 45/62] ad9361: remove compiler warning

Adds UHD_UNUSED() to tag a variable that is only used in
a UHD_LOG_TRACE() macro.

0046 rh Remove compiler warnings.patch | (download)

host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_cpld.cpp | 6 4 2 - 0 !
host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_impl.cpp | 6 3 3 - 0 !
2 files changed, 7 insertions( ), 5 deletions(-)

 [patch 46/62] rh: remove compiler warnings

- Remove warnings related to functions only used in TRACE log statements
- Fix a catch statement that caught by value

0047 dpdk Remove compiler warning.patch | (download)

host/lib/usrp/mpmd/mpmd_xport_ctrl_dpdk_udp.cpp | 2 1 1 - 0 !
host/lib/usrp/x300/x300_eth_mgr.cpp | 2 1 1 - 0 !
2 files changed, 2 insertions( ), 2 deletions(-)

 [patch 47/62] dpdk: remove compiler warning

This changes a const-cast to a regular cast.

0048 nocscript Remove warnings during build of Noc Script.patch | (download)

host/lib/rfnoc/nocscript/gen_basic_funcs.py | 34 19 15 - 0 !
1 file changed, 19 insertions( ), 15 deletions(-)

 [patch 48/62] nocscript: remove warnings during build of noc-script
 functions

- Fix PyLint warnings
- Fix compile/build warning regarding empty split regex

0049 device_addr Silence Boost warnings from lexical_cast.patch | (download)

host/include/uhd/types/device_addr.hpp | 10 10 0 - 0 !
1 file changed, 10 insertions( )

 [patch 49/62] device_addr: silence boost warnings from lexical_cast

In some versions of Boost, using lexical_cast with certain types creates
warnings about uninitialized return values. We simply turn off the
warning on gcc.

0050 ad9361 Fix mask for product ID check.patch | (download)

host/lib/usrp/common/ad9361_driver/ad9361_device.cpp | 2 1 1 - 0 !
1 file changed, 1 insertion( ), 1 deletion(-)

 [patch 50/62] ad9361: fix mask for product id check

The product ID check should be masked with 0xF8 and checked to be 0x08.
With a device off and weak pull-ups, the readback would always read
0xFF, passing the ID check when it obviously wasn't there. Extending
the mask to be 0xF8 shows that both 0's and 1's are read back from the
device.

0051 boost Include bind.hpp where used add BOOST_BIND_GLO.patch | (download)

host/cmake/Modules/UHDBoost.cmake | 3 3 0 - 0 !
host/examples/network_relay.cpp | 1 1 0 - 0 !
host/examples/rfnoc_rx_to_file.cpp | 1 1 0 - 0 !
host/examples/test_clock_synch.cpp | 1 1 0 - 0 !
host/examples/txrx_loopback_to_file.cpp | 1 1 0 - 0 !
host/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp | 1 1 0 - 0 !
host/lib/rfnoc/legacy_compat.cpp | 1 1 0 - 0 !
host/lib/transport/xport_benchmarker.cpp | 1 1 0 - 0 !
host/lib/usrp/b100/b100_impl.cpp | 1 1 0 - 0 !
host/lib/usrp/b200/b200_iface.cpp | 1 1 0 - 0 !
host/lib/usrp/b200/b200_impl.cpp | 1 1 0 - 0 !
host/lib/usrp/cores/rx_dsp_core_3000.cpp | 1 1 0 - 0 !
host/lib/usrp/cores/tx_dsp_core_3000.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_cbx.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_dbsrx.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_dbsrx2.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_sbx_common.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_sbx_version3.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_sbx_version4.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_tvrx.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_tvrx2.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_twinrx.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_ubx.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_wbx_common.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_wbx_simple.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_wbx_version2.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_wbx_version3.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_wbx_version4.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/db_xcvr2450.cpp | 1 1 0 - 0 !
host/lib/usrp/dboard/eiscat/eiscat_radio_ctrl_impl.cpp | 1 1 0 - 0 !
host/lib/usrp/multi_usrp.cpp | 1 1 0 - 0 !
host/lib/usrp/n230/n230_resource_manager.cpp | 1 1 0 - 0 !
host/lib/usrp/n230/n230_uart.cpp | 1 1 0 - 0 !
host/lib/usrp/usrp1/soft_time_ctrl.cpp | 1 1 0 - 0 !
host/lib/usrp/usrp1/usrp1_impl.cpp | 1 1 0 - 0 !
host/lib/usrp/x300/x300_radio_ctrl_impl.cpp | 1 1 0 - 0 !
host/lib/usrp_clock/octoclock/octoclock_impl.cpp | 1 1 0 - 0 !
host/lib/utils/ihex.cpp | 1 1 0 - 0 !
host/lib/utils/tasks.cpp | 1 1 0 - 0 !
host/utils/uhd_cal_rx_iq_balance.cpp | 1 1 0 - 0 !
host/utils/uhd_cal_tx_dc_offset.cpp | 1 1 0 - 0 !
host/utils/uhd_cal_tx_iq_balance.cpp | 1 1 0 - 0 !
42 files changed, 44 insertions( )

 [patch 51/62] boost: include bind.hpp where used, add
 BOOST_BIND_GLOBAL_PLACEHOLDERS

Consists of two changes:
- Grepped for files that use boost::bind, but don't include
  boost/bind.hpp. Changed all of those to include bind.hpp
- Add BOOST_BIND_GLOBAL_PLACEHOLDERS so that Boost doesn't complain
  about using bind placeholders in the global namespace.

Background: boost/bind.hpp is a convenience header that pulls the Boost
bind placeholders into the global namespace, but that's deprecated
behaviour. For UHD 3.15, we'll keep the deprecated behaviour (modern UHD
no longer uses Boost.Bind), so this fixes build failures with modern
Boost, and related warnings.

0052 lib Make sure generated file is closed.patch | (download)

host/lib/ic_reg_maps/common.py | 3 2 1 - 0 !
1 file changed, 2 insertions( ), 1 deletion(-)

 [patch 52/62] lib: make sure generated file is closed

Letting garbage collection close the file works when using CPython, but
0053 utils Fix prefix determination in get_lib_path.patch | (download)

host/lib/utils/paths.cpp | 4 3 1 - 0 !
1 file changed, 3 insertions( ), 1 deletion(-)

 [patch 53/62] utils: fix prefix determination in get_lib_path()

get_lib_path() uses the libuhd location on disk to dynamically
determine the installation prefix at runtime. This fix normalizes the
libuhd path before any path operations are done to extract the library
directory and then prefix directory.

Previously, using a non-normalized library path, the returned prefix
directory would be incorrect in some cases (e.g. when loaded through
GNU Radio). In these error cases, the libuhd path would be
  $PREFIX/lib/./libuhd.so
(with a no-op /. inserted) which would result in a technically correct
library directory of `$PREFIX/lib/.` but an incorrect prefix directory
of `$PREFIX/lib`.

With the normalization fix, the libuhd path is corrected to
  $PREFIX/lib/libuhd.so
and the subsequent path manipulation to get the library and prefix
directories will work as intended.

0054 utils Make uhd_config_info print help by default.patch | (download)

host/utils/uhd_config_info.cpp | 2 1 1 - 0 !
1 file changed, 1 insertion( ), 1 deletion(-)

 [patch 54/62] utils: make uhd_config_info print help by default


0055 Docs Update Python3 dependencies.patch | (download)

host/docs/build.dox.in | 25 13 12 - 0 !
1 file changed, 13 insertions( ), 12 deletions(-)

 [patch 55/62] docs: update python3 dependencies

Signed-off-by: michael-west <[email protected]>

0056 debian Update Python3 dependencies.patch | (download)

host/cmake/debian/README.Debian | 2 1 1 - 0 !
host/cmake/debian/control | 17 14 3 - 0 !
2 files changed, 15 insertions( ), 4 deletions(-)

 [patch 56/62] debian: update python3 dependencies

Signed-off-by: michael-west <[email protected]>

0057 docs Fix doxygen warnings.patch | (download)

host/docs/Doxyfile.in | 14 0 14 - 0 !
host/docs/build.dox.in | 3 2 1 - 0 !
host/docs/rd_testing.dox | 2 1 1 - 0 !
3 files changed, 3 insertions( ), 16 deletions(-)

 [patch 57/62] docs: fix doxygen warnings


0058 n310 n300 Allow gain coercion.patch | (download)

host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.cpp | 18 16 2 - 0 !
1 file changed, 16 insertions( ), 2 deletions(-)

 [patch 58/62] n310/n300: allow gain coercion

0059 devtest Fix benchmark_rate_test success criteria.patch | (download)

host/tests/devtest/benchmark_rate_test.py | 4 2 2 - 0 !
1 file changed, 2 insertions( ), 2 deletions(-)

 [patch 59/62] devtest: fix benchmark_rate_test success criteria

Allow success if testing either TX or RX.  Previously required both TX
and RX to be tested simultaneously.

Signed-off-by: Michael West <[email protected]>

0060 devtest Add method to get number of channels.patch | (download)

host/tests/devtest/usrp_probe.py | 36 36 0 - 0 !
1 file changed, 36 insertions( )

 [patch 60/62] devtest: add method to get number of channels

Adding method to get number of TX and RX channels to usrp_probe.

Signed-off-by: Michael West <[email protected]>