Skip to main content

VE Analyze

TunerStudio's VE Analyze feature uses a target lambda table, a measured lambda channel, and a closed-loop fuel-correction channel to adjust a selected fuel table. The final Capoworks ECU template gives Speed Density, Alpha-N, and MAF Air Charge their own analysis definitions and filters.

This page describes the TunerStudio configuration template and firmware behavior inspected at Capoworks commit 8f4fcfb4. It does not claim that the default filters make every log valid or that the result is suitable for an engine without other checks.

Which table is analyzed​

Fuel strategyAnalyzed tableExtra condition
Speed DensityVEHealthy standalone model
Alpha-NAlpha-N fillingHealthy standalone model
MAF Air ChargeMAF TrimHealthy standalone model
SD + Alpha-NVE only when qualified endpoint is 1Whole authority table must be uniformly 0%
SD + Alpha-NAlpha-N filling only when qualified endpoint is 2Whole authority table must be uniformly 100%

Every definition uses Target Lambda Table as its lambda target, Lambda 1 as the measured lambda channel, and egoCorrectionForVeAnalyze as the closed-loop correction channel. The latter is calculated as 100 + fuelPidCorrection1.

VE Analyze is disabled in the template while Use idle VE table is enabled. The separate Idle VE table has its own load source and is outside these analysis definitions.

Healthy status is required​

The template admits a VE Analyze map only while blendedStatus is 0 (Legacy) or 2 (Ready). These values represent a healthy standalone model or a healthy composite SD + Alpha-N model, respectively.

Status codeNameVE Analyze admission
0LegacyAllowed for a healthy standalone model
1NotReadyExcluded
2ReadyAllowed for a healthy composite model
3FaultedExcluded
4DegradedExcluded

A fallback may still produce usable fuel, but the fuel status is Degraded. Those samples are not healthy model evidence, so they are excluded from VE Analyze even when injection continues. Inspect Air blend: admission state, Air blend: fault, and Air blend: flags when the selected map does not become available. These are the shortened labels used by the template's GaugeConfigurations; the raw field and full output-description mapping appears below.

Blended SD + Alpha-N qualification​

The firmware scans the complete blended air-mass authority table. It qualifies an endpoint only when every cell is the same valid endpoint:

  • All cells exactly 0%: qualified endpoint 1, Speed Density.
  • All cells exactly 100%: qualified endpoint 2, Alpha-N.
  • Any mixed, intermediate, invalid, or unavailable result: endpoint 0, no qualified analysis map.

This prevents a delayed lambda sample from a mixed-air-mass region from being credited to either model table. The final firmware does not enable mixed-map automatic tuning.

Qualification applies to a running session:

  • A mixed authority table marks the session invalid and clears the qualified endpoint.
  • Returning the table to an endpoint after that, without an engine stop, does not reopen the session.
  • Branch or other fallback operation, a fault, active Idle VE, or a running configuration or calibration write also prevents qualification.
  • An actual engine stop resets the session state. The next run must qualify its own endpoint.

The live channel Air blend: qualified VE Analyze endpoint has the same codes: 0 means none, 1 means Speed Density, and 2 means Alpha-N. The selection is based on the whole table, not only the cell under the current cursor.

Template filters​

A filter excludes a sample when its condition is true. The generated TunerStudio template supplies the following defaults. Values marked adjustable can be changed in VE Analyze without changing the ECU calibration.

Common operating filters​

FilterDefault condition
Minimum RPMRPMValue less than 500
Minimum CLTcoolant less than 60 C
dTPSdeltaTps greater than 50
VBattVBatt less than 12 V

The Speed Density definition also includes:

FilterDefault condition
Minimum MAPMAPValue less than 0 kPa
Maximum MAPMAPValue greater than 1000 kPa
Minimum TPSTPSValue less than 0 percent
Maximum TPSTPSValue greater than 100 percent

The Alpha-N and MAF definitions include Minimum TPS, with a default condition of TPSValue less than 1 percent.

Fuel-event and lambda filters​

These filters are present for all three analysis strategies:

