Skip to content

V2.4

Choose a tag to compare

@vanvught vanvught released this 14 Mar 12:35
· 172 commits to main since this release

Major Refactor: RDM Discovery & Device API Stabilization

This release introduces a significant refactor of the RDM subsystem, stabilizing the device API and restructuring discovery handling. The changes aim to improve maintainability, consistency across modules, and future extensibility.

RDM Discovery Redesign

  • Introduced new RDM headers:
    • rdm_device_base.h
    • rdm_device_info.h
    • rdm_discovery.h
  • The legacy rdmdiscovery implementation has been refactored and renamed to:
    • rdm_discovery_statemachine
  • Discovery logic and constants were reorganized and namespaced.
    New RDM Device API
  • RDM device access has been migrated to structured types:
    • rdm::device::Base
    • rdm::device::Info
  • Updated all call sites to use the new API.
  • UID, serial number, and label handling now use the new device structures.

Configuration Store Changes
The configuration storage layout has been updated:
Changes

  • Replaced set_list fields with flag-based configuration.
  • Added helper:
    • RdmDeviceCopyArray
  • Corrected array update signatures and sizes.
    Field Updates
  • label → port_name
  • Buffer sizes adjusted to match the new naming.

Build system

  • Removed GCC optimization flag: -fprefetch-loop-arrays

Miscellaneous

  • Updated copyright years → 2026
  • Minor formatting and include cleanups
  • Variable rename:
    • type → kType
  • Simplified Sync() implementation to a one-line function.
  • Reordered RDM conditional logic in:
    • lib-pixeldmx/Rules.mk