Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: EttusResearch/uhd

UHD 4.10.0.0

27 Apr 17:13
@fdietze-ni fdietze-ni

Choose a tag to compare

UHD 4.10.0.0 Release

  • Highlights / Main Changes
    • Support for USRP X420
    • Addition of timed complex gain feature, which allows setting a complex gain
      value to fix phase and amplitude of signals from radio blocks
  • New Features
    • CMake:
      • Create UHD::uhd package for improved integration in downstream build
        processes. The init_usrp example is used to showcase this feature.
      • Improved options for RFNoC OOT modules to write unit tests.
    • Add helper routines to up- and download data (reliably) from and to the
      DRAM block
    • X310: Allow daughterboards to set dboard clock rate
    • Improve finding of MPM-based devices by making parts of the find call
      asynchronous and allowing to skip reachability checks.
    • RFNoC:
      • Added new optional feature to all Radio blocks - Timed complex gain:
        • Allows specifying complex gain coefficients to be applied to all
          TX and/or RX samples of a radio channel at the specified time.
        • Enabled by default for all TX and RX channels of the radio blocks,
          but can be disabled at FPGA build time via the EN_COMP_GAIN_TX
          and EN_COMP_GAIN_RX parameters of the radio blocks.
        • NOTE: For the x440_X4_400 default FPGA design provided with UHD,
          enabling this feature for all 8 RX and TX channels necessitated
          restricting the existing crossbar connections between the replay
          blocks and the radio blocks. As a result, only blocks with the same
          indices can be connected (e.g. replay0<->radio0 and replay1<->radio1
          only) when using this pre-built USRP FPGA image.
      • Blocks may now drive the front-panel GPIO pins on all RFNoC-capable
        devices. New IO signatures are added, and all device BSPs have IO ports
        for accessing the GPIOs. Device controls are updated such that the user
        can choose the source for GPIOs dynamically in this case (i.e., the
        radio blocks and other GPIO sources are still available). In some cases,
        the device BSP HDL had to be significantly refactored.
      • Add names and descriptions for block's and module's YAML files, so that
        other tools may read information about those in an automated fashion
      • Allow mtu stream argument, which overrides the MTU value that is
        derived from the link information.
      • Action handling is now moved to its own thread (there is one action
        handling thread per graph). This allows actions to be handled
        asynchronously, e.g., when triggering actions from async message handlers.
      • Add radio_state IO signature, so that other blocks can monitor the ATR
        state of radio blocks.
      • All RFNoC devices can now take an mtu stream argument (which overrides
        the detected link MTU) and a force_mtu device argument (which skips
        automatic MTU detection and forces a fixed value). These are helpful in
        scenarios where a specific network topology interferes with path MTU
        discovery, and for remote streaming when the MTU for a remote stream link
        cannot be inferred from UHD.
      • rfnoc_modtool has improved support for generating unit tests.
      • Add PPS IO signature for all targets
      • Add stream command to start receiving when a transmit occurs
      • Null source/sink: Add finite mode.
      • Add UX1/UX2/UX4 QSFP configurations for X4xx
  • API Changes
    • meta_range_t and uhd::dict can now be initialized from initializer lists
    • Add rfnoc_graph::get_chdr_xport_adapters()
    • Python API now allows creating SubdevSpec from a string
    • Some public APIs that used boost::optional now also work with std::optional
    • Unit tests for RFNoC blocks (in-tree and out-of-tree) no longer require a
      dummy implementation of ~make_args_t()
    • uhd::cast::to_str() was added and uhd::cast::from_str() was extended to
      be a full replacement for boost::lexical_cast
  • Examples
    • Overhauled many of the examples to improve documentation, as well as some
      minor conveniences or bug fixes
    • Added continuous streaming to tx_samples_from_file
    • Improved gpio example.
  • Bug Fixes
    • Fix static UHD library builds
    • Fix compatibility with Boost 1.89
    • RFNoC:
      • Fix slicing notation in rfnoc_image_builder
      • Fix building of GRC files with empty default target (this would affect
        builds of X410 and X440 device bitfiles from GNU Radio)
      • Fix installation of OOT modules in Python venvs
      • Fix time alignment of first sample
      • Unit tests in RFNoC OOT modules now preload their DLLs to ensure the
        correct library version is loaded
      • Fix generation of GNU Radio C++ block controllers
      • rfnoc_modtool: Fix creation of spurious unit tests, fix package_data for
        Python module installation
      • rfnoc_modtool: Fix connection check for invalid ports
      • Fix alignment of first sample coming from radio block.
      • Fix bug in ctrlport_endpoint which could cause the software to believe
        the associated RFNoC block's command FIFO was full when packets were lost
      • Add parameter to skip waiting for ACKs in async messages
    • E31x: Fix GPIO control
    • E3xx/B2xx: Fix rounding bug for RF PLL tuning
    • B2xx: Fix image loading via b200_image_loader when multiple devices are
      attached
    • X410: Fix tuning when power calibration and non-default gain profiles are
      used.
    • Power calibration tools: Fix settings for E320, allow non-default sampling
      rate, other minor fixes
    • FPGA
      • Fix various simulation-related bugs
    • USRP Simulator: Update to match current UHD.
    • multi_usrp:
      • Improved bank name check in multi_usrp::{set,get}_gpio_attr()
    • CMake:
      • Allow absolute paths for install dirs in pkg-config
      • Fix target include path for Python module
    • USRP1: Fix converter name in property tree
    • FPGA:
      • Fix various simulation/testbench issues.
      • Improve resource utilization in various places.
    • MPM:
      • Fix file descriptor leaks by using with/open everywhere.
      • Fix double-free issue in rpclib.
      • Remove tolerance for non-existing EEPROMs.
    • Examples: Properly report errors when opening a file failed.
    • Python: When installing into venvs, no longer force a reinstallation of
      dependencies.
  • Dependencies changes
    • Increase minimum required versions
      • Boost to 1.71
      • DPDK to 19.11
      • Changed minimum CMake versions for various non-UHD projects, e.g.
        firmware builds, to stay compatible with CMake 4
  • Documentation
    • Restructured the UHD manual, improved chapter structure, improved getting
      started content, added RFNoC specification.
    • Fixed some external links
    • Many smaller improvements (typos, duplicate entries removed, formatting,
      etc.)
  • Codebase Management
    • Increased C++ version to 20 for UHD library, examples, and utilities
    • Removed Boost in multiple locations and replaced with standard library
      calls
    • Fix numerous (mostly harmless) compiler and Doxygen warnings
    • Improve CMake linking instructions
  • Validated OS Environments
    (Versions for build and runtime dependencies can be determined from the
    docker container definitions in the UHD repository at .ci/docker/...)
    • Linux:
      • Ubuntu: jammy (22.04), noble (24.04), questing (25.10)
      • Fedora: 40, 41, 42
    • Windows: 10 22H2, 11 24H2
    • MacOS: Sequoia (15.6)
