ARC-TUNING
Powered by Scarecrow
CONNECTING…
Initializing the Professor — checking KB and proxy availability.
DASHBOARD
PE VE SPARK MAF IFR IDLE DFCO/LC LIMITER FI DRIVABILITY WOT
— / 12 sections complete
'99 C5 · LS2 6.0L · 0411 PCM · T56 · catless · 93 oct

Injector Flow Rate + Dead Time

Math foundation under PE. Wrong IFR or dead time = AFR wrong everywhere by injector duty cycle. Stock 28 lb/hr is fine — verify, don't assume.
Tables in this section: 1
Pro-mode subsections: 2
⚠ Build flag: Stock 28 lb/hr assumed — confirm before any changes

Scarecrow Briefing — IFR + Dead Time for your build

Same '99 C5 LS2-on-0411 build context, foundational fueling layer. IFR is the math foundation under PE — PE commands fuel by computing target_AFR → required_fuel_mass → required_pulse_width given IFR. Wrong IFR = wrong PW = wrong AFR everywhere as a function of injector duty cycle. Six build-driven decisions shape Section 5:

(1) IFR is the math foundation under PE. Every fuel calculation downstream — PE's WOT enrichment, VE's backup math, idle fueling — rides on the IFR scalar. Get this wrong and no amount of VE/MAF/PE tuning will hit AFR target. (2) Stock LS1 cal assumes stock 28 lb/hr injectors at 3 bar. Confirm Bud's actual injectors in build profile before changing anything. If aftermarket, an injector flow data sheet (Bosch, FIC, Injector Dynamics, ID, vendor spec) is required input. No data sheet = no IFR change. (3) 0411 OS has a hard-coded ~60 lb/hr ceiling in stock cal. Bigger injectors need OS modification (HPT Pro Feature unlock or equivalent), NOT just an IFR scalar change. Halt-card fires if scalar exceeds ceiling. (4) IFR doesn't scale with displacement. It's an injector hardware property. The LS2-on-LS1-OS swap doesn't affect it (only VE handles displacement). Section 5.1 stays untouched by the 5.7→6.0 correction. (5) Dead time is voltage-dependent — small PW + low Vbat = the worst-case error (cold start, idle in TX heat with marginal battery). Stock dead time table is for stock injectors; aftermarket injectors need new data. (6) Verification cross-correlates AFR error against IDC, Vbat, fuel pressure. Honest-AI: the cause of AFR error tells you which knob to turn. AFR tracks IDC → IFR or fuel-system. AFR tracks Vbat → dead time. AFR tracks FP → regulator or pressure scalar.

Honest-AI rule: if symptoms point at fuel pressure regulator failure, fuel filter restriction, pump capacity ceiling, or contaminated injectors, Scarecrow refuses to fake-fix with IFR scalar changes. These are NOT IFR cal problems.