FilterDefault conditionAdjustable
CrankingveAnalyzeIsCranking greater than 0No
Maximum TPS AE correctionveAnalyzeTpsAeMagnitude greater than 0.01 msYes
Maximum wall correctionveAnalyzeWallCorrectionPercent greater than 2 percentYes
Maximum after-start enrichmentveAnalyzeAfterStartPercent greater than 1 percentYes
Maximum warmup correctionveAnalyzeWarmupPercent greater than 1 percentYes
Fuel or spark cut / DFCOveAnalyzeCutActive greater than 0No
Minimum time after cutveAnalyzeTimeSinceCut less than 2 sYes
Launch or anti-lag activeveAnalyzeAuxFuelActive greater than 0No
Invalid lambdaveAnalyzeLambdaInvalid greater than 0No
Minimum lambdalambdaValues1 less than 0.5Yes
Maximum lambdalambdaValues1 greater than 1.5Yes

std_Custom is also present in each block for an optional user expression.

The lambda limits above are the template defaults, not universal tuning targets. The target table remains the source for the desired lambda. Calibrate the Lambda Delay Table for the engine and exhaust installation; these filters do not compensate exhaust transport delay, and they do not validate fuel pressure or sensor health.

Log-channel definitions​

The template derives the filter channels as follows:

ChannelDefinition
egoCorrectionForVeAnalyze100 + fuelPidCorrection1
veAnalyzeTpsAeMagnitudeAbsolute value of tpsAccelFuel in milliseconds
veAnalyzeInjectionMultipliercurrentInjectionMode == IM_SIMULTANEOUS ? 1 / max(cylindersCount, 1) : (currentInjectionMode == IM_BATCH ? 0.5 : 1)
veAnalyzeWallCorrectionPercent100 * abs(wallFuelCorrectionValue) / max(running_fuel * veAnalyzeInjectionMultiplier, 0.01)
veAnalyzeAfterStartPercentabs(running_postCrankingFuelCorrection - 1) * 100
veAnalyzeWarmupPercentabs(running_coolantTemperatureCoefficient - 1) * 100
veAnalyzeCutActiveDFCO active, or a nonzero fuel-cut reason, or a nonzero spark-cut reason
veAnalyzeAuxFuelActiveLaunch control or anti-lag active
veAnalyzeLambdaInvalidLambda 1 is NaN or less than or equal to 0

The wall-correction normalization accounts for simultaneous and batch injection modes. If the wall-fuel model is disabled, the firmware reports wallFuelCorrectionValue as 0 even though the model may retain internal history. The derived wall-correction filter channel therefore becomes 0; a stale correction does not continue filtering valid samples.

The TPS acceleration term is the delivered additive fuel pulse, including fractional tails and deceleration behavior. It is not merely the TPS acceleration trigger flag.

Published status and recovery channels​

The final output definition publishes two VE Analyze recovery values in padding that already existed in the output layout, so existing channel offsets remain unchanged:

ChannelLocation and meaning
VE Analyze: Cranking (veAnalyzeIsCranking)One byte at offset 259; 1 while the engine is cranking
VE Analyze: Time since fuel/spark cut or DFCO (veAnalyzeTimeSinceCut)Two bytes at offset 262; seconds with 0.01 s resolution

veAnalyzeTimeSinceCut is the shorter of the time since the latest DFCO event and the time since any fuel or spark cut. A new cut resets it to zero. The reported value is clamped to the range 0 through 655.35 s.

The combined state is also available through the following fields. The dashboard gauge labels are shortened in the template, while the datalog/output descriptions use fuller names.

Raw fieldTunerStudio dashboard gauge labelDatalog/output description
blendedStatusAir blend: admission stateAir blend: injection admission state
blendedFaultAir blend: faultAir blend: model fault
blendedFlagsAir blend: flagsAir blend: model flags

The qualification channel is blendedVeAnalyzeEndpoint, labeled Air blend: qualified VE Analyze endpoint in the dashboard and Air blend: qualified analyze endpoint in the output description.

The runtime test coverage includes cranking and disabled-wall-model telemetry, cut-recovery reset and saturation, healthy and degraded admission, permanent in-session invalidation after mixed authority, and reset at engine stop.

Before accepting an analysis​

Use the INI generated for the installed firmware. Confirm the intended fuel strategy and target table, verify that the model status is healthy rather than degraded, and review the active filters and lambda channels before accepting table changes. For a blended run, the whole authority table must remain at one endpoint for the complete qualified session.

The per-cylinder model fuel trims are a separate correction. They weight the Speed Density and Alpha-N model masses, apply one factor after the common model correction, and do not change the VE Analyze table-selection rules. See Cylinder Model Fuel Trim for that layout.

Source references​

This page was checked against Capoworks firmware commit 8f4fcfb4, which finalized strategy-specific filters and recovery-state publication. The qualified blended endpoint builds on eee63c82 and captured consumer coordinates from 45298b90.