Assets 7
Loading

UHD 4.10.0.0-RC4

20 Apr 15:13
@fdietze-ni fdietze-ni

Choose a tag to compare

UHD 4.10.0.0-RC4 Pre-release
Pre-release

UHD 4.10.0.0 Release Candidate 4

  • Highlights / Main Changes
    • Support for USRP X420
    • Addition of timed complex gain feature, which allows setting a complex gain
      value to fix phase and amplitude of signals from radio blocks
  • New Features
    • CMake:
      • Create UHD::uhd package for improved integration in downstream build
        processes. The init_usrp example is used to showcase this feature.
      • Improved options for RFNoC OOT modules to write unit tests.
    • Add helper routines to up- and download data (reliably) from and to the
      DRAM block
    • X310: Allow daughterboards to set dboard clock rate
    • Improve finding of MPM-based devices by making parts of the find call
      asynchronous and allowing to skip reachability checks.
    • RFNoC:
      • Added new optional feature to all Radio blocks - Timed complex gain:
        • Allows specifying complex gain coefficients to be applied to all
          TX and/or RX samples of a radio channel at the specified time.
        • Enabled by default for all TX and RX channels of the radio blocks,
          but can be disabled at FPGA build time via the EN_COMP_GAIN_TX
          and EN_COMP_GAIN_RX parameters of the radio blocks.
        • NOTE: For the x440_X4_400 default FPGA design provided with UHD,
          enabling this feature for all 8 RX and TX channels necessitated
          restricting the existing crossbar connections between the replay
          blocks and the radio blocks. As a result, only blocks with the same
          indices can be connected (e.g. replay0<->radio0 and replay1<->radio1
          only) when using this pre-built USRP FPGA image.
      • Blocks may now drive the front-panel GPIO pins on all RFNoC-capable
        devices. New IO signatures are added, and all device BSPs have IO ports
        for accessing the GPIOs. Device controls are updated such that the user
        can choose the source for GPIOs dynamically in this case (i.e., the
        radio blocks and other GPIO sources are still available). In some cases,
        the device BSP HDL had to be significantly refactored.
      • Add names and descriptions for block's and module's YAML files, so that
        other tools may read information about those in an automated fashion
      • Allow mtu stream argument, which overrides the MTU value that is
        derived from the link information.
      • Action handling is now moved to its own thread (there is one action
        handling thread per graph). This allows actions to be handled
        asynchronously, e.g., when triggering actions from async message handlers.
      • Add radio_state IO signature, so that other blocks can monitor the ATR
        state of radio blocks.
      • All RFNoC devices can now take an mtu stream argument (which overrides
        the detected link MTU) and a force_mtu device argument (which skips
        automatic MTU detection and forces a fixed value). These are helpful in
        scenarios where a specific network topology interferes with path MTU
        discovery, and for remote streaming when the MTU for a remote stream link
        cannot be inferred from UHD.
      • rfnoc_modtool has improved support for generating unit tests.
      • Add PPS IO signature for all targets
      • Add stream command to start receiving when a transmit occurs
      • Null source/sink: Add finite mode.
      • Add UX1/UX2/UX4 QSFP configurations for X4xx
  • API Changes
    • meta_range_t and uhd::dict can now be initialized from initializer lists
    • Add rfnoc_graph::get_chdr_xport_adapters()
    • Python API now allows creating SubdevSpec from a string
    • Some public APIs that used boost::optional now also work with std::optional
    • Unit tests for RFNoC blocks (in-tree and out-of-tree) no longer require a
      dummy implementation of ~make_args_t()
    • uhd::cast::to_str() was added and uhd::cast::from_str() was extended to
      be a full replacement for boost::lexical_cast
  • Examples
    • Overhauled many of the examples to improve documentation, as well as some
      minor conveniences or bug fixes
    • Added continuous streaming to tx_samples_from_file
    • Improved gpio example.
  • Bug Fixes
    • Fix static UHD library builds
    • Fix compatibility with Boost 1.89
    • RFNoC:
      • Fix slicing notation in rfnoc_image_builder
      • Fix building of GRC files with empty default target (this would affect
        builds of X410 and X440 device bitfiles from GNU Radio)
      • Fix installation of OOT modules in Python venvs
      • Fix time alignment of first sample
      • Unit tests in RFNoC OOT modules now preload their DLLs to ensure the
        correct library version is loaded
      • Fix generation of GNU Radio C++ block controllers
      • rfnoc_modtool: Fix creation of spurious unit tests, fix package_data for
        Python module installation
      • rfnoc_modtool: Fix connection check for invalid ports
      • Fix alignment of first sample coming from radio block.
      • Fix bug in ctrlport_endpoint which could cause the software to believe
        the associated RFNoC block's command FIFO was full when packets were lost
      • Add parameter to skip waiting for ACKs in async messages
    • E31x: Fix GPIO control
    • E3xx/B2xx: Fix rounding bug for RF PLL tuning
    • B2xx: Fix image loading via b200_image_loader when multiple devices are
      attached
    • X410: Fix tuning when power calibration and non-default gain profiles are
      used.
    • Power calibration tools: Fix settings for E320, allow non-default sampling
      rate, other minor fixes
    • FPGA
      • Fix various simulation-related bugs
    • USRP Simulator: Update to match current UHD.
    • multi_usrp:
      • Improved bank name check in multi_usrp::{set,get}_gpio_attr()
    • CMake:
      • Allow absolute paths for install dirs in pkg-config
      • Fix target include path for Python module
    • USRP1: Fix converter name in property tree
    • FPGA:
      • Fix various simulation/testbench issues.
      • Improve resource utilization in various places.
    • MPM:
      • Fix file descriptor leaks by using with/open everywhere.
      • Fix double-free issue in rpclib.
      • Remove tolerance for non-existing EEPROMs.
    • Examples: Properly report errors when opening a file failed.
    • Python: When installing into venvs, no longer force a reinstallation of
      dependencies.
  • Dependencies changes
    • Increase minimum required versions
      • Boost to 1.71
      • DPDK to 19.11
      • Changed minimum CMake versions for various non-UHD projects, e.g.
        firmware builds, to stay compatible with CMake 4
  • Documentation
    • Restructured the UHD manual, improved chapter structure, improved getting
      started content, added RFNoC specification.
    • Fixed some external links
    • Many smaller improvements (typos, duplicate entries removed, formatting,
      etc.)
  • Codebase Management
    • Increased C++ version to 20 for UHD library, examples, and utilities
    • Removed Boost in multiple locations and replaced with standard library
      calls
    • Fix numerous (mostly harmless) compiler and Doxygen warnings
    • Improve CMake linking instructions
  • Validated OS Environments
    (Versions for build and runtime dependencies can be determined from the
    docker container definitions in the UHD repository at .ci/docker/...)
    • Linux:
      • Ubuntu: jammy (22.04), noble (24.04), questing (25.10)
      • Fedora: 40, 41, 42
    • Windows: 10 22H2, 11 24H2
    • MacOS: Sequoia (15.6)
