Signal requirements matrix

Applies to: IOcan · Standalone controller. What this means

Which signals each driver requires, and — more usefully — what happens when one is wrong rather than absent. A missing signal announces itself with a fault. A wrong-but-plausible one does not, and that is where most swap pain lives.

The mandatory sets differ per driver

Each driver checks its mandatory elements when the configuration is applied. A missing one raises a fault (0x0001 for inputs, 0x0011 for outputs) and the driver will not run.

Signal 8HP OEM gateway PDK OEM gateway DCT standalone
Engine RPM required required required
Manifold pressure required required required
Throttle position required required required
Pedal position required required required
Oil temperature required required
Coolant temperature required required
Brake required required required
Vehicle speed optional required
Engine torque calculated calculated calculated

Two things surprise people:

  • Vehicle speed is mandatory on PDK but not on 8HP. The 8HP gateway prefers the TCU's own tailshaft signal and falls back to the vehicle-speed input; the PDK gateway requires it outright. A configuration ported from an 8HP build faults here until it is assigned.
  • Engine torque is mandatory on none of them. It is derived — see Engine torque estimation.

The OEM gateways additionally require thirteen outputs to be assigned, which catches people who assume outputs are optional. They are listed on the 8HP and PDK configuration pages.

Wrong but plausible

This is the table worth reading twice. Every row is a signal that is present, updating, and wrong — so no fault is raised and the datalogger looks healthy.

Signal If it is missing If it is wrong but plausible
Engine torque Cannot be missing — it is calculated, and an unconfigured method yields a constant The most damaging error there is. Reads high → clutch clamped harder than needed: harsh engagement, abrupt takeup. Reads low → clutch capacity below actual torque: it slips, heats and wears. Also changes shift cut depth, because the TCU's requested limit is rescaled against this value
Diff ratio Warning fault; emulated wheel speed pinned at zero Road speed wrong by a constant factor. Shift scheduling is built on speed, so the car shifts at the wrong points; the TCU may also adapt its own ratio to the wrong value. A ±10 % disagreement with the vehicle-speed input raises a warning — smaller errors pass silently
Wheel diameter As above As above. Easy to get wrong by using section width or a nominal rather than rolling diameter
Manifold pressure Mandatory — driver faults Distorts every air-model torque estimate proportionally. A MAP input that saturates before peak boost makes torque read low exactly where load is highest
Throttle position Mandatory — driver faults If it never reaches full scale, the TCU never sees wide-open throttle and full-load shift behaviour never engages
Pedal position Mandatory — driver faults Kickdown and driver-demand behaviour respond at the wrong pedal travel
Coolant / oil temperature Mandatory — driver faults Warm-up strategies and temperature-limited adaptation run against the wrong temperature. A sensor stuck at a plausible mid value is invisible
Brake Mandatory — driver faults Inverted polarity is the classic case: the transmission believes the brake is always pressed, or never. Park release and reverse interlock then behave backwards
Injector pulse width Fuel torque methods collapse toward the negative drag torque Scales the fuel-path torque estimate directly. Wrong injector size or dead time produces a smoothly wrong torque curve that looks entirely credible
Lambda Lambda-efficiency correction is not applied Applies a wrong efficiency correction across the whole range
Vehicle speed PDK: driver faults. 8HP: falls back to the TCU tailshaft signal Cross-checked against the tailshaft speed; more than ~10 % disagreement raises a warning, less passes silently and skews the speed picture

What happens when a live signal stops

Not decided by the driver — decided by that input's timeout settings. The torque estimation block does no freshness checking of its own.

Timeout mode Behaviour Suitability
UsePrevious Holds the last value indefinitely Dangerous on anything safety-relevant. The transmission keeps setting clutch pressure for an engine state that no longer exists, and nothing indicates the value is stale
UseDefault Substitutes a value you choose Makes the loss detectable and predictable
UseFault Substitutes a second, separate value Firmware 2.1 and later. It does not raise a fault — the value is the signal. Useful when you want a dropout to look different from the default

Set a Timeout and Timeout mode on every input feeding the torque estimate. See If an input drops out.

Inputs that were never assigned

Different again: an unassigned optional input does not fail, it gets a fixed internal value. Harmless on a bench, quietly wrong in a car.

Unassigned input Substituted with
Intake air temperature 25 °C
Atmospheric pressure 100 kPa
Fuel temperature 25 °C
Flex fuel 0 % ethanol
Fuel pressure 350 kPa