Implement shared RGB writer utilities #9

Closed
opened 2026-05-05 02:09:02 -04:00 by JackFrostbyte · 1 comment

Title:
Implement shared OpenRGB zone writer utilities

Description:
Create shared utilities for converting RGB Aura colors to OpenRGB RGBColor objects and applying full-zone frames safely.

Scope:

  • Move duplicated to_openrgb_color, apply_frame, and static dark-blue helpers into reusable code.
  • Ensure full-zone color lists are always used.
  • Keep validation separate from writing.
  • Do not change visual animation behavior.

Acceptance criteria:

  • Existing test scripts can use the shared writer utility.
  • No reserved zone is written to.
  • Existing preview scripts still work.
Title: Implement shared OpenRGB zone writer utilities Description: Create shared utilities for converting RGB Aura colors to OpenRGB RGBColor objects and applying full-zone frames safely. Scope: - Move duplicated `to_openrgb_color`, `apply_frame`, and static dark-blue helpers into reusable code. - Ensure full-zone color lists are always used. - Keep validation separate from writing. - Do not change visual animation behavior. Acceptance criteria: - Existing test scripts can use the shared writer utility. - No reserved zone is written to. - Existing preview scripts still work.
JackFrostbyte changed title from Issue #9 — Implement shared RGB writer utilities to Implement shared RGB writer utilities 2026-05-05 02:09:33 -04:00
Author
Owner

Implemented in v0.4 and merged into main.

Completed

  • Added the synchronized combined RGB Aura runtime.
  • Updated the rgb-aura command to run the real controller.
  • Added a central animation registry for future animation expansion.
  • Added reusable OpenRGB frame-writing helpers.
  • Active zones now run together with independent timing:
    • gpu
    • motherboard
    • top_fractal_fans
    • thermaltake_aurora_fans
  • reserved_argb_6_led_zone remains validated but unused by default.

Safety checks

  • Device mapping is validated before RGB writing.
  • Device names, zone names, LED counts, and usable LED indexes are checked.
  • Runtime refuses to register animations for reserved_argb_6_led_zone.
  • Runtime refuses invalid frame lengths and invalid frame durations.
  • --leave-dark-blue resets active zones to dark blue after testing.

Tested

PYTHONPATH=src python scripts/validate_device_mapping.py
ruff format src/rgb_aura
ruff check src/rgb_aura scripts tests
rgb-aura --cycles 1 --leave-dark-blue
Implemented in v0.4 and merged into `main`. ## Completed - Added the synchronized combined RGB Aura runtime. - Updated the `rgb-aura` command to run the real controller. - Added a central animation registry for future animation expansion. - Added reusable OpenRGB frame-writing helpers. - Active zones now run together with independent timing: - `gpu` - `motherboard` - `top_fractal_fans` - `thermaltake_aurora_fans` - `reserved_argb_6_led_zone` remains validated but unused by default. ## Safety checks - Device mapping is validated before RGB writing. - Device names, zone names, LED counts, and usable LED indexes are checked. - Runtime refuses to register animations for `reserved_argb_6_led_zone`. - Runtime refuses invalid frame lengths and invalid frame durations. - `--leave-dark-blue` resets active zones to dark blue after testing. ## Tested ```zsh PYTHONPATH=src python scripts/validate_device_mapping.py ruff format src/rgb_aura ruff check src/rgb_aura scripts tests rgb-aura --cycles 1 --leave-dark-blue
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
JackFrostbyte/rgb-aura#9
No description provided.