Loading

UHD 4.10.0.0-RC3

15 Apr 10:30
@mkoop-ni mkoop-ni

Choose a tag to compare

UHD 4.10.0.0-RC3 Pre-release
Pre-release

UHD 4.10.0.0 Release Candidate 3

  • Highlights / Main Changes
    • Support for USRP X420
    • Addition of timed complex gain feature, which allows setting a complex gain
      value to fix phase and amplitude of signals from radio blocks
  • New Features
    • CMake:
      • Create UHD::uhd package for improved integration in downstream build
        processes. The init_usrp example is used to showcase this feature.
      • Improved options for RFNoC OOT modules to write unit tests.
    • Add helper routines to up- and download data (reliably) from and to the
      DRAM block
    • X310: Allow daughterboards to set dboard clock rate
    • Improve finding of MPM-based devices by making parts of the find call
      asynchronous and allowing to skip reachability checks.
    • RFNoC:
      • Added new optional feature to all Radio blocks - Timed complex gain:
        • Allows specifying complex gain coefficients to be applied to all
          TX and/or RX samples of a radio channel at the specified time.
        • Enabled by default for all TX and RX channels of the radio blocks,
          but can be disabled at FPGA build time via the EN_COMP_GAIN_TX
          and EN_COMP_GAIN_RX parameters of the radio blocks.
        • NOTE: For the x440_X4_400 default FPGA design provided with UHD,
          enabling this feature for all 8 RX and TX channels necessitated
          restricting the existing crossbar connections between the replay
          blocks and the radio blocks. As a result, only blocks with the same
          indices can be connected (e.g. replay0<->radio0 and replay1<->radio1
          only) when using this pre-built USRP FPGA image.
      • Blocks may now drive the front-panel GPIO pins on all RFNoC-capable
        devices. New IO signatures are added, and all device BSPs have IO ports
        for accessing the GPIOs. Device controls are updated such that the user
        can choose the source for GPIOs dynamically in this case (i.e., the
        radio blocks and other GPIO sources are still available). In some cases,
        the device BSP HDL had to be significantly refactored.
      • Add names and descriptions for block's and module's YAML files, so that
        other tools may read information about those in an automated fashion
      • Allow mtu stream argument, which overrides the MTU value that is
        derived from the link information.
      • Action handling is now moved to its own thread (there is one action
        handling thread per graph). This allows actions to be handled
        asynchronously, e.g., when triggering actions from async message handlers.
      • Add radio_state IO signature, so that other blocks can monitor the ATR
        state of radio blocks.
      • All RFNoC devices can now take an mtu stream argument (which overrides
        the detected link MTU) and a force_mtu device argument (which skips
        automatic MTU detection and forces a fixed value). These are helpful in
        scenarios where a specific network topology interferes with path MTU
        discovery, and for remote streaming when the MTU for a remote stream link
        cannot be inferred from UHD.
      • rfnoc_modtool has improved support for generating unit tests.
      • Add PPS IO signature for all targets
      • Add stream command to start receiving when a transmit occurs
      • Null source/sink: Add finite mode.
      • Add UX1/UX2/UX4 QSFP configurations for X4xx
  • API Changes
    • meta_range_t and uhd::dict can now be initialized from initializer lists
    • Add rfnoc_graph::get_chdr_xport_adapters()
    • Python API now allows creating SubdevSpec from a string
    • Some public APIs that used boost::optional now also work with std::optional
    • Unit tests for RFNoC blocks (in-tree and out-of-tree) no longer require a
      dummy implementation of ~make_args_t()
    • uhd::cast::to_str() was added and uhd::cast::from_str() was extended to
      be a full replacement for boost::lexical_cast
  • Examples
    • Overhauled many of the examples to improve documentation, as well as some
      minor conveniences or bug fixes
    • Added continuous streaming to tx_samples_from_file
    • Improved gpio example.
  • Bug Fixes
    • Fix static UHD library builds
    • Fix compatibility with Boost 1.89
    • RFNoC:
      • Fix slicing notation in rfnoc_image_builder
      • Fix building of GRC files with empty default target (this would affect
        builds of X410 and X440 device bitfiles from GNU Radio)
      • Fix installation of OOT modules in Python venvs
      • Fix time alignment of first sample
      • Unit tests in RFNoC OOT modules now preload their DLLs to ensure the
        correct library version is loaded
      • Fix generation of GNU Radio C++ block controllers
      • rfnoc_modtool: Fix creation of spurious unit tests, fix package_data for
        Python module installation
      • rfnoc_modtool: Fix connection check for invalid ports
      • Fix alignment of first sample coming from radio block.
      • Fix bug in ctrlport_endpoint which could cause the software to believe
        the associated RFNoC block's command FIFO was full when packets were lost
      • Add parameter to skip waiting for ACKs in async messages
    • E31x: Fix GPIO control
    • E3xx/B2xx: Fix rounding bug for RF PLL tuning
    • B2xx: Fix image loading via b200_image_loader when multiple devices are
      attached
    • X410: Fix tuning when power calibration and non-default gain profiles are
      used.
    • Power calibration tools: Fix settings for E320, allow non-default sampling
      rate, other minor fixes
    • FPGA
      • Fix various simulation-related bugs
    • USRP Simulator: Update to match current UHD.
    • multi_usrp:
      • Improved bank name check in multi_usrp::{set,get}_gpio_attr()
    • CMake:
      • Allow absolute paths for install dirs in pkg-config
      • Fix target include path for Python module
    • USRP1: Fix converter name in property tree
    • FPGA:
      • Fix various simulation/testbench issues.
      • Improve resource utilization in various places.
    • MPM:
      • Fix file descriptor leaks by using with/open everywhere.
      • Fix double-free issue in rpclib.
      • Remove tolerance for non-existing EEPROMs.
    • Examples: Properly report errors when opening a file failed.
    • Python: When installing into venvs, no longer force a reinstallation of
      dependencies.
  • Dependencies changes
    • Increase minimum required versions
      • Boost to 1.71
      • DPDK to 19.11
      • Changed minimum CMake versions for various non-UHD projects, e.g.
        firmware builds, to stay compatible with CMake 4
  • Documentation
    • Restructured the UHD manual, improved chapter structure, improved getting
      started content, added RFNoC specification.
    • Fixed some external links
    • Many smaller improvements (typos, duplicate entries removed, formatting,
      etc.)
  • Codebase Management
    • Increased C++ version to 20 for UHD library, examples, and utilities
    • Removed Boost in multiple locations and replaced with standard library
      calls
    • Fix numerous (mostly harmless) compiler and Doxygen warnings
    • Improve CMake linking instructions
  • Validated OS Environments
    (Versions for build and runtime dependencies can be determined from the
    docker container definitions in the UHD repository at .ci/docker/...)
    • Linux:
      • Ubuntu: jammy (22.04), noble (24.04), questing (25.10)
      • Fedora: 40, 41, 42
    • Windows: 10 22H2, 11 24H2
    • MacOS: Sequoia (15.6)
