Repository navigation
Catalyst Console 1.0 — Ready for the field
1.0
It is ready to be used at a competition. That is the whole meaning of the number — 0.8 said the shape
was still moving, and it is not any more.
Download the installer, run it,
set your team number once in Settings → Robot. Windows x64, 3.6 MB, nothing else to install. It
updates itself after that, and never during a match.
What it is
A driver station companion that sits next to the NI Driver Station and shows what the robot is doing.
It answers to three rules, in order, and every design decision in it is downstream of them:
- It never controls the robot. There is no code path that opens the DS control socket.
- Nothing it does may impede driving. No modal blocks the dashboard, nothing gates anything, and
every failure degrades to a dimmed number in a corner. - It never invents a number. A topic the robot has not published reads as a dash. Demo data must
be switched on deliberately and says so on screen the whole time it runs.
What you get
- A board you build. Tiles bound to NetworkTables keys you choose — gauges, graphs, alerts, match
clock, a 3D field view. Nothing hard-coded to a season. Export the layout as JSON and every laptop
in the pit comes up identical. - The robot's own spec sheet. A robot on FrcCatalyst 1.10+ introduces itself; the plan is drawn to
scale from its published frame, bumper and module figures, so wrong dimensions look wrong. - A device tree. Every CAN device by bus and id, and the power distribution drawn as the board it
is, so you can see which breaker feeds what and which slots are free. - Live tuning, Physics Core state, and Driver Station logs parsed into something readable.
- A read-only MCP server, so an agent can inspect the robot without being able to touch it.
Fixed in this release
- Escape took three presses to close Settings from the search box — clear, blur, close. The first
press cleared the filter but left focus in the field, so the second only blurred it. Two now. - The README claimed no network fetch at runtime, then described the update check nine lines
later. Both cannot be true. - The tunable manifest contract was documented wrong twice: only
keyis required, notkey,
nameandgroup; and what decides toggle-versus-slider is the value's type on the wire, not
whethermin/maxwas declared. - Settings said "six sections" in three places after Devices made it seven, and the README's own map
of Settings had no Devices row. - The search documentation used inches as its worked example of a match. That stopped being true
when the row copy was shortened and the word left the screen — the example was the one query
guaranteed to fail.
Known and unfixed
- Board tiles are not unit-aware. The Units setting converts the spec sheet only, and says so.
supportHeight()seeds from the robot's centre rather than its footprint.collisionCount()counts step-contacts rather than distinct impacts.- The collision map is about 12 mm narrower than the CAD guardrail interior.
Requires FrcCatalyst 1.10+ for the spec sheet and
1.12+ for the device tree. Everything else works against any robot publishing NetworkTables.