5.1 Injector Flow Rate (lb/hr at reference fuel pressure) 📍 LOCATE
HPTEngine → Fuel → Injectors → Injector Flow Rate
EFILivetool path TBD
TunerPro XDFtool path TBD
LS1 Edittool path TBD
✓ Confirm stock 28 lb/hr
The headline scalar. Stock LS1 28 lb/hr injectors rated at ~3 bar / ~43.5 psi gauge. Every other fuel calculation downstream — PE pulse width, VE-derived airmass→fuel-mass conversion, idle fueling — derives from this number. If aftermarket injectors are installed, this scalar is the FIRST thing to update. Build profile says stock 28 lb/hr → no change recommended at start. If user reports aftermarket injectors, recommend bench-flow data or vendor flow-test before tuning. 0411 ceiling check: if scalar value would exceed ~60 lb/hr, fire a halt-card explaining the OS limitation and the path forward (OS modification via HPT Pro Feature unlock).
The big number — how much fuel each injector flows per hour at standard fuel pressure. Stock '99 LS1 injectors are 28 lb/hr at 3 bar. Every fuel calculation in the tune uses this number, so getting it right is foundational. If you've got aftermarket injectors, this changes; if you've got stock injectors, leave it alone.
Current — Stock LS1 cal
28.0 lb/hr @ 3 bar
stock '99 LS1 — Bosch/Delphi 28 lb/hr
Reference pressure 43.5 psi gauge / ~58 psi absolute at WOT.
✦ Scarecrow suggests
28.0 lb/hr @ 3 bar
no change — stock injectors per build profile
✓ Stock injectors confirmed in build profile. If swap planned, return here with vendor flow data sheet.
Δ Diff
0.0 lb/hr
no change
Aftermarket injectors → return with flow data sheet (Bosch / FIC / ID).
SCARECROW HALTS HERE IF…
CEILING EXCEEDED If the user reports injectors above ~60 lb/hr (e.g., 80 lb/hr ID1050X, FIC 1100, etc.), the 0411 OS hard-codes a maximum injector size that overflows internally above this limit. NOT a simple scalar change. Path forward: HPT Pro Feature unlock (modifies OS to lift ceiling), or move to Gen IV E38/E67 PCM. Without OS modification, the math overflows silently and the engine runs lean enough to lean-misfire or melt pistons. Refuses to apply.
NO FLOW DATA If user reports aftermarket injectors but cannot provide a flow data sheet (Bosch / FIC / Injector Dynamics / vendor spec), recommend bench-flow test before any IFR change. Brand + part number alone isn't sufficient — same part number can be re-clocked, refurbished, or out-of-spec. Refuses to apply blind.
FUEL SYSTEM HARDWARE FAULT If symptoms point at fuel pressure regulator failure, fuel filter restriction, or pump capacity ceiling (IDC pegged at 95-100% with FP dropping under sustained WOT — see 5.7 verification), Scarecrow refuses to mask the issue with an IFR scalar change. Different problems, different fixes — investigate fuel hardware first.
IFR is an injector hardware property. The cal must reflect what the injector actually does — not what we'd like it to do. Wrong IFR doesn't get caught by VE or MAF tuning; it just shows up as a clean monotonic AFR error tracking with injector duty cycle.
✦ SCARECROW REASONING CONFIDENCE: MEDIUM
Headline call: no change at start — stock 28 lb/hr confirmed in build profile. Reasoning:
  • Stock injectors → stock cal value is correct by definition. The factory cal was developed with these exact injectors. No work needed.
  • The math is foundational. PE commands a target AFR, computes required fuel mass per cycle from MAP × VE × airmass-to-fuel ratio, then divides by IFR to get pulse width. Wrong IFR by 10% = wrong pulse width by 10% = wrong AFR by 10% across the entire operating range, weighted by how much of the cycle is dead-time-dominated. Catastrophic if missed.
  • 0411 ceiling matters even when not hit today. If Bud later swaps to bigger injectors (turbo plans, etc.) the ceiling becomes the primary constraint, not the IFR scalar. Halt-card fires preemptively at > 60 lb/hr proposed values.
  • Displacement-irrelevant. The 5.7→6.0 LS2 swap doesn't change injector flow capacity per injector. Different cylinder volume needs different total fuel mass, but that's VE's job — IFR is per-injector-per-second flow, full stop.
Confidence MEDIUM not HIGH because: (a) the assumption "stock 28 lb/hr injectors actually flow 28 lb/hr" depends on injector age/condition — 25-year-old injectors can drift up to 10% from spec, and (b) the documented 0411 ceiling at "around 60 lb/hr" is based on community consensus rather than a published GM number.
The headline answer: leave the IFR scalar alone — your build profile says stock 28 lb/hr injectors. Two reasons:
  • Stock injectors → stock cal is right. The factory tune was developed for exactly these injectors.
  • If you ever swap to bigger injectors, this is where you start — but you need a flow data sheet from the manufacturer first. Don't guess this number.
