Spotter
Tune checks with a go, caution or no-go verdict.
Spotter runs every table review, cross-table check and hard limit over the whole tune and returns a verdict with ranked findings.
Verdict
Go, caution or no-go, with a one-line reason, e.g. "Not ready: 2 problems need fixing before driving hard."
Rules
Each rule states the belief it checks and why. Storage and hardware limits are always on; the rest can be switched off per project.
During autotune
Stops on lean mixture under load, knock, overheating or injector duty ceiling. Holds readings on cold engine, lost sync, low battery or wideband out of range. Stops can't be disabled.
Activity sidebar
Every warning, caution and error is logged there: app events, ECU connection events, and the open page's findings.
All 49 rules
This list is read from the app's rule catalog, so it's always the current set.
Engine safety
Knock and lean-mixture risks. A finding here means not yet safe to drive hard.
- Values fit what the ECU can storeAlways on
- The injectors can deliver what VE asks forAlways on
- Full-load timing stays under a plausible knock limit
- Timing falls or holds as load rises
- Lugging gets no more timing than the torque peak
- Unreachable boost gets no more timing than reachable boost
- Full-load targets stay rich
- Boost targets stay richer than full load
- Targets richen or hold as load rises
- Unreachable boost gets no leaner target than reachable boost
- Targets match the fuel in the tank
- Timing doesn't peak where VE peaks
Between tables
Tables that disagree with each other: the check that caught a spark table built for a different engine than its VE table.
- The timing dip sits at the VE peak
- Timing holds or rises as VE falls past its peak
- VE and spark tables share their bins
- VE and spark tables reach the same RPM
- The VE table reaches the rev limit
- The spark table reaches the rev limit
- The ECU rev limiter matches Vehicle properties
- AFR targets change fuelling
Goals & targets
Targets measured against the goal and fuel set above.
- Full load isn't richer than it needs to be
- Idle targets sit near stoichiometric
- Cruise isn't enriched
- Cruise is no leaner than the goal allows
- Idle timing sits in the usual window
Table shape
How a table should change across speed and load for a running engine.
- VE rises or flattens with MAP
- Timing is flat or falls through idle
- Full-load VE peaks at the engine's torque peak
- VE follows the engine's shape
- Tables have a shape
- Cells agree with their neighbours
- Areas are smooth
Axes & coverage
Whether the axes cover where the engine actually runs.
- The load axis reaches full load or full boost
- Load rows are spent where the engine runs
- Bins sit at the idle point
Autotune
When autotune stops, which readings it trusts, and how far it may move the VE table. The stops can't be switched off.
- Autotune says to lift off when the mixture goes lean under loadAlways on
- Autotune says to lift off on knockAlways on
- Autotune says to ease off when the engine overheatsAlways on
- Autotune never raises VE where the injectors run outAlways on
- Only readings from a warm, synced engine and a working wideband countAlways on
- Only steady readings countAlways on
- Readings without road load don't count
- Targets are right before VE is tuned to them
- One pass moves a cell by a limited stepAlways on
- A session never drifts far from where it startedAlways on
- A cell doesn't run away from its neighbours
- Proposals don't create new safety problemsAlways on
- Warm-up autotune leaves the warm end to VEAlways on
- Warm-up enrichment falls as the engine warmsAlways on