docs: controller telemetry ring buffer — feasibility, design, bench plan (T1–T6, L1–L4) + 2-day merge/bench plan (no code) - #192
Open
mbreiser wants to merge 7 commits into
Open
Conversation
… L1–L4 bench plan (no code) Proposal for a controller-side RAM ring buffer (frame/command/state events, analog ticks yoked to frame index) drained live over USB with an ack-cursor, replacing the SD-card event-log shape of LAB-149. Answers the two-file vs integrated question (sidecar first), timestamps/clock-fit, and lays out the glass-to-glass latency measurement plan for FicTrac closed loop. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…are PR #47 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…F2 + S1/S2, cleanup) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…lder Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…(PR pending) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…rebuild green Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…lter fix Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docs only, no code.
docs/development/controller-telemetry-ring-buffer-proposal.mdAnswers can the G6 controller keep an event log without touching the SD card, and can the host drain it live? — the alternative to the SD-card event-log shape of Linear LAB-149, and the logging side of the analog-acquisition handover (F3/S4).
loop(), two trivial ISRs, one choke point for "frame displayed" (transmitOnRefresh→transferFrame) and one for commands; ~456 KB unused OCRAM, ~132 KB free DTCM;micros()everywhere; no telemetry today. Worst-case traffic (500 fps + 100 Hz commands + 1 kHz 2-ch analog) is 12.6 KB/s, < 1 % of USB CDC; a 5 s ring is 62 KB.TICK [frame_idx, ain1, ain2]replaces per-frame events; otherwise sparseFRAME/CMD/STATEevents (the LAB-149 payload). Opcodes 0xA8/0xA9 as reserved by firmware PR update README (test) #47.docs/development/merge-bench-plan-2026-09-08.mdTwo-day checklist for landing the open stack: run-log v2 (#186/#188, gate B1), Analog In S1 (#190, B2), firmware F1/F2 (#46/#47, B3/B4), S2 (#191), then #178/#175 cleanup. Records the process rules that bit on 2026-09-07 (stacked PRs get no CI until retargeted; squash-merging a parent leaves the child conflicting; never
--delete-branchon another PR's base).🤖 Generated with Claude Code