Loading

UHD 4.10.0.0-RC1

07 Apr 22:18
@mkoop-ni mkoop-ni

Choose a tag to compare

UHD 4.10.0.0-RC1 Pre-release
Pre-release

UHD 4.10.0.0 Release Candidate 1

  • Known Issues

    • The utilities uhd_images_downloader and usrp_update_fs fail to locate the filesystem images.
      Users must manually download the file system images from:
      https://files.ettus.com/binaries/cache/<usrp family>/meta-ettus-v4.10.0.0-rc1
      where <usrp family> is one of: e3xx, n3xx, or x4xx.


  • Highlights / Main Changes

    • Support for USRP X420
    • Addition of timed complex gain feature, which allows setting a complex gain
      value to fix phase and amplitude of signals from radio blocks
  • New Features

    • CMake:
      • Create UHD::uhd package for improved integration in downstream build
        processes. The init_usrp example is used to showcase this feature.
      • Improved options for RFNoC OOT modules to write unit tests.
    • Add helper routines to up- and download data (reliably) from and to the
      DRAM block
    • X310: Allow daughterboards to set dboard clock rate
    • Improve finding of MPM-based devices by making parts of the find call
      asynchronous and allowing to skip reachability checks.
    • RFNoC:
      • Added new optional feature to all Radio blocks - Timed complex gain:
        • Allows specifying complex gain coefficients to be applied to all
          TX and/or RX samples of a radio channel at the specified time.
        • Enabled by default for all TX and RX channels of the radio blocks,
          but can be disabled at FPGA build time via the EN_COMP_GAIN_TX
          and EN_COMP_GAIN_RX parameters of the radio blocks.
        • NOTE: For the x440_X4_400 default FPGA design provided with UHD,
          enabling this feature for all 8 RX and TX channels necessitated
          restricting the existing crossbar connections between the replay
          blocks and the radio blocks. As a result, only blocks with the same
          indices can be connected (e.g. replay0<->radio0 and replay1<->radio1
          only) when using this pre-built USRP FPGA image.
      • Blocks may now drive the front-panel GPIO pins on all RFNoC-capable
        devices. New IO signatures are added, and all device BSPs have IO ports
        for accessing the GPIOs. Device controls are updated such that the user
        can choose the source for GPIOs dynamically in this case (i.e., the
        radio blocks and other GPIO sources are still available). In some cases,
        the device BSP HDL had to be significantly refactored.
      • Add names and descriptions for block's and module's YAML files, so that
        other tools may read information about those in an automated fashion
      • Allow mtu stream argument, which overrides the MTU value that is
        derived from the link information.
      • Action handling is now moved to its own thread (there is one action
        handling thread per graph). This allows actions to be handled
        asynchronously, e.g., when triggering actions from async message handlers.
      • Add radio_state IO signature, so that other blocks can monitor the ATR
        state of radio blocks.
      • All RFNoC devices can now take an mtu stream argument (which overrides
        the detected link MTU) and a force_mtu device argument (which skips
        automatic MTU detection and forces a fixed value). These are helpful in
        scenarios where a specific network topology interferes with path MTU
        discovery, and for remote streaming when the MTU for a remote stream link
        cannot be inferred from UHD.
      • rfnoc_modtool has improved support for generating unit tests.
      • Add PPS IO signature for all targets
      • Add stream command to start receiving when a transmit occurs
      • Null source/sink: Add finite mode.
      • Add UX1/UX2/UX4 QSFP configurations for X4xx
  • API Changes

    • meta_range_t and uhd::dict can now be initialized from initializer lists
    • Add rfnoc_graph::get_chdr_xport_adapters()
    • Python API now allows creating SubdevSpec from a string
    • Some public APIs that used boost::optional now also work with std::optional
    • Unit tests for RFNoC blocks (in-tree and out-of-tree) no longer require a
      dummy implementation of ~make_args_t()
    • uhd::cast::to_str() was added and uhd::cast::from_str() was extended to
      be a full replacement for boost::lexical_cast
  • Examples

    • Overhauled many of the examples to improve documentation, as well as some
      minor conveniences or bug fixes
    • Added continuous streaming to tx_samples_from_file
    • Improved gpio example.
  • Bug Fixes

    • Fix static UHD library builds
    • Fix compatibility with Boost 1.89
    • RFNoC:
      • Fix slicing notation in rfnoc_image_builder
      • Fix building of GRC files with empty default target (this would affect
        builds of X410 and X440 device bitfiles from GNU Radio)
      • Fix installation of OOT modules in Python venvs
      • Fix time alignment of first sample
      • Unit tests in RFNoC OOT modules now preload their DLLs to ensure the
        correct library version is loaded
      • Fix generation of GNU Radio C++ block controllers
      • rfnoc_modtool: Fix creation of spurious unit tests, fix package_data for
        Python module installation
      • rfnoc_modtool: Fix connection check for invalid ports
      • Fix alignment of first sample coming from radio block.
      • Fix bug in ctrlport_endpoint which could cause the software to believe
        the associated RFNoC block's command FIFO was full when packets were lost
      • Add parameter to skip waiting for ACKs in async messages
    • E31x: Fix GPIO control
    • E3xx/B2xx: Fix rounding bug for RF PLL tuning
    • B2xx: Fix image loading via b200_image_loader when multiple devices are
      attached
    • X410: Fix tuning when power calibration and non-default gain profiles are
      used.
    • Power calibration tools: Fix settings for E320, allow non-default sampling
      rate, other minor fixes
    • FPGA
      • Fix various simulation-related bugs
    • USRP Simulator: Update to match current UHD.
    • multi_usrp:
      • Improved bank name check in multi_usrp::{set,get}_gpio_attr()
    • CMake:
      • Allow absolute paths for install dirs in pkg-config
      • Fix target include path for Python module
    • USRP1: Fix converter name in property tree
    • FPGA:
      • Fix various simulation/testbench issues.
      • Improve resource utilization in various places.
    • MPM:
      • Fix file descriptor leaks by using with/open everywhere.
      • Fix double-free issue in rpclib.
      • Remove tolerance for non-existing EEPROMs.
    • Examples: Properly report errors when opening a file failed.
    • Python: When installing into venvs, no longer force a reinstallation of
      dependencies.
  • Dependencies changes

    • Increase minimum required versions
      • Boost to 1.71
      • DPDK to 19.11
      • Changed minimum CMake versions for various non-UHD projects, e.g.
        firmware builds, to stay compatible with CMake 4
  • Documentation

    • Restructured the UHD manual, improved chapter structure, improved getting
      started content, added RFNoC specification.
    • Fixed some external links
    • Many smaller improvements (typos, duplicate entries removed, formatting,
      etc.)
  • Codebase Management

    • Increased C++ version to 20 for UHD library, examples, and utilities
    • Removed Boost in multiple locations and replaced with standard library
      calls
    • Fix numerous (mostly harmless) compiler and Doxygen warnings
    • Improve CMake linking instructions
  • Validated OS Environments
    (Versions for build and runtime dependencies can be determined from the
    docker container definitions in the UHD repository at .ci/docker/...)

    • Linux:
      • Ubuntu: jammy (22.04), noble (24.04), questing (25.10)
      • Fedora: 40, 41, 42
    • Windows: 10 22H2, 11 24H2
    • MacOS: Sequoia (15.6)
