Skip to content

docs(traffic): full Pangolin protocol report, from all ten captures - #117

Merged
pyramation merged 1 commit into
mainfrom
docs/pangolin-protocol-report
Aug 19, 2026
Merged

docs(traffic): full Pangolin protocol report, from all ten captures#117
pyramation merged 1 commit into
mainfrom
docs/pangolin-protocol-report

Conversation

@pyramation

Copy link
Copy Markdown
Contributor

Summary

tools/traffic/PROTOCOL.md becomes a standalone report you can work a show day from, after re-running decode over all ten captures. Two findings in it are new:

The hand-sent OSC was addressed to zones that don't exist. 00-osc-only.pcapng contains 90 packets, 15 each to zones 240–245, while the only zones BEYOND has ever broadcast are 1–6. The {n} comes straight from projectorMap[i] in encodeBeyondMessages, so this is a project-config fault independent of the closed RGBA panel — a second reason those sends could not have changed a colour.

Frames and control messages share one budget. Idle captures: ~62 frames/s, zero 0x00010E02 control messages. The paint capture: 16–23 frames/s plus 31–37 control/s, with the combined rate pinned near 53–54/s. So control is interleaved while live content changes, at the cost of frames. Also documents a previously unrecorded message type, 0x00028010 — 32 B, all-zero body, FB4→BEYOND, the one body in the protocol that isn't opaque.

The report now also has: the device/port inventory (including 53.5 reconnecting on a different ephemeral port between capture sets, which is the cheapest chance at the never-captured handshake), a worked hex example of the 32-byte header, a per-capture evidence table, an explicit confirmed-vs-inferred split, a four-item "what's missing and the exact capture that closes it" section, and a diagnostic playbook keyed to wire evidence.

One code change, from spotting nonsense in the output:

# a single message spans whatever gap its neighbouring packets happen to have
format_rate(1, 0.0000038)  # was '263157.9/s', now '—'

Link to Devin session: https://app.devin.ai/sessions/ec43152136134467a853ec0bbf783ea9
Requested by: @pyramation

@pyramation pyramation self-assigned this Aug 19, 2026
@devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@pyramation
pyramation merged commit e2d7955 into main Aug 19, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant