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
>

Reply via email to