One thing to watch: the 0411 PCM has a baked into its OS. If you go bigger than that someday, it's not just a number change — it's an OS modification.
1 scalar · stock value (no change at start)
5.2 High-Slope Flow Rate 📍 LOCATE
HPTEngine → Fuel → Injectors → High Slope
EFILivetool path TBD
TunerPro XDFtool path TBD
LS1 Edittool path TBD
✓ No change at start
Above the breakpoint pulse width (typically ~1.5-2.0 ms), injector flow is linear with PW. The high-slope scalar is the slope of that linear region — the flow rate per unit pulse width once the injector is fully open. Most modern injectors have very tight high-slope tolerance — stock value works fine for stock injectors. Only changes if the injector's flow data sheet specifies a different high-slope.
Once the injector is open, flow is steady — that's the high-slope region. The number here is the flow rate per millisecond of opening time once the injector is past its initial settling. Stock injectors → stock value is right.
Current — Stock LS1 cal
0.778 g/s linear
stock '99 LS1 28 lb/hr
Equivalent to 28 lb/hr / 3600 s/hr × 453.6 g/lb ≈ 3.53 g/s peak; high-slope is ~0.778 g/s/ms in the linear region.
✦ Scarecrow suggests
0.778 g/s linear
no change — matches IFR scalar at stock
✓ Stock injectors → stock high-slope is correct.
Δ Diff
0.000 g/s
no change
Aftermarket injectors → derive high-slope from flow data sheet's PW vs g/s curve.
✦ SCARECROW REASONING CONFIDENCE: MEDIUM
High-slope is the easy half of the injector model. Once past the breakpoint, injectors are well-behaved — flow is essentially linear with PW. Stock cal value matches the IFR scalar at stock conditions, so no work needed.
  • Only changes for aftermarket injectors with documented different high-slope (rare — most match nominal). If a flow sheet shows a measurable difference, update.
  • Cannot be derived from rated lb/hr alone. Two injectors rated 60 lb/hr can have meaningfully different high-slopes if their dead-time/breakpoint behavior differs. Trust the flow sheet, not the headline number.
Confidence MEDIUM because (a) magnitude inference depends on stock-injectors-flow-as-spec assumption, and (b) high-slope numbers in HPT/EFILive are tool-specific units (g/s vs lb/hr-equivalent vs raw counts) and the user must confirm units in their tool before editing.
Same as 5.1 — stock injectors get stock values. If you swap to aftermarket later, the high-slope number comes from the flow data sheet, not from the injector's headline rating.
1 scalar · stock value (no change at start)
5.3 Low-Slope Flow Rate 📍 LOCATE
HPTEngine → Fuel → Injectors → Low Slope
EFILivetool path TBD
TunerPro XDFtool path TBD
LS1 Edittool path TBD
✓ No change at start
Below the breakpoint, injector flow is non-linear (the dead-time-affected region). Stock cal models this with a low-slope scalar that's typically a small fraction of high-slope. This is the area where dead time interacts heavily — wrong low-slope shows up as cold-start fueling errors and small-PW idle drift. Getting low-slope right requires a flow-bench or HPT-validated spec. If user can't provide either, leave stock and tune around it via VE/MAF corrections.
Below a certain pulse width, the injector is in its "still opening" region — flow isn't linear yet. The low-slope number models that. Wrong low-slope = small-pulse-width errors at idle and during cold-start. Without a flow-bench number, leave it stock and let VE/MAF corrections compensate.
Current — Stock LS1 cal
0.165 g/s non-linear
stock '99 LS1 28 lb/hr
~21% of high-slope — typical Gen III LS injector behavior in the sub-1.5ms region.
✦ Scarecrow suggests
0.165 g/s non-linear
no change — leave stock
✓ Stock value at start. VE/MAF corrections absorb residual error in small-PW region.
Δ Diff
0.000 g/s
no change
Aftermarket injectors → require flow-bench data for low-slope; do NOT guess.
✦ SCARECROW REASONING CONFIDENCE: MEDIUM
Low-slope is the hard half of the injector model and the most-frequently-fudged scalar in beginner tunes.
  • Without flow-bench data, don't guess. Wrong low-slope causes cold-start AFR drift and small-PW idle wander — symptoms easily mistaken for VE / MAF errors, sending the tuner down a rabbit hole. Leave stock, tune VE/MAF on top, accept residual idle imperfection.
  • Aftermarket injector vendors increasingly publish low-slope. ID, FIC, Bosch Motorsport flow sheets list "transition slope" or "low slope" explicitly. Use those values directly.
  • Stock value (~0.165 g/s) is reasonable for stock 28 lb/hr injectors. Empirical race-tuner consensus puts it within tolerance of bench-flow data for unmodified Bosch/Delphi LS1 28-pounders.
