metronome/hardware/kicad/rtc.log
Me Here c625a8aaa2 Firmware push fix on both Kit (0.0.24) + Explorer (0.0.4)
Diagnosed from the user's console output - 25 chunks pushed cleanly at
~124ms each, then stalled. Two coupled causes:

1) Bus contention. tick() and Live sync share self.midi with the chunk
   ACKs. While the device was processing a chunk, a Note On / Clock Out /
   Live-sync FULL heartbeat could land on the same MIDI OUT stream and
   the host's parser dropped the interleaved ACK SysEx.

   Fix: self._fw_pushing flag set on 0x21 BEGIN, cleared on 0x23 COMMIT
   or any error. midi_send / Clock Out / _sync_broadcast / _sync_broadcast_full
   all early-out when _fw_pushing is True. Only ACKs go out during a push.

2) SysEx assembler garbage. self._sx = bytearray() per chunk leaks ~70
   bytes / chunk that only GC'd every 50 chunks. 25 chunks of trash plus a
   slow heap walked the wrong way explains the ramp-up to 174 -> 119 -> 124
   ms ACK times. GC every chunk now (~30ms cost on RP2040/RP2350 with
   small heap) so the assembler buffer is always fresh.

Same patch on both pico-cp/ and pico-explorer/ since the bug is identical.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-30 22:51:46 -05:00

27 lines
2.3 KiB
Text

WARNING: KICAD8_SYMBOL_DIR environment variable is missing, so the default KiCad symbol libraries won't be searched. @ [/work/hardware/kicad/<frozen importlib._bootstrap_external>:995=>/work/hardware/kicad/<frozen importlib._bootstrap>:488]
WARNING: KICAD6_SYMBOL_DIR environment variable is missing, so the default KiCad symbol libraries won't be searched. @ [/work/hardware/kicad/<frozen importlib._bootstrap_external>:995=>/work/hardware/kicad/<frozen importlib._bootstrap>:488]
WARNING: KICAD7_SYMBOL_DIR environment variable is missing, so the default KiCad symbol libraries won't be searched. @ [/work/hardware/kicad/<frozen importlib._bootstrap_external>:995=>/work/hardware/kicad/<frozen importlib._bootstrap>:488]
WARNING: fp-lib-table file was not found. Component footprints are not available.
WARNING: fp-lib-table file was not found. Component footprints are not available.
WARNING: fp-lib-table file was not found. Component footprints are not available.
WARNING: fp-lib-table file was not found. Component footprints are not available.
WARNING: Missing tag on RV-8803-C7 instantiated at /work/hardware/eda/circuits/rtc.py:41.
WARNING: Random tag vvCZlacOIl generated for RV-8803-C7.
WARNING: Missing tag on D_Schottky instantiated at /work/hardware/eda/circuits/rtc.py:51.
WARNING: Random tag _zzfn3XmHQ generated for D_Schottky.
WARNING: Missing tag on D_Schottky instantiated at /work/hardware/eda/circuits/rtc.py:51.
WARNING: Random tag c6BuDsK_A2 generated for D_Schottky.
WARNING: Missing tag on Battery_Cell instantiated at /work/hardware/eda/circuits/rtc.py:53.
WARNING: Random tag n7hVbpl_7H generated for Battery_Cell.
WARNING: Missing tag on C instantiated at /work/hardware/eda/circuits/rtc.py:27.
WARNING: Random tag 0kNu6jvDLR generated for C.
WARNING: Missing tag on R instantiated at /work/hardware/eda/circuits/rtc.py:60.
WARNING: Random tag _uIfBEh0dY generated for R.
WARNING: Missing tag on R instantiated at /work/hardware/eda/circuits/rtc.py:60.
WARNING: Random tag 4HsfrE7DU9 generated for R.
WARNING: Missing tag on R instantiated at /work/hardware/eda/circuits/rtc.py:61.
WARNING: Random tag S0w81WPsYC generated for R.
WARNING: Missing tag on instantiated at /work/hardware/kicad/<frozen importlib._bootstrap>:488.
INFO: 21 warnings found while generating netlist.
INFO: 0 errors found while generating netlist.