Live Control: Custom Code Settings
ℹ️ Live Control lets you adjust Custom Code features in real time while connected to your car—no reflashing required. Changes take effect immediately on the DME.
App version: 483 or later
Requires: Custom Code v6.9.x or later installed on the car
What It Does
Live Control provides a dedicated page for toggling and configuring Custom Code on-the-fly (OTF) features. Instead of reflashing every time you want to switch a map slot or turn a feature on/off, Live Control reads the current state directly from the ECU and lets you change it instantly.
The page automatically polls the DME to keep values in sync; if you change the settings via CCM (steering wheel controls), you’ll see it update.
How to Access
Connect to your car via ENET using the MG Flasher app (v483 or later).
Navigate to My Car.
Tap the Live Control tab.
If the car has a compatible Custom Code version installed, you'll see the feature list. Otherwise, you'll see a message explaining why Live Control is unavailable.
Available Features
The features shown depend on which Custom Code version is installed on the car. Features are progressively unlocked as the CC version increases:
Custom Code v6.x and newer
Feature | Control Type | Description |
|---|---|---|
📈 Switchable Maps | Slot 0–4 | Switch between map slots in real time. Individual slots may be greyed out if they are disabled in the tune or contain invalid data. |
🔥 Burbles | Slot 0–5 | Select the active burble profile slot. Slots with invalid data are greyed out. |
❄️ Max Cooling | Toggle (ON / OFF) | Enable or disable maximum cooling mode (fans at full speed). |
Custom Code v7.x and newer
Feature | Control Type | Description |
|---|---|---|
⚡ Antilag RPM | Slider (1,500–6,000 RPM) | Set the standing antilag RPM setpoint. Adjustable in 100 RPM increments. The current value is displayed next to the feature name. |
Custom Code v7.1 and newer
Feature | Control Type | Description |
|---|---|---|
⛽ Ethanol Override | Toggle + Picker (0%–100%) | Enable/disable the ethanol content override flag, and select the override percentage in 5% increments. The percentage picker is only active when the toggle is ON. |
💨 Exhaust Flap | OEM / Closed / Open | Override the exhaust flap position. |
🌡️ Radiator Flap | OEM / Closed / Open | Override the radiator flap position. Only available on Gxx vehicles. |
🔒 Valet Mode | Toggle (ON / OFF) | Enable or disable Valet Mode, which restricts engine performance. |
Understanding the UI
Feature Cards
Each feature is displayed as a card with the following elements:
Left accent bar — colour-coded status indicator:
Green: Feature loaded successfully and ready to use
Yellow: Feature is loading
Grey: Feature is disabled in Custom Code
Red: An error occurred reading or setting this feature
Icon + Name — identifies the feature (e.g. 🔥 Burbles)
Inline status — shows the current value at a glance (e.g. "ON", "Slot 2", "3200 RPM")
Control — the interactive element (toggle, segmented buttons, slider, or picker)
Control Types
Toggle — A simple ON/OFF switch. Used for Max Cooling, Valet Mode, and the primary Ethanol Override control.
Segmented Buttons — A row of tappable buttons where exactly one is selected (highlighted in the app's primary colour). Used for Switchable Maps, Burbles, Exhaust Flap, and Radiator Flap. Disabled/invalid slots appear dimmed with a status label ("Disabled" or "Invalid").
Slider — A draggable slider for continuous-range values. Used for Antilag RPM. The current value is shown as a label (e.g. "3200 RPM"). Values snap to the configured step size (100 RPM).
Toggle + Picker — A compound control combining a toggle with a secondary dropdown picker. Used for Ethanol Override. The picker only becomes active when the toggle is ON; when OFF it appears dimmed.
Segmented Buttons — A row of tappable buttons where exactly one is selected (highlighted in the app's primary colour). Used for Switchable Maps, Burbles, Exhaust Flap, and Radiator Flap. Disabled/invalid slots appear dimmed with a status label ("Disabled" or "Invalid").
Slider — A draggable slider for continuous-range values. Used for Antilag RPM. The current value is shown as a label (e.g. "3200 RPM"). Values snap to the configured step size (100 RPM).
Toggle + Picker — A compound control combining a toggle with a secondary dropdown picker. Used for Ethanol Override. The picker only becomes active when the toggle is ON; when OFF it appears dimmed.
Feature Gating
Codeword Gating (Feature-Level)
Each feature checks whether it is enabled in the Custom Code configuration via its codeword parameter. If a feature's codeword indicates it is not enabled, the entire card is dimmed (reduced opacity) and its controls are disabled. A message appears: "Not enabled in Custom Code".
This means: the Custom Code file installed on the car does not have this feature turned on. You would need to update your Custom Code configuration and reflash to enable it.
Slot Validity Gating (Slot-Level)
For features with multiple slots (Switchable Maps and Burbles), each individual slot is checked for validity:
Disabled — The slot's codeword is turned off in the Custom Code configuration.
Invalid — The slot exists but contains invalid data (e.g. missing pump fuel data, incomplete flex fuel blending data).
Disabled or invalid slots show a status label beneath the slot name and cannot be selected.
States & Error Handling
Loading State
When you first navigate to Live Control, the page shows a loading spinner with "Connecting to car..." while it:
Detects the connected car
Resolves Custom Code parameter locators
Checks codeword and validity gating
Reads the current value of each feature from the ECU
Unavailable States
If Live Control cannot be used, a warning message is shown with an explanation:
Scenario | Title | Subtitle |
|---|---|---|
No compatible CC exists for this car | "No compatible Custom Code available" | Explains that CC v6.x+ is needed and none is available |
Car requires Wave3 dealer unlock | "Dealer unlock required" | ECU needs to be unlocked before CC features can be used |
CC version too old | "Update required" | Current CC version doesn't support Live Control; update to v6.x+ |
Per-Feature Errors
Individual features can encounter errors without affecting the entire page:
Read failed — Couldn't read the current value from the ECU
Set failed — The value change was rejected by the ECU; the control reverts to its previous value
Timed out — The operation took longer than 10 seconds; the control reverts
When an error occurs, the feature card's left accent bar turns orange and a status message appears for 5 seconds, then the error clears on the next successful poll.
Real-Time Polling
Live Control automatically polls the ECU every 3 seconds to keep values synchronized. Polling:
Pauses for 2 seconds after any user interaction (toggle, slot select, slider change) to avoid reading back a stale value while the ECU processes the change.
Skips if any feature is currently in a loading/setting state or if a slider is being dragged.
Uses batch reads when possible for efficiency, falling back to individual feature reads if the batch fails.
💡 Tip: If you're making rapid changes, the polling cooldown ensures the displayed values don't "bounce" between old and new states. Wait a moment after your last change and the display will settle to the current ECU state.
Custom Code Version Display
The page header shows the Custom Code version currently installed on the connected car (e.g. "Custom Code 7.3.2"). This helps you quickly identify which features should be available.
Troubleshooting
Issue | Possible Cause | Solution |
|---|---|---|
"Connecting to car..." spinner doesn't stop | ENET connection issue or car not responding | Check cable, restart the app, ensure ignition is on |
A feature shows "Not enabled in Custom Code" | Feature's codeword is off in the CC config | Update your CC configuration to enable the feature, then reflash |
Slots show "Invalid" | Map data is missing or incomplete for that slot | Use the Map Validity Check tool to diagnose which data is missing |
Slider doesn't respond | Antilag codeword not enabled | Check that Antilag is enabled in your CC config |
Values keep reverting after changes | ECU is rejecting the value | Ensure the car is in a state where OTF changes are accepted (ignition on, engine may need to be running for some features) |
Page shows "No features available" | Locator resolution failed | Restart the app and reconnect; ensure CC version is supported |
FAQ
Q: Do changes made via Live Control persist after turning off the car?
A: Yes — OTF changes are written to the ECU's RAM and persist across ignition cycles (until the next reflash or CC update).
Q: Can I use Live Control while driving?
A: The app does not prevent it, but we strongly recommend making changes only while stationary. Some features (like Antilag RPM or Map Slot switching) can affect engine behaviour immediately.
Q: Why don't I see the Radiator Flap feature?
A: Radiator Flap control is only available on Aurix-based ECUs. If your car uses a different ECU type, this feature won't appear.
Q: What happens if I disconnect mid-change?
A: If the set command was already sent and acknowledged by the ECU, the change will have taken effect. If the connection dropped before acknowledgement, the previous value remains.