Confidence MEDIUM because: (a) the exact stock low-slope value varies by injector vintage and condition, (b) HPT/EFILive may store this as raw counts rather than g/s requiring unit conversion, and (c) for aged injectors, drift is typically more pronounced in low-slope than high-slope.
The hard half of the injector model. Wrong low-slope shows up as small-pulse weirdness at idle and cold-start — symptoms that look like VE/MAF problems and send tuners chasing the wrong fix. Bottom line: stock value at start, aftermarket needs a flow sheet, never guess.
1 scalar · stock value (no change at start)
5.4 Dead Time vs Battery Voltage 📍 LOCATE
HPTEngine → Fuel → Injectors → Injector Offset vs Battery Voltage
EFILivetool path TBD
TunerPro XDFtool path TBD
LS1 Edittool path TBD
✓ No change recommended at start
The headline table of this section. Compensates for injector mechanical opening time at varying battery voltages. Voltage matters because injectors are voltage-controlled solenoids — at 10V they open slower (longer dead time, ~1.8-2.0 ms) than at 14V (~0.8-0.9 ms). 1D table, ~8 cells, voltage breakpoints 10V → 16V mapped to dead time in ms. For Bud's race car: dead time matters most at idle (small PW, big % effect of dead time error) and during cranking (low battery voltage state). Less important at WOT (large PW dwarfs dead time). Stock LS1 cal is for stock 28 lb/hr injectors — different injectors need different dead time curves.
Injectors are solenoids — they need a moment to physically open before fuel actually flows. That moment is "dead time." It depends on voltage: low battery = slower opening = more dead time. The table here adjusts the PCM's pulse-width math so the engine gets the right amount of fuel regardless of what the alternator/battery is doing. Stock '99 LS1 cal is dialed for stock injectors. If you change injectors, this needs new numbers.
Log axis check — Scarecrow's grid uses the stock 0411 voltage breakpoints
If your tuning software has modified the OS, the actual dead time table breakpoints in your tune may differ from what's rendered below. Drop a log into 5.7 first — Scarecrow will reconcile axes against your actual data before applying any cell-level changes.
CURRENT Stock LS1 cal — 28 lb/hr Bosch/Delphi
Vbat10.011.012.013.014.014.515.016.0
DT ms1.801.501.251.050.900.830.780.70
Stock LS1 dead time table — calibrated for stock 28 lb/hr Bosch/Delphi injectors. Reference voltage 14V (~0.9 ms). Cells get hotter (longer DT) as battery voltage drops.
✦ SCARECROW SUGGESTS No change (stock injectors)
Vbat10.011.012.013.014.014.515.016.0
DT ms1.801.501.251.050.900.830.780.70
Stock-injector build → table stays as-is. Aftermarket injectors require new dead-time data from vendor flow sheet. Halt-card if user reports aftermarket injectors and changes are proposed without supporting data.
Δ DIFF Current → Scarecrow
Vbat10.011.012.013.014.014.515.016.0
Δ ms00000000
Zero changes baseline. If aftermarket injectors are installed later, vendor flow sheet's voltage offset table replaces these values cell-by-cell.
Dead time heat scale (ms) 0.7 high V 0.9 nominal 1.3 mid 1.8 low V 2.5 very low V Lower DT = healthier (high battery V); higher DT = unhealthier (low battery V)
✦ SCARECROW REASONING CONFIDENCE: HIGH
Headline call: no change at start — stock injectors → stock dead-time table. Reasoning:
  • Voltage-dependence is a physical-law fact. Solenoid coil current ramp time scales inversely with applied voltage. Lower V = slower ramp = longer dead time. Stock cal models this correctly for stock injectors.
  • Where dead-time error matters most: small PW + low Vbat. At idle (1-2 ms PW typical), a 0.2 ms dead time error is 10-20% of total PW = 10-20% AFR error. At cranking (Vbat = 8-10 V), the slow-open effect compounds. WOT (10+ ms PW) dwarfs any dead time error.
  • Aftermarket injectors are a different beast. Solenoid mass, coil resistance, peak-and-hold drive characteristics all differ. ID/FIC/Bosch Motorsport flow sheets ship a dead time vs voltage table specific to that injector. Use it. Do not guess. Do not "scale" the stock table.
  • For Bud's TX summer race environment: ECT shutdown / heat-soak / weak-battery scenarios are realistic. Dead-time-table accuracy matters for re-fire after a hot-pit. Stock cal handles it correctly for stock injectors.
