Skip to content

[Arduino_LED_matrix.h] Animations cannot render frames with different LED brightness levels #308

@mirkokurt

Description

@mirkokurt

The contract currently defined for the matrix.draw() operation (an array of integers representing the brightness of each LED) differs from the contract used by the animation.
This mismatch prevents animations from correctly rendering frames that contain different brightness values per LED, making it impossible to replay animations built from frames with variable luminosity.
For animations, it may be useful to consider an animation contract based on a collection of frames expressed in the same format currently used by the draw method, together with an explicit duration (in milliseconds) for each frame. This would align the two contracts and enable proper playback of animations with per-frame and per-LED brightness variations.

Note: Managing animation timing externally (e.g. from Python by sending timed matrix.draw() calls) is not a viable option, as it would bypass the animation system entirely and does not scale or integrate properly with the intended animation workflow. Additionally, it would be extremely useful and clearer to manage animation start and stop directly within the Arduino_LED_Matrix.h library, so that led-matrix-painter users can rely on a clean, self-contained, and immediately reusable animation output as like as single frames.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions