TunerPro MS42 Community Patchlist

From MS4X Wiki
Revision as of 17:28, 18 November 2022 by Sda2 (talk | contribs) (→‎Explanation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

TunerPro offers a very good method of editing flash files with its "Patch" function.

We used this feature to create an "All-In-One" solution for editing engine displacement independent functions, like Launch Control, EWS Delete, M3 Cluster functionality etc.

Important Notes:

  • This patch list is only compatible with the MS42 0110C6 software version.
  • All these features change the program code of the ECU so use it with caution and always correct checksums before flashing or use MS4X Dev Group Flasher from here which corrects them automatically.
  • Bootmode flashing is only needed when you want to virginize the ECU and re-adapt it to a EWS module. Every other feature works without bootmode flashing!
  • Chipster MSS5X flasher contains a bug where it in some cases incorrectly calculates the program section checksum, so avoid using this software.

Download it here: Siemens_MS42_0110C6_Community_Patchlist_v1.6.1.xdf

Old Versions:

MS4X MS42 0110C6 Community Patchlist.png

ECU Information

This section shows the first entry of the user information fields (UIF), the ECU number, the ISN and most important the softwareversion.

Please keep in mind, that the show UIF values does not necessarely have to be true, as some dealership did not write the UIF section after updating the ECU during service.

  • UIF Vehicle Identification Number
  • UIF Software Number
  • UIF Service Number
  • UIF Assembly Number
  • ECU Number
  • ISN Value
  • Softwareversion

Immobilizer Bypass

  • [PATCH] Immobilizer Bypass - Bypasses the immobilizer checks of the ECU
  • [PATCH] Clear Immobilizer Data - Virginizes the ECU by clearing all immobilizer related data

This will bypass immobilizer checks that are made to prevent the car from starting with an unauthorized key or no key at all.

Note: On some cars it takes some time to start during the first crank. So crank it a bit longer than you are used to if the engine isn't starting up right away.

When virginzing the ECU by clearing the immobilizer data you want to overwrite data in the bootloader area, so bootmode flashing is needed.

To synchronize ISN and rolling codes between the ECU and the EWS3 module just use INPA or MS4X Dev Flasher.

Checksum Bypass

[PATCH] Checksum Bypass - Disables both checksums for the calibration data section

M Instrument Cluster LEDs

  • [PATCH] M Cluster LED Support - Activates the LEDs in the M cluster and add oil temperature to the CAN bus
  • [PATCH] M3 Cluster LED Mod Default Values - Implement default values for warmup and shift lights for an E46 M3 cluster
  • ldpm_toil_led - Oil temperatur axis to adjust the switch points of the led array for the warmup light feature
  • id_icl_toil_led__n - LEDs used at the given oil tempetature for the warmup light feature
  • ldpm_toil_led - Engine Speed axis to adjust the switch points of the led array for the shift light feature
  • id_icl_led__n - LEDs used at the given enginespeed for the shift light feature

This patch activates the LEDs in the M3 cluster to act like in an E46 M3 and patches the CAN bus routines to also send out the oil temperatur like in MS43

For an explanation of the values see M Cluster LED Control

You can retrofit the LEDs to a non-M cluster with this guide: Cluster M3 LED Retrofitting

DS2 Logging Extensions

  • [PATCH] DS2 Baudrate Switch Engine Stopped Bypass - Enable baudrate switching when the engine is started
  • [PATCH] DS2 Logging Feature Enhancement - Implements code needed for the new logging command
  • [PATCH] DS2 Speed Increase - Increases how often the ECU processes DS2 commands

Since MS42 only outputs a small amount of loggable values we created a custom DS2 logging command without slowing down logging rate.

This extends the stock command with the following values:

  • Individual Ignition Timing For All Cylinders And Average
  • Fuel Injector Pulse Width For Bank 2 And Average
  • Calculated Manifold Air Pressure
  • Active VO Table
  • Filtered Load Values (Ignition, Injection, VANOS, Moving Mean Value)
  • Rear O2 Sensor Input Voltages
  • Ron Adaptation Value
  • Indexed Engine Torque

Especially the calculated MAP and filtered load values will improve tuning since you will be able to see what load the subsystems are really using.

When looking at individual cylinder ignition angles, you will see that sometimes logging only cylinder 1 won't be enough. Same with injection.

You can easily log 0-5V analog sensors over the rear O2 inputs. Unfortunately MS42 only has these two additional sensor inputs, because they use others to monitor lambda heating amps.

Please choose the matching ADX logging file for your engine from the Logger Definition Files and look at the TunerPro Data Logging page for more information on how to datalog with TunerPro RT:

Notice: The ADX makes use of a much higher baudrate (125kBaud) than the default 9600Baud. The ecu can only change baudrate when engine is not running so you have to start the datalogging with the engine off and the ignition on or patch the bypass.

MAF Sensor Hack

  • [PATCH] MAF Sensor Hack 2048kg/h - Changes code to allow 2048kg/h of air mass to be measured
  • id_maf_tab - MAF sensor table 256x1
  • id_maf_tab - MAF sensor table 16x16

This patch doubles the mass air flow capability of the MS43 to 2048kg/h. Use one of the id_maf_tab tables to edit MAF sensor scale.

Note: Keep in mind that (for now) we still have a hard engine load limit of 1389mg/stroke.

Ignition Cut Limiter

  • [PATCH] Ignition Cut Limiter - This patch adds an additional ignition cut feature before the actual fuel cut limiter. The offset can be configured.
  • [DATA] Ignition Cut Limiter - Implements default values for the ignition cut feature
  • c_conf_n_max_max_td - Configuration switch for ignition cut feature
    • 0 = Ignition cut disabled
    • 1 = Ignition cut enabled
  • c_n_max_td_ofs - Engine speed offset when the ignition will be cut prior to fuel cut. Depends on the regular soft limiter id_n_max_mt__nvs

This modification will zero out ignition coil dwell time to interupt ignition before the default fuel cut limiter will engage.

You can keep the default limiters in place as they act as a failsafe, incase the ignition cut limiter is not able to reduce engine momentum fast enough.

The new rev limit will be determined by the following calculation: id_n_max_mt__nvs - c_n_max_td_ofs

Warning: Ignition cut limiters may harm your coils, center sprocket, or whole engine and exhaust system. Use with extreme caution and never with catalyst equipped cars.

Ignition cut will work well with the launch control if you want to build up more boost or impress your neighbours daughter.

Fuel Cut Table Switch Over Cruise Control

  • [PATCH] Deceleration Maps Over Cruise Switch - Decelleration map switching changed to cuise control main switch

Instead of depending on the AC compressor relay state, the decision of deceleration maps for ignition and injection will be depending on cruise control main switch (green LED in cluster).

Ignition angle change limitation is still depending on AC on/off to put less stress on AC belt.

Affected tables are:

  • ip_n_min_puc__tco & ip_n_min_accin_puc__tco
  • ip_iga_puc__n__tco & ip_iga_accin_puc__n__tco

LC / NLS / RAL Features

General Parameters
  • [PATCH] Launch Control & Rolling Anti Lag - Implements code for the launch control and rolling anti lag feature
  • [PATCH] LC & RAL Default Values - Implements default values for the launch control and rolling anti lag feature
  • c_tco_max_iga_rtd_lc_nls_ral - Maximum coolant temperature during ignition retard for LC, NLS and RAL features
  • c_pvs_min_lc - Minimum accelerator pedal position for the launch control to be activated
  • c_pvs_min_lc_nls - Minimum accelerator pedal input to activate launch control and no lift shift feature.

Launch Control
  • c_conf_lc - Configuration switch to change the launch control behaviour
    • 0 = LC Disabled
    • 1 = LC Enabled when clutch is pressed
    • 2 = LC Enabled when clutch is pressed and cruise control LED is active
  • c_conf_lc_iga_rtd - Configuration switch to apply additional ignition angle retard c_iga_rtd_lc_nls_ral while the launch control is active and clutch is depressed
    • 0 = Disabled
    • 1 = Enabled
  • c_n_max_lc - Maximum engine speed while the launch control is active
  • c_vs_max_lc - Maximum vehicle speed when the launch control deactivates and switches to normal limiters

This implements a configurable launch control feature that sets an additional engine speed limiter up to a specific vehicle speed.

You should tweak c_vs_max_lc to be slightly below the regular vehicle speed in 1st gear for the configured limiter c_n_max_lc.

The c_conf_lc mode "2" is an additional feature to be able to heat up your tires before launching, as the launch control limiter will only become active when the cruise control LED in your cluster is active.

To make the launch control limiter less bouncy please set the soft and hard limiter hysteris to 32rpm (c_n_max_hys & c_n_max_hys_max).

Rolling Anti Lag
  • c_conf_ral - Configuration switch to control the rolling anti lag behaviour
    • 0 = Disabled
    • 1 = Enabled
  • c_pvs_min_ral - Minimum accelerator pedal input to activate rolling anti lag feature.

This implements a rolling anti lag feature that retards the current igntion angle by a configurable amount.

It will be activated as soon as you press and hold the "-" button on your cruise control and exceed the configured PVS value c_pvs_min_ral.