Symptom
Documented in CHANGELOG [0.7.0-beta] known issues. The 10-chunk HID transfer per frame outruns the firmware's per-key RGB pipeline. Silence-flicker is gone (frame deduplication), but real-music smoothness still needs a protocol-layer change.
Likely fix
Skip the per-chunk read_response in set_many_at for write-only payloads — the firmware doesn't actually require the ack for SET_CUSTOM_LED_DATA, we just defensively wait. See crates/ak820-protocol/src/device.rs.
Acceptance
- 30 fps frame target sustained for 60 s on real music input without flicker.
- No regression in non-audio-reactive
set_custom_led paths.
Scope
0.8.x. Currently shipping as alpha behind a two-stage opt-in (Locked / Unlocked) so users can't accidentally trip the flicker.
Symptom
Documented in CHANGELOG
[0.7.0-beta]known issues. The 10-chunk HID transfer per frame outruns the firmware's per-key RGB pipeline. Silence-flicker is gone (frame deduplication), but real-music smoothness still needs a protocol-layer change.Likely fix
Skip the per-chunk
read_responseinset_many_atfor write-only payloads — the firmware doesn't actually require the ack forSET_CUSTOM_LED_DATA, we just defensively wait. Seecrates/ak820-protocol/src/device.rs.Acceptance
set_custom_ledpaths.Scope
0.8.x. Currently shipping as alpha behind a two-stage opt-in (Locked / Unlocked) so users can't accidentally trip the flicker.