Checklist z27ag-captures v2: jack-stands section (23-26), conditions from the first run
/ crosscheck (push) Successful in 0s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
This commit is contained in:
2026-10-13 17:55:29 +09:00
parent 75fec3b4c2
commit aff9ae3f9f
2 changed files with 299 additions and 64 deletions
+284 -58
View File
@@ -1,69 +1,121 @@
{ {
"id": "z27ag-captures", "id": "z27ag-captures",
"version": 1, "version": 2,
"title": "Z27AG decoding captures", "title": "Z27AG decoding captures",
"about": "docs/impl/plans/Z27AG-CAPTURES.md", "about": "docs/impl/plans/Z27AG-CAPTURES.md",
"mark_format": "<step> <action>[ #<n>] start|end for a span, <step> <action>[ #<n>] for a point", "mark_format": "<step> <action>[ #<n>] start|end for a span, <step> <action>[ #<n>] for a point",
"sections": [ "sections": [
{ {
"title": "Parked, ignition on, engine off", "title": "Parked, ignition on, engine off, handbrake on",
"steps": [ "steps": [
{ {
"id": "1", "id": "1",
"title": "Baseline", "title": "Baseline",
"do": "Touch nothing.", "do": "Touch nothing.",
"finds": "the resting value of everything", "finds": "the resting value of everything",
"actions": [{ "label": "baseline", "hold_s": 20 }] "actions": [
{
"label": "baseline",
"hold_s": 20
}
]
}, },
{ {
"id": "2", "id": "2",
"title": "Accelerator", "title": "Accelerator",
"do": "Slowly to the floor over 5 s, hold 3 s, slowly back. Start as the foot moves, end when it is off.", "do": "Slowly to the floor over 5 s, hold 3 s, slowly back. Start as the foot moves, end when it is off.",
"finds": "pedal position, with no rpm to confuse it", "finds": "pedal position, with no rpm to confuse it",
"actions": [{ "label": "accel" }] "actions": [
{
"label": "accel"
}
]
}, },
{ {
"id": "3", "id": "3",
"title": "Brake", "title": "Brake",
"do": "Start as you press, hold 3 s, end as you release.", "do": "Start as you press, hold 3 s, end as you release.",
"finds": "brake switch, maybe pressure", "finds": "brake switch, maybe pressure (engine off: the pedal goes hard after a press or two, so pressure fades over the repeats)",
"actions": [{ "label": "brake", "hold_s": 3, "repeat": 3 }] "actions": [
{
"label": "brake",
"hold_s": 3,
"repeat": 3
}
]
}, },
{ {
"id": "4", "id": "4",
"title": "Clutch", "title": "Clutch",
"do": "Start as you press, hold 3 s, end as you release.", "do": "Start as you press, hold 3 s, end as you release.",
"finds": "clutch switch", "finds": "clutch switch",
"actions": [{ "label": "clutch", "hold_s": 3, "repeat": 3 }] "actions": [
{
"label": "clutch",
"hold_s": 3,
"repeat": 3
}
]
}, },
{ {
"id": "5", "id": "5",
"title": "Steering", "title": "Steering",
"do": "Centre, full left, full right, back to centre, slowly.", "do": "Centre, full left, full right, back to centre, slowly. Engine off is cleaner but heavy without power steering: step 23 on the jack stands does it properly.",
"finds": "steering angle", "finds": "steering angle",
"actions": [{ "label": "steer" }] "actions": [
{
"label": "steer"
}
]
}, },
{ {
"id": "6", "id": "6",
"title": "Gears", "title": "Gears",
"do": "Start when the gear is in, end as you take it out. Clutch down throughout.", "do": "Engine off, clutch down throughout. Start when the gear is in, end as you take it out.",
"finds": "reverse (likely as the reverse light); no other gearbox signal expected", "finds": "reverse (likely as the reverse light); no other gearbox signal expected",
"actions": [ "actions": [
{ "label": "gear 1", "hold_s": 3 }, {
{ "label": "gear 2", "hold_s": 3 }, "label": "gear 1",
{ "label": "gear 3", "hold_s": 3 }, "hold_s": 3
{ "label": "gear 4", "hold_s": 3 }, },
{ "label": "gear 5", "hold_s": 3 }, {
{ "label": "gear R", "hold_s": 3 }, "label": "gear 2",
{ "label": "neutral", "hold_s": 3 } "hold_s": 3
},
{
"label": "gear 3",
"hold_s": 3
},
{
"label": "gear 4",
"hold_s": 3
},
{
"label": "gear 5",
"hold_s": 3
},
{
"label": "gear R",
"hold_s": 3
},
{
"label": "neutral",
"hold_s": 3
}
] ]
}, },
{ {
"id": "7", "id": "7",
"title": "Handbrake", "title": "Handbrake",
"do": "Start as you pull it up, end as you release it.", "do": "Hold the foot brake. Start as you release the handbrake, end as you pull it back up.",
"finds": "handbrake switch", "finds": "handbrake switch",
"actions": [{ "label": "handbrake", "hold_s": 3, "repeat": 2 }] "actions": [
{
"label": "handbrake",
"hold_s": 3,
"repeat": 2
}
]
}, },
{ {
"id": "8", "id": "8",
@@ -71,9 +123,18 @@
"do": "Start when switched on, end when off.", "do": "Start when switched on, end when off.",
"finds": "indicator states", "finds": "indicator states",
"actions": [ "actions": [
{ "label": "left", "hold_s": 5 }, {
{ "label": "right", "hold_s": 5 }, "label": "left",
{ "label": "hazard", "hold_s": 5 } "hold_s": 5
},
{
"label": "right",
"hold_s": 5
},
{
"label": "hazard",
"hold_s": 5
}
] ]
}, },
{ {
@@ -82,12 +143,30 @@
"do": "Start when switched on, end when off.", "do": "Start when switched on, end when off.",
"finds": "light states", "finds": "light states",
"actions": [ "actions": [
{ "label": "side lights", "hold_s": 3 }, {
{ "label": "dipped", "hold_s": 3 }, "label": "side lights",
{ "label": "main beam", "hold_s": 3 }, "hold_s": 3
{ "label": "flash", "point": true }, },
{ "label": "front fogs", "hold_s": 3 }, {
{ "label": "rear fog", "hold_s": 3 } "label": "dipped",
"hold_s": 3
},
{
"label": "main beam",
"hold_s": 3
},
{
"label": "flash",
"point": true
},
{
"label": "front fogs",
"hold_s": 3
},
{
"label": "rear fog",
"hold_s": 3
}
] ]
}, },
{ {
@@ -96,12 +175,24 @@
"do": "Start as it opens, end when it is shut. Skip what the car does not have.", "do": "Start as it opens, end when it is shut. Skip what the car does not have.",
"finds": "door switches", "finds": "door switches",
"actions": [ "actions": [
{ "label": "driver door" }, {
{ "label": "passenger door" }, "label": "driver door"
{ "label": "rear left door" }, },
{ "label": "rear right door" }, {
{ "label": "boot" }, "label": "passenger door"
{ "label": "bonnet" } },
{
"label": "rear left door"
},
{
"label": "rear right door"
},
{
"label": "boot"
},
{
"label": "bonnet"
}
] ]
}, },
{ {
@@ -110,10 +201,21 @@
"do": "Start when switched on, end when off.", "do": "Start when switched on, end when off.",
"finds": "wiper states", "finds": "wiper states",
"actions": [ "actions": [
{ "label": "wipers int", "hold_s": 5 }, {
{ "label": "wipers low", "hold_s": 5 }, "label": "wipers int",
{ "label": "wipers high", "hold_s": 5 }, "hold_s": 5
{ "label": "washer" } },
{
"label": "wipers low",
"hold_s": 5
},
{
"label": "wipers high",
"hold_s": 5
},
{
"label": "washer"
}
] ]
}, },
{ {
@@ -122,8 +224,13 @@
"do": "A/C: start on, end off. Blower: start as you turn it up, end when it is back down.", "do": "A/C: start on, end off. Blower: start as you turn it up, end when it is back down.",
"finds": "A/C request, blower", "finds": "A/C request, blower",
"actions": [ "actions": [
{ "label": "ac", "hold_s": 5 }, {
{ "label": "blower" } "label": "ac",
"hold_s": 5
},
{
"label": "blower"
}
] ]
}, },
{ {
@@ -131,7 +238,12 @@
"title": "Seatbelt", "title": "Seatbelt",
"do": "Start as it clicks in, end as it comes out.", "do": "Start as it clicks in, end as it comes out.",
"finds": "belt switch", "finds": "belt switch",
"actions": [{ "label": "belt", "hold_s": 3 }] "actions": [
{
"label": "belt",
"hold_s": 3
}
]
} }
] ]
}, },
@@ -144,19 +256,34 @@
"do": "Cold start if possible: mark as the starter turns, then idle 60 s.", "do": "Cold start if possible: mark as the starter turns, then idle 60 s.",
"finds": "starting, coolant and oil warming, idle control", "finds": "starting, coolant and oil warming, idle control",
"actions": [ "actions": [
{ "label": "engine start", "point": true }, {
{ "label": "idle", "hold_s": 60 } "label": "engine start",
"point": true
},
{
"label": "idle",
"hold_s": 60
}
] ]
}, },
{ {
"id": "15", "id": "15",
"title": "Revs", "title": "Revs",
"do": "Start when the revs are steady at the target, end as you leave it.", "do": "Neutral, clutch up. Start when the revs are steady at the target, end as you leave it.",
"finds": "engine speed against OBD rpm, throttle against pedal", "finds": "engine speed against OBD rpm, throttle against pedal",
"actions": [ "actions": [
{ "label": "rpm 1500", "hold_s": 5 }, {
{ "label": "rpm 2000", "hold_s": 5 }, "label": "rpm 1500",
{ "label": "rpm 3000", "hold_s": 5 } "hold_s": 5
},
{
"label": "rpm 2000",
"hold_s": 5
},
{
"label": "rpm 3000",
"hold_s": 5
}
] ]
}, },
{ {
@@ -164,21 +291,35 @@
"title": "Blips", "title": "Blips",
"do": "Three sharp blips of the throttle.", "do": "Three sharp blips of the throttle.",
"finds": "response timing of throttle, rpm, pressure", "finds": "response timing of throttle, rpm, pressure",
"actions": [{ "label": "blips" }] "actions": [
{
"label": "blips"
}
]
}, },
{ {
"id": "17", "id": "17",
"title": "A/C under load", "title": "A/C under load",
"do": "A/C on for 20 s, then off.", "do": "A/C on for 20 s, then off.",
"finds": "compressor clutch, idle-up", "finds": "compressor clutch, idle-up",
"actions": [{ "label": "ac", "hold_s": 20 }] "actions": [
{
"label": "ac",
"hold_s": 20
}
]
}, },
{ {
"id": "18", "id": "18",
"title": "Radiator fan", "title": "Radiator fan",
"do": "Idle until the fan cuts in, if it will; mark when you hear it.", "do": "Idle until the fan cuts in, if it will; mark when you hear it.",
"finds": "fan state, coolant threshold", "finds": "fan state, coolant threshold",
"actions": [{ "label": "fan", "point": true }] "actions": [
{
"label": "fan",
"point": true
}
]
} }
] ]
}, },
@@ -188,12 +329,21 @@
{ {
"id": "19", "id": "19",
"title": "Steady speeds", "title": "Steady speeds",
"do": "Where safe, hold each speed 10 s.", "do": "Where safe, hold each speed 10 s. Or do step 24 on the jack stands instead.",
"finds": "road and wheel speeds against OBD and GNSS speed", "finds": "road and wheel speeds against OBD and GNSS speed",
"actions": [ "actions": [
{ "label": "steady 20", "hold_s": 10 }, {
{ "label": "steady 40", "hold_s": 10 }, "label": "steady 20",
{ "label": "steady 60", "hold_s": 10 } "hold_s": 10
},
{
"label": "steady 40",
"hold_s": 10
},
{
"label": "steady 60",
"hold_s": 10
}
] ]
}, },
{ {
@@ -202,8 +352,12 @@
"do": "Start as you brake, end when stopped.", "do": "Start as you brake, end when stopped.",
"finds": "brake pressure, deceleration", "finds": "brake pressure, deceleration",
"actions": [ "actions": [
{ "label": "gentle stop" }, {
{ "label": "firm stop" } "label": "gentle stop"
},
{
"label": "firm stop"
}
] ]
}, },
{ {
@@ -211,14 +365,86 @@
"title": "Corners", "title": "Corners",
"do": "A few corners each way.", "do": "A few corners each way.",
"finds": "yaw, lateral g, wheel speed differences", "finds": "yaw, lateral g, wheel speed differences",
"actions": [{ "label": "corners" }] "actions": [
{
"label": "corners"
}
]
}, },
{ {
"id": "22", "id": "22",
"title": "Through the box", "title": "Through the box",
"do": "Each gear in turn.", "do": "Each gear in turn.",
"finds": "gear from rpm / speed", "finds": "gear from rpm / speed",
"actions": [{ "label": "gears" }] "actions": [
{
"label": "gears"
}
]
}
]
},
{
"title": "On jack stands (front wheels up, rears chocked, handbrake off)",
"steps": [
{
"id": "23",
"title": "Steering, unpowered",
"do": "Engine off, wheels in the air. Centre, full left, full right, back to centre, slowly.",
"finds": "steering angle with nothing else moving",
"actions": [
{
"label": "steer"
}
]
},
{
"id": "24",
"title": "Wheel speeds",
"do": "Engine running. Hold each speedometer reading 10 s; start when it is steady, end as you leave it.",
"finds": "vehicle and wheel speeds (fronts turning, rears still), speedometer against CAN, rpm against gear. The ABS light may come on; that is a find too.",
"actions": [
{
"label": "2nd 20",
"hold_s": 10
},
{
"label": "2nd 40",
"hold_s": 10
},
{
"label": "3rd 40",
"hold_s": 10
},
{
"label": "3rd 60",
"hold_s": 10
}
]
},
{
"id": "25",
"title": "Brake from speed",
"do": "3rd at 40 on the speedometer, clutch down, brake to a stop. Start as you brake, end when the wheels stop.",
"finds": "brake with the engine running (vacuum assist), wheel deceleration",
"actions": [
{
"label": "brake from 40",
"repeat": 2
}
]
},
{
"id": "26",
"title": "Reverse",
"do": "Reverse gear, wheels turning gently, 10 s.",
"finds": "reverse light, wheel direction (if the speeds are signed)",
"actions": [
{
"label": "reverse",
"hold_s": 10
}
]
} }
] ]
} }
+15 -6
View File
@@ -42,17 +42,26 @@ They are data: [`checklists/z27ag-captures.json`](../../../checklists/z27ag-capt
bundled into the app as an exact copy (app-flutter `tool/sync-contracts.sh`; bundled into the app as an exact copy (app-flutter `tool/sync-contracts.sh`;
crosscheck fails if the copy drifts). Edit them there; bump `version` when steps crosscheck fails if the copy drifts). Edit them there; bump `version` when steps
change meaning, since every recording names the version it was made with. Before change meaning, since every recording names the version it was made with. Before
starting: PEAK on the OBD port, Orin up, tablet connected; engine off, doors shut. starting: PEAK on the OBD port, Orin up, tablet connected, and `can_pcan` UP (the
recorder refuses marks with "no session" otherwise); engine off, doors shut.
- **Parked, ignition on, engine off** (1–13): baseline, pedals, steering, gears - **Parked, ignition on, engine off, handbrake on** (1–13): baseline, pedals, steering, gears
(reverse likely shows as the reverse light: the diesel forfour carries it in (reverse likely shows as the reverse light: the diesel forfour carries it in
`423` byte 1 bit 3; no other gearbox signal expected), handbrake, indicators, `423` byte 1 bit 3; no other gearbox signal expected), handbrake, indicators,
lights, doors, wipers, A/C, belt. lights, doors, wipers, A/C, belt.
- **Engine running, parked** (14–18): start and idle, held revs (OBD rpm is the - **Engine running, parked** (14–18): start and idle, held revs in neutral (no OBD
reference), blips, A/C load, radiator fan. on this car's CAN: the revs are approximate, read off the tacho), blips, A/C load, radiator fan.
- **Driving** (19–22): steady speeds, stops, corners, each gear. A passenger presses, - **Driving** (19–22): steady speeds, stops, corners, each gear. A passenger presses,
or skip the marks: OBD and GNSS speed are recorded continuously, and gear comes or skip the marks: GNSS speed is recorded continuously, and gear comes from
from rpm ÷ speed. rpm ÷ speed.
- **On jack stands** (23–26, since v2): front wheels up, rears chocked, handbrake
off. Unpowered steering; speedometer readings held in 2nd and 3rd (fronts turn,
rears stay still, which tells the wheels apart); braking from speed with vacuum
assist; reverse. Stands replace the driving speeds where a drive is not practical.
Version 2 (2026-10-13) adds the stands section and writes down the conditions the
first run showed matter: engine off and handbrake on for 1–13, foot brake held for
the handbrake step, neutral with the clutch up for the revs.
The parked steps can be split over several sessions; the drive is the important part. The parked steps can be split over several sessions; the drive is the important part.