That's a 2d map, that adds the ignition curve as an input variable, which it isn't.
The ignition curve is the result, not a variable.
A 3D map would be RPM, TPS, and Temp, or MAP, or anything else, to put you on the curve of ignition.
Maybe you guys simply got different words for the same thing.
I'd say ignition advance can be calculated using
A ) 0 parameters, e.g. a fixed value of "degrees before TDC", like old breaker contact ignition w/o vacuum advance, (XT500A)
B ) 1 parameter, advance is a function of rpm (early CDIs like the XT600), graphically a line (x = input y = output)
C ) 2 parameters, advance calculated for each combination of two input values, like rpm + TPS, (or rpm + MAP, or ..)
(non EFI WRs), graphically a "3D mountain surface" ( x,y coord are input, z coord is output)
D ) 3 parameters, input could be for instance rpm + TPS + MAP
E ) 4 parameters,....
F ) 5 parameters: ignition is calculated using rpm + TPS + MAP + coolant temp + air temp (EFI WR450F)
everything using more than 2 input values to calculate ignition advance cannot be represented graphically.
B ) and later won't kick back during starting
C ) and later knows about load
anything reading coolant temp doesn't need a cold start circuitry (if the user manages to hold the throttle open at 3%-ish)
You two are just fighting about what to call case C), the old WR400F CDI
reading just rpm + TPS to calculate ignition advance.
That is a 2 parameter function, which can be depicted as 3D graphics.
It would be really interesting to see the instruction flow of the EFI WR's ECU. My guess would be:
They use an 2D array of rpm + MAP to calculate a base fuel amount.
That amount would be multiplied by a correction factor calculated from rpm + coolant temp (choke)
Finally they'd lineraly compensate for air temp (=density)
2D array using rpm + fuel (represents load) should be sufficient
Lastly both raw values are modified by our beloved PowerTuner mapping.
If the MAP sensor delivers an absolute pressure reading they'd have altitude covered as well!
The TPS is unnecessary and too coarse (not sensing host-start knob position) and
would only be used when the software deems MAP values to be unplausible as a "limp home" catch all.
Edited by WRF-Rowdy, June 16, 2015 - 04:45 PM.