Skip to content

V2.5

Choose a tag to compare

@vanvught vanvught released this 19 Mar 14:53

Release Notes
This release focuses on cleanup, consistency, and a few important correctness fixes across RDM, DMX, Art-Net, console, and network interface code.

Highlights
The most important behavioral fix in this release is a correction to RDM UID construction. The device serial number bytes are now mapped in the correct order when composing the UID, fixing an endianness issue so uid_[2]..uid_[5] now receive serial_number_[3]..serial_number_[0].
Another notable functional improvement is in Art-Net poll replies. DHCP/manual IP status bits are now set when the poll reply is built, instead of being cached at startup. That makes the reported network state accurate at the time the reply is sent.
The rest of the changes are mostly refactors and cleanup aimed at improving readability, consistency, and maintainability.

Added / Improved
RDM

  • Fixed UID serial number byte order when composing the RDM UID.

DMX configuration

  • Simplified DMX node configuration storage:
    • renamed inline static storage from store_dmxnode_ to store_dmxnode
    • removed the unused personality field from configuration handling
    • removed the related JSON key, parsing, serialization, and dump output
    • updated stored struct layout by replacing the personality byte with a 2-byte reserved field
  • Adjusted config copy/store/apply code to match the new layout

Art-Net

  • Moved DHCP/manual flag handling into SendPollReply()
  • Removed redundant DHCP flag updates from:
    • ArtNetNode::Start()
    • IP programming handling
  • Existing DHCP capability reporting remains unchanged

Console / serial / network utilities

  • Replaced local TO_HEX / ToHex implementations with common::hex::ToCharUppercase
  • Added shared hex utility includes where needed
  • Removed redundant macro/function definitions from console and network code

Network interface / hostname handling

  • Improved hostname generation and sanitization:
    • copy only printable characters
    • zero-fill remaining buffer
    • avoid embedding non-printable bytes
  • Updated default hostname build logic and debug tracing
  • Modernized interface code:
    • switched from legacy network.h include to core/netif.h
    • adjusted includes in JSON/network parameter handling
    • treated hwaddr as a pointer for cleaner handling

Cleanup

  • Removed an unused include in artnetparams.cpp
  • Removed a stale inline comment in the RTL8201F PHY driver
  • Updated related JSON/configuration code to reflect DMX parameter changes
  • Minor IDE metadata update in language settings

Behavior Changes

  • RDM UID generation: serial number byte order has changed to the correct mapping
  • Art-Net poll replies: DHCP/manual IP flags now reflect the current interface state at reply time
  • DMX JSON/config: the unused personality field is no longer accepted, stored, or exported

Upgrade Notes
If you consume exported JSON or stored config structures directly:

  • remove any dependency on the DMX personality key
  • expect the DMX config struct layout to have changed slightly
  • expect Art-Net DHCP/manual reporting to be dynamic rather than startup-fixed