Eric,
Thanks for the advice.
I actually coded the end section first... inspiring me to discover the split comand. Just didn't take the time to clean up the old code.
woh,
For windows get perl from: (free download)
http://www.activestate.com/Products/ActivePerl/
in general check out
http://www.perl.com
It is a handy language to have in the tool box, quite nice for manipulating text files. My local public library had half a dozen books on programing perl.
ochizon
If you have a scope check out the links woh posted (I plan try that out tomorow.)
But you don't need a scope. With the correct open time you should be able to change the number of squirts and maintain tuneing (Untill duty cycle runs out) For example you are idling at 14.7 AFR on one squirt per cycle. Then switch to two squirts per cycle. (It seems you have to "Burn to ECU" then cycle megasquirt/restart engine to get it to take.) If you are now running rich that means your open time is too long. (realsie there are other factors that could also change the mixture... like the timeing of the pulse to valve opening...)
So then you try a shorter open time. Start the engine and discover you are SUPER lean now. If it runs at all!
The problem is that the VE tuneing you worked so hard to perfect is relative to the open time you tuned at. The openconv.pl program makes this adjustment for you.
To get the conversion:
Code: Select all
$veTemp = $veIn + (($oldOpen - $newOpen) * 10000 * $baro) / ($map[$mapN] * $req_fuel);
I solved the fuel pulse equation setting all the corrections to 100%. This simplification is why you still need to fine tune the new VE table.
It is interesting how the VE table is changed. For example reduceing the open time tends to flatten the VE table. At 1.0 ms my VE was 37% at idle and 109% WOT. At 0.7 ms open time I have 64% to 111%. I suspect most of us are tuned at the default 1.0 ms time and not the actual open time for our injectors. Yet another reason VE tables for "identical" engines can sometimes be so different.