docs: internal bring-up reference (docs/ax/bringup.md) - #574
Merged
Conversation
Adds docs/source/bringup.rst, registered in the "Building & upgrading" toctree after build_guide, and nothing else. The page covers a bring-up run end to end: the one command, the card pre-flight, the six checks and the three kinds that decide what each one is worth, the dashboard and switch grid, the power hold, and the option list. Written for a builder at a bench rather than an observer at the eyepiece. Vocabulary follows docs/ax/bringup/CONTEXT.md: probed / exercised / witnessed, check, pre-flight, verdict, matrix position, population map, power hold. Witnessed checks are never described as passing. Two misreads the tool exists to prevent get their own passages: a blank matrix position is not a fault (rev4 populates the right-hand column where v3 populates the bottom row), and on rev4 those five right-hand positions are the five contacts of one 5-way joystick, not five switches. No images: every figure is prose or a literal block, so the page is useful as it stands and Sphinx has no unreadable paths to warn about. Docs build clean: sphinx-build -b html -n, zero warnings.
Rich's call on #574: bring-up is bench tooling and does not belong in the published manual. The content stays; it moves to the internal reference set instead. - git mv docs/source/bringup.rst -> docs/ax/bringup.md, converted rST to Markdown and re-registered in the docs/ax register: numbered sections, source files and glossary link up front, ADR links inline, a closing Gotchas list. The manual's voice and its reader-at-the-eyepiece scaffolding are gone — the whole file is now for someone at a bench. - docs/source/index.rst reverted to origin/main byte for byte; the page never enters the Sphinx build. - CONTEXT-MAP.md lists it in the companion-architecture-docs block, which is where docs/ax/<area>.md files are indexed. Everything substantive is preserved: the six checks by kind, probed / exercised / witnessed and what the verdict may rest on, the switch grid, the power hold, the option table, and the two dangerous misreads — a blank matrix position is not a fault, and a pre-flight failure means the card rather than the board. The NOT ROUTED passage now points at #579, which tracks the pifinder_setup.sh single-channel overlay. A new gotcha records that only STARTUP, KEYPRESS and SHUTDOWN are ever emitted, so nobody listens for the ERROR tone that #581 shows is unwired. Terminal blocks are byte-identical to bringup.py's own formatters. Sphinx: sphinx-build -b html -n -E -q, empty output.
brickbots
marked this pull request as ready for review
August 7, 2026 21:55
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.
WP4 of the rev4 documentation update (
rev4-docs-update-plan.md§4), reworked per Rich's call on this PR: bring-up is internal reference material, not manual content.Net diff against
mainis two files — a newdocs/ax/bringup.mdand one line inCONTEXT-MAP.md. Nothing lands indocs/source/, and nothing enters the Sphinx build.What changed since the first push
git mv docs/source/bringup.rst→docs/ax/bringup.md, converted rST → Markdown.docs/ax/bringup/held onlyCONTEXT.md; per CLAUDE.md thedocs/ax/<area>.mdslot beside it is where the deep-dive goes, alongsidecamera.md,catalog.md,positioning.md,equipment.md,sqm.md,ui.md.docs/source/index.rstreverted —git diff origin/main -- docs/source/index.rstis empty, byte for byte.docs/axhouse style: numbered## N.sections, source files and the glossary link up front, ADR links inline (0006, 0007, 0009, 0017), a closing Gotchas list. The manual's voice and its reader-at-the-eyepiece scaffolding are gone — the whole file is now for someone at a bench, so it no longer says so as an aside.CONTEXT-MAP.md: added to the "Companion architecture docs live next to eachCONTEXT.md" block (line 42ff), which is where thedocs/ax/<area>.mdfiles are indexed. That is one line, and it matches the surrounding style more closely than appending a second link to the Bring-up context bullet at line 17, where every entry links only itsCONTEXT.md. Say the word if you'd rather have it on line 17 instead.What the document covers
--revision rev3for a v3 board,--rotate 2for Bloom/Heart, and why the panel is never derived from a hardware probe.skippedvsFAILencoding of it.--no-power-shutdown,--timeout, Ctrl-C.Both dangerous misreads survived the move intact and keep their own subsections:
Issues folded in
pifinder_setup.shroutes only PWM ch1, so the rev4 buzzer on ch0/GPIO12 is silent) is now linked from theNOT ROUTEDpassage, so thedtoverlay=pwm-2chan,...workaround has a tracked home rather than living only in prose.Earcon.ERROR/SOLVE_LOCKdefined but unwired) is cited in a new gotcha recording that onlySTARTUP,KEYPRESSandSHUTDOWNare ever emitted — so nobody goes listening for an error tone that does not sound. The check table never implied one.Hardware.opendecides the buzzer seam from the pre-flight alone, so a--revision rev3run on a card that routes ch0 will reportBUZZER emittedfor a buzzer a v3 board does not have — is recorded as its own gotcha.Terminology discrepancy (flagged, not fixed)
docs/ax/bringup/CONTEXT.mddescribes the rev4 directional input in switch language — "rev4 carries a right-hand column instead, with its own centreSQUARE(18 switches)" — against a glossary defining switch as "one physical pushbutton on the board… a solder joint that can be cold, bridged or missing". Physically it is one 5-way joystick presenting five contacts.The CONTEXT.md is untouched (
grill-with-docsterritory).bringup.mdsays "joystick", and carries a short blockquote noting the gap so the next reader does not "correct" the page back to the glossary's wording.Figures
None referenced. Every figure is prose or a fenced block: a matrix map of the rev4 grid, the pre-flight line, the dashboard status rows, and both summary forms. The pre-flight and summary blocks were generated by running
bringup.py's own formatters (format_preflight,format_summary,switches_detail) and are byte-identical to its output — column alignment included, and re-verified after the Markdown conversion.Two photos from plan §6 remain wanted but are no longer blocking anything, since this file is not a manual page:
IMU -- unavailable/CHG -- unavailable, a board that looks half dead. Not shipped rather than stage a misleading frame.PWR→[#---]→[####]); the frame around it cannot be made honest off-hardware.Verification
Empty output, exit 0 — a full rebuild in nitpicky mode with the toctree entry gone, so no dangling reference and no orphaned document.
grep -rln bringup docs/source/returns nothing.🤖 Generated with Claude Code