Skip to content

V2.4

Choose a tag to compare

@vanvught vanvught released this 14 Mar 11:56
· 201 commits to main since this release

Highlights

  • Added device management tools for downloading configuration files and remotely rebooting nodes.
  • Introduced RDMnet LLRP-only build mode for GD32 targets.
  • Major internal Art-Net and RDM interface refactor for clearer naming and maintainability.
  • Improved build system with timestamp support and cleaner version handling.

Tools

  • fetch_configs.py
HTTP utility that resolves the device once (avoids repeated mDNS delays) and downloads:
    • /json/version
    • /json/list
    • all configuration files listed in /json/config/directory
Files are saved locally as formatted JSON.
  • reboot.py
UDP reboot tool that:
    • sends list and reboot commands
    • waits for the device to return online with a spinner
    • supports a --forever mode for continuous reboot cycles.

Art-Net

  • Refactored artnet.h with clearer snake_case naming.
  • Added support for:
    • ArtCommand
    • ArtDataRequest
    • ArtDataReply
  • Improved comments, flags, and port address bounds.
  • Internal cleanup while keeping packet layouts compatible.

RDM / RDMnet

  • Added LLRP-only mode (NODE_RDMNET_LLRP_ONLY).
  • Integrated LLRPDevice with the E1.31 bridge.
  • Refactored RDM discovery and state machine implementation.
  • Simplified RDM controller inheritance in Art-Net.
  • Product category/detail now supplied via build defines.

Build System

  • Added Timestamp.mk to provide a compile-time timestamp (TIME_STAMP).
  • Removed automatic generation of software_version_id.h.
  • Added conditional support for RTL8201F_LED1_LINK_ALL.
  • Minor makefile cleanups and conditional source inclusion improvements.

Refactoring and Cleanup

  • Moved dmxnode_utils.h to common/utils/utils_port.h.
  • Renamed namespace json → common.
  • Removed obsolete -fprefetch-loop-arrays pragma.
  • Normalized formatting and include order across modules.
  • Added detailed documentation for PHY RMII timing adjustments.

Developer note: Some internal identifiers were renamed (particularly in Art-Net structures and utility headers). Code referencing older names may require minor updates.