From 4f07a4007fe3232ed25dad6b4c2a3e9282cab71c Mon Sep 17 00:00:00 2001 From: David Gwilliam Date: Wed, 24 Jun 2026 05:09:53 -0700 Subject: [PATCH] fix: use NOTIFICATION (type 2) for draw_frame RPC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Viz was sending REQUEST (type 0) but never reading responses. Router response buffer filled up, blocking all subsequent RPCs. NOTIFICATION (type 2) expects no response — no buffer buildup. --- scripts/led-matrix-viz.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/led-matrix-viz.py b/scripts/led-matrix-viz.py index 89ef3e6..b76f445 100755 --- a/scripts/led-matrix-viz.py +++ b/scripts/led-matrix-viz.py @@ -135,7 +135,7 @@ def main(): params = render(active_notes) if params != last_sent_params: msg_id = (msg_id + 1) % 65535 - pending_bytes = packer.pack([0, msg_id, "draw_frame", params]) + pending_bytes = packer.pack([2, msg_id, "draw_frame", params]) last_sent_params = params # Try to send pending frame — no POLLOUT dependency @@ -155,7 +155,7 @@ def main(): fps_sample_frames += 1 if last_sent_params is not None and pending_bytes is None: msg_id = (msg_id + 1) % 65535 - refresh_bytes = packer.pack([0, msg_id, "draw_frame", last_sent_params]) + refresh_bytes = packer.pack([2, msg_id, "draw_frame", last_sent_params]) router, ok = try_send(router, refresh_bytes) if ok: frames_sent += 1