Skip to content

Releases: vanvught/GD32F303RC-DMX512-RDM

V2.3

08 Feb 09:47

Choose a tag to compare

Release Notes

Maintenance & Code Quality Improvements

This release focuses on internal cleanups, diagnostics improvements, and maintenance updates across the GD32, HAL, and Pixel DMX codebase.

  • Replaced bare assert(0) usages with clearer, more expressive assertions (assert(false) or assert(false && "")) to improve diagnostics and explicitly mark unreachable code paths.
  • Updated copyright headers across multiple files to include 2026.
  • Performed minor whitespace, formatting, indentation, and include-ordering cleanups.
  • Adjusted NDEBUG handling in Pixel DMX JSON code.
  • Applied small API tidies and refactors (cosmetic only, no behavior changes).
  • Restored or added license headers in a small number of JSON parameter files.
  • General source maintenance in several DMX, display, UDF, global, and Pixel DMX files.

These changes are non-functional and intended purely for readability, consistency, and maintainability.

New Utility Scripts

Several new helper scripts have been added under common/scripts to support development, testing, and device flashing workflows:

  • udp_send.py

    A reusable UDP send/receive module with a command-line interface for quick testing and scripting.
  • gd32/do-tftp.py

    A Python helper to drive TFTP transfers, built on top of udp_send and the system tftp client.
  • gd32/flash.py

    A GD32 ROM bootloader flashing tool with an integrated UART monitor for upload and debugging.

Summary

  • Improved assert diagnostics and unreachable-code clarity
  • License and copyright updates (now through 2026)
  • Formatting, whitespace, and include-order cleanups
  • New Python utilities for UDP, TFTP, and GD32 flashing
  • No functional or protocol-level behavior changes

V2.2

03 Jan 12:33
d65c638

Choose a tag to compare

Release Notes – Codebase Refactor & Modularization

  • Major project restructuring
    • Reorganized libraries and source files into a clearer, more modular directory structure.
    • Moved, renamed, or removed numerous files to reduce duplication and improve maintainability.
  • Legacy code cleanup
    • Removed deprecated and unused code from lib-lightset, lib-network, lib-properties, and older display components.
    • Eliminated redundant parameter and platform-specific files no longer in use.
  • Centralized common functionality
    • Migrated shared network, properties, and parameter code into a unified common directory.
    • Added new utility headers and source files for reusable functionality.
  • JSON-based configuration support
    • Added new JSON configuration and parameter files.
    • Introduced JSON helper utilities and parameter classes to standardize configuration handling and prepare for future extensibility.
  • DMX, RDM, and pixel refactor
    • Refactored DMX, RDM device handling, and pixel-related libraries for clearer structure and better separation of responsibilities.
    • Unified RDM device information handling.
  • Build system updates
    • Updated Makefiles, build scripts, and compile_commands.json to reflect the new project structure.
    • Improved GD32 platform support and hardware abstraction organization.
  • Network stack reorganization
    • Flattened lib-network source layout by moving files from subdirectories into a simpler structure.
    • Improved clarity of EMAC and Linux network interface implementations (no functional changes).
  • Debug macro consistency
    • Replaced DEBUG_ENTRY / DEBUG_EXIT macros with function-style DEBUG_ENTRY() / DEBUG_EXIT() across the codebase for consistency and readability.
  • Overall impact
    • Significantly improved modularity, readability, and long-term maintainability.
    • Laid groundwork for future feature expansion and more robust JSON-based configuration across modules.

V2.1

23 Sep 17:11

Choose a tag to compare

  • Improved startup_gd32fxxx.S
  • CMSIS has its own project now
  • Upgraded to CMSIS V5.0.5
  • Removed lib-debug. Now part of lib-hal
  • Updated to latest GD32 Firmware
  • Introduced debug software UART0
  • Major cleanup lib-configstore
  • In order to support Newlib; removed lib-c, lib-c++ and added lib-clib
  • In order to support FreeRTOS; Added Software timers in H.A.L. framework.
  • Get/Set pixel type by RDM (introduced by @PharosMarcusB)

V2.0

18 Oct 13:27

Choose a tag to compare

  • Improved build system
  • Added stack debug framework
  • Removed not used source files
  • Added support DMX delta output
  • Added Manufacturer PIDs (https://www.gd32-dmx.org/rdm.html)
  • Added support for void __libc_init_array(void)
  • Changed the layout of the config store.
    • Before upgrading the firmware it is advised to make a backup of the configuration.
    • After the upgrade, then restore the saved configuration.