This is an old revision of the document!
ECMLink (V3) Firmware Changelog
Added option to prime the fuel rail by running the fuel pump for some amount of time after key on. The option is located on the “ECU Config→Misc” tab. It should default to 0 seconds to simulate stock behavior and you should be able to increase this in half-second steps up to, I think, 30 seconds. When you turn the ignition key on, the pump should run for this many seconds as long as the ignition key is on. If you disrupt this time by turning the ignition key off, the pump should stop immediately and then restart the full prime time again when you next restore the key to the on position.
Added airflow and boost-based fuel cut options. You'll find these in the ECU Config→Fuel tab once you have updated your laptop application
Fixed a bug in the ethanol-based interpolation between MinOct and MaxOct tables. Previously, this algorithm was incorrectly using the raw ethanol fuel correction as the interpolation value. This only affects you if you have both the “Enable ethanol sensor” and the “Interpolate between Min and Max octane based on ethanol content” checkboxes checked.
Fixed a major bug in the previous 1G release (3.28.106) of ECMLink that caused the ECU to reset randomly while logging due to a stack overflow. To fix this issue, we had to make a huge number of changes to the base factory code to free up stack space. This type of change is risky! We've tested extensively, but please be aware of the possibility for more unexpected issues as more people exercise more functionality.
Fixed a relatively minor bug in the 2G that allowed non-zero MAFComp adjustments to randomly creep into SD operation even if you had the “ignore MAFComp while running SD” checkbox checked.
Added support for ethanol adjustment. Use of this function requires that an ethanol sensor be wired to the ECU's MAF input but also requires that you run speed density operation so as to free up the MAF pin. Also added support for interpolating between min and max octane tables based on ethanol content. The application help file has more details.
Added support for a user-editable minimum injector pulsewidth. This value can be used to prevent the ECU from attempting to operate the injector outside of its linear areas of flow. Also added functionality to disable fuel trim lean out when you've already reached the minimum injector pulsewidth. Defining the minimum injector pulsewidth somewhere just below the pulsewidth typically seem at idle on a fully warmed engine seems to help smooth out a number of transitional cases where IPW momentarily dips into non-linear areas of operation as happens sometimes when rolling to a stop with large injectors. If the injectors are large enough, it's even possible to get into a situation where you're operating the injector outside its linear range even at idle! So you may find that you need a minimum IPW so high that your typical idle is at a constant (minimum) pulsewidth.
Made some significant changes to internal code structure. Although this provides no obvious changes to functionality, it does warrant mention simply due to the wide-sweeping impact this change could have on any number of other functions. A lot of testing has been done to ensure that nothing has been broken, but do keep in mind the potential is there for unexpected behavior and/or bugs.
Added hysteresis to low side of coolant temp window on the EGR and FPS output controls.
Added check to IdleSw activation of EGR and FPS outputs to ensure that IdleSw is simulated in the RPM/TPS tab before using the IdleSw input for activation.
Changed cranking fuel cut not to activate the cut unless less than WOT is seen as some point after ECU power-up. This prevents a bad TPS signal from inadvertently triggering cranking fuel cut.
Added functionality to significantly reduce the chances of a sudden battery reset event
from wiping out recent config changes.
Added functionality to keep laptop application in sync with current configuration settings inside the ECU. This allows for super fast reconnects, but also allows for notification to the user when settings are changed unexpectedly.
Fix bug that prevented negative deadtime values in the global deadtime field from working properly.
Added individual deadtime control. This allows for fine tuning idle and cruise operation are large injectors.
Increased factory deadtime resolution from 15 usecs to 1 usecs. A resolution of 15usecs is fine for stock 450 injectors. But as injector size gets larger, you really need more resolution. A sudden 15usec change in pulsewidth at idle on FIC 1750s is HUGE compared to the same 15usec jump with stock 450s.
Removed “lock front O2” option because it was really unnecessary and caused more confusion than anything else.
Enhanced logging of various bit values (ECU pin inputs, etc.) to increase logging rate when viewing those items.
Changed logging of LoadFactor to increase log rate.
Released a new and improved AFRatioEst that makes using this critical log item even easier and more accurate, particularly with larger injectors at idle and even cruise conditions.
Added checkbox option to automatically disable MAF compensation when running in SD mode. While technically possible, it's very unusual (and not really recommended) to use the MAF compensation dialog when running in SD mode. This change disables the MAF compensation tab by default when running in SD mode. This can be particularly useful when trying to dial in your SD VE table
using a mass airflow sensor. When using this tool, you often find yourself swapping between the mass airflow sensor and SD mode. But when you swap into SD mode, you don't want all the same compensations in place that were used to dial the mass airflow sensor in. By disabling MAF compensation automatically while running in SD mode, you can freely swap between your mass airflow sensor and SD by simply selecting the appropriate Base MAF option.
Changed reflash logic slightly to account for a commanded hard reset
sequence a bit better.
Changed the way injector pulsewidth is captured on 1G ECUs to provide for a cleaner estimated A/F ratio in datalogs.
Major change to MAFClamp logic to try (again) to handle choppy GM MAF signals better.
This release is a major revision change. Please note that you must be running at least v3.18.205 of the laptop application before you upgrade your firmware.
This release adds a number of major new features to the ECMLink device.
First and foremost is speed density support. SD operation is explained in a lot more detail on the following pages.
Switchable maps (Secondary maps)
Yes, we're finally adding the concept of switchable maps. These are complete copies of your fuel and timing maps that you can switch between at any time. You can either have these switched on automatically based on a set of criteria you define (for example, to switch in a set of aux maps when nitrous activates) or you can define an input into the ECU to have active control over the switching function yourself with an external switch of some sort.
A screenshot is actually part of the AuxMaps shot posted above.
EGR output control
Having control over the fuel pressure solenoid output has been used for several years to do all sorts of things, even some we never envisioned. But the need exists for additional control, so we're adding the same type of functionality to the EGR output as well. You can use this output for all the same stuff you could with the FPS output. You can control your cyclone manifold, for example, or your BOV bottom-port pressure or activate nitrous or water injection, etc., etc.
Additional output control parameters
We have entirely redone the output control logic. Now you can configure RPM, LoadFactor, TPS, speed and knock sensor windows to do just about anything imaginable. Parameter “windows” provide more flexibility. You can have them trigger above, below, or in between whichever activation points you have an interest in.
A screenshot is below of the new FPS controls. EGR output controls are identical.
Changed MAF Clamp to work better with GM MAF sensors connected directly to the ECU. Previous versions did not work as well as we'd like with the choppy GM MAF signal. On some cars, the MAF Clamp function could get activated by a spike in the GM MAF signal that would never “unclamp”. This version addresses that issue by providing additional input signal smoothing to prevent momentary glitches from triggering the MAF Clamp function.
Corrected bug in 2G chips that kept optional DTCs disabled. Although the application showed that the DTCs were checked and enabled, the ECU was not actually performing those checks.
Fixed bug on 1G ECUs that could corrupt datalogging stream table when the ECU is first powered on for the very first time after installing V3.
Fixed bug on 1G ECUs that prevented the ECU from simulating airflow from throttle position when the MAF volume signal is lost.
Selecting a GM MAF sensor as the base sensor now implicitly locks IAT and Baro signals for you.