Safety & Validity Checks
Safety Limits
Ethanol Content Maximum
The ethanol content value that can be set with the cruise control based override is limited by the tachometer’s 7500 RPM display; the maximum value you can use is 75% ethanol. When using the in-app Custom Code diagnostics, you can set up to 100% ethanol. In case the connected ECA sensor is malfunctioning (but not reporting the failure), MG Flasher’s code will limit sensor based ethanol between 0-100%.
Startup Fuel Enrichment Limits
The fueling factor used to during startup enrichment is limited between 0.5 and 2.0 to avoid under and over fueling. Be sure to use reasonable temperature ranges as this multiplier is always active. If you don’t want it to have any effect, set the entire table to 1.000.
Ethanol Content Analyzer & Motiv Re|Flex Faults
If the ethanol content analyzer (ECA), or Motiv Reflex is disconnected for a prolonged period (10 seconds) or sends an error message, the system will enter MG Flasher’s Limp Mode (if enabled in app) and disable flex fuel blending, effectively reading values from switchable map slot 0 (OEM location, pump fuel).
The engine must be running for at least 15 seconds before this is checked repeatedly.
Also, while an ECA or Reflex error is actively reported from said module, KL_RF_MAX and KL_RF_MAX_UESP are switched to use KL_RF_MAX_FlexFuelSensorFailure___MGF_CC_PF and KL_RF_MAX_UESP_FlexFuelSensorFailure___MGF_CC_PF, respectfully.
Low-Pressure Fuel Protection
Triggers MG Flasher’s limp mode if the low-pressure fuel-pressure sensor reported value drops below a critical threshold, 3.0 bar (43 PSI), for longer than 1000ms.
The engine must be running for at least 15 seconds before this is checked repeatedly.
MG Flasher Limp Mode
This feature is enabled by default.
When a safety limit, described above, is breached, and the feature is enabled in-app, MG Flasher activates limp mode:
The check engine light blinks slowly.
Boost is reduced to prevent further stress on the engine.
BMWtchsp_p_ReqMax_C is overridden to 1000 hPa.
A fault code is logged, which can be reviewed in the MG Flasher app.
Map Validation
During DME bootup, MG Flasher software scans every cell of every map for all switchable map slots (including flex fuel and burble maps) to verify the data is not null to ensure smooth map blending, map switching, and general safety and functionality of the engine. This is done by extract values of each cell in a map using value size appropriate comparisons; 8bit, 16bit, and, 32bit, and comparing if the values (as bytes) are [0x00, 0xFF, 0xC3], [0x0000, 0xFFFF, 0xC3C3], or [0x00000000, 0xFFFFFFFF, 0xC3C3C3C3], respectfully for every cell in that table. If majority of bytes in a map are null, but there is at least one value which is not null, the validity check will pass. The goal is to prevent accidental map switching to a map that wasn’t properly configured by the tuner.
These are exclusion for maps where zero values are considered valid, they should be manually checked:
BMWtqe_tqc_FlApplStgPwr1_T
BMWtqe_tqc_FlApplStgPwr2_T
BMWtqe_tqc_FlApplStgPwrHi_T
KF_FDZWT_PF1
KF_FDZWT_PF2
Group Validity
You can check all the maps (grouped together) for a given Fuel Type and Slot Number to determine if they are all valid. This will check all maps within a given Map Type (burble maps or switchable maps). This parameter will show 1 (true) if the validity check passes, and 0 (false) if it fails.
CustomCode_<Map Type>_slot<Slot Number>_<Fuel Type>_ValidData
Valid Map Types are only Burbles and SwitchableMaps. For example, Slot 3 with Pump Fuel would be:
CustomCode_SwitchableMaps_slot3_PF_ValidData
This becomes useful when narrowing down which slot and fuel type is causing an invalid map.
Single Map Validity
To further narrow down why blending may not be working, map validity can be logged for each individual switchable, burble, flex fuel map. These parameters will also show 1 (true) if the validity check passes, and 0 (false) if it fails. Per map validity parameter names use the following nomenclature:
CustomCode_DataValid___<OEM Map Name>___<Fuel Type>_slot<Slot Number>
Valid Fuel Types include:
PF
FF1
FF2
Slot Numbers can be between 0 and 4 for general switchable maps, or between 0 and 5 for burble maps. For example, to check if map “BMWtchctr_p_DifCrtnPp_M” is valid for Flex Fuel 1 in Slot 2, log the following parameter name:
CustomCode_DataValid___BMWtchctr_p_DifCrtnPp_M___FF1_slot2
Related content
MG Flasher @ 2025