Blob: archive/legacy-c/README.md
C radio
A C radio implementation for comparing language and ownership choices with the maintained Rust firmware. It streams Opus, precomputed spectrum, and telemetry, and handles LED/playback commands. The board does not publish track metadata.
Autonomous signaling
Follow the archive setup, including SIGNALING_URL, then
run from the repository root:
.tools/archive-python/bin/python archive/prepare-music.py /path/to/audio.flac
python3 archive/legacy-c/build.py
.tools/archive-python/bin/python archive/flash.py legacy-cThe maintained exhibit receives audio, precomputed spectrum, and command
acknowledgments. C telemetry lacks the required firmware field and is ignored
by the browser; the exhibit's explanations describe the maintained Rust firmware.
USB signaling
The archived bridge supplies connection setup and heartbeats over USB through the Worker API. WebRTC packets travel over Wi-Fi to the SFU. To use this mode, rebuild and explicitly flash the C firmware:
python3 archive/legacy-c/build.py --usb-signaling
.tools/archive-python/bin/python archive/flash.py legacy-cRun make dev in another terminal, then start the bridge:
.tools/archive-python/bin/python archive/legacy-c/run-device.py --url http://127.0.0.1:11880Keep the bridge running while using http://localhost:11880. It uses the
versioned host client in archive/sfu-bringup/ and credentials from
worker/.dev.vars. The bridge reboots the board by default. Its logs and SDP
captures stay in artifacts/archive/legacy-c/.
Use the restore instructions afterward.