Loading
BurmazDaniel reacted with thumbs up emoji
1 person reacted

UHD 4.9.0.1

13 Oct 13:23
@mkoop-ni mkoop-ni

Choose a tag to compare

UHD 4.9.0.1

Changes compared to UHD 4.9.0.0:

  • Dependency changes
    • Support Boost 1.89.0
    • Drop support for boost below 1.71.0
  • Fixes
    • Fix static build of libuhd
  • Notes
    • We suggest to only update to this version if the boost 1.89.0 compability
      is required. Apart from the Boost build fixes, there are no other changes
      in this UHD release.
Loading

UHD 4.9.0.0

05 Sep 05:01
@mkoop-ni mkoop-ni

Choose a tag to compare

UHD 4.9.0.0

  • Highlights / Main Changes

    • Support for USRP B206mini-i
    • Support for OBX daughterboard
  • New Features

    • OBX daughterboard and B206mini support added.
    • X3x0: Add support for the gps_iface feature. This allows sending arbitrary
      commands to the GPS module.
    • rfnoc_modtool: Add a new subcommand, make-yaml, that generates a block
      YAML file from some user inputs. When calling rfnoc_modtool add without
      a valid block YAML file, the tool will now automatically call make-yaml to
      generate a new YAML file.
    • Added support for processing multiple samples per cycle in FFT block.
    • LabVIEW/USRP: New repository containing example applications which
      demonstrate how to use NI LabVIEW with USRP devices via the UHD APIs.
      (https://github.com/ni/labview-usrp-examples)
    • Improved RFNoC OOT Block support:
      New repository containing official RFNoC OOT Blocks
      (https://github.com/EttusResearch/rfnoc-oot-blocks)
      • Added new RFNoC Aurora Block for TX and RX remote streaming applications
        to and from Aurora capable compute nodes like FPGA Coprocessors.
    • Enhanced the UHD Windows installer to automatically install Windows
      driver packages into the OS, eliminating this manual post-installation
      step for B-Series USB devices.
  • API Changes

    • uhd::math::gcd and uhd::math::lcm are removed from the public
      headers. Use std::gcd and std::lcm instead if C++17 is available,
      or boost::math::gcd and boost::math::lcm if not.
    • When calling recv() on an RX streamer connected to an RFNoC device, we
      no longer artificially inflate the timeout value. The old behaviour was
      in some cases abused to detect overruns, but this is not a reliable method
      and is now explicitly declared unsupported.
  • Bug Fixes

    • RFNoC
      • Calling recv() on an RX streamer connected to an RFNoC device with a
        zero timeout value now correctly returns immediately.
      • rfnoc-gain: Moved the fpga/ subdirectory under rfnoc/. This way, the
        directory structure inside the OOT module is identical to the directory
        structure after installation.
    • X410:
      • Fixed NCO reset mechanism that caused ADC self-cal errors to occur during
        reopening of a UHD session when timed tune commands were previously used.
  • Removals / Deprecations

    • Removed tools/uhd_dump. This tool is obsolete, the USRP X3x0 is not even
      compatible with it any more. Dumps can be recorded and analyzed with wireshark
      and the UHD dissectors in here.
    • Removed network_relay example.
  • Validated OS Environments
    (Versions for build and runtime dependencies can be determined from the
    docker container definitions in the UHD repository at .ci/docker/...))

    • Linux:
      • Ubuntu: focal (20.04), jammy (22.04), noble (24.04), plucky (25.04)
      • Fedora: 40, 41, 42
    • Windows: 10 22H2, 11 23H2
    • MacOS: Sequoia (15.2)

    Binary installer installers for Windows and Linux Fedora are available at https://files.ettus.com/binaries/uhd/uhd_004.009.000.000-release/,
    and for Linux Ubuntu through a Personal Package Archive (PPA) at https://launchpad.net/~ettusresearch/+archive/ubuntu/uhd.

Loading

UHD 4.9.0.0-RC2

29 Aug 12:52
@mkoop-ni mkoop-ni

Choose a tag to compare

UHD 4.9.0.0-RC2 Pre-release
Pre-release

UHD 4.9.0.0 Release Candidate 2

  • Highlights / Main Changes
    • Support for USRP B206mini-i
    • Support for OBX daughterboard
  • New Features
    • OBX daughterboard and B206mini support added.
    • X3x0: Add support for the gps_iface feature. This allows sending arbitrary
      commands to the GPS module.
    • rfnoc_modtool: Add a new subcommand, make-yaml, that generates a block
      YAML file from some user inputs. When calling rfnoc_modtool add without
      a valid block YAML file, the tool will now automatically call make-yaml to
      generate a new YAML file.
    • Added support for processing multiple samples per cycle in FFT block.
    • LabVIEW/USRP: New repository containing example applications which
      demonstrate how to use NI LabVIEW with USRP devices via the UHD APIs.
      (https://github.com/ni/labview-usrp-examples)
    • Improved RFNoC OOT Block support:
      New repository containing official RFNoC OOT Blocks
      (https://github.com/EttusResearch/rfnoc-oot-blocks)
      • Added new RFNoC Aurora Block for TX and RX remote streaming applications
        to and from Aurora capable compute nodes like FPGA Coprocessors.
    • Enhanced the UHD Windows installer to automatically install Windows
      driver packages into the OS, eliminating this manual post-installation
      step for B-Series USB devices.
  • API Changes
    • uhd::math::gcd and uhd::math::lcm are removed from the public
      headers. Use std::gcd and std::lcm instead if C++17 is available,
      or boost::math::gcd and boost::math::lcm if not.
    • When calling recv() on an RX streamer connected to an RFNoC device, we
      no longer artificially inflate the timeout value. The old behaviour was
      in some cases abused to detect overruns, but this is not a reliable method
      and is now explicitly declared unsupported.
  • Bug Fixes
    • RFNoC
      • Calling recv() on an RX streamer connected to an RFNoC device with a
        zero timeout value now correctly returns immediately.
      • rfnoc-gain: Moved the fpga/ subdirectory under rfnoc/. This way, the
        directory structure inside the OOT module is identical to the directory
        structure after installation.
    • X410:
      • Fixed NCO reset mechanism that caused ADC self-cal errors to occur during
        reopening of a UHD session when timed tune commands were previously used.
  • Removals / Deprecations
    • Removed tools/uhd_dump. This tool is obsolete, the USRP X3x0 is not even
      compatible with it any more. Dumps can be recorded and analyzed with wireshark
      and the UHD dissectors in here.
    • Removed network_relay example.
  • Validated OS Environments
    (Versions for build and runtime dependencies can be determined from the
    docker container definitions in the UHD repository at .ci/docker/...))
    • Linux:
      • Ubuntu: focal (20.04), jammy (22.04), noble (24.04), plucky (25.04)
      • Fedora: 40, 41, 42
    • Windows: 10 22H2, 11 23H2
    • MacOS: Sequoia (15.2)
Loading

UHD 4.9.0.0-RC1

13 Aug 06:30
@joergho joergho

Choose a tag to compare

UHD 4.9.0.0-RC1 Pre-release
Pre-release

UHD 4.9.0.0 Release Candidate 1

  • Highlights / Main Changes

    • Support for USRP B206mini-i
    • Support for OBX daughterboard
  • New Features

    • OBX daughterboard and B206mini support added.
    • X3x0: Add support for the gps_iface feature. This allows sending arbitrary
      commands to the GPS module.
    • rfnoc_modtool: Add a new subcommand, make-yaml, that generates a block
      YAML file from some user inputs. When calling rfnoc_modtool add without
      a valid block YAML file, the tool will now automatically call make-yaml to
      generate a new YAML file.
    • Added support for processing multiple samples per cycle in FFT block.
    • LabVIEW/USRP: New repository containing example applications which
      demonstrate how to use NI LabVIEW with USRP devices via the UHD APIs.
      (https://github.com/ni/labview-usrp-examples)
  • API Changes

    • uhd::math::gcd and uhd::math::lcm are removed from the public
      headers. Use std::gcd and std::lcm instead if C++17 is available,
      or boost::math::gcd and boost::math::lcm if not.
    • When calling recv() on an RX streamer connected to an RFNoC device, we
      no longer artificially inflate the timeout value. The old behaviour was
      in some cases abused to detect overruns, but this is not a reliable method
      and is now explicitly declared unsupported.
  • Bug Fixes

    • RFNoC
      • Calling recv() on an RX streamer connected to an RFNoC device with a
        zero timeout value now correctly returns immediately.
      • rfnoc-gain: Moved the fpga/ subdirectory under rfnoc/. This way, the
        directory structure inside the OOT module is identical to the directory
        structure after installation.
    • X410:
      • Fixed NCO reset mechanism that caused ADC self-cal errors to occur during
        reopening of a UHD session when timed tune commands were previously used.
  • Removals / Deprecations

    • Removed tools/uhd_dump. This tool is obsolete, the USRP X3x0 is not even
      compatible with it any more. Dumps can be recorded and analyzed with wireshark
      and the UHD dissectors in here.
    • Removed network_relay example.
  • Validated OS Environments
    (Versions for build and runtime dependencies can be determined from the
    docker container definitions in the UHD repository at .ci/docker/...)

    • Linux:
      • Ubuntu: focal (20.04), jammy (22.04), noble (24.04), plucky (25.04)
      • Fedora: 40, 41, 42
    • Windows: 10 22H2, 11 23H2
    • MacOS: Sequoia (15.2)

    Binary installer installers for Linux and Windows are available at
    https://files.ettus.com/binaries/uhd/uhd_004.009.000.000-rc1

Loading

UHD 4.8.0.0

28 Jan 16:46
@joergho joergho

Choose a tag to compare

UHD 4.8.0.0

Highlights / Main Changes

  • Addition of rfnoc_modtool and further improvements to RFNoC Image Builder
    toolsets. This further improves the ability to design RFNoC blocks and
    create custom FPGA bitfiles.
  • Replaced RFNoC FFT block with a new version
  • Improved Windows installation capabilities including distribution
    of binary Python bindings for Windows though PyPI

New Features

  • Image Builder
    • Add GRC support. This allows designing RFNoC bitfiles from GNU Radio
      Companion (GRC).
    • Improve clock connection checks and checks for duplicate connections.
    • Improve IO port compat check (e.g., check if wire widths match).
    • Allow default clocks in domain checks.
    • Simplify image core YAMLs by better usage of RADIO_NIPC parameter.
    • Improve parameter resolution.
    • Improve error messages for missing YAML files.
    • Add --SYNTH and --CHECK options.
    • Add support for building an FPGA image using multiple parallel jobs and
      unique seeds with repeat_fpga_build.py and the --fpga-jobs option.
    • Add 'q' (or 'quote') filter to YAML files to allow quoting strings.
  • rfnoc-gain (OOT RFNoC example)
    • Overhaul directory structure, and rename to rfnoc-gain from
      rfnoc-example.
    • Simplify dynamic loading of OOT DLLs by using the new modules.d feature.
    • Add CE clock support to gain block. This enables the example on X4x0.
    • Add a GNU Radio subdirectory with examples of how to run the gain block
      in GNU Radio.
  • Add rfnoc_modtool. This is a command line utility to help design OOT RFNoC
    blocks and replaces the previously available blocktool.
  • RFNoC
    • Add tune requests. This allows tuning a complete graph as known from
      multi_usrp instead of single blocks individually.
    • Replace FFT block with a new version supporting larger FFT sizes and
      cyclic prefix insertion and removal.
  • multi_usrp
    • Add Python bindings for get_user_settings_iface()
  • General UHD
    • Add modules.d support
    • Add uhd::find_uhd_command() API call
    • Remove old-style Boost.Asio usage for compatibility with future versions
      of Boost.
  • Embedded Filesystem
    • Support for USB Audio devices on E31X, E320, N3XX and X4XX
  • Windows binary installer
    • Simplified the Windows installer experience by reducing the number of
      individual downloads from 4 (for USB devices) to 2, by including
      libusb.dll and USB driver installer files into NSIS-built installer
      binaries.
    • Add new cmake feature option called ENABLE_EXTEND_WIN_PACKAGING,
      which defaults to off. Enabling this feature will cause a number
      of convenience components to be included into the Windows deployment
      package (aka. installer).
      Enabling this feature has no effect on other platforms.
    • Added binary Python bindings for Windows installable through PyPI
      (pip install uhd)
  • Documentation
    • Add documentation about relationship of MTU, samples per packet and
      atomic item size

Dependencies changes

  • Increase minimum required versions
    • CMake to 3.12
    • Boost to 1.66

Bug Fixes

  • General UHD
    • Fix compatibility with DPDK >= 22.11
    • Fix compiler warnings for better compatibility with C++17 and 20.
    • Add logic for loading uhd.dll from the correct path for Windows with
      Python3.8+.
    • Add logic to warn about potential incompatibilities when importing
      Python bindings.
    • Remove duplicate results from find
    • Release GIL when calling find from Python which improves response time
      for large setups.
  • Python support
    • On Windows now also enable building python support if minimum supported
      python version is detected.
    • Changed version number format for build Windows binaries to common
      major.api.abi.patch format.
  • MPM
    • Allow images without RF frontend (will only be initialized if FPGA
      reports availability)
    • Fix usrp_update_fs to work for all embedded devices (and not just X4xx)
  • E320: Ensure consistent sequencing when powering on/off GPSDO
  • N310/N300: Fix LO query API for lowband LO
  • RFNoC
    • RFNoC DDC/DUC block (used in all Gen-3 USRPs and X410): Fix fractional
      frequency offset.
    • Fix AIS/spp calculation (e.g., for connecting FFT blocks).
    • Fix USE_IMPL rendering for the addsub block.
  • Image Builder
    • Fix colors
    • Fix error message for missing control SEP
    • Improve error reporting for invalid connections
    • Accept ~ and ~user on command line
    • Fix deprecated usage of yaml.load()
    • Ensure correct device tree files generation when choosing a custom build
      directory
  • rfnoc_modtool
    • Fix generation of noc_shells

Validated OS Environments

(Versions for build and runtime dependencies can be determined from the
docker container definitions in the UHD repository at .ci/docker/...)

  • Linux:
    • Ubuntu: bionic (18.04), focal (20.04), jammy (22.04), noble (24.04)
    • Fedora: 39, 40, 41
  • Windows: 10 21H2, 11 21H2
  • MacOS: Monterey (12.6)
Loading

UHD 4.8.0.0-RC1

20 Jan 17:52
@joergho joergho

Choose a tag to compare

UHD 4.8.0.0-RC1 Pre-release
Pre-release

UHD 4.8.0.0 Release Candidate 1

  • Highlights / Main Changes
    • Addition of rfnoc_modtool and further improvements to RFNoC Image Builder
      toolsets. This further improves the ability to design RFNoC blocks and
      create custom FPGA bitfiles.
    • Replaced RFNoC FFT block with a new version
    • Improved Windows installation capabilities including distribution
      of binary Python bindings for Windows though PyPI
  • New Features
    • Image Builder
      • Add GRC support. This allows designing RFNoC bitfiles from GNU Radio
        Companion (GRC).
      • Improve clock connection checks and checks for duplicate connections.
      • Improve IO port compat check (e.g., check if wire widths match).
      • Allow default clocks in domain checks.
      • Simplify image core YAMLs by better usage of RADIO_NIPC parameter.
      • Improve parameter resolution.
      • Improve error messages for missing YAML files.
      • Add --SYNTH and --CHECK options.
      • Add support for building an FPGA image using multiple parallel jobs and
        unique seeds with repeat_fpga_build.py and the --fpga-jobs option.
      • Add 'q' (or 'quote') filter to YAML files to allow quoting strings.
    • rfnoc-gain (OOT RFNoC example)
      • Overhaul directory structure, and rename to rfnoc-gain from
        rfnoc-example.
      • Simplify dynamic loading of OOT DLLs by using the new modules.d feature.
      • Add CE clock support to gain block. This enables the example on X4x0.
      • Add a GNU Radio subdirectory with examples of how to run the gain block
        in GNU Radio.
    • Add rfnoc_modtool. This is a command line utility to help design OOT RFNoC
      blocks and replaces the previously available blocktool.
    • RFNoC
      • Add tune requests. This allows tuning a complete graph as known from
        multi_usrp instead of single blocks individually.
      • Replace FFT block with a new version supporting larger FFT sizes and
        cyclic prefix insertion and removal.
    • multi_usrp
      • Add Python bindings for get_user_settings_iface()
    • General UHD
      • Add modules.d support
      • Add uhd::find_uhd_command() API call
      • Remove old-style Boost.Asio usage for compatibility with future versions
        of Boost.
    • Embedded Filesystem
      • Support for USB Audio devices on E31X, E320, N3XX and X4XX
    • Windows binary installer
      • Simplified the Windows installer experience by reducing the number of
        individual downloads from 4 (for USB devices) to 2, by including
        libusb.dll and USB driver installer files into NSIS-built installer
        binaries.
      • Add new cmake feature option called ENABLE_EXTEND_WIN_PACKAGING,
        which defaults to off. Enabling this feature will cause a number
        of convenience components to be included into the Windows deployment
        package (aka. installer).
        Enabling this feature has no effect on other platforms.
      • Added binary Python bindings for Windows installable through PyPI
        (pip install uhd)
    • Documentation
      • Add documentation about relationship of MTU, samples per packet and
        atomic item size
  • Dependencies changes
    • Increase minimum required versions
      • CMake to 3.12
      • Boost to 1.66
  • Bug Fixes
    • General UHD
      • Fix compatibility with DPDK >= 22.11
      • Fix compiler warnings for better compatibility with C++17 and 20.
      • Add logic for loading uhd.dll from the correct path for Windows with
        Python3.8+.
      • Add logic to warn about potential incompatibilities when importing
        Python bindings.
      • Remove duplicate results from find
      • Release GIL when calling find from Python which improves response time
        for large setups.
    • Python support
      • On Windows now also enable building python support if minimum supported
        python version is detected.
      • Changed version number format for build Windows binaries to common
        major.api.abi.patch format.
    • MPM
      • Allow images without RF frontend (will only be initialized if FPGA
        reports availability)
    • E320: Ensure consistent sequencing when powering on/off GPSDO
    • N310/N300: Fix LO query API for lowband LO
    • RFNoC
      • RFNoC DDC/DUC block (used in all Gen-3 USRPs and X410): Fix fractional
        frequency offset.
      • Fix AIS/spp calculation (e.g., for connecting FFT blocks).
      • Fix USE_IMPL rendering for the addsub block.
    • Image Builder
      • Fix colors
      • Fix error message for missing control SEP
      • Improve error reporting for invalid connections
      • Accept ~ and ~user on command line
      • Fix deprecated usage of yaml.load()
      • Ensure correct device tree files generation when choosing a custom build
        directory
    • rfnoc_modtool
      • Fix generation of noc_shells
  • Validated OS Environments
    (Versions for build and runtime dependencies can be determined from the
    docker container definitions in the UHD repository at .ci/docker/...)
    • Linux:
      • Ubuntu: bionic (18.04), focal (20.04), jammy (22.04), noble (24.04)
      • Fedora: 39, 40, 41
    • Windows: 10 21H2, 11 21H2
    • MacOS: Monterey (12.6)
Loading
Previous 1 3 4 5
Previous

AltStyle によって変換されたページ (->オリジナル) /