From 30f02305e52bbcf9d149e3791592179e895838ca Mon Sep 17 00:00:00 2001 From: Me Here Date: Fri, 29 May 2026 15:14:58 -0500 Subject: [PATCH] Editor: pause the Device-audio heartbeat during a firmware push Push advanced to ~150/506 chunks then stalled intermittently. With Device audio on, the heartbeat (0xFE every 250ms + a clock SysEx every ~3s) shares the MIDI link with the firmware chunks and intermittently costs a chunk its ACK. Pause the heartbeat for the duration of _pushFirmware and resume after. Co-Authored-By: Claude Opus 4.7 (1M context) --- editor.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/editor.html b/editor.html index 4c147a9..c59e79f 100644 --- a/editor.html +++ b/editor.html @@ -1238,7 +1238,9 @@ async function updateFirmware() { // A/B firmware update over USB-MIDI: push t return; } console.log("[fw] pushing", b64.length, "base64 chars..."); + clearInterval(_midiBeat); _midiBeat = 0; // pause the Device-audio heartbeat (its MIDI traffic stalls the push) const err = await _pushFirmware(b64); + if (_midiOn) _heartbeat(true); // resume it afterwards console.log("[fw] push result:", err || "OK"); if (err) return alert("Update didn't complete (" + err + ").\n\nThe device kept its working firmware — nothing was installed. " + "Make sure it's plugged in and NOT in editor mode (don't hold A), then retry.");