Confidence HIGH on the "leave stock alone for stock injectors" call — it's mechanically grounded.
The headline: don't touch this if you've got stock injectors. Stock cal is right for stock injectors. Two reminders:
  • Dead time matters MOST at idle and cranking (small pulse widths, possibly low battery voltage). At WOT it's a rounding error.
  • Different injectors → different dead time. Vendor flow sheet ships the right table; use it as-is. Don't try to scale the stock table to fit aftermarket injectors.
8 cells · all stock (no changes)
5.5 Fuel Pressure Reference PRO 📍 LOCATE
HPTEngine → Fuel → Fuel Pressure → Reference Pressure
EFILivetool path TBD
TunerPro XDFtool path TBD
LS1 Edittool path TBD
✦ Verify hardware matches scalar
The fuel pressure the IFR rating is referenced to. Stock LS1 = 3 bar (43.5 psi) gauge / 4 bar (58 psi) absolute at WOT. If user has a higher-pressure fuel system (rising-rate FPR, aftermarket regulator at 4 bar), the actual injector flow at WOT is higher than the rated value — IFR scalar needs to be derated by the pressure-flow relationship. Pressure-flow math: actual_flow = rated_flow × sqrt(actual_pressure / rated_pressure). Single scalar + a sanity-check workflow.
Injectors are rated at a specific fuel pressure (stock LS1 = 3 bar / 43.5 psi). If your fuel system runs higher pressure, the injectors actually flow more fuel than their headline number says. The math: flow scales with the square root of pressure ratio. Higher pressure → bigger effective injectors.
Current — Stock LS1 cal
43.5 psi gauge
3 bar reference (~58 psi absolute at WOT)
'99 C5 stock returnless / stock-FPR system holds 43.5 psi across the operating range.
✦ Scarecrow suggests
43.5 psi gauge
no change — stock FPR per build profile
✓ Stock fuel pressure system → stock reference is correct.
Δ Diff
0.0 psi
no change
Aftermarket FPR / rising-rate regulator → derate IFR scalar by sqrt(actual_psi / 43.5).
SCARECROW HALTS HERE IF…
PRESSURE MISMATCH If the user reports aftermarket fuel system at > 43.5 psi (rising-rate FPR, aftermarket regulator dialed to 58 psi, etc.) but the cal still references 43.5 psi, every injector pulse delivers more fuel than the math expects. Result: rich AFR error proportional to sqrt(actual / rated). At 58 psi vs 43.5 psi: ~16% over-fueling. Refuses to apply IFR until pressure scalar matches hardware.
REGULATOR FAILURE If 5.7 verification log shows fuel pressure dropping under sustained WOT (e.g., 43.4 → 38 psi as IDC climbs), this is regulator or pump capacity, NOT a cal scalar problem. Different fix path entirely. Refuses to mask with reference pressure scalar.
The reference pressure scalar tells the cal what fuel pressure the IFR was measured at. The actual fuel pressure during operation is a hardware behavior. Both must agree, or the math is off by sqrt(ratio).
✦ SCARECROW REASONING CONFIDENCE: MEDIUM
Posture-twin of MAF 4.4 sensor model verification — the scalar that says "what was IFR measured against." Wrong here = every IFR-derived calculation is off by a fixed sqrt(ratio).
  • Stock '99 C5 returnless system: 43.5 psi gauge, regulated at the pump module. Manifold-vacuum-referenced operation means at WOT (atmospheric MAP) the gauge reads 43.5; at idle (-50 kPa MAP) it reads ~36. The cal's reference is across-the-injector pressure, not gauge — at 14.7 psia atmospheric, that's ~58 psi differential at WOT. Tool-specific: HPT stores it as gauge, EFILive may store absolute. Verify in tool.
  • Aftermarket scenarios: rising-rate FPR (1:1 with boost — irrelevant on N/A), aftermarket adjustable regulator dialed to 58 psi, returnless-to-return conversion. Each has different pressure scalar and may need IFR scalar derated.
  • Pressure-flow derate math: if rated at 43.5 psi but actual is 58 psi, actual_flow = 28 × sqrt(58 / 43.5) = 28 × 1.155 ≈ 32.3 lb/hr. The IFR scalar to USE is 32.3, OR keep IFR at 28 and bump the reference pressure to 58 psi — both math out the same way, depending on which knob the OS exposes.
