v0.1.0: offline-mode firmware
Self-contained sound machine. Short press toggles noise on/off; long
press cycles volume yo-yo through [10, 25, 50, 75, 100]% (hold-to-
cycle at 1s cadence); double press is wired up but inert — logs a
TODO line for the eventual HA late-night-lights gesture. NVS persists
volume index, direction, and play state across reboots, with auto-
resume on boot. RGB LED on G27 shows status with a press-flash overlay.
Factored as independent task modules (audio / button / led / nvs)
communicating via mpsc channels carrying typed events. Adding MQTT
later is purely additive: another producer of AudioCommands and
publisher of ButtonEvents, no surgery on existing modules.
Pink-noise generator (Paul Kellet's IIR). Sounds rough on the onboard
NS4168 + tiny built-in driver — speaker bandwidth, not firmware —
but should be the right answer once external amps arrive.
Design docs updated to reflect the new gesture mapping: double-press
is the late-night-lights gesture, long-press is the volume cycle.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>