Every component of the TCU runs as its own 'program', each of which has various modification options. You can view the program module settings below:
This page tracks the
stablefirmware releases. If you are looking for changes in dev firmware, you can download theMODULE_SETTINGS.mdfile and look there for this same content
There are currently the following adjustable programs:
| Program name | Description |
| TCC | Torque converter control |
| SOL | Solenoid control sub-system |
| SBS | Global shift and gearbox control settings |
| PRM | Shift-Valve PWM Settings |
| ADP | Adaptation settings* |
| ETS | Gear selector configuration |
| REL | Release-Shift algorithm configuration |
| GAR | Garage shifting configuration |
| CRS | Crossover-Shift algorithm configuration |
*- Adaptation is currently disabled on the stable firmwares
SCN Getter ID: 0x01
EEPROM KEY NAME: TCC_A7
| Setting name | Description | Data Type | Unit |
|---|---|---|---|
| adapt_enable | Enable adaptation for all gears | bool | - |
| enable_d1 | Enable torque converter in D1 | bool | - |
| enable_d2 | Enable torque converter in D2 | bool | - |
| enable_d3 | Enable torque converter in D3 | bool | - |
| enable_d4 | Enable torque converter in D4 | bool | - |
| enable_d5 | Enable torque converter in D5 | bool | - |
| adapt_test_interval_ms | When adapting, this is the time between checks to see how much additional or less pressure should be applied to the converter. Making this interval too quick can result in over adapting! | uint16_t | milliseconds |
| temp_threshold_adapt | Temperature threshold for adapting. Below this value, adaptation does not occur due to lag time of the ATF pressure | int16_t | - |
| react_on_engine_slip_request | Open the converter to slipping (If locked) if the engine requests it This is used on the M113K platform when the supercharger clutch is about to engage, so that the shock of the supercharger coming on does not cause too much discomfort | bool | - |
| react_on_engine_open_request | Open the converter fully, if the engine requests it. This is usually used under very heavy load under low RPM | bool | - |
SCN Getter ID: 0x02
EEPROM KEY NAME: SOL_A0
| Setting name | Description | Data Type | Unit |
|---|---|---|---|
| min_batt_power_on_test | Minimum battery voltage before performing the solenoid boot up test on TCU start | uint16_t | mV |
| current_threshold_error | If a solenoid is reading more than this current during the boot test, then it is assumed faulty | uint16_t | mA |
| cc_vref_solenoid | Solenoid reference voltage. DO NOT TOUCH THIS. It is intended for debugging ONLY! | uint16_t | mV |
| cc_temp_coefficient_wires | The temperature coefficient of the solenoid wiring and coils. DO NOT TOUCH THIS. It is intended for debugging ONLY! | float | - |
| cc_reference_resistance | MPC and SPC solenoids reference resistance at cc_reference_temp | float | - |
| cc_reference_temp | MPC and SPC solenoids resistance reference temperature | float | - |
SCN Getter ID: 0x03
EEPROM KEY NAME: SBS_A5
| Setting name | Description | Data Type | Unit |
|---|---|---|---|
| f_shown_if_flare | DEBUG - Show an 'F' marker in the gear display when the TCU detects a flare condition | bool | - |
| debug_show_up_down_arrows_in_r | DEBUG - Show '^' or 'v' in the gear display when the shift thread is active | bool | - |
| crossover_trq_thres_1_2 | Torque threshold before harsher crossover shift algorithm is used for upshifting 1-2. The absolute torque threshold is this value multiplied by engine drag torque specified in TCU Configuration | float | - |
| crossover_trq_thres_2_3 | Torque threshold before harsher crossover shift algorithm is used for upshifting 1-2. The absolute torque threshold is this value multiplied by engine drag torque specified in TCU Configuration | float | - |
| crossover_trq_thres_3_4 | Torque threshold before harsher crossover shift algorithm is used for upshifting 2-3. The absolute torque threshold is this value multiplied by engine drag torque specified in TCU Configuration | float | - |
| crossover_trq_thres_4_5 | Torque threshold before harsher crossover shift algorithm is used for upshifting 4-5. The absolute torque threshold is this value multiplied by engine drag torque specified in TCU Configuration | float | - |
SCN Getter ID: 0x05
EEPROM KEY NAME: PRM_A2
| Setting name | Description | Data Type | Unit |
|---|---|---|---|
| shift_solenoid_pwm_reduction_time | Time before shift solenoids are reduced PWM. Setting this too low can result in the shift circuit not activating! | uint16_t | milliseconds |
SCN Getter ID: 0x06
EEPROM KEY NAME: ADP_A1
| Setting name | Description | Data Type | Unit |
|---|---|---|---|
| min_atf_temp | Minimum transmission oil temperature for adaptation | int16_t | degrees C |
| max_atf_temp | Maximum transmission oil temperature for adaptation | int16_t | degrees C |
| min_input_rpm | Minimum input speed for adaptation | uint16_t | RPM |
| max_input_rpm | Maximum input speed for adaptation | uint16_t | RPM |
| prefill_adapt_k1 | Adapt allowed for the K1 clutch | bool | - |
| prefill_adapt_k2 | Adapt allowed for the K2 clutch | bool | - |
| prefill_adapt_k3 | Adapt allowed for the K3 clutch | bool | - |
| prefill_adapt_b1 | Adapt allowed for the B1 brake | bool | - |
| prefill_adapt_b2 | Adapt allowed for the B1 brake | bool | - |
| prefill_max_pressure_delta | The max pressure delta (+/-) allowed for any adaptation cell | uint16_t | mBar |
| prefill_max_time_delta | The max time delta (+/-) allowed for any adaptation cell | uint16_t | milliseconds |
SCN Getter ID: 0x07
EEPROM KEY NAME: ETS_A3
| Setting name | Description | Data Type | Unit |
|---|---|---|---|
| trrs_has_profile_selector | TRRS shifter (Wired to the TCU) has a profile selector? | bool | - |
| ewm_selector_type | The type of profile selection available on the CAN EWM shifter | EwmSelectorType | - |
| switch_profile_idx_top | When using a switch profile selector. This is the profile to use when in the top position | SelectableGearboxProfile | - |
| switch_profile_idx_bottom | When using a switch profile selector. This is the profile to use when in the bottom position | SelectableGearboxProfile | - |
| slr_profile_idx_left | When using the SLR profile selector, this is the profile when the profile selector is in the left position | SelectableGearboxProfile | - |
| slr_profile_idx_center | When using the SLR profile selector, this is the profile when the profile selector is in the center position | SelectableGearboxProfile | - |
| slr_profile_idx_right | When using the SLR profile selector, this is the profile when the profile selector is in the right position | SelectableGearboxProfile | - |
SCN Getter ID: 0x08
EEPROM KEY NAME: REL_A3
| Setting name | Description | Data Type | Unit |
|---|---|---|---|
| output_rpm_disable_trq_req | Past this output shaft RPM, torque requests will not be activated when upshifting | uint16_t | - |
| clutch_stationary_rpm | Below this RPM, a clutch will be considered 'stationary' which triggers the clutch syncronization phases | uint16_t | - |
| pid_p_val_upshift | Clutch inertia control PID algorithm 'P' value (upshifts) | int16_t | - |
| pid_i_val_upshift | Clutch inertia control PID algorithm 'I' value (downshifts) | int16_t | - |
| pid_p_val_downshift | Clutch inertia control PID algorithm 'P' value (upshifts) | int16_t | - |
| pid_i_val_downshift | Clutch inertia control PID algorithm 'I' value (downshifts) | int16_t | - |
| torque_loss_speed_pedal_pos | Mapping of pedal position to off clutch torque ramp release speed 'raw' values are pedal position (0-250 = 0-100%), 'new' values are the output, in Nm/20ms reduction | LinearInterpSetting | - |
| spc_ramp_speed | SPC ramp speed in mBar/20ms | uint8_t | - |
| spc_ramp_multi_m | SPC ramp multiplier in 'Manual' mode | float | - |
| spc_ramp_multi_r | SPC ramp multiplier in 'Race' mode | float | - |
| adder_spc_rpm | SPC offset based on input RPM. If your shifts are sliggish at higher RPMs, then you can increase the output pressure here | LinearInterpSetting | - |
| adder_spc_pedal_r | SPC offset based on pedal position for Race mode. Pedal is from 0-250 | LinearInterpSetting | - |
| adder_spc_pedal_m | SPC offset based on pedal position for Manual mode. Pedal is from 0-250 | LinearInterpSetting | - |
| adder_spc_pedal | SPC offset based on pedal position for all other modes. Pedal is from 0-250 | LinearInterpSetting | - |
SCN Getter ID: 0x09
EEPROM KEY NAME: GAR_A2
| Setting name | Description | Data Type | Unit |
|---|---|---|---|
| timeout_cycles | Number of 20ms cycles before garage shift times out and the TCU tries again | uint16_t | - |
| prefill_time_b2 | Prefilling time for B2 clutch (For N to D shift) 'raw' values are the ATF Temperature (In Celcius), 'new' values are the number of 20ms cycles for prefilling (so 20 would be 400ms) | LinearInterpSetting | - |
| prefill_time_b3 | Prefilling time for B3 clutch (For N to R shift) 'raw' values are the ATF Temperature (In Celcius), 'new' values are the number of 20ms cycles for prefilling (so 20 would be 400ms) | LinearInterpSetting | - |
| p_ramp_b2 | Apply ramp for B2 clutch 'raw' values are the ATF Temperature (In Celcius), 'new' values are the pressure added to B2 every 20ms until it engages | LinearInterpSetting | - |
| p_ramp_b3 | Apply ramp for B3 clutch 'raw' values are the ATF Temperature (In Celcius), 'new' values are the pressure added to B2 every 20ms until it engages | LinearInterpSetting | - |
| mod_mul_b2 | Modulating pressure adder factor of shift pressure for N to D shift (mod = working + (mod_mul_b2*spc)) | float | - |
| mod_mul_b3 | Modulating pressure adder factor of shift pressure for N to R shift (mod = working + (mod_mul_b2*spc)) | float | - |
SCN Getter ID: 0x0A
EEPROM KEY NAME: CRS_A1
| Setting name | Description | Data Type | Unit |
|---|---|---|---|
| clutch_stationary_rpm | Below this RPM, a clutch will be considered 'stationary' which triggers the clutch syncronization phases | uint16_t | - |
| overlap_cycles_low_trq | Number of 20ms cycles for the overlap phase when at low torque (<= 2x Drag torque) | uint8_t | - |
| overlap_cycles_high_trq | Number of 20ms cycles for the overlap phase when at high torque (>= 10x Drag torque) | uint8_t | - |
| overlap_cycles_low_trq_adder_1_2 | Adder to overlap_cycles_low_trq for 1-2 at low torque | uint8_t | - |
| overlap_cycles_high_trq_adder_1_2 | Adder to overlap_cycles_high_trq for 1-2 at low torque | uint8_t | - |
| overlap_cycles_adder_rpm | Adder to overlap_cycles based on RPM. Increasing the output minimum can help with harsh shifting at lower RPMs | LinearInterpSetting | - |
| overlap_multi_shift_speed | Multiplier for the overlap cycles based on target shift speed | LinearInterpSetting | - |
| adder_trq_multi_normal_up | Torque adder factor for upshifting in normal profiles | float | - |
| adder_trq_multi_manual_up | Torque adder factor for upshifting in manual profile | float | - |
| adder_trq_multi_race_up | Torque adder factor for upshifting in race profile | float | - |
| adder_trq_multi_normal_dn | Torque adder factor for downshifting in normal profiles | float | - |
| adder_trq_multi_manual_dn | Torque adder factor for downshifting in manual profile | float | - |
| adder_trq_multi_race_dn | Torque adder factor for downshifting in race profile | float | - |
| sync_cycles_low_trq | Number of 20ms cycles for the torque sync phase when at low torque (<= 2x Drag torque) | uint8_t | - |
| sync_cycles_high_trq | Number of 20ms cycles for the torque sync phase when at high torque (>= 10x Drag torque) | uint8_t | - |
| sync_cycles_low_trq_adder_1_2 | Adder to sync_cycles_low_trq for 1-2 at low torque | uint8_t | - |
| sync_cycles_high_trq_adder_1_2 | Adder to sync_cycles_high_trq for 1-2 at low torque | uint8_t | - |
| sync_cycles_adder_rpm | Adder to sync_cycles based on RPM. Increasing the output minimum can help with harsh shifting at lower RPMs | LinearInterpSetting | - |
| sync_multi_shift_speed | Multiplier for the output sync cycles based on target shift speed | LinearInterpSetting | - |
| sync_trq_adder_speed | Torque sync torque adder ramp value based on shift speed (Output is in Nm/20ms) | LinearInterpSetting | - |
| trq_req_multi_pedal_pos | Torque request multiplier based on pedal position (100% = 250) | LinearInterpSetting | - |
| trq_req_multi_input_rpm | Torque request multiplier based on input RPM | LinearInterpSetting | - |
| Name | Desc | Raw value |
|---|---|---|
| None | 0 | |
| Button | 1 | |
| Switch | 2 | |
| Name | Desc | Raw value |
|---|---|---|
| Standard | Standard mode | 0 |
| Comfort | Comfort mode | 1 |
| Agility | Agility mode | 2 |
| Manual | / Manual mode - REQUIRES TIPTRONIC OR PADDLES TO FUNCTION | 3 |
| Race | / Manual mode - REQUIRES TIPTRONIC OR PADDLES TO FUNCTION | 4 |
| Setting name | Description | Data Type | Unit |
|---|---|---|---|
| new_min | Output minimum bound | float | - |
| new_max | Output maximum bound | float | - |
| raw_min | Input clamped minimum | float | - |
| raw_max | Input clamped maximum | float | - |