Confidence MEDIUM because: (a) returnless vs return system semantics differ across model years, and (b) HPT/EFILive may expose this scalar differently — confirm in tool before editing.
Stock '99 C5 → 43.5 psi at the rail. If you've put in an aftermarket fuel pressure regulator, this number changes. The math: more pressure = more fuel per pulse = need to update IFR or the pressure scalar to match. Sqrt of pressure ratio is the multiplier.
1 scalar · stock value (no change at start)
5.6 AFR Sanity Check Workflow PRO 📍 LOCATE
HPTScanner → Histograms → AFR Error vs IDC / Vbat / FP
EFILivetool path TBD
TunerPro XDFtool path TBD
LS1 Edittool path TBD
✦ Cross-section gate
Cross-section gate. If PE 1.x is applied AND VE 2.x is applied AND MAF 4.x is sane, but a wideband datalog STILL shows AFR error tracking with fuel pressure (or with battery voltage on cold-start), the cause is likely IFR or dead time, NOT PE/VE/MAF. Diagnostic workflow: drop a wideband + fuel pressure + battery voltage log, Scarecrow correlates AFR error against FP and Vbat to point at IFR vs dead time vs other. 3 sanity-check scalars + a ScopeCard explaining the diagnostic. Posture-twin of VE 2.6 / Spark 3.6 sanity gates.
The "everything else is right but AFR is still off" gate. After PE, VE, and MAF are tuned, if AFR still drifts in patterns that follow fuel pressure or battery voltage, that points squarely at IFR or dead time as the culprit. This subsection diagnoses which.
PE state gate
expects 'complete'
read from scarecrow_section_state.pe.aggregate
If PE not complete, IFR sanity check is not meaningful — PE drives commanded AFR.
VE state gate
expects 'complete'
read from scarecrow_section_state.ve.aggregate
If VE not complete, SD-side fueling is wrong → AFR error contains VE error, not just IFR.
MAF state gate
expects 'complete' or 'partial'
read from scarecrow_section_state.maf.aggregate
If MAF curve not committed, MAF-authority AFR error is corrupted by curve error → not IFR.
🔬 AFR ERROR DIAGNOSTIC SPLIT
AFR tracks IDC Cause: IFR scalar OR fuel-system limit. If AFR error grows monotonically with injector duty cycle, the per-injector flow assumption is wrong. Either bench-flow drift (aged injectors), wrong IFR scalar, or fuel system pegged. Check IDC ceiling first (5.7) — if IDC > 85% under WOT, that's hardware capacity, not cal.
AFR tracks Vbat Cause: Dead time table. If AFR error correlates with battery voltage (worst at cranking and low-V idle, best at 14V+ alternator-strong), the dead time vs voltage table (5.4) is wrong for the actual injectors. Most common with aftermarket injectors on stock dead-time cal.
AFR tracks FP Cause: Reference pressure scalar (5.5) OR fuel pressure regulator failure. If AFR error tracks fuel pressure across the log, either the cal's reference pressure doesn't match hardware (5.5 fix), or the regulator is failing under load (hardware fix — NOT cal).
AFR tracks RPM/MAP NOT IFR. RPM/MAP-tracking AFR error points back at VE Section 2 or MAF Section 4. Refuses to recommend IFR changes — return to those sections.
Honest-AI: the cause of AFR error tells you which knob to turn. IFR scalar changes don't fix MAF errors. Dead time changes don't fix VE errors. The diagnostic split is the rule.
✦ SCARECROW REASONING CONFIDENCE: MEDIUM
Posture-twin of VE 2.6 sensor sanity / Spark 3.6 KS noise floor. The principle: before you turn the knobs in this section, prove it's actually this section's fault. A wideband log + correlation analysis answers the question.
  • If PE/VE/MAF aren't complete, AFR error is corrupted by upstream errors and IFR-direction inference is meaningless. The state gates above prevent fake-fix recommendations.
  • The diagnostic split is mechanically grounded — IDC, Vbat, FP each correspond to a different cal mechanism that, when wrong, produces a specific correlation pattern in AFR error.
  • Race-build context: Bud's TX summer + alternator load means Vbat sags during sustained-WOT. Realistic for dead-time-table errors to surface. Realistic for fuel pump duty cycle to peg under sustained pulls.
