Thanks for the UHD 4.0rc1 update, Michael. This UHD version will be the most robust and compatible version yet!
For macOS users of UHD and GNU Radio, a brief update: UHD 3.15 and UHD 4.0rc1 build and run on many macOS versions -- at least 10.11 " El Capitan" through 10.15 "Catalina", and probably further back with a modern enough compiler. I've built UHD 3.15 back to 10.8 "Mountain Lion", but unfortunately UHD applications do not execute ... maybe others know what the issue is here? I have yet to try UHD 4.0rc1 on these older macOS systems. GNU Radio 3.7.14.0 and 3.8.2.0 -- with a patch to cover the commits since this release was tagged on the "maint-3.8" branch -- also work with these same macOS versions. All of these projects / versions are available in MacPorts right now, via the ports "uhd" (3.15), "uhd-devel" (4.0rc1), "gnuradio37" (3.7.14.0), and "gnuradio" (3.8.2.0 + patches). I have tested out GR 3.8.2.0 + UHD 4.0rc1 and they play nicely (enough) together; I'm confident that the combinations GR 3.8.2.0 + UHD 3.15 and GR 3.7.14.0 + UHD 3.15 also work. MP allows GR 3.7.14.0 + UHD 4.0rc1, though I don't know if this will even build. I value any feedback on macOS building and/or use of UHD and GR (and Volk, but that's pretty separate by now); MacPorts or some other install means; any macOS version: 10.4-5 PPC 32/64, 10.4-16 Intel 32/64; even 10.16 ARM64 ... if that's where you are (you're ahead of me then, though I'm catching up ;) !!! Cheers! - MLD --- Michael Dickens Ettus Research Technical Support Email: supp...@ettus.com Web: https://ettus.com/ On Tue, Aug 25, 2020 at 8:46 PM Michael West via USRP-users < usrp-us...@lists.ettus.com> wrote: > The release candidate of the long awaited UHD version 4.0.0.0 has been > tagged and is available for testing. This major release introduces a new > RFNoC framework, a new streaming infrastructure, a power calibration > utility and API, and many other features and bug fixes. The new > infrastructure provides improved performance, more flexibility, and the > foundation for future demands of higher throughput and lower latencies. > > The tag for this release candidate: > https://github.com/EttusResearch/uhd/releases/tag/v4.0.0.0-rc1 > > There have been 831 commits since the last release (3.15.0.0) which can > be viewed here: > https://github.com/EttusResearch/uhd/compare/v3.15.0.0...v4.0.0.0-rc1 > > Please report any bugs found on the UHD issue tracker: > http://github.com/EttusResearch/uhd/issues > * Please do not use the issue tracker for help or support. > > Pull requests for direct code changes may be submitted to the UHD or FPGA > repositories: > http://github.com/EttusResearch/uhd/pulls > http://github.com/EttusResearch/fpga/pulls > > CHANGELOG: > ## 004.000.000.000 > * b200: > - Enable power calibration API > - Add a prop tree node usb_version > * cal: > - Add utility to update all .fbs files, or check the generated ones > - Add pwr_cal container > * cmake: > - Add ability to pass CXXFLAGS to CMake environment > * docs: > - Update PCIe xport instructions for NI Repos > - n3xx: Include WX in table of N320 images > - Add stream and transport args documentation > - Update Basic/LF dboard references to use new operating mode > - e3xx/n3xx: Add sections on FP-GPIOs and how to drive them > - n3xx: Document eeprom flags > - Add note about DPDK needing to be built as shared libraries > - Change DPDK version to 18.11 and make args use underscores > - Clarifying which devices support DPDK > * dpdk: > - Add new DPDK stack to integrate with I/O services > * e31x: > - Change RFNoC Ctrl clock to 40 MHz > - Fix timeout for timekeeper registers > - Fix filter bank and antenna switching for channel 0 > - Swap out liberio for internal Ethernet > * e320: > - Fix timeout for timekeeper registers > - Swap out liberio for internal Ethernet > * examples: > - Add usrp_power_meter example > - Update test_messages example > - Update gpio example > - Add options to benchmark_rate > - Add example out-of-tree module for RFNoC modules > - Remove thread priority elevation > * fpga: > - Replaced RFNoC architecture with new 4.0 version > - Added modelsim make simulation target > - Upgrade to Vivade 2019.1 > - Removed unused coregen files and modules > - Removed fpga submodule and merged into uhd repo > - lib: Change max FFT size to 1024 > - lib: add Intel MAX10 architecture for 2clk FIFO > - rfnoc: Port RFNoC Keep One in N block to new RFNoC architecture > - rfnoc: Port RFNoC Replay block to new RFNoC architecture > - rfnoc: Port Signal Generator RFNoC block to new RFNoC architecture > - Add Switchboard RFNoC block > - Remove liberio > - rfnoc: Port RFNoC Moving Average block to new RFNoC architecture > - rfnoc: Port Log-Power block to new RFNoC architecture > - rfnoc: Port RFNoC Window block to new RFNoC architecture > - lib: Add synthesizable AXI4-Stream SV components > - lib: Add interface and model for AXI4-Lite > - rfnoc: Add support for 512-bit CHDR widths > - rfnoc: Port RFNoC Add/Sub block to new RFNoC architecture > - rfnoc: Port Vector IIR RFNoC block to new RFNoC architecture > - lib: Add AXI-Stream splitter (axis_split) > * lib: > - Add power cal manager > - deps: Add FlatBuffers 1.11.0 header files > - Add DPDK service queue > * mpm: > - Exclude internal NIC for network hosts > - Add ability to run scripts to MPM shell > - n3xx: Remove eth1, eth2 from interface list > - Default virtual NIC CHDR IP selection > - Enable internal NIC on the N3xx > - Clean up code, improve Pylint score > - Move common mboard regs code to common location > * mpmd: > - Remove liberio > * multi_usrp: > - Fix connect/disconnect of RFNoC chains > - Various multi_usrp_rfnoc fixes > * n310: > - Fix GPIO registers > * n320: > - Double radio ingress buffer size > - Enable inverse sinc filter for DAC37J82 > * n3xx: > - Fix timeout for timekeeper registers > - Swap out liberio for internal Ethernet > * python: > - Add Keep One in N block controller bindings > - Add replay RFNoC block controller bindings > - Add siggen RFNoC block controller bindings > - Add Switchboard block python bindings > - Add moving average RFNoC block controller bindings > - Add bindings for C++ CHDR Parser > - Add window RFNoC block controller bindings > - Add FFT RFNoC block controller bindings > - Add null RFNoC block controller bindings > - Add vector IIR RFNoC block controller bindings > - Add radio RFNoC block controller bindings > - Add FIR filter RFNoC block controller bindings > - Add Fosphor RFNoC block controller bindings > - Add DUC RFNoC block controller bindings > - Add DDC RFNoC block controller bindings > - Added new RFNoC image builder module under the uhd module > - Remove Python2-specific code > - Included complex.h to allow pybind to convert that data type > * rfnoc: > - Add multichannel register interface > - Added support for destruction of streamers > - Add Keep One in N block support > - Port siggen RFNoC block controller support to new RFNoC architecture > - Add Switchboard block support > - Port Moving Average block controller to new RFNoC architecture > - Port Log Power RFNoC block support to new RFNoC architecture > - Port window RFNoC block controller to new RFNoC architecture > - Port Add/Sub RFNoC block support to new RFNoC architecture > - Add USE_MAP prop/action forwarding policy > - Port Split Stream RFNoC block to new RFNoC architecture > - Port Vector IIR RFNoC block support to new RFNoC architecture > - Port RFNoC fosphor block to new RFNoC architecture > - Port FIR filter RFNoC block controller to new RFNoC architecture > - Add multichannel register interface > - Add RFNoC Python API > - Unify endianness of transports > - Add DMA FIFO block controller > - examples: Port examples to new RFNoC > - Implement flushing on overrun > - client_zero can track num SEPs and num ctrl EPs separately > - Add basic round-robin allocation for links > - Add ability to select transport for streamers to user APIs > - Use link_stream_manager's mgmt_portal for all mgmt packets > - graph: Optimize property propagation algorithm > - Port DUC block controller to new RFNoC architecture > - Add MTU tracking > - Implement overrun handling using action API > - Port null block controller to new RFNoC architecture > - Add mb_controller API > - Port radio block controller to new RFNoC architecture > - Port default block controller to new RFNoC architecture > - Port DDC block controller to new RFNoC architecture > - Add rfnoc_graph class > - Add action API > - Refactored CHDR packet interfaces > - Add noc_block_base class > * tests: > - Add unit tests for new RFNoC block controllers > - Fix multi_usrp_test > - Add unit tests for pwr_cal_mgr > - Migrated rfnoc block tests to dedicated subdirectory > - Add more tests for max rate streaming > - Add tests to exercise max streaming rates and report results > * tools: > - Update dissectors for Wireshark major version 3, new CHDR > - Update FPGA functional verification tests for X3x0 mcr's & dpdk > * transport: > - Implement eov indications for Rx and Tx streams > - Implement an I/O service that uses an offload thread > - Implement a single-threaded I/O service > * twinrx: > - Update synthesizer register values for improved rf performance > - Fix increased noise floor > - Remove decimation from frontend > * uhd: > - Disable optimizations for Mac for build speed > - remove liberio > - improved handling of empty serial number hints > - Add discoverable_features API > - Add reference power level API to multi_usrp and radio_control > - Add fuzzy serial number checking > - paths: Harmonize around XDG Base Directory specification > - cal: Use usrp::cal::database instead of CSV files > - cal: Add iq_cal calibration data container class > - cal: Add calibration container class > - cal: Add database class > - Introduce I/O service manager > - Replace usage of boost smart pointers with C++11 counterparts > - add udp boost asio implementation of transport interface > - Add thread affinity utility functions > - types: Extend stream_cmd_t::num_samps to 64 bits > * utils: > - Expose CHDR Parsing API > - Expose CHDR Types in Public API > - Support expressions for num_ports in block defs > - Let uhd_images_downloader also use HTTPS proxies > - Fix FPGA search in rfnoc_image_builder from fpga-src to fpga > - Add convert_cal_data utility > - image_builder: Support parameterized number of ports on blocks > * x300: > - Update frame sizes for 10GbE > - Fix for incorrect PCIe buffer size values > - Change default dboard clock rate from 50 to 100 MHz > - Update maximum bitstream size > - Enable power reference API > - Expand DRAM address space to 1G > - Add front-panel GPIO source control > > As always, we at Ettus Research would like to thank all of the UHD users > in the open source SDR community. This release contains commits from users > in the community that submitted pull requests against the UHD > <https://github.com/EttusResearch/uhd> and FPGA > <https://github.com/EttusResearch/fpga> repositories as well as many > commits that are a direct result of issues reported back to us by users > like you through the UHD <https://github.com/EttusResearch/uhd/issues> > and FPGA <https://github.com/EttusResearch/fpga/issues> issue trackers, > the USRP-users mailing list > <http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com>, and > Ettus > support <supp...@ettus.com>. You have all helped contribute to the > continued improvement of UHD. Thank you! > > Best regards, > Michael > _______________________________________________ > USRP-users mailing list > usrp-us...@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >