Programmer's dashboard for the fleet. PROS branch status per bot, autonomous routine coverage matrix, sensor calibration log, and code review queue. Companion to /role-programmer — this page is the state, the role page is the responsibility.
Last updated: 2026-05-12 · Sprint Week 2 · Owner: Programmer (per bot) + Lead Programmer (cross-fleet)
One branch per active bot, kept in sync with that bot's mechanical state. Shared library lives on main; bot-specific code is on bot/<name> branches.
| Branch | Bot | Last commit | Status | Owner | Next milestone |
|---|---|---|---|---|---|
| main | Shared library | 2026-05-10 | STABLE | Lead | PID tuning utilities (T-7) |
| bot/skimmer | Skimmer (2822A) | 2026-05-11 | IN DEV | Programmer-A | Path B intake teleop |
| bot/pelican | Pelican (2822C) | 2026-05-09 | IN DEV | Programmer-C | Pneumatic pincer control |
| bot/osprey | Osprey (2822E) | 2026-05-07 | IN DEV | Programmer-E | Chain-bar lift PID |
| bot/spoonbill | Spoonbill (2822B) | 2026-05-05 | PROTOTYPE | Programmer-B | Rotating claw kinematics |
main require all bot owners to review before merging. Bot-specific branches don't need cross-bot review for bot-only changes. PR template lives in .github/pull_request_template.md.
Target: 3 autonomous routines per competing bot — one for each typical starting position (left, mid, right). AWP-eligible routines flagged. Routine spec in /auton/specs/<bot>-<position>.md.
| Bot | Left start | Mid start | Right start | AWP-capable | Last bench test |
|---|---|---|---|---|---|
| Skimmer (2822A) | DONE | WIP | TODO | L only | 2026-05-08 |
| Pelican (2822C) | TODO | WIP | TODO | No | 2026-05-04 |
| Osprey (2822E) | DONE | TODO | TODO | L only | 2026-05-06 |
| Spoonbill (2822B) | N/A | N/A | N/A | N/A | — |
Legend: DONE = passes bench test · WIP = in development · TODO = not started · N/A = not competing yet
Calibrations drift. Track when each sensor was last calibrated and which value was used. Re-calibrate before code freeze (T-7).
| Bot | Sensor | Calibration value | Last calibrated | Owner | Status |
|---|---|---|---|---|---|
| Skimmer | IMU heading offset | -2.3° | 2026-05-10 | Programmer-A | CURRENT |
| Skimmer | Drive encoder ticks/inch | 29.4 | 2026-05-08 | Programmer-A | CURRENT |
| Pelican | IMU heading offset | +1.1° | 2026-05-05 | Programmer-C | NEEDS RECHECK |
| Pelican | Distance sensor goal-align | 12.4″ @ 0° | 2026-05-04 | Programmer-C | CURRENT |
| Pelican | Optical (cup orientation) | RGB >180 = rim-up | 2026-05-03 | Programmer-C | NEEDS RECHECK |
| Osprey | IMU heading offset | +0.4° | 2026-05-06 | Programmer-E | CURRENT |
| Osprey | Lift position (potentiometer) | 0 = down, 2800 = max | 2026-05-06 | Programmer-E | CURRENT |
Open PRs waiting for review. PRs against main need cross-team review; bot-branch PRs need one reviewer.
| PR | Branch | Author | Opened | Status | Reviewer |
|---|---|---|---|---|---|
| #23 PID tuning helper | main ← feat/pid-helper | Programmer-A | 2026-05-10 | REVIEW | Lead |
| #24 Cup orientation flip | bot/pelican ← feat/cup-flip | Programmer-C | 2026-05-11 | BLOCKED ON SENSOR | Programmer-C |
Things that programmer can't ship until something else happens. Each blocker has an unblock criterion.
| Blocker | Affects | Unblock criterion | Status | Target |
|---|---|---|---|---|
| Pelican optical sensor recheck | PR #24 (cup orientation flip) | Sensor calibration recheck in section 03 returns CURRENT | WAITING | 2026-05-15 |
Every autonomous routine has a spec file at /auton/specs/<bot>-<position>.md with:
v<event>-freeze. After that point, only bug fixes against tagged regressions. New features go on feat/ branches for after the event.
For general PROS C++ pedagogy, motor control concepts, sensor integration walkthroughs, autonomous design principles, EZ-template documentation, and Git/VS Code basics — the public reference covers all of it. This page is the team's current state; the public site is the how-to.