9 Commits

Author SHA1 Message Date
david 340ea3ec0a fix: reduce loop delay to 10ms so __loopHook processes RPCs
Validate and Test / validate-patches (push) Failing after 12s
Background thread stack (500 bytes) overflows after ~50 draw_frame
calls. __loopHook (called after loop() returns) is the fallback.
With delay(1000), it ran once per second — too slow.
Reducing to delay(10) keeps RPC processing responsive.
2026-06-24 05:24:20 -07:00
david 39e9b5c2fa fix: no reconnect storm on send failure, reduce refresh to 1 FPS
Validate and Test / validate-patches (push) Failing after 13s
- try_send: don't reconnect on failure, just skip and retry next cycle
- Background refresh: 5 FPS → 1 FPS to reduce router serial load
- Revert Bridge.run() - RouterBridge uses Zephyr RTOS thread
2026-06-24 04:59:09 -07:00
david 2968d57e1d fix: add Bridge.run() to loop() so MCU processes incoming RPCs
Validate and Test / validate-patches (push) Failing after 13s
Without Bridge.run() in loop(), the MCU never reads incoming
draw_frame requests from the router. First frame goes through
during setup handshake, but subsequent frames fill the router's
send buffer and the viz stalls.
2026-06-24 04:57:14 -07:00
david 3b40592055 fix: robust router send with auto-reconnect, 10ms timeout
Validate and Test / validate-patches (push) Failing after 13s
- try_send() helper: reconnect on send failure
- 10ms socket timeout instead of 300ms (stalls poll loop)
- Refresh path also uses try_send
- Remove committed library bloat from repo (add .gitignore)
2026-06-24 04:46:59 -07:00
david f70a8701c9 fix: make router socket non-blocking to prevent poll loop stalls
Validate and Test / validate-patches (push) Failing after 13s
2026-06-24 04:45:15 -07:00
david 31bd1d497c fix: use angle-bracket includes for Arduino libs
Validate and Test / validate-patches (push) Failing after 12s
2026-06-24 04:30:22 -07:00
david c3007867c4 fix: remove libraries from sketch.yaml, let CLI auto-detect
Validate and Test / validate-patches (push) Failing after 12s
2026-06-24 04:28:40 -07:00
david 2ac964907c refactor: rename sketch to sketch.ino, add flash-sketch recipe
Validate and Test / validate-patches (push) Failing after 12s
- Permanent rename: led-matrix-bridge.ino → sketch.ino (Arduino CLI convention)
- Add just flash-sketch recipe for compiling/flashing MCU via board's arduino-cli
- Run via post-merge hooks for auto-deploy
2026-06-24 04:24:32 -07:00
david 8cd796e3dd Initial commit: Arduino Uno Q USB Audio Synth project
- USB gadget (UAC1 + MIDI) with boot persistence
- USB host mode with auto-detection
- Pure Data synth patch with ALSA + UDP netreceive MIDI input
- MIDI rawmidi-to-UDP bridge (midi-bridge.py)
- LED matrix visualization (led-matrix-viz.py via arduino-router RPC)
- MCU sketch for LED matrix control (Arduino_RouterBridge + ArduinoGraphics)
- Conftest/OPA Rego policy validation suite for .pd files
- gen_synth_pd.py: programmatic .pd file generator
- System services: midi-bridge, led-matrix-viz, pd-synth-auto, usb-role-detect
- Justfile with deploy, enable, diagnostic recipes
- Diagnostic script (diag.sh)
2026-06-22 22:46:36 -07:00