Ignition Calculations are straightforward.
- For ignition advance, we use the n table, and interpolate. (todo: Paste below).
- For dwell we basically use ign_dwell14 + (14V-VBatt *ign_dwell6 (see InitialConfig?)
Read about timing:
Can we use MAP, EGT, and Knock feedback to implement an Ignition AutoTune feature? -- Richard
It is probably possible, but tuner still needs to define very strict limits, and knock feedback needs to be refined a bit. I think ignition autotune will only be really useful with IonSense. But help from the tuningsoftware would be appreciated to evaluate effects of ignadvance changed (flat road, streetdyno, comparing logs of runs with different advance).
I would say that it's not possible. MAP can only be used on idle and only after knowing quite a bit about the engine. The ignition advance to EGT function is fairly unpredictable; tuner intervention is definitely needed here. Before knock sensing can be useful it must be tuned to the engine; this is best done with earphones or a stethoscope. --Jörgen
Unfortunately we don't yet have IonSense implemented.
Shiv Pathak has implemented real time adaptive ignition timing (twice per engine revolution) in a Mazdaspeed MX-5 application of Vishnu's Xede piggyback. He uses nested loop control algorithms to determine ignition advance based on buffered knock sensor feedback. It works very well.