Custom Code Menu (CCM)

Introducing a new button configuration, UniRocker. Together with RockerCombo, these button configurations are used to navigate and control the CCM: https://mgflasher.atlassian.net/wiki/spaces/MGFLASHER/pages/689045505

CCM can be used in conjunction with the in-app diagnostic menu to configure each Custom Code feature: https://mgflasher.atlassian.net/wiki/spaces/MGFLASHER/pages/668565526

CCM replaces which feature each Cruise Control button activated (Switchable maps, burbles, antilag, etc.)

Custom Code v7.1 introduces the Custom Code Menu! The Custom Code Menu (CCM) gives you access to Custom Code features (Switchable Maps, Burbles, Antilag, etc.) through the cruise control buttons on your steering wheel. CCM was designed to extend how many Custom Code features were available at your finger tips, 4 prior to CCM, 7+ with CCM.

CCM will improve how users will access each feature, enable/disable them, or configure their settings in real-time without reflashing! CCM uses “submenu” for each feature. Start by navigating the menu to enter a submenu (feature) using the cruise control buttons and using the tachometer and engine light to get visual feedback so that you know where you are at a given time. Next, set the desired value for the selected feature (just like with older Custom Code). This article will provide details for each step. Here is a quick layout of each feature for your reference:

Tachometer layout

Each Custom Code feature, which is available On-The-Fly, has its own dedicated submenu. Once a submenu is accessed, users will be able to configure said feature. If the submenu for Switchable Maps is accessed, then users will be able to choose which slot should be activated. The following image can be used as a quick reference for which settings are available in each submenu:

Custom Code feature layout

Steering wheel button layout and functionality

The CCM uses two sections of the steering wheel for all functionality, A: Cruise Control Buttons and B: Turn Signal Stalk. Media Control Buttons have no Custom Code functionality, they are not used. The names or icons on your steering wheel may differ, for this article, we will reference the steering wheel from our development F-Series Gen 1 vehicle. The button position is key for it’s functionality, take note of where your buttons are located in comparison to these images.

Steering Wheel Button Layout:
A - Cruise Control Buttons
B - Turn Signal Stalk
C - Media Control Buttons

A - Cruise Control Buttons:

CCM will use the cruise control buttons to navigate the menu and make/confirm selections.

A1 - RES Button:

The RES button is used to enter the CCM, submenus, and confirm selections.

A2 - Rocker Button:

The rocker is used to change selections, increase/decrease values for settings, activate Antilag (https://mgflasher.atlassian.net/wiki/spaces/MGFLASHER/pages/614760467) or activate Ethanol Content Display (https://mgflasher.atlassian.net/wiki/spaces/MGFLASHER/pages/664600755 ).

 

The rocker button has 5 distinct positions (shown in an animation to the right):

  • Far up

  • Short up

  • Center

  • Short down

  • Far down

B - Turn Signal Stalk:

CCM will use the turn signal stalk to navigate the menu and make/confirm selections.

B1 - BC Button

CCM will use the turn signal to enter the CCM, submenus, and confirm selections.

C - Media Control Buttons:

These are not used with Custom Code Menu.

 


Instrument cluster (visual feedback)

Instrument cluster components are used in CCM for visual feedback about the user’s active position within sub-menus and feature value/status. CCM uses only sections, D: Check Engine Light (CEL) and F: Tachometer (RPM Gauge). Section E: Speedometer (Speed Gauge) has no Custom Code functionality, is not used. The position or style of these components may differ, for this article, we will reference the instrument cluster from our development F-Series Gen 1 vehicle.

D - Check Engine Light (CEL):

Check Engine Light (CEL) is used to inform users when they are actively in the CCM, within a submenu, using Ethanol Content Display or Antilag, and when valet mode limits were exceeded. OEM functionality is also retained.

E - Tachometer:

The tachometer is used to show which submenu/feature is to be entered, feature value/status, or whether an invalid selection was made. Outside of the CCM, OEM functionality is retained.

F - Speedometer:

This is not used with Custom Code Menu.


Tachometer Position Meaning

The tachometer is used to show which submenu/feature is to be entered, feature value/status, or whether an invalid selection was made. Outside of the CCM, OEM functionality is retained.

Each thousand of RPM will be a selection for the CCM. Entering the selection will proceed into the sub-menu.

0k RPM - Exit the Custom Code Menu

1k RPM-

2k RPM -

3k RPM -

4k RPM -

5k RPM -

6k RPM -

7k RPM -

Invalid Selection:

The tachometer will briefly jump to 7000 RPM to indicate that the selection made was invalid.


The Check Engine Light (CEL) may blink for a number of reasons: when they are actively in the CCM, within a submenu, using Ethanol Content Display or Antilag, or valet mode limits were exceeded.

If the CEL remains lit for longer than the CCM timeout setting (configured in app when flashing), then it may be an ECU fault, as per it’s OEM function. Users can read DTC codes via in-app diagnostic menu to check.

There are 3 types of blinks that you may see: slow blinks, fast blinks or counted blinks.

Slow and Fast Blinks:

Slow blinks are visible to users who are in the root menu of CCM (haven’t entered a submenu yet), when using Ethanol Content Display or when valet limits have been exceeded.

Fast blinks are shown only when using .

Counted Blinks:

Counted blinks indicate which submenu is active. The CEL will blink the same number of times as the given Custom Code feature’s tachometer value (7 thousand RPM = 7 blinks). On the right, you’ll find 3 examples: 1 blink indicating you’re in the Switchable Map submenu, 3 blinks indicating the Max Cooling submenu and finally 7 blinks indicating the Valet Mode submenu.

 

  • 1 Blink -

  • 2 Blinks -

  • 3 Blinks -

  • 4 Blinks -

  • 5 Blinks -

  • 6 Blinks -

  • 7 Blinks -


Usage Instructions

Entering the Custom Code Menu (CCM):

With the button configuration:

  • The menu can be opened by holding either the RES button (on the Cruise Control, Section A) or the BC button (on the Turn Signal Stalk, Section C) for a few seconds.

With the button configuration:

  • The menu can be opened by holding either the short up or short down rocker button (on the Cruise Control, Section A) for a few seconds.

The amount of time the button must be held can be adjusted in app when flashing; this option is called Delay to Enter Menu under the “Custom Code Menu” settings on the “Custom Options” flashing page.

 

When using :


When using :

OR

 

Entering a submenu:

Once in the Custom Code Menu, users can briefly press the BC or RES buttons (with ) or hold the short up/down rocker button (with ) to navigate into a submenu.

 

For :

The amount of time the button must be held can be adjusted in app when flashing; this option is called UniRocker enter button delay under the “Custom Code Menu” settings on the “Custom Options” flashing page.

When using :


When using :

OR

Toggling a feature ON/OFF:

Once within a submenu such as or , move the tachometer using the rocker buttons (short up/down for or far up/down for ) to enable or disable the feature.

When enabling a feature, the tachometer will move from 0 RPM (disabled) to 1K RPM (enabled).

When disabling a feature, the tachometer will move from 1K RPM (enabled) to 0 RPM (disabled).

Changing a feature’s value:

Once within a submenu such as or , move the tachometer using the rocker buttons (short up/down for or far up/down for ) to select a value.

MG Flasher @ 2021