Blob: archive/sfu-bringup/README.md
SFU bring-up
Archived hardware diagnostics and host-driven WebRTC probes for the N32R16V. The firmware checks PSRAM, Wi-Fi, time synchronization, verified HTTPS, and the RGB LED. Python clients supply signaling over USB while the board's WebRTC traffic travels over Wi-Fi to Cloudflare Realtime SFU.
The probes require explicit negotiated-channel creation in robot, then
spectrum order. The maintained firmware performs its own HTTPS signaling;
worker/tests/live.mjs checks the exhibit.
Follow the archive setup, then build and explicitly flash:
python3 archive/sfu-bringup/build.py
.tools/archive-python/bin/python archive/flash.py sfu-bringup
.tools/archive-python/bin/python archive/sfu-bringup/monitor.pyRun one probe at a time against this diagnostic firmware:
.tools/archive-python/bin/python archive/sfu-bringup/investigate-datachannels.py
.tools/archive-python/bin/python archive/sfu-bringup/probe-datachannels.pyinvestigate-datachannels.py isolates explicit stream creation.
probe-datachannels.py exercises both reliability profiles, two subscribers,
LED control, and per-viewer reply permission. It does not retest revocation of
the first viewer; the maintained tests cover exclusive controller handoff.
probe-sfu.py contains the common host client and a single-subscriber probe.
These probes control the board and allocate real SFU sessions. Reboot between
probe runs: the native peer teardown may hang, as documented in
archive transport notes. Results and any SDP captures
stay under ignored artifacts/archive/sfu-bringup/.