Confidence MEDIUM because: (a) the correlation-split rule has edge cases — e.g., aged injectors can show both IDC- and Vbat-tracking simultaneously, and (b) the FP-tracking case is sometimes confounded by changing IDC (high IDC → high pump duty → marginal FP regulation).
Same idea as the VE / Spark sanity gates: don't change knobs in this section until we've proven this section is the cause. Drop a wideband log; we look at how AFR error tracks IDC, Vbat, and fuel pressure to figure out which cause is which.
3 state gates · diagnostic workflow only (no scalar changes)
5.7 Verification Loop (IDC + IFR consistency check) ✓ Drop log when ready
IDC + AFR cross-check. Drop a CSV log; Scarecrow computes Injector Duty Cycle per RPM cell at WOT using the existing IFR scalar, cross-checks against AFR error, and correlates against fuel pressure and Vbat trajectories. Honest split: AFR error tracks IDC → IFR or fuel-system. AFR error tracks RPM/MAP → VE. AFR error tracks Vbat → dead time. AFR error tracks FP → FPR or pressure scalar. The honest-AI moment: refuses to recommend IFR scalar changes if the fuel system is pegged (IDC > 85%) — that's a hardware ceiling, not a cal problem. Refuses to apply any cal changes from this section if PE state isn't complete.
Drop your wideband + fuel-pressure + battery-voltage log here. Scarecrow computes Injector Duty Cycle per RPM cell, cross-checks AFR error, and tells you honestly whether IFR is the issue or whether the fuel system is just pegged (which is a hardware fix, not a cal change).
📊
Drop a WOT datalog with FP + Vbat channels (.hpl or .csv)
Or click to load a sample log — Scarecrow computes IDC per RPM cell, AFR Cmd vs Meas error, and cross-correlates against Vbat + fuel pressure to split the diagnosis honestly:
IFR scalar fix Scarecrow can apply, vs. dead-time-table fix, vs. fuel-system hardware ceiling the user has to investigate.
Pending changes: 1 table · 4 scalars · 0 cells modified