Skip to content

UHD 4.5.0.0-RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@atomita-ni atomita-ni released this 06 Sep 16:39
· 13 commits to UHD-4.5 since this release

UHD 4.5.0.0 Release Candidate 1

The UHD 4.5.0.0 release adds:

  • Support for the NI Ettus USRP X440.
  • Bug fixes and improvements for USRP devices. See the changelog.

Changelog:

  • b200
    • Fix invalid RF switch positions
  • ci
    • add attempt number to uhd build artifact name on failure
    • Add conditions for embedded builds, HW tests
    • add pytest args option to test dev pipeline
    • add step for x440 embedded runs
    • Allow internal fileserver usage for MS installer builds
    • Auto-detect conditionals for pipeline stages
    • Default to internal fileserver for FPGA images
    • Disable PR runs for draft PRs
    • Enable X440
    • Fix swallowed return codes in CI script steps
    • Fix the chocolately version to use
    • fixup typo in x440 sdr-test0 template
    • increase build timeouts to 90 minutes
    • increase win docker image build timeout
    • Remove Fedora 35 and add Fedora 37
    • select docker image repo directly at container endpoint definitions
    • select docker registry based on branch
    • splitup x410 test stage in hardware test dev pipeline
    • Update CLA Assistant to v2.3.0
    • update docker builds to run twice a week
    • update docker service connection
    • update to build docker builds for all release branches
    • updates for new E320 in devtest system
  • clang
    • Apply clang-formatting to all C/C++ files
    • Modify files for treatment with clang-format
    • Update clang-format for version 14
  • cmake
    • Fix auto-detection of Python install directory
    • Fix linking DPDK when installed at non-standard location
  • cpld
    • Adapt CPLD updater for future X4x0 dboards
  • debian
    • Fix copyright dates in changelog
  • devtest
    • add exemptions for x440 python API test
    • correct docstrings with example being run
    • disable rx_samples_to_file_test for x440
    • fix typo in error message
    • gpio test updates
    • remove benchmark_rate test for x440
  • docs
    • Add page on timed commands
    • add python package requirement for usrpctl MPM reset
    • add updated msgpack rpc package
    • b200: Improve docs (auto MCR, GPIOs)
    • Document throttle stream arg
    • Fix argument for uhd_image_loader in E3xx docs
    • Fix docstring for get_block_chain()
    • fix typo and consistency in usrpctl docs
    • Improve documentation on timekeepers
    • Make X410 dboard a subpage of the X4xx page
    • rfnoc: Document RFNoC overrun handling algorithm
    • Update clocking theory of operations for X4xx
    • update docs for reset command
    • update FPGA build docs
    • Update X4x0 manual
    • Update X4xx manual wrt. self-cal
    • x410: Document UC_200 image flavor
    • x440: Added FBX to UM daughterboards page
    • x440: Extend X4x0 Usage Manual for x440
  • examples
    • Add power controls to rx_ascii_art_dft.cpp
    • Add throttle to replay_capture.py
    • Amend tx_waveforms.py to use DramTransmitter
    • Fix play region in replay_capture.py
    • Remove default --ref and --pps values
    • rx_samples_to_file: multi_streamer option
  • experts
    • Add force_dirty() call
  • extension
    • windows: Fixed linking extension example to uhd.lib
  • fpga
    • Add BUILD_BASE_DIR option to makefiles
    • Add BUILD_SEED variable
    • Add time changed pulse to timekeeper
    • Add X440/FBX support
    • ci: Add MAX_CPU to pool demands
    • ci: Add X410_UC_200 to default bitfiles
    • ci: Add X410_UC_200 to release pipeline
    • ci: Enable publishing to internal server
    • ci: Fix branches
    • ci: Include modified manifest in artifacts
    • ci: Support parallel jobs for IP builds
    • ci: Use different seed for each job attempt
    • ci: Use repeat_fpga_build for pipeline builds
    • Clear clang-format settings for FPGA code
    • docs: Add system memory recommendations
    • docs: Clarify design tool requirements
    • Fix RFNoC OOT Makefile inclusion
    • lib: Add axis_pkt_throttle.sv
    • lib: Add clock_div module
    • lib: Add ctrl_port_to_wb_i2c module
    • lib: Fix IPv4 CHDR TUSER width
    • lib: Fix Vivado warnings
    • lib: rfnoc: Add resize capability to chdr_stream_endpoint
    • lib: rfnoc: Make RFNoC packet gates removable
    • lib: rfnoc: Remove redundant packet gate
    • lib: rfnoc: Support multiple port widths on crossbar
    • Reformat javascript in doc
    • rfnoc: Add DEVICE_FAMILY to stream endpoint
    • rfnoc: Add throttle to stream endpoints
    • rfnoc: Add ULTRASCALE to chdr_ingress_fifo
    • Synchronize X300 RX frontends on time change
    • tools: Add repeat_fpga_build.py
    • tools: Add X410_UC_200 image to X410 package
    • Update all RFNoC image core files
    • Update RFNoC YAML copyright
    • x400: Add 1x64, 2x64, and 1x128 DRAM interconnect
    • x400: Add CG_200 RFNoC image cores
    • x400: Add ifdef to remove QSFP wrappers when unused
    • x400: Add support for X4C, C1, and UC variants
    • x400: Add X440 to default make targets
    • x400: Add X4C_200 RFNoC image cores
    • x400: Fix DB1 timekeeper strobe
    • x400: Fix PRC divider register map
    • x400: Fix SPI trigger clock crossing
    • x400: Make transport adapter width configurable
    • x400: Remove CPU_W parameter
    • x400: Set QSFP LEDs on startup
    • x400: sim: Add 10 GbE with wide CHDR
    • x400: Use x410_200 image core for x410_100 images
    • x440: fbx: clean up I2C triggers
    • x4xx: Refactor MB CPLD code for future devices
    • x4xx: Rename x410 -> x4xx for common DTS files
  • github
    • Fix URL for mailing list
  • host
    • Add cstdint include to fix gcc-13 compile.
    • Add in OpenBSD support to uhd::path_expandvars
    • Bump minimum gcc version to 7.3.0
    • doc: Add documentation for tertiary, quaternary QSFP adapter
    • fix & improve EAL args for DPDK v21.11
    • fix build with DPDK v22.11 LTS
    • improve DPDK frame_size error message
    • docs: Fix link to MSVC Redistributable Package
    • python: Update last_gain at end of run_rx_cal loop
  • images
    • Add X410_UC_200 to manifest
    • add X440 dependencies to manifest
    • bump x4xx fpga images
    • bump x4xx fpga images
    • update FPGA images for E3xx, X3xx, N3xx
    • Update manifest for SEP throttling
    • Update X410 manifest
  • lib
    • Add default virtual dtor to filter_node
    • Add X440/FBX support
    • fbx: Remove unused lambda captures
    • Fix time-cast for dboard_iface::sleep()
    • Mark select x400_dboard_iface methods as const
    • Mark selected x400_dboard_iface child methods final
    • max287x: Remove unused class attributes
    • mb_controller: Minor fixes to logging, formatting
    • rfnoc: Fix linter issue regarding virtual dtor
    • rfnoc: Fix logic in can_connect_device_to_device()
    • rfnoc: Use device cache for rfnoc_graph::make()
    • tests: Mark mock pop_host_tasks() as override
    • mpm: Add MPM synchronization API
  • mpm
    • Add ability to query enabled state of ADC/DAC blocks
    • Add dboard_info to db_iface initialization
    • Add LogRuntimeError class
    • Add revE support to zbx_update_cpld
    • Add support for X440/FBX
    • bist: Improve --help message
    • Bump compat number to 5.0
    • dboard_iface: Remove {set/get}_if_freq() APIs
    • dboard_manager: Fix linter issues in dboard_manager/base.py
    • Demote sync_tiles() error to warning
    • Disable PRC to DB if not required
    • e3xx: Fix inheritance order for DB classes
    • enable Xilinx API for PLL config
    • fix get_product_id in x4xx BIST
    • fix GPS lock sensor method name
    • Fix test utilities
    • Fix ZBX CPLD updater
    • lmk04832: Move general APIs to base class
    • Move get_dboard_class_from_pid()
    • mpmutils: Add parse_multi_device_arg() function
    • mpmutils: Fix Pylint warning
    • Normalize name for gps_locked sensor
    • periph_manager: Remove vestigial Python-six
    • Refactor LMK04832X4xx and LMK03328X4xx
    • rfdc_ctrl: Change latency argument to signed
    • rfdc: Enhance converter checks
    • rfdc: Remove set_sample_rate() API call
    • Simplify x4xx_bist nsync_fabric
    • Update X440 clock policy
    • Updated default MCR for X440
    • utils: Add LogWrapper
    • x440: Move clock info logging out of policy
    • x4xx: Add additional args parsing in init()
    • x4xx: Add intermediate clock settings to clock policy
    • x4xx: add intermediate clocking setting
    • x4xx: Add logging for metal and rfdc versions
    • x4xx: Add master_clock_rates argument to _set_ref_clock_freq()
    • x4xx: add multiple latency detect iterations
    • x4xx: Add rfdc rate as a sensor to X4xx dboards
    • x4xx: Add UC FPGA type
    • X4xx: Change reset strategy to cover all X4xx
    • x4xx: Check for tear_down()'s existence
    • x4xx: Conditionally initialize DB flash
    • x4xx: Enable DBs to have updateable_components
    • x4xx: Enable MMCM configuration based on policy
    • x4xx: Enable MPM sync API for X410
    • x4xx: Explicitly pass MCR values to set_sync_source()
    • x4xx: Extend x4xx_rfdc_regs
    • x4xx: Factor clock control out of X4xxClockManager
    • x4xx: filter MCR list
    • x4xx: Improve SPLL comments
    • x4xx: Introduce X4xxClockPolicy
    • x4xx: Let RFDC control use clock policy
    • x4xx: Make sysref_delay part of clock policy
    • x4xx: mb_cpld: Add missing bitfields
    • x4xx: Minor preparations to x4xx.py for X440 support
    • x4xx: Move all clock control to single class
    • x4xx: Move common DB tasks from ZBX class to mixin
    • x4xx: Move enable_iq_swap to x4xx_rfdc_ctrl.py
    • x4xx: Move get_master_clock_rate() to DB-RPC
    • x4xx: Move MB CPLD creation to factory
    • x4xx: Move SPLL sync before RFDC config
    • x4xx: Optimize clock configuration at init
    • x4xx: Prepare clock management for multi-mcr
    • x4xx: Refactor x4xx_rfdc_ctrl
    • x4xx: Remove get_cal_eeprom_spi_node()
    • x4xx: Remove internal_temp_sensor
    • x4xx: Rename 'both' argument to 'all'
    • x4xx: rfdc: Add get_converter_rate() API
    • x4xx: rfdc: Pull fabric words value from registers
    • x4xx: Separate RFDC and MMCM resets
    • x4xx: Separate RFDC reset from its configuration
    • x4xx: Shut down tiles on tear_down()
    • x4xx: Trust the clock policy's default MCR
    • fpga: x4xx: Major updates in preparation for future devices
  • multi_usrp
    • rfnoc: Added warning when handling tune_request
      *octoclock
    • Fix uhd_usrp_probe error
  • python
    • Add 'const' to get_continuous_tone(); improve sanity-checks
    • Add DramTransmitter class
    • Add X440 to image builder
    • Fix subdev_spec_t wrapping
    • multi_usrp: Remove spurious print
    • rfnoc: Add radio_control.get_{ticks,time}_now
    • signal: Add more waveforms to get_continuous_tone()
    • stream: Overload TxStreamer.recv_async_msg()
    • Wrap direction_t
    • Wrap stream_cmd_t::stream_mode
  • Replay buffered TX streamer
    • Fix gaps in TX
  • rfnoc
    • Add options for RFNoC image core headers
    • Add set_command_time and clear_command_time binding to Python API.
    • Allow interruption of streaming during overrun handling
    • Coerce replay packets to atomic item size
    • Demote some de-init DEBUG messages
    • Enable SEP throttle register
    • Fix disconnecting back-edges from graphs
    • Fix doxygen comments in rfnoc_graph
    • Fix sync calls for multi-timekeeper operation
    • Improve Doxygen for sync calls
    • Make edge comparison more flexible
    • radio: Always prefer register-based time access
    • radio: Make default SPP a multiple of max CHDR width
    • replay: Make default IPP a multiple of max CHDR width
    • Set DEVICE_FAMILY on stream endpoints
    • Support multiple CHDR widths in RFNoC image builder
    • update switchboard forwarding on property set
  • SelfCal
    • Add startup_tile() for cal_mode selection
    • Enable parameters in self-cal executable
    • Expose config parameters
    • Remove self-cal from boot and fpga update
    • Trigger if clocking has changed
  • tests
    • add delayed streaming start args
    • add packet capture raw udp tests
    • add streaming tests for UC_200 bitfile
    • benchmark_rate improvements
    • Fix Python warnings in parse_benchmark_rate.py
    • fix when the rx cmd's stream_now is set
  • tools
    • Add changeset analyzer
    • Add clang-formatting tools
    • add devtest rule for changeset_analyzer
    • Remove fpga directory from Debian build
    • run all tests for manifest update
    • Update upload_debs.sh script
  • UBX
    • Add VCO band calibration and map access
    • Initialize UBX set_tx_freq freq_lo variables to 0.0
    • Shift IF for RX frequencies <100 MHz
  • uhd
    • doc: Add documentation for ADC self calibration
    • multi_usrp: Support multiple timekeepers on rfnoc devices
    • Update changelog with 4.1.0.x releases
    • x4xx: Add methods to query number of chans, samp rate
    • x4xx: Refactor ADC self cal
  • usrpctl
    • add reset command
  • utils
    • Add X4xx ADC threshold query script
    • Fix usrp2_recovery.py for Python3
  • x4xx
    • Update BIST to match clocking refactoring