Subsections of Transmission Control
TM16 FAQ
Supported Transmissions
The TCM has been designed to be as universally applicable as possible. In much the same way that an aftermarket engine management system doesn’t really know what engine it’s running, the TCM is never explicitly set to run a specific transmission. There’s no “Select your transmission” option anywhere. Instead, each applicable input, output and sub system is configured on a case by case basis to build a full configuration. Different transmissions will use different combinations of sub systems.
The TCM’s firmware is fully configurable in every aspect, with almost nothing hidden behind presets or obfuscated away from the tuner. This means that it is theoretically possible to control most modern transmissions, once you have physical control of the hardware (in some cases this will involve removing and bypassing mechatronics units).
Building a transmission config from scratch is a complex task that requires significant knowledge of all systems involved, but it is very much possible.
We are testing and building applications specific configurations in-house which will dramatically speed up the process of commissioning and tuning your transmission. Below is a list of the transmission that we’re focussing on. If you transmission isn’t in the list, that doesn’t mean it cannot be supported, it just means you might have to attempt it yourself.
Transmission Development Status
| Transmission | Type | Status | Base Cal | Notes |
|---|---|---|---|---|
| ZF 8HP | Multi-clutch | Supported | Included | |
| Nissan GR6 | DCT | Supported | Included | |
| Getrag GS7 | DCT | Supported | Included | |
| Porsche PDK | DCT | Planned | TBA | |
| VW DQ500 | DCT | Planned | TBA | |
| Tremec TR-9080 | DCT | Planned | TBA | |
| Audi DL800 | DCT | Planned | TBA | |
| GM 6L80E | Multi-clutch | Planned | TBA | |
| Ford 6R80 | Multi-clutch | Planned | TBA | |
| Ford 10R80 | Multi-clutch | Planned | TBA |
Supported ECU Platforms
The TM16 integrates seamlessly via CAN with all Emtron ECU’s, allowing for fully torque modelled shifting and down shift rev-matching with minimal setup complexity. This is by far the best way to achieve an OEM quality driving experience.
Additionally, the TCM also has a two fully open and configurable CAN bus nodes, meaning that users can send and receive any data required in any format to integrate almost any third party ECU. The level of control available is ultimately up to the ECU in question and will vary from extremely crude to fully featured depending on the ECU in question.
Critical signals such as Engine Speed and Pedal Position can also be inputted via physically wired inputs.
Integrating a third party ECU requires a solid understanding of all the systems in use, as well as a solid understanding of CAN bus communications.
The engine ECU must be capable of modelling and reporting accurate engine torque as well as abiding by torque reduction requests and meeting down shift rev match targets.
Usage outside of the Emtron ecosystem is provided as is. It is up to the end user to determine if a platform can be used and how to do so. Emtron cannot provide technical support for third party systems.
CAN Integrations
As well as a fully user definable CAN bus, the TCM does have some preset CAN data sets which are always being added to over time.
Available CAN Presets
| Preset | Direction | Note |
|---|---|---|
| Emtron Transmission Control | Rx & Tx | Emtron torque modelled CAN integration |
| Nissan R35 GTR TCM | Rx & Tx | Build Package |
| BMW F-Series Shifter | Rx & Tx |
Shifter Inputs
The TCM can use a wide variety of shifters including CAN bus, analog, digital switch arrays, individual switches, CAN keypads, or combinations of any of the aforementioned input types.
For more information on Shifter Inputs and Drive Modes, refer here.
Drive Modes and Map Switching
Shift tables can be switched using inputs from CAN bus, rotary switches, fixed switches, sensor input and user logic.
Table axes can be set to any one of over 1500 channels allowing a virtually limitless amount of flexibility.
Output Current Control vs Duty Cycle
The majority of transmission related output functions generate a target current setpoint in amps, rather than a fixed PWM duty cycle.
When a solenoid is commanded to draw a certain current, it’s physical position is extremely consistent, resulting in a stable and repeatable position regardless of system voltage and temperature variables. If a fixed duty cycle were used, the transmission may work well one moment, and poorly the next.
Every TCM output pin can be used in current control mode, including auxiliary outputs.
User Functions can be configured to output either a traditional PWM waveform, or a current setpoint.
Solenoid Dither Current
A small dither current waveform is superimposed over the current setpoint. This keeps the solenoid in a permanent state of micro-motion, helping overcome stiction and increasing solenoid value response.
Dither is available on Solenoid Outputs 1-16. Available on firmware v0.31 and above.
Unused Solenoid Output Pins
Unused solenoid output pins can be used as auxiliary outputs for any purpose, including User Functions.
Solenoid pins have a maximum PWM frequency of 20 KHz.
Unused Input Pins
Unused analog and digital input pins can be used as general purpose inputs.
Analog input pin voltages are measured at all times.
Digital input pin voltage, frequency, duty cycle, pulse width, period, and level are measured at all times.
Pin channels are free to be transmitted via CAN, effectively turning the TCM input an input expander.
Getting Started
Wiring
Read and follow the wiring information here. It’s very important that the TCM is powered correctly.
Mandatory Engine & Driver Inputs
The following inputs MUST be configured for normal transmission operation. Input’s can be sourced from physical inputs or CAN data.
When used with an Emtron ECU, simply enable the Emtron Transmission Control Rx/Tx data streams.
For more info on Emtron ECU Integration, see here.
Engine Speed
Engine RPM from the engine ECU is required.
Engine Torque
Torque data is used extensively by numerous sub systems and must be accurate. The ability of the TCM to control clutch pressures during a shift begins and ends with accurate input torque data.
Both of the following torque inputs are required:
Engine Torque (Available): The amount of engine torque available if no reductions were in place.
Engine Torque (Supplied): The amount of torque that is actually being supplied, inclusive of active reductions such as ignition retards and fuel or ignition cuts.
Torque should be positive when the engine is accelerating and negative when the engine is decelerating (or being driven by the driveline).
Pedal & Throttle Position
Pedal position represents the drivers intention and is more useful in most cases than throttle position, which is often manipulated by engine control sub systems.
In the case of a cable throttle (NOT RECOMMENDED), the Pedal Position input function will be OFF. Sub systems that require Pedal Position will fall back to looking for Throttle Position automatically. This excludes any table axes using Pedal Position, which will be required to be changed manually.
Pedal Position: Driver pedal position demand.
Throttle Position: Engine throttle position or throttle area demand.
Brake Switch
A switch that shows ON when the brake is applied. This is used by systems such as Takeup and DCT Gear Pre-selection.
Shift Control Inputs
A combination of inputs that allow the selection of drive modes and gears, such as:
- Shifter Position
- Up/Down shift switches
- Drive mode request buttons or switches
For more info on drive modes see here.
Additional Engine Inputs
The following inputs are recommended to improve the quality of transmission management:
- Engine Idle Target Speed
- Engine Idle Status (On/Off)
- Overrun Fuel Cut Status (On/Off)
- Engine Temperature
Mandatory Transmission Inputs
These inputs vary based on the transmission in question but most transmissions will require:
- Input Shaft Speed
- Output Shaft Speed
- Transmission Fluid Temperature
Dual Clutch Transmissions will also require:
- Clutch Speeds
- Shift Fork Positions
TCM to ECU Output Signals
At the bare minimum, the engine ECU needs to know when to reduce torque (cut) and when to rev-match (blip). Ideally the engine ECU should be listening to torque limit data so that during a shift (or any other time) the TCM is in control of the amount of torque supplied by the engine.
There are many runtime channels generated by the TCM that can be transmitted via CAN or output physically by User Functions driving output pins.
Useful runtime channels include:
- Gear: The currently engaged gear.
- Next Gear: Shows the gear that will be shifted into. When not shifting
Next Gearwill show the same asGear. - Previous Gear: Shows the gear that is being shifted out of. When not shifting
Previous Gearwill show the same asGear. - Up Shift Request: Normally Off (0). Transitions to On (1) for the entire duration of an up shift.
- Down Shift Request: Normally Off (0). Transitions to On (1) for the entire duration of a down shift.
- Up Shift Torque Limit Status: Normally Off (0). Transitions to On (1) while an up shift torque limit is in place.
- Up Shift Torque Limit: When no limit is in place, this channel will hold the Torque Limit Off value as configured (Eg: 6000nm). During an up shift torque limit, it will show the final torque limit value as requested by the TCM.
- Down Shift Rev Match Status: Normally Off (0). Transitions to On (1) while a down shift rev match is being requested.
- Rev Match Target: Normally 0 RPM. During a rev-match request the desired target RPM is shown.
- Rev Match Torque: Normally 0 NM. During a down shift rev-match request the TCM will calculate the unloaded engine torque required to lift the engine speed to the rev-match target.
Ethernet Connection
Once powered up, connect the TCM’s ethernet to your PC’s ethernet port (or USB ethernet adapter). There’s no need to set a static IP address. If you’re ethernet adapter is already setup for an Emtron ECU’s static IP, it can stay unchanged.
The initial connection will take about 5-10 seconds to establish. When the TCM is detected, TMtune will show the available devices panel.

Firmware
The latest TCM firmware is included with TMtune. Once detected you can select the TCM and click the Update Firmware button.
The firmware update window shows the current device firmware and lists the version available to upload (usually there will only be one). Unless the current firmware version is older than the latest version, there’s no need to update.

The update takes about 30 seconds to complete.
Transmission Specific Information
Read any documentation for your transmission if available. This list will grow over time as we develop more application specific base calibrations.
Base Cal File
If you are using a transmission with a base cal file available, now is the time to upload the latest base cal file. The files are included with TMtune. You can either upload the file from the welcome screen or you can open the device and upload a file from the File menu.
By default, base cal files are located in
Documents\Emtron\TMtune\Cal Files
Gear Ratios
Even if you’re using a base provided base calibration, it’s worth double checking the gear ratios are correct as many ratio options may exist for a given transmission.
The correct gear ratios must also be entered into the ECU.
The TCM generates two gear ratio runtimes:
- Gear Ratio: the output from the gear ratio table
- Input/Output Shaft Speed Ratio: Input shaft speed / Output Shaft Speed.
These two values should be the same when in a driving gear. This is particularly useful for validating the input and output shaft speed sensors and that you are in the gear you think you are.
CAN
Ensure communications with the engine ECU are working. Follow the Emtron ECU Integration Guide to set up the ECU.
CAN Termination
Remember to set the CAN bus termination resistor(s) on or off as required for your bus topology.
To quickly validate the state of the CAN bus, Goto the CAN tab in the F3 Runtimes window and ensure there are no errors and that the active channel counters are showing activity.
Validating I/O
Open the device and inspect a few key the live data channels.
Press F3 to open the Runtimes window:
- On the TCM Internal tab, ensure that ALL the power supply inputs are at battery voltage. Any that aren’t must be rectified or the TCM outputs will not work.

- Use the Analog Inputs and Digital Inputs tabs to validate the state of the raw inputs. Test that the raw inputs of switches and sensors are working as expected.
Testing Solenoids
From the Config tree, navigate to Output Config > Output Pins. From there you can place each output into a test mode to validate it’s physical connection.
By putting the output into Test - Current Control mode you can command the solenoid to a desired current and check the result with the F3 Runtimes window on the Outputs tab.
The actual current draw of the solenoid should very closely match the target, as long as the solenoid isn’t saturated.
- A solenoid that saturates at 0.5A will never draw more than that.
- Most variable force transmission solenoids will be able to draw 1.0-1.5A.
- Smaller on/off type solenoids will typically be well under 1.0A.
- Just because a solenoid can draw a certain amount of current, does not mean it’s actually opening any further at maximum current. Solenoids will often hit their maximum position/stroke before current saturation.
Tip
If a solenoid doesn’t draw any current while being commanded to do so in test mode, it’s probably an open circuit.
High Current Solenoids (>1.5A)
A single solenoid output pin can command up to 1.5A. Some larger solenoids such as the clutch solenoids often found in DCT transmissions have a usable current in excess of 1.5A.
Solenoid outputs must be paired to supply solenoids with up to 2.7A.
Input Sources
Under Input Config, ensure all relevant inputs are assigned to the correct source that matches the wiring and/or CAN configuration. This is particularly important if you’ve wired something different how the base cal file you’re using.
Output Assignment
Under Output Config, ensure all relevant outputs are assigned to match your wiring.
Torque
Ensure that the received engine torque data is valid and realistic. Use the following criteria to validate the torque input…
With the engine unloaded in Neutral:
- Engine speed stable: Torque should be zero.
- Engine accelerating: Torque should be positive.
- Engine decelerating: Torque should be negative.
Torque figures should be verified against dyno figures. Remember that the torque given to the TCM will be flywheel torque, where-as on a chassis dyno, the figures will be wheel torque after drivetrain losses. For this reason it’s expected that the TCM’s input torque should always be higher than the dyno figures by some realistic margin to account for drivetrain losses.
Engine Inertia
A sensible value for engine inertia ensures that shifts synchronize well, with less reliance on closed loop control.
Under Vehicle Setup > Vehicle Setup enter an inertia value for the engine. You can also use the Engine Inertia Test mode to help find a useable value.
Important
Engine Inertia Test relies on accurate engine torque data to work.
Torque Limits
The most critical torque limit is the Up Shift Torque Limit. Now is a good time to make sure it has sensible values in it.
Navigate to Shift Setup > Up Shift > Up Shift Torque Limit.
For more info of how torque reductions are applied, see here.
ECU Torque Control
Emtron ECU’s will abide by torque limits set by the TCM with very little tuning burden on the end user.
Frictional Loss
Torque is calculated by the ECU based on air mass. As long as the fuel system model is accurate the torque model will usually be very accurate. The user needs to focus primarily on validatingFrictional Loss.
When a torque reduction is requested, the ECU will use a combination of ignition retard and cut to achieve it.
Ignition Retard Scaling
The amount of retard used is calculated using the Torque Limit Ignition Retard Scaling Table. This table allows the ECU to lookup the amount of retard rquired for a given percentage of torque reduction, as well as how much torque will be reduced from a given retard value. Example:
The Torque Limit Ignition Retard Scaling Table can be validated on the dyno by testing the torque reduction for a given global ignition trim. We have found that the above table is very useable for a wide range of applications without manual validation.
Cut Scaling
Similar to the ignition retard scaling, the amount of cut required for a given torque reduction is controlled by the Torque Limit Cut Gain Table. A value of 1.00 in this table tells the ECU that for a 50% torque reduction, it needs a 50% cut.
TM16 Engine Cut Setup
The TM16 will transmit a Fast and Slow torque limit value to the ECU. The Fast limit is used during shifts, the Slow limit is used during sustained torque limit such as the Global Torque Limit. The ECU interprets the Fast Limit as a retard based limit, and the Slow limit as a throttle based limit. In the TM16 Menu, you can control how the ECU converts the retard based fast limit into a cut with the TCM Torque Limit Engine Cut threshold. The lower this value is, the more cutting will be used to meet the torque limit.
Touch Points
Important
On every new install, you must find the clutch touch points.
The procedure for doing so is here.
Tuning
It’s common for tuners to be managing tuning the engine at the same time as the transmission. Once all the critical systems have been validated and all gears are confirmed working, you should be able to focus on the engine to get the ECU’s torque model validated.
Once you have confidence in the torque figures in the TCM, you can validate that the transmission operates correctly under load. How this looks will vary a lot depending on the transmission config.
Familiarize yourself with Multi-Clutch Shift Phases.
At this stage you should be able to:
- Engage all forward and reverse gears.
- Apply high torque in gear without any clutch slip.
- Change gear without excessive flaring or harshness.
Trouble Shooting
Clutch slip in gear
- Check the torque input is not too low.
- Line pressure is not too low.
- Clutch and line pressure solenoids are tracking their current targets.
Flaring on shifts
- Check the torque input is not too low.
- Check the Clutch Modelling
- Check the Clutch Touch Points
- If applicable, make sure a valid Clutch Gear Load Factor Table is in use.
- Line pressure is high enough to support the clutch pressure.
- Clutch and line pressure solenoids are tracking their current targets.
- Torque reductions are being acted on by the Engine ECU.
Wiring
Subsections of Wiring
Ethernet Wiring
The TCM uses 10/100Base-T Ethernet communications. It only requires 4 wires (2 pairs) to operate.
| Signal | MTC Pin | RJ45 Pin | Colour |
|---|---|---|---|
| Rx+ | C20 | 3 | Orange/White |
| Rx- | C21 | 6 | Orange |
| Tx+ | C22 | 1 | Green/White |
| Tx- | C23 | 2 | Green |
No special ethernet configuration is required. TMtune will detect the device using an IPv6 Link Local Address.
Hall Effect Inputs
Dedicated 2-Wire Hall Effect Inputs
The TCM contains 4 dedicated 2-wire hall effect inputs. These inputs are suitable for speed sensors found in many transmissions and ABS systems.
Unlike normal digital inputs, they actually provide the sensor with a regulated current source at the system’s battery voltage. When the sensing target passes the sensor, the current draw from the sensor will change. This change in current is used to determine an “edge”.
| Input | TCM Pin |
|---|---|
| Hall Input 1 | C10 |
| Hall Input 2 | C11 |
| Hall Input 3 | C12 |
| Hall Input 4 | C13 |
Info
The power supply for the hall inputs is sourced from Aux 1-4 Supply (Pin C2).
Each Hall Input outputs the following data:
- Frequency (0.5 – 20 KHz)
- Duty Cylce (%)
- Period (ms)
- Pulse Width (ms)
Known Applications
- BMW / Getrag GS7 DCT Input Shaft Speed & Clutch Speeds
- Toyota GT86 ABS Sensors
Wiring
| Sensor Pin | TCM Pin |
|---|---|
| Sensor Pin 1 | Hall Input 1-4 |
| Sensor Pin 2 | GND |
Note: The sensor may be grounded remotely.
There’s no requirement to set arming thresholds or pulldown resistors.
Hall Inputs on DI 1-8
It’s possible to use 2-wire hall effect sensors on DI-18, and in some cases this is required.
The principle is similar but the wiring is very different. The sensor needs to be supplied with a regulated voltage (eg: 8.0V) and the signal wire goes to a digital input where it’s grounded through the internal pulldown resistor. This creates a measurable voltage that the TCM can use to measure rising and falling edges.
Known Applications
- ZF 8HP Input Shaft Speed & Output Shaft Speed
Wiring
| Sensor Pin | TCM Pin |
|---|---|
| Sensor Pin 1 | 8.0V |
| Sensor Pin 2 | DI 1-8 (Pulldown ON) |
Important
The input pin’s pulldown resistor must be enabled and the arming thresholds set correctly.
Arming Thresholds
The high and low arming thresholds must be set correctly to detect the speed signal. You can watch the raw voltage of the digital input pin to determine the thresholds.
- The low threshold must be ABOVE the sensor voltage at rest.
- The high threshold must be BELOW the maximum voltage when the sensor is active.
: If the voltage is near 0V or near the 8V supply, the sensor is probably wired wrong.
Power Supply
This document outlines the correct wiring of the TCM’s power supplies and power outputs.
Power Supplies
The TCM can be used in 12V or 24V systems with a nominal supply voltage of 9-32V.
All power supply pins are protected against reverse polarity, over current, over voltage, over temperature, transients and load dumps.
Voltages are clamped internally to 35V.
Important
All power supply pins must be wired, even if you’re not using them. Eg: Don’t skip the Auxiliary Supply inputs because you don’t need to use the auxiliary outputs.
Battery Hot Supply
| Pin | Voltage | Current |
|---|---|---|
| C1 | 9-32V | < 1A |
Warning
This pin must be powered at all times to allow the TCM to control it’s own power supply. Failure to do so may result in data logging memory being corrupted.
When more than ~3.5V is present on the Ignition Switch pin (C6), the internal circuitry will turn on the circuits connected to pin C1 and the TCM will power up.
Once the TCM is booted, the CPU will latch the internal power switch ON. In this state, if the voltage on the Ignition Switch pin drops to 0, the TCM will remain on until the CPU completes any pending critical tasks and disables the internal power latch.
When the TCM is off, this pin does NOT draw any current.
Ignition Switch
| Pin | Voltage | Current |
|---|---|---|
| C6 | 9-32V | < 3mA |
Info
The Ignition Switch pin does NOT supply any power to the device. Without connecting the Battery Hot Supply pin (C1), the TCM will not power up.
The ignitions switch serves only to enable the internal power switch connected to pin C1. It’s voltage is monitored by the TCM at all times and the data is available to the user.
Auxiliary Supplies
| Pin | Voltage | Current |
|---|---|---|
| C2 | 9-32V | 15A max, Application Specific |
| C3 | 9-32V | 15A max, Application Specific |
Pins C2 and C3 supply the half bridge drivers on Aux Output 1-8. The current draw of these inputs is determined by the total high side current of the Auxiliary outputs.
The auxiliary outputs are split into 2 banks of 4: 1-4 and 5-8. The total continuous high side current of a single bank should not exceed 15A for an extended period of time.
Auxiliary Supply pins can be supplied with constant or switched power, as long as they are always powered when the ignition switch is on. The TCM will only turn them on when the ignition switch is on.
Solenoid Supplies
| Pin | Voltage | Current |
|---|---|---|
| C4 | 9-32V | 15A max, Application Specific |
| C5 | 9-32V | 15A max, Application Specific |
Pins C4 and C5 supply the Solenoid power output pins (B30-B33) as well as the flywheel diodes and voltage monitors of the solenoid drivers.
Solenoid Supply pins can be supplied with constant or switched power, as long as they are always powered when the ignition switch is on. The TCM will only turn them on when the Ignition switch is on.
Solenoid Power Outputs
| Pin | Solenoids | Continuous Current |
|---|---|---|
| B30 | 1-4 | 7.5A |
| B31 | 5-8 | 7.5A |
| B32 | 9-12 | 7.5A |
| B33 | 13-16 | 7.5A |
The 4 Solenoid Power Supply Output pins are intended to supply the high side of the solenoids driven by any of the 16 Solenoid Output pins.
All supply outputs are protected against reverse polarity, short to ground, over current, over voltage, over temperature.
Ideally, you should supply the solenoids with their respective linked output. This means that in the event of a critical fault, the TCM can shut down the supply to the problem solenoid bank. Some applications will not be flexible enough to allow this. Best judgement should be used to make the system as robust as possible.
Example: ZF 8HP: There is only 1 solenoid supply pin for 9 solenoids. You can join two or more output pins to increase to total current capacity of the supply.
Note: During normal operation in a typical transmission, not all solenoids are on at the same time and not all solenoids will be commanding maximum current.
Reference
Subsections of Reference
Error Codes
Firmware Version
The following error codes are applicable to the latest firmware: v0.34.0
Other firmware versions may differ.
| # | Code | Description |
|---|---|---|
| 0 | OK | No Errors |
| 1 | Generic | |
| 2 | CPU Core 1 Fault | |
| 3 | CPU Core 2 Fault | |
| 4 | Operating System Stack Overflow | |
| 5 | Operating System Thread Create Failed | |
| 6 | Operating System Thread Delete Failed | |
| 7 | Operating System Queue Create Failed | |
| 8 | SPI 0 Fault | |
| 9 | ADC 1 Hardware Comms Fault | |
| 10 | ADC 2 Hardware Comms Fault | |
| 11 | ADC 3 Hardware Comms Fault | |
| 12 | SPI 1 Fault | |
| 13 | IMU Hardware Comms Fault | |
| 14 | Digital Arming Threshold Hardware Comms Fault | |
| 15 | Solenoid Bank 1 Hardware Comms Fault | |
| 16 | Solenoid Bank 2 Hardware Comms Fault | |
| 17 | Solenoid Bank 3 Hardware Comms Fault | |
| 18 | Solenoid Bank 4 Hardware Comms Fault | |
| 19 | Analog Output DAC Hardware Comms Fault | |
| 20 | CAN 1 Hardware Fault | |
| 21 | CAN 1 Timeout | |
| 22 | CAN 1 Rx Error | |
| 23 | CAN 1 Tx Error | |
| 24 | CAN 1 Bus Off | |
| 25 | CAN 1 Stuff Error | |
| 26 | CAN 2 Hardware Fault | |
| 27 | CAN 2 Timeout | |
| 28 | CAN 2 Rx Error | |
| 29 | CAN 2 Tx Error | |
| 30 | CAN 2 Bus Off | |
| 31 | CAN 2 Stuff Error | |
| 32 | Flash Read Error | |
| 33 | Flash Write Error | |
| 34 | Flash Erase Error | |
| 35 | EMMC Read Error | |
| 36 | EMMC Write Error | |
| 37 | EMMC Erase Error | |
| 38 | Ethernet Hardware Fault | |
| 39 | Ethernet Timeout | |
| 40 | Ethernet Rx Error | |
| 41 | Ethernet Tx Error | |
| 42 | Ethernet Link Down | |
| 43 | IMU Hardware Fault | |
| 44 | IMU Initialisation Error | |
| 45 | IMU Read Error | |
| 46 | IMU Write Error | |
| 47 | IMU Calibration Error | |
| 48 | IMU Data Error | |
| 49 | Barometer Input Low | |
| 50 | Barometer Input High | |
| 51 | PCB Temp Sensor Low | |
| 52 | PCB Temp Sensor High | |
| 53 | Output Pin Conflict | |
| 64 | Main Supply Voltage Low | |
| 65 | Main Supply Voltage High | |
| 66 | Aux Bank 1 Voltage Low | |
| 67 | Aux Bank 1 Voltage High | |
| 68 | Aux Bank 2 Voltage Low | |
| 69 | Aux Bank 2 Voltage High | |
| 70 | Solenoid Bank 1 Voltage Low | |
| 71 | Solenoid Bank 1 Voltage High | |
| 72 | Solenoid Bank 2 Voltage Low | |
| 73 | Solenoid Bank 2 Voltage High | |
| 74 | Solenoid Bank 3 Voltage Low | |
| 75 | Solenoid Bank 3 Voltage High | |
| 76 | Solenoid Bank 4 Voltage Low | |
| 77 | Solenoid Bank 4 Voltage High | |
| 78 | Main Supply Under Current | |
| 79 | Main Supply Over Current | |
| 80 | Aux Bank 1 Over Current | |
| 81 | Aux Bank 2 Over Current | |
| 82 | Solenoid Bank 1 Over Current | |
| 83 | Solenoid Bank 2 Over Current | |
| 84 | Solenoid Bank 3 Over Current | |
| 85 | Solenoid Bank 4 Over Current | |
| 86 | Solenoid Output Voltage 1 Low | |
| 87 | Solenoid Output Voltage 1 High | |
| 88 | Solenoid Output Voltage 2 Low | |
| 89 | Solenoid Output Voltage 2 High | |
| 90 | Solenoid Output Voltage 3 Low | |
| 91 | Solenoid Output Voltage 3 High | |
| 92 | Solenoid Output Voltage 4 Low | |
| 93 | Solenoid Output Voltage 4 High | |
| 96 | Internal 5V0 Supply Low | |
| 97 | Internal 5V0 Supply High | |
| 98 | Internal 3V3 Supply Low | |
| 99 | Internal 3V3 Supply High | |
| 100 | Internal 1V8 Supply Low | |
| 101 | Internal 1V8 Supply High | |
| 102 | Internal 1V2 Supply Low | |
| 103 | Internal 1V2 Supply High | |
| 104 | Internal 1V0 Supply Low | |
| 105 | Internal 1V0 Supply High | |
| 106 | Internal 1V5 Supply Low | |
| 107 | Internal 1V5 Supply High | |
| 108 | 5V0 Reference Supply 1 Low | |
| 109 | 5V0 Reference Supply 1 High | |
| 110 | 5V0 Reference Supply 2 Low | |
| 111 | 5V0 Reference Supply 2 High | |
| 112 | 8V0 Reference Supply Low | |
| 113 | 8V0 Reference Supply High | |
| 114 | Ignition Switch Low | |
| 115 | Ignition Switch High | |
| 116 | CPU Temperature Low | |
| 117 | CPU Temperature High | |
| 118 | IMU Temperature Low | |
| 119 | IMU Temperature High | |
| 120 | PCB Temperature Low | |
| 121 | PCB Temperature High | |
| 122 | Gear Ratio Table Invalid | |
| 123 | Gear Solenoid Table Invalid | |
| 124 | Gear Clutch Table Invalid | |
| 125 | Takeup Clutch Table Invalid | |
| 126 | Clutch By Wire Clutch Table Invalid | |
| 127 | Gear Axis Config Invalid | |
| 128 | Line Pressure Sensor Low | |
| 129 | Line Pressure Sensor High | |
| 130 | Line Pressure Solenoid | |
| 131 | Line Pressure Control | |
| 132 | Clutch A Pressure Sensor Low | |
| 133 | Clutch A Pressure Sensor High | |
| 134 | Clutch A Pressure Solenoid | |
| 135 | Clutch A Pressure Control | |
| 136 | Clutch B Pressure Sensor Low | |
| 137 | Clutch B Pressure Sensor High | |
| 138 | Clutch B Pressure Solenoid | |
| 139 | Clutch B Pressure Control | |
| 140 | Clutch C Pressure Sensor Low | |
| 141 | Clutch C Pressure Sensor High | |
| 142 | Clutch C Pressure Solenoid | |
| 143 | Clutch C Pressure Control | |
| 144 | Clutch D Pressure Sensor Low | |
| 145 | Clutch D Pressure Sensor High | |
| 146 | Clutch D Pressure Solenoid | |
| 147 | Clutch D Pressure Control | |
| 148 | Clutch E Pressure Sensor Low | |
| 149 | Clutch E Pressure Sensor High | |
| 150 | Clutch E Pressure Solenoid | |
| 151 | Clutch E Pressure Control | |
| 152 | Clutch F Pressure Sensor Low | |
| 153 | Clutch F Pressure Sensor High | |
| 154 | Clutch F Pressure Solenoid | |
| 155 | Clutch F Pressure Control | |
| 156 | Clutch G Pressure Sensor Low | |
| 157 | Clutch G Pressure Sensor High | |
| 158 | Clutch G Pressure Solenoid | |
| 159 | Clutch G Pressure Control | |
| 160 | Clutch H Pressure Sensor Low | |
| 161 | Clutch H Pressure Sensor High | |
| 162 | Clutch H Pressure Solenoid | |
| 163 | Clutch H Pressure Control | |
| 164 | Axis A Pressure Sensor Low | |
| 165 | Axis A Pressure Sensor High | |
| 166 | Axis A Pressure Solenoid | |
| 167 | Axis A Pressure Control | |
| 168 | Axis B Pressure Sensor Low | |
| 169 | Axis B Pressure Sensor High | |
| 170 | Axis B Pressure Solenoid | |
| 171 | Axis B Pressure Control | |
| 172 | Transmission Fluid Temp Sensor Low | |
| 173 | Transmission Fluid Temp Sensor High | |
| 174 | Clutch A Temp Sensor Low | |
| 175 | Clutch A Temp Sensor High | |
| 176 | Clutch B Temp Sensor Low | |
| 177 | Clutch B Temp Sensor High | |
| 178 | Clutch C Temp Sensor Low | |
| 179 | Clutch C Temp Sensor High | |
| 180 | Clutch D Temp Sensor Low | |
| 181 | Clutch D Temp Sensor High | |
| 182 | Clutch E Temp Sensor Low | |
| 183 | Clutch E Temp Sensor High | |
| 184 | Clutch F Temp Sensor Low | |
| 185 | Clutch F Temp Sensor High | |
| 186 | Clutch G Temp Sensor Low | |
| 187 | Clutch G Temp Sensor High | |
| 188 | Clutch H Temp Sensor Low | |
| 189 | Clutch H Temp Sensor High | |
| 190 | Oil Level Sensor Low | |
| 191 | Oil Level Sensor High | |
| 192 | Engine Speed Input Missing | |
| 193 | Engine Speed Signal Error | |
| 194 | Engine Speed Tracking Disagreement | |
| 195 | Input Shaft Speed Input Missing | |
| 196 | Input Shaft Speed Signal Error | |
| 197 | Output Shaft Speed Input Missing | |
| 198 | Output Shaft Speed Signal Error | |
| 199 | Throttle Position Sensor Low | |
| 200 | Throttle Position Sensor High | |
| 201 | Throttle Position Tracking Sensor Low | |
| 202 | Throttle Position Tracking Sensor High | |
| 203 | Throttle Position Tracking Disagreement | |
| 204 | Throttle 2 Position Sensor Low | |
| 205 | Throttle 2 Position Sensor High | |
| 206 | Throttle 2 Position Tracking Sensor Low | |
| 207 | Throttle 2 Position Tracking Sensor High | |
| 208 | Throttle 2 Position Tracking Disagreement | |
| 209 | Pedal Position Sensor Low | |
| 210 | Pedal Position Sensor High | |
| 211 | Pedal Position Tracking Sensor Low | |
| 212 | Pedal Position Tracking Sensor High | |
| 213 | Pedal Position Tracking Disagreement | |
| 214 | Axis A Pressure Sensor Low | |
| 215 | Axis A Pressure Sensor High | |
| 216 | Axis B Pressure Sensor Low | |
| 217 | Axis B Pressure Sensor High | |
| 218 | Brake Front Pressure Sensor Low | |
| 219 | Brake Front Pressure Sensor High | |
| 220 | Brake Rear Pressure Sensor Low | |
| 221 | Brake Rear Pressure Sensor High | |
| 222 | Clutch Pedal Position Sensor Low | |
| 223 | Clutch Pedal Position Sensor High | |
| 224 | Fork 1 Position Sensor Low | |
| 225 | Fork 1 Position Sensor High | |
| 226 | Fork 1 Tracking Sensor Low | |
| 227 | Fork 1 Tracking Sensor High | |
| 228 | Fork 2 Position Sensor Low | |
| 229 | Fork 2 Position Sensor High | |
| 230 | Fork 2 Tracking Sensor Low | |
| 231 | Fork 2 Tracking Sensor High | |
| 232 | Fork 3 Position Sensor Low | |
| 233 | Fork 3 Position Sensor High | |
| 234 | Fork 3 Tracking Sensor Low | |
| 235 | Fork 3 Tracking Sensor High | |
| 236 | Fork 4 Position Sensor Low | |
| 237 | Fork 4 Position Sensor High | |
| 238 | Fork 4 Tracking Sensor Low | |
| 239 | Fork 4 Tracking Sensor High | |
| 240 | Fork 5 Position Sensor Low | |
| 241 | Fork 5 Position Sensor High | |
| 242 | Fork 5 Tracking Sensor Low | |
| 243 | Fork 5 Tracking Sensor High | |
| 244 | Fork 6 Position Sensor Low | |
| 245 | Fork 6 Position Sensor High | |
| 246 | Fork 6 Tracking Sensor Low | |
| 247 | Fork 6 Tracking Sensor High | |
| 248 | Fork 7 Position Sensor Low | |
| 249 | Fork 7 Position Sensor High | |
| 250 | Fork 7 Tracking Sensor Low | |
| 251 | Fork 7 Tracking Sensor High | |
| 252 | Fork 8 Position Sensor Low | |
| 253 | Fork 8 Position Sensor High | |
| 254 | Fork 8 Tracking Sensor Low | |
| 255 | Fork 8 Tracking Sensor High | |
| 256 | Fork 1 Position Tracking Disagreement | |
| 257 | Fork 2 Position Tracking Disagreement | |
| 258 | Fork 3 Position Tracking Disagreement | |
| 259 | Fork 4 Position Tracking Disagreement | |
| 260 | Fork 5 Position Tracking Disagreement | |
| 261 | Fork 6 Position Tracking Disagreement | |
| 262 | Fork 7 Position Tracking Disagreement | |
| 263 | Fork 8 Position Tracking Disagreement | |
| 264 | Fork 1 Shift Solenoid Table Invalid | |
| 265 | Fork 2 Shift Solenoid Table Invalid | |
| 266 | Fork 3 Shift Solenoid Table Invalid | |
| 267 | Fork 4 Shift Solenoid Table Invalid | |
| 268 | Fork 5 Shift Solenoid Table Invalid | |
| 269 | Fork 6 Shift Solenoid Table Invalid | |
| 270 | Fork 7 Shift Solenoid Table Invalid | |
| 271 | Fork 8 Shift Solenoid Table Invalid | |
| 272 | Fork Default Solenoid Table Invalid | |
| 273 | Fork Idle Solenoid Table Invalid | |
| 274 | Trans Fluid Cooler Temp Sensor Low | |
| 275 | Trans Fluid Cooler Temp Sensor High | |
| 276 | Shifter Pos Sensor Low | |
| 277 | Shifter Pos Sensor High | |
| 288 | Clutch A Slip | |
| 289 | Clutch B Slip | |
| 290 | Clutch C Slip | |
| 291 | Clutch D Slip | |
| 292 | Clutch E Slip | |
| 293 | Clutch F Slip | |
| 294 | Clutch G Slip | |
| 295 | Clutch H Slip | |
| 296 | Axis A Fault | |
| 297 | Axis B Fault | |
| 298 | Axis A Bound | |
| 299 | Axis B Bound | |
| 300 | Fork 1 Movement | |
| 301 | Fork 2 Movement | |
| 302 | Fork 3 Movement | |
| 303 | Fork 4 Movement | |
| 304 | Fork 5 Movement | |
| 305 | Fork 6 Movement | |
| 306 | Fork 7 Movement | |
| 307 | Fork 8 Movement | |
| 308 | Gear Ratio Implausible | |
| 309 | Clutch Gear Load Factor Table Invalid | |
| 310 | User Input 1 Input Low | |
| 311 | User Input 1 Input High | |
| 312 | User Input 2 Input Low | |
| 313 | User Input 2 Input High | |
| 314 | User Input 3 Input Low | |
| 315 | User Input 3 Input High | |
| 316 | User Input 4 Input Low | |
| 317 | User Input 4 Input High | |
| 318 | User Input 5 Input Low | |
| 319 | User Input 5 Input High | |
| 320 | User Input 6 Input Low | |
| 321 | User Input 6 Input High | |
| 322 | User Input 7 Input Low | |
| 323 | User Input 7 Input High | |
| 324 | User Input 8 Input Low | |
| 325 | User Input 8 Input High | |
| 326 | User Input 9 Input Low | |
| 327 | User Input 9 Input High | |
| 328 | User Input 10 Input Low | |
| 329 | User Input 10 Input High | |
| 330 | User Input 11 Input Low | |
| 331 | User Input 11 Input High | |
| 332 | User Input 12 Input Low | |
| 333 | User Input 12 Input High | |
| 334 | User Input 13 Input Low | |
| 335 | User Input 13 Input High | |
| 336 | User Input 14 Input Low | |
| 337 | User Input 14 Input High | |
| 338 | User Input 15 Input Low | |
| 339 | User Input 15 Input High | |
| 340 | User Input 16 Input Low | |
| 341 | User Input 16 Input High | |
| 342 | Transbrake Clutch Select Table Invalid | |
| 352 | Solenoid 1 Open Load | |
| 353 | Solenoid 1 Over Current | |
| 354 | Solenoid 1 Short To Ground | |
| 355 | Solenoid 1 Over Temp | |
| 356 | Solenoid 2 Open Load | |
| 357 | Solenoid 2 Over Current | |
| 358 | Solenoid 2 Short To Ground | |
| 359 | Solenoid 2 Over Temp | |
| 360 | Solenoid 3 Open Load | |
| 361 | Solenoid 3 Over Current | |
| 362 | Solenoid 3 Short To Ground | |
| 363 | Solenoid 3 Over Temp | |
| 364 | Solenoid 4 Open Load | |
| 365 | Solenoid 4 Over Current | |
| 366 | Solenoid 4 Short To Ground | |
| 367 | Solenoid 4 Over Temp | |
| 368 | Solenoid 5 Open Load | |
| 369 | Solenoid 5 Over Current | |
| 370 | Solenoid 5 Short To Ground | |
| 371 | Solenoid 5 Over Temp | |
| 372 | Solenoid 6 Open Load | |
| 373 | Solenoid 6 Over Current | |
| 374 | Solenoid 6 Short To Ground | |
| 375 | Solenoid 6 Over Temp | |
| 376 | Solenoid 7 Open Load | |
| 377 | Solenoid 7 Over Current | |
| 378 | Solenoid 7 Short To Ground | |
| 379 | Solenoid 7 Over Temp | |
| 380 | Solenoid 8 Open Load | |
| 381 | Solenoid 8 Over Current | |
| 382 | Solenoid 8 Short To Ground | |
| 383 | Solenoid 8 Over Temp | |
| 384 | Solenoid 9 Open Load | |
| 385 | Solenoid 9 Over Current | |
| 386 | Solenoid 9 Short To Ground | |
| 387 | Solenoid 9 Over Temp | |
| 388 | Solenoid 10 Open Load | |
| 389 | Solenoid 10 Over Current | |
| 390 | Solenoid 10 Short To Ground | |
| 391 | Solenoid 10 Over Temp | |
| 392 | Solenoid 11 Open Load | |
| 393 | Solenoid 11 Over Current | |
| 394 | Solenoid 11 Short To Ground | |
| 395 | Solenoid 11 Over Temp | |
| 396 | Solenoid 12 Open Load | |
| 397 | Solenoid 12 Over Current | |
| 398 | Solenoid 12 Short To Ground | |
| 399 | Solenoid 12 Over Temp | |
| 400 | Solenoid 13 Open Load | |
| 401 | Solenoid 13 Over Current | |
| 402 | Solenoid 13 Short To Ground | |
| 403 | Solenoid 13 Over Temp | |
| 404 | Solenoid 14 Open Load | |
| 405 | Solenoid 14 Over Current | |
| 406 | Solenoid 14 Short To Ground | |
| 407 | Solenoid 14 Over Temp | |
| 408 | Solenoid 15 Open Load | |
| 409 | Solenoid 15 Over Current | |
| 410 | Solenoid 15 Short To Ground | |
| 411 | Solenoid 15 Over Temp | |
| 412 | Solenoid 16 Open Load | |
| 413 | Solenoid 16 Over Current | |
| 414 | Solenoid 16 Short To Ground | |
| 415 | Solenoid 16 Over Temp | |
| 416 | Clutch Pedal Pressure Sensor Low | |
| 417 | Clutch Pedal Pressure Sensor High | |
| 418 | Launch Clutch Select Table Invalid | |
| 419 | Steering Angle Sensor Low | |
| 420 | Steering Angle Sensor High |
Enumerations
Firmware Version
The following enumerations are applicable to the latest firmware: v0.34.0
Other firmware versions may differ.
CAN Status
Used by Runtime(s):
- CAN 1 Status
- CAN 2 Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Active |
| 2 | Active (FD) |
| 4 | Active (Listen Only) |
| 8 | Error |
Clutch Leaning Status
Used by Runtime(s):
- Clutch Touch Point Leaning Status
- Clutch Adaption Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Standby |
| 2 | Complete |
| 10 | Error |
| 11 | Conditions Not Met |
| 12 | Conditions Not Met - Temp Low |
| 13 | Conditions Not Met - Temp High |
| 14 | Conditions Not Met - Not in Neutral |
| 15 | Conditions Not Met - Input Shaft Speed Low |
| 16 | Conditions Not Met - Input Shaft Speed High |
| 17 | Conditions Not Met - Output Shaft Speed High |
| 18 | Conditions Not Met - Brake Off |
| 19 | Lockout - Torque Low |
| 20 | Lockout - Torque High |
| 21 | Lockout - Torque Slope High |
| 22 | Lockout - Not Enough Data |
| 23 | Lockout - Clutch By Wire |
| 100 | Started |
| 101 | Learning - Clutch A |
| 102 | Learning - Clutch B |
| 103 | Learning - Clutch C |
| 104 | Learning - Clutch D |
| 105 | Learning - Clutch E |
| 106 | Learning - Clutch F |
| 107 | Learning - Clutch H |
| 108 | Learning - Clutch H |
| 110 | Touch Point - Reset |
| 111 | Touch Point - Input Shaft Speed Baseline |
| 112 | Touch Point - Stabilising |
| 113 | Touch Point - Finding Touch Point |
Clutches
Used by Runtime(s):
- Active Clutch
- Inactive Clutch
- Clutch #
Enumeration:
| Value | Description |
|---|---|
| 0 | None |
| 1 | A |
| 2 | B |
| 3 | C |
| 4 | D |
| 5 | E |
| 6 | F |
| 7 | G |
| 8 | H |
Engine Inertia Test Status
Used by Runtime(s):
- Engine Inertia Test Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Lockout - In Gear |
| 2 | Lockout - Engine Accel Low |
| 3 | Lockout - Torque Low |
| 4 | Sampling… |
| 5 | Done |
| 10 | Error |
Gear
Used by Runtime(s):
- Gear
- Next Gear
- Previous Gear
- Requested Gear
- Selected Gear A
- Selected Gear B
Enumeration:
| Value | Description |
|---|---|
| -2 | P |
| -1 | R |
| 0 | N |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 10 | 10 |
| 11 | 11 |
| 12 | 12 |
Hold Power Status
Used by Runtime(s):
- Hold Power Status
Enumeration:
| Value | Description |
|---|---|
| 0 | OFF |
| 1 | ON |
| 2 | Shutdown Delay |
| 3 | Hold - PC Comms |
| 4 | Hold - Waiting for Shutdown |
| 5 | Hold - Logging Busy |
| 6 | Hold - Storing |
IMU Status
Used by Runtime(s):
- IMU Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Hardware Error |
| 2 | Running |
| 3 | Calibrating |
Input Status
Used by Runtime(s):
- Digital Input 1 Status
- Digital Input 2 Status
- Digital Input 3 Status
- Digital Input 4 Status
- Digital Input 5 Status
- Digital Input 6 Status
- Digital Input 7 Status
- Digital Input 8 Status
- Digital Input 9 Status
- Digital Input 10 Status
- Digital Input 11 Status
- Digital Input 12 Status
- Digital Input 13 Status
- Digital Input 14 Status
- Digital Input 15 Status
- Digital Input 16 Status
- Hall Input 1 Status
- Hall Input 2 Status
- Hall Input 3 Status
- Hall Input 4 Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | On |
| 2 | PWM |
IO Level
Used by Runtime(s):
- Digital Input 1 Level
- Digital Input 2 Level
- Digital Input 3 Level
- Digital Input 4 Level
- Digital Input 5 Level
- Digital Input 6 Level
- Digital Input 7 Level
- Digital Input 8 Level
- Digital Input 9 Level
- Digital Input 10 Level
- Digital Input 11 Level
- Digital Input 12 Level
- Digital Input 13 Level
- Digital Input 14 Level
- Digital Input 15 Level
- Digital Input 16 Level
- Hall Input 1 Level
- Hall Input 2 Level
- Hall Input 3 Level
- Hall Input 4 Level
Enumeration:
| Value | Description |
|---|---|
| 0 | Low |
| 1 | High |
Launch Control Status
Used by Runtime(s):
- Launch Control Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Disarmed |
| 2 | Disarmed - No Arming Config |
| 3 | Disarmed - Launch Switch |
| 4 | Disarmed - Brake Switch |
| 5 | Disarmed - Brake Pressure |
| 6 | Disarmed - User |
| 7 | Disarmed - Transbrake Switch |
| 10 | Armed |
| 11 | Lockout - No Lockout Config |
| 12 | Lockout - Output Shaft Speed |
| 13 | Lockout - Drive Speed |
| 14 | Lockout - Pedal Position |
| 15 | Lockout - Engine Speed |
| 16 | Lockout - User |
| 17 | Lockout - Clutch By Wire |
| 18 | Lockout - Not In Gear |
| 20 | Active |
| 21 | Active - Static |
| 22 | Active - Preload |
| 23 | Active - Moving |
Logging Status
Used by Runtime(s):
- Logging Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Initilizing |
| 2 | Halted |
| 3 | Uploading |
| 10 | Disarmed - Logging Switch |
| 11 | Disarmed - User |
| 20 | Ready |
| 21 | Armed |
| 22 | Recording |
| 23 | Stopping |
Math Expression Status
Used by Runtime(s):
- Math Expression 1 Status
- Math Expression 2 Status
- Math Expression 3 Status
- Math Expression 4 Status
- Math Expression 5 Status
- Math Expression 6 Status
- Math Expression 7 Status
- Math Expression 8 Status
- Math Expression 9 Status
- Math Expression 10 Status
- Math Expression 11 Status
- Math Expression 12 Status
- Math Expression 13 Status
- Math Expression 14 Status
- Math Expression 15 Status
- Math Expression 16 Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | OK |
| 2 | Syntax Error |
| 3 | Variables Error |
Output Status
Used by Runtime(s):
- Aux 1 Status
- Aux 2 Status
- Aux 3 Status
- Aux 4 Status
- Aux 5 Status
- Aux 6 Status
- Aux 7 Status
- Aux 8 Status
- Solenoid 1 Status
- Solenoid 2 Status
- Solenoid 3 Status
- Solenoid 4 Status
- Solenoid 5 Status
- Solenoid 6 Status
- Solenoid 7 Status
- Solenoid 8 Status
- Solenoid 9 Status
- Solenoid 10 Status
- Solenoid 11 Status
- Solenoid 12 Status
- Solenoid 13 Status
- Solenoid 14 Status
- Solenoid 15 Status
- Solenoid 16 Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | On |
| 2 | On - PWM |
| 3 | On - CC |
| 4 | Test - PWM |
| 5 | Test - CC |
| 6 | On - Slave |
| 10 | Error |
| 11 | Open Load |
| 12 | Over Current |
| 13 | Short To Ground |
| 14 | Over Temp |
| 15 | Over Voltage |
| 16 | Short To Battery |
| 17 | Overload |
| 18 | Retry Limit |
| 20 | Master Shutdown |
PID Status
Used by Runtime(s):
- Line Pressure PID Status
- Clutch A PID Status
- Clutch B PID Status
- Clutch C PID Status
- Clutch D PID Status
- Clutch E PID Status
- Clutch F PID Status
- Clutch G PID Status
- Clutch H PID Status
- Axis A PID Status
- Axis B PID Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Disabled |
| 1 | On |
| 2 | Integral Min |
| 3 | Integral Max |
Preselection Status
Used by Runtime(s):
- Preselection Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Neutral |
| 2 | Down Shift |
| 3 | Up Shift |
Pressure Control Status
Used by Runtime(s):
- Line Pressure Control Status
- Clutch A Status
- Clutch B Status
- Clutch C Status
- Clutch D Status
- Clutch E Status
- Clutch F Status
- Clutch G Status
- Clutch H Status
- Axis A Pressure Control Status
- Axis B Pressure Control Status
- Lube Flow Pressure Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Lockout - Speed |
| 2 | Lockout - User |
| 10 | On |
| 11 | On - Clutch Active |
| 12 | On - Clutch Active (Ramp In) |
| 13 | On - Clutch Inactive |
| 14 | On - Takeup |
| 15 | On - Clutch By Wire |
| 16 | On - Launch |
| 17 | On - Transbrake |
| 18 | On - Touch Point Learn |
| 19 | On - Shift Oncoming |
| 20 | On - Shift Offgoing |
| 30 | On - Axis Active |
| 31 | On - Axis Inactive |
| 32 | On - Fork Movement |
| 33 | On - Shifting |
Shift Fork ID
Used by Runtime(s):
- Active Gear Shift Fork
- Preselected Gear Shift Fork
- Moving Shift Fork
Enumeration:
| Value | Description |
|---|---|
| 0 | - |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
Shift Fork Status
Used by Runtime(s):
- Shift Fork 1 Status
- Shift Fork 2 Status
- Shift Fork 3 Status
- Shift Fork 4 Status
- Shift Fork 5 Status
- Shift Fork 6 Status
- Shift Fork 7 Status
- Shift Fork 8 Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Low Position |
| 2 | Centre Position |
| 3 | High Position |
| 4 | Moving Down |
| 5 | Moving Up |
| 10 | Error |
Shift Phase
Used by Runtime(s):
- Shift Phase
Enumeration:
| Value | Description |
|---|---|
| 0 | Waiting |
| 1 | Setup |
| 2 | Prefill |
| 3 | Fast Fill |
| 4 | Stable Fill |
| 5 | Torque Transfer |
| 6 | Inertial Sync |
| 7 | Lock |
| 8 | Complete |
| 9 | Cancelled |
| 10 | Error |
Shift Request Status
Used by Runtime(s):
- Shift Request Status
Enumeration:
| Value | Description |
|---|---|
| 0 | - |
| 1 | Park Disabled |
| 2 | Park Lockout - Output Shaft Speed |
| 3 | Park Lockout - Vehicle Speed |
| 4 | Park Lockout - Drive Speed |
| 5 | Park Lockout - Clutch Switch |
| 6 | Park Lockout - Brake Switch |
| 7 | Park Lockout - Brake Pressure |
| 8 | Park Lockout - Clutch Pressure |
| 9 | Park Lockout - Clutch Position |
| 10 | Reverse Lockout - Disabled |
| 11 | Reverse Lockout - Output Shaft Speed |
| 12 | Reverse Lockout - Vehicle Speed |
| 13 | Reverse Lockout - Drive Speed |
| 14 | Reverse Lockout - Clutch Switch |
| 15 | Reverse Lockout - Brake Switch |
| 16 | Reverse Lockout - Brake Pressure |
| 17 | Reverse Lockout - Clutch Pressure |
| 18 | Reverse Lockout - Clutch Position |
| 19 | Reverse Lockout - Reverse Lockout Switch |
| 20 | Drive Disabled |
| 21 | Drive Lockout - Output Shaft Speed |
| 22 | Drive Lockout - Vehicle Speed |
| 23 | Drive Lockout - Drive Speed |
| 24 | Drive Lockout - Clutch Switch |
| 25 | Drive Lockout - Brake Switch |
| 26 | Drive Lockout - Brake Pressure |
| 27 | Drive Lockout - Clutch Pressure |
| 28 | Drive Lockout - Clutch Position |
| 30 | Up Shift Disabled |
| 31 | Up Shift Lockout - Input Shaft Speed Min |
| 32 | Up Shift Lockout - Gear Max |
| 33 | Up Shift Lockout - Takeup |
| 40 | Down Shift Disabled |
| 41 | Down Shift Lockout - Input Shaft Speed Max |
| 42 | Down Shift Lockout - Gear Min |
| 43 | Down Shift Lockout - Takeup |
Shift Solenoid Status
Used by Runtime(s):
- Shift Solenoid 1 Status
- Shift Solenoid 2 Status
- Shift Solenoid 3 Status
- Shift Solenoid 4 Status
- Shift Solenoid 5 Status
- Shift Solenoid 6 Status
- Shift Solenoid 7 Status
- Shift Solenoid 8 Status
Enumeration:
| Value | Description |
|---|---|
| 0 | OFF |
| 1 | ON |
| 10 | Error |
Shift Status
Used by Runtime(s):
- Up Shift Status
- Down Shift Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Ready |
| 2 | Pending |
| 3 | Shifting |
| 4 | Waiting for Torque Reduction |
| 5 | Waiting for Rev Match |
| 6 | Shift Complete |
| 10 | Error |
| 11 | Error: Torque Reduction Timeout |
| 12 | Error: Rev Match Timeout |
Shifter Position
Used by Runtime(s):
- Shifter Position
Enumeration:
| Value | Description |
|---|---|
| 0 | - |
| 1 | Park |
| 2 | Reverse |
| 3 | Neutral |
| 4 | Drive |
| 5 | Sport |
| 6 | Manual |
Solenoid Driver Status
Used by Runtime(s):
- Solenoid Bank 1 Status
- Solenoid Bank 2 Status
- Solenoid Bank 3 Status
- Solenoid Bank 4 Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Config Mode |
| 1 | OK |
Takeup Status
Used by Runtime(s):
- Takeup Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Lockout - User |
| 2 | Lockout - Clutch By Wire |
| 3 | Lockout - Neutral/Park |
| 4 | Lockout - Engine Speed |
| 5 | Lockout - Transbrake |
| 6 | Lockout - Launch Control |
| 10 | Bleed Off |
| 11 | Fast Fill |
| 12 | Ready |
| 13 | Active |
| 14 | Exit |
| 15 | Off - Driving |
TC Lockup Clutch Status
Used by Runtime(s):
- Torque Converter Lock Up Clutch Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Open |
| 1 | Slip |
| 2 | Sync |
| 3 | Lock |
Torque Converter Lockup Status
Used by Runtime(s):
- Torque Converter Lock Up Status
Enumeration:
| Value | Description |
|---|---|
| 0 | OFF |
| 1 | On - Takeup |
| 2 | On - In Gear |
| 3 | On - Up Shift |
| 4 | On - Down Shift |
| 5 | On - Launch |
| 10 | On - Override |
| 20 | Lockout - User |
| 21 | Lockout - Input Shaft Speed |
| 22 | Lockout - Output Shaft Speed |
| 23 | Lockout - Drive Speed |
| 24 | Lockout - Engine Speed |
| 25 | Lockout - Transbrake |
Torque Limit Status
Used by Runtime(s):
- Torque Limit Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Global |
| 2 | Up Shift |
| 3 | Down Shift |
| 4 | Post Down Shift |
| 5 | Takeup |
| 6 | Takeup Shift |
| 7 | Fault |
| 8 | Transbrake |
| 9 | Launch |
Transbrake Status
Used by Runtime(s):
- Transbrake Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Lockout - Output Shaft Speed |
| 2 | Lockout - Drive Speed |
| 3 | Lockout - User |
| 4 | Lockout - Clutch By Wire |
| 5 | Lockout - Not In Forward Gear |
| 6 | Lockout - Gear Max |
| 10 | Armed |
| 11 | On |
| 12 | Bump Cooldown |
| 13 | Bump |
Transmission Control Status
Used by Runtime(s):
- Transmission Control Status
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Park |
| 2 | Reverse |
| 3 | Neutral |
| 4 | Takeup |
| 5 | In Gear |
| 6 | Down Shift Pending |
| 7 | Down Shift |
| 8 | Down Shift Complete |
| 9 | Up Shift Pending |
| 10 | Up Shift |
| 11 | Up Shift Complete |
Transmission Drive Mode
Used by Runtime(s):
- Transmission Drive Mode
Enumeration:
| Value | Description |
|---|---|
| 0 | Off |
| 1 | Park |
| 2 | Reverse |
| 3 | Neutral |
| 4 | Drive |
| 5 | Sport |
| 6 | Manual |
Tuning
Subsections of Tuning
Emtron ECU Integration
This document details the steps required for the TCM and ECU to integrate with each other.
Minimum ECU Firmware Version: 2.21.0
TM16 to Emtron ECU CAN Protocol
The TM16 CAN protocol uses ID’s in the range of 336 to 345 (0x150 to 0x159). Care must be taken to ensure that no other devices are using ID’s withing that range.
Channels controlled by Input Functions (eg: Engine Speed) must have their input source set to CAN.
Transmission Channels
The following channels are transmitted by the TCM:
- Gear
- Gear Request (Next Gear)
- Input Shaft Speed
- Output Shaft Speed
- Torque Limit (Slow / Throttle)
- Torque Limit (Fast / Ignition)
- Up Shift Switch
- Down Shift Switch
- Transmission Fluid Temp
Engine Channels
The following channels are transmitted but the ECU:
- Engine Speed
- Manifold Absolute Pressure
- Throttle Area Demand
- Pedal Position Demand
- Engine Torque (No Reductions)
- Engine Torque (Final)
- Driver Demand Torque
- Brake Switch
- Engine Temperature
- Idle Target
- Idle Status
- Overrun Fuel Cut Status
- CE Light
TM16 Setup
- Set up the CAN Bus:
- Ensure the CAN Node is set to the same bitrate as the ECU (eg: 1 MBps)
- Ensure the CAN bus is correctly terminated
- Ensure proper CAN bus topology and wiring
- Assign a CAN Channel to: “Emtron Transmission Control Rx”
- Assign a second CAN Channel to: “Emtron Transmission Control Tx”
- Set the following input function sources to “CAN”:
- Engine Speed (Main)
- Throttle Position (Main)
- Pedal Position (Main)
- Manifold Absolute Pressure
ECU Setup
- Set up the CAN Bus:
- Ensure the CAN Node is set to the same bitrate as the TCM (eg: 1 MBps)
- Assign a CAN Channel to “Emtron TM16”.
- Enable Gearshift Control: Emtron TM16
- Assign the following inputs to “CAN Bus OEM”:
- Input Shaft Speed
- Output Shaft Speed
- Gear Upshift Switch
- Gear Downshift Switch
- Assign Gear Detection to “CAN Bus OEM”
- Normal Torque Model validation applies. Ensure the torque model is well sorted and frictional loss is validated.
- Set the CAN Bus Reported Torque Modifier Tables to zero unless you have a specific reason to change it.
It is critical that the ECU’s torque model is well sorted.
- In the TM16 Menu:
- Set TM16 Throttle Torque Gain to Zero
- Set TM16 Retard Torque Gain to Zero
- Set TCM WOT Torque Lockout Value to -1000 to disable
- Setup the Engine Cut Setup to suit your application
- Up Shift Setup:
- In Motorsport > Geashift Control TM16: Configure the upshift to your application.
- Down Shift Setup:
- In Motorsport > Gearshift Control TM16, configure Downshift for your application.
Most applications will use a Base Torque Target of 0 nm. This results in the engine holding itself at the rev match target until the clutch grabs it.
- Set up the Downshift Rev-Match Torque Target Margin Table:
This is the amount of torque applied at the start of the downshift to get the engine to the Rev-Match target. Engine torque is reduced to the Base Torque Target as the engine speed reaches the Rev-Match Target.
Important Notes
Upshift Switch
Upshift Switch is only transmitted when the TCM wants a torque limit during the shift. Otherwise, the Gear Request value will simply change to the next gear and the shift will progress without torque intervention. The ECU will abide by the torque limit specified by the TCM during a shit.
Downshift Switch
Downshift Switch is only transmitted when the TCM wants a Rev-Match. Otherwise, the shift will happen without intervention.
Rev Match Target
The ECU will calculate its own Rev-Match target RPM based on the Output Shaft Speed and Gear Ratio.
It is critical that the gear ratio table is correct.
Clutch Capacity Adaption
The Clutches Geometry Model and engine inertia value will control the majority of the clutch torque applied during a shift. During a shift, the closed loop PID algorithm will make adjustments to the final clutch torque to try and keep the slip curve on target. After a shift, as long as the conditions are met, the Clutch Capacity Adaption system will look at the previous shift’s closed loop output and make small adjustments to the relevant clutch’s Learned Capacity Scaler.
Clutch Learned Capacity Scaler Tables
Each Clutch has a Learned Capacity Scaler Table.
- A value of 100% means no correction is applied.
Clamping pressure remains unchanged. - A value below 100% suggests that the actual clutch capacity is less than described by the clutch geometry model.
More clamping pressure will be applied. - A value above 100% suggests that the actual clutch capacity is higher than described by the clutch geometry model.
Less clamping pressure will be applied.
These tables are stored automatically on power off.
Uploading a cal file will NOT overwrite the tables.
Important
Clutch Learned Capacity Scaler Table’s have strict axis requirements:
- X Axis: MUST be Transmission Fluid Temperature.
- Y Axis: MUST be Gear or Off.
- Z Axis: Not used.
Clutch Modelling
The TCM will use the clutch geometry model to calculate the torque capacity of each clutch. These settings are critical to correct transmission behavior.
Clutch Geometry
Clutch geometry is taken into account in two directions:
- Calculating how much pressure to apply to hold a given torque.
- Calculating how much torque a given pressure can hold.
Plate Count
The number of friction plates in the clutch assembly. Aftermarket clutch kits often have increased plate counts, make sure to enter the correct number here.
Friction Diameters
The inner and outer diameters of the friction plate(s) should be entered accurately. Ideally these should be physically measured.
Hydraulic Piston Diameters
The hydraulic piston refers to the chamber that is filled with fluid in order to apply clamping force to the clutch. In the case of a fully open chamber without a shaft running through it (cylinder as opposed to a doughnut), an inner diameter of 0.0mm is valid.
Estimated Efficiency
Estimates the inefficiencies or mechanical losses involved in converting a given hydraulic pressure to a clamping torque capacity.
Typical Value: 85.0%
Pressure Curve Linearity
Bends the clutch’s Torque to Pressure translation into a non linear curve.
Typical Value: 1.00
Capacity Correction
Enables a table that allows the user to manipulate the final calculations.
In most cases this should NOT be used.
Typical Value: OFF
Clutch Friction Coefficient
This table controls the frictional behavior of the clutch. Typically a wet clutch will have an increase in friction as it heats up with moderate slip, before falling back off as slip increases.
If you’re unsure, a generic table is provided that can be loaded in as a good starting point.
Centrifugal Pressure
Wet clutch drums spinning at speed generate centrifugal hydraulic pressure that acts on the piston independently of commanded pressure. At high drum speeds this can cause an offgoing clutch to partially engage even when you command only touch-point pressure.
On some transmissions dragging will be evident as a torque interruption or slip resistance during rev-matched downshifts. It may feel like the car is being pushed when the clutches should be fully slipping.
Select the mode used to calculate Clutch Centrifugal Pressure.
- Modelled = Clutch geometry based.
- Coefficient = Uses a coefficient that is independent of clutch geometry.
Modelled Centrifugal Pressure
When Clutch Centrifugal Pressure is in Modelled mode, the Clutch’s Centrifugal Pressure is calculated using the clutch geometry. Cancellation Efficiency represents how well the clutch resists the build up of centrifugal pressure.
- 0% = Full Modelled Centrifugal Pressure, maximum correction.
- 100% = No Modelled Centrifugal Pressure, no correction.
Centrifugal Pressure Coefficient
The coefficient compensates by subtracting from the total target pressure for the offgoing clutch.
- Start at 0 (disabled).
- Increase in steps of 20-30.
At 3000 RPM, each step of 10 removes appox. 0.09 bar of commanded pressure.
Typical Value: 0 or 100 - 200
Clutch Gear Load Factor
Not required for DCT Transmissions
Tip
This table is considered “Set & Forget”. It should be setup early on and left, rather than used as a tuning table.
Multi-clutch automatic transmissions use multiple clutches and brakes to create each gear. These elements do not share torque equally. Depending on the gear ratio and planetary gearset layout, one element may carry much more reaction torque than another. Each clutch will often have a different input torque applied to it depending on the combinations of clutches and gears also applied for a particular gear.
The Clutch Gear Load Factor table accounts for this internal torque multiplication on a per gear and per clutch basis.
This allows the TCM to estimate how much torque capacity each applied element needs in each gear.
Important
- X Axis must be “Clutch #”
- Y Axis must be “Gear”
- Z Axis is not used
The values in this table are not gear ratios or pressure multipliers. They are torque-capacity multipliers used before the torque-to-pressure calculation.
The resultant input torque for each clutch is shown by the “Clutch N Input Torque” runtime.
Important Notes:
- Load Factors can be calculated from the transmissions gear set.
- Only elements that are applied in a gear should have non-zero values. Elements that are released in that gear should be set to zero.
- Increasing a value will increase the calculated torque capacity requirement for that element in that gear, resulting in higher commanded pressure.
- Decreasing a value will reduce the calculated pressure requirement.
- If the value is too low, the clutch or brake may slip under load.
- If the value is too high, the shift or gear engagement may become harsh, inefficient, or create unnecessary clutch stress.
- It’s recommended to set each Clutch’s Learned Capacity Scaler Table Y axis of “Gear”. This allows the clutches to learn on a per-gear basis.
Clutch Pressure Control
The TCM needs to apply pressure to the clutch(s) in two main scenarios:
- In Gear (Active Clutch Pressure)
- During a shift
Other sub systems such as Takeup can takeover the clutch pressure control. They’re documented separately.
Active Clutch Pressure
The Active Clutch Pressure refers to the pressure applied to a clutch that is transmitting normal in-gear torque. The primary influencing factor on Active Clutch Pressure is Torque.
Input Shaft Torque Source
Torque based clutch pressure uses the Input Shaft Torque runtime for it’s calculations. The source of Input Shaft Torque can come from:
- Engine Torque (Supplied)
- Engine Torque (Available)
- Engine Torque (Supplied & Inertia Corrected)
Most setups would use
Engine Torque (Supplied).
Clutch Pressure Target Source
The pressure applied can be calculated in a number of ways:
- Torque Modelled
- User Defined
- Line Pressure Controlled
Tip
DCT Transmissions should almost always use Torque Modelled mode.
Target Source: Torque Modelled
---
title: Torque Modelled Clutch Pressure
---
graph LR;
Prs(Clutch Pressure) -->|Bar| PID(PID)
Tq(Input Shaft Torque) -->|Nm| TqCap{Sum: Required Torque Capacity}
Clamp(Clamping Torque Margin) -->|Nm| TqCap
TqCap -->|Nm| Geo(Clutch Model)
Geo -->|Bar| Src{<strong>Clutch Pressure Target Source</strong>}
Src -->|Bar| Sol(Solenoid Translation)
Sol -->|Amps| PID
PID --> |Amps| Curr[Solenoid Current]
Src -->|Bar| PID
It is absolutely critical that the engine torque data is accurate.
Clutch Pressure is calculated using the Clutch’s geometry model. The pressure that comes out of the clutch model is intended to be the minimum pressure required to hold a given input torque, no more. The user can (and should) apply a Clamping Torque Margin on top of the Input Shaft Torque so that the clutch is commanded to hold slightly more torque and apply a slightly higher pressure as a result.
PID Control can be enabled if a Clutch Pressure Sensor is available.
For detailed information on how to setup the clutch model, see the Clutch Model documentation.
Target Source: User Defined
---
title: User Defined Clutch Pressure
---
graph LR;
Prs(Clutch Pressure) -->|Bar| PID(PID)
Tgt(Active Clutch Pressure Target) -->|Bar| TgtFnl{Target * Correction \+ Offset}
Corr(Active Clutch Pressure Correction) -->|%| TgtFnl
Offs(Active Clutch Pressure Offset) -->|Bar| TgtFnl
TgtFnl -->|Bar| Src{<strong>Clutch Pressure Target Source</strong>}
Src -->|Bar| Sol(Solenoid Translation)
Sol -->|Amps| PID
PID --> |Amps| Curr[Solenoid Current]
Src -->|Bar| PID
In user defined mode, the Clutch Pressure Target simply comes from a Table. Optionally a Correction and Offset can be applied.
PID Control can be enabled if a Clutch Pressure Sensor is available.
Target Source: Line Pressure Controlled
---
title: Line Pressure Controlled Clutch Pressure
---
graph LR;
LnPrs(Line Pressure) -->|Bar| Src{<strong>Clutch Pressure Target Source</strong>}
PrsMax(Clutch Model: Max Pressure) --> |Bar| Sol(Solenoid Translation)
Sol --> |Amps| Curr[Solenoid Current]
This mode is a special case for transmissions that simply expose all active clutches to full line pressure when in gear. This is the case for transmissions such as the ZF 8HP.
The Pressure Target and Solenoid Current are completely decoupled in this mode:
- The clutch solenoid is held at the current that achieves the maximum pressure (as configured in the Clutch Setup) according to it’s Solenoid Translation table.
- Line Pressure is copied into the
Active Clutch Pressureand Clutch # Pressure Target runtimes simply to give them something useful to display.
PID control cannot be used.
Shift Pressures
During a shift, the clutch pressure is fully modelled. No user defined pressure mode is available. The process of controlling a shift with user defined tables would put an enormous tuning burden on the end user that would require a lot of time to configure. The user can still tune a lot about how the shift feels, they just don’t have to worry about the actual pressures involved.
Calculating the pressure during a shift is very similar to when in gear, but the input torque will depend on weather the clutch is oncoming or offgoing, and the phase of the shift.
---
title: Torque Modelled Clutch Pressure
---
graph LR;
Prs(Clutch Pressure) -->|Bar| PrsPid(Pressure PID)
Tq(Input Shaft Torque) -->|Nm| ShtTq{Clutch/Phase/Slip Torque Manipulation}
EngIn(Engine Inertia) -->|kg⋅m²| ShtTq
EngSpdDt(Engine Speed Delta) -->|RPM/s| ShtTq
GearSpd(Oncoming/Offgoing Gear Speeds) -->|RPM| ShtTq
SlpTgt(Slip Target) -->|RPM| ShtTq
Slip(Clutch Slip) -->|RPM| ShtTq
ShTime(Shift Time Targets) -->|ms| ShtTq
SlpTgt(Slip Target) -->|RPM| ShtPid
Slip(Clutch Slip) -->|RPM| ShtPid
ShtTq -->|Nm| ShtPid(Shift PID)
ShtPid -->|Nm| TqFinal(Shift Torque)
TqFinal -->|Nm| Geo(Clutch Model)
PrsRate(Clutch Pressure Rate Limits) -->|Bar/s| Src
Geo -->|Bar| Src{<strong>Clutch Pressure Target</strong>}
Src -->|Bar| Sol(Solenoid Translation)
Sol -->|Amps| PrsPid
PrsPid --> |Amps| Curr[Solenoid Current]
Src -->|Bar| PrsPid
It is absolutely critical that the engine torque data is accurate.
For detailed information on the shift phases, see the Multi-Clutch Shifting documentation.
For detailed information on how to setup the clutch model, see the Clutch Model documentation.
Clutch Touch Points
One of the most important things to setup on a new installation is the clutch touch points.
The touch point refers to the amount of pressure applied to the clutch before any meaningful torque capacity is applied.
- Below the touch point, the clutch is fully slipping.
- Above the touch point, the clutch is starting to hold torque.
The clutch’s torque capacity starts at the touch point. It’s effective pressure is it’s total pressure less it’s touch point. For example:
The user MUST find the touch point of each clutch. Failing to do so will result in poor drivability and shifting.
Touch Point Tuning
To find the touch points, the following condition must be met:
- Transmission Fluid Temperature: 60-90°C
- Gear: Neutral
- Brake: ON
- Input Shaft Speed: 500-2000 RPM
- Output Shaft Speed: 0 RPM
Automated Touch Point Learning
You can put the TCM into automated learning mode for a given clutch. For this system to work, the engine idle speed needs to be very stable. On engines where the idle speed is rough (large camshafts etc), it’s likely better to do manually.
Set the clutch to be tested and the TCM will engage all relevant surrounding clutches that would result in a driving gear using the clutch in question. It will then slowly ramp the clutch pressure up and look for a dip in Input Shaft Speed. This process will be repeated 5 times and the result of those tests will be averaged to find the final touch point.
The test will exit if the entry conditions are no longer met, Eg: The user releases the brake.
If the automated test errors out, an erroneous value may be applied to the clutch’s touch point and the test should be run again.
Manual Touch Point Learning
- Set the clutch to be tested and the TCM will engage all relevant surrounding clutches that would result in a driving gear using the clutch in question.
- Slowly increase the Touch Point Setting and watch for the moment where the clutch starts to drag on the input shaft.
- The actual touch point will be a little before this, where any more pressure results in noticeable drag.
In this example, as Clutch B reaches ~1.85 Bar, the Input Shaft Speed begins to noticeably dip as drag is applied to the input shaft. The actual touch point, before the clutch begins to drag on the input shaft, would be slightly before that at about 1.75 Bar.
Touch Point Correction
A correction scaler can be applied on either a global or per-clutch level. If you find that at varying fluid temperatures the touch points need adjustment, these corrections can address that.
Here, at 20°C a nominal Touch Point of 1.75 Bar would become 1.57 Bar.
Data Logging
The TCM has a built-in data logger that records selected channels to eMMC memory.
| Logging Specs | |
|---|---|
| Max Capacity | 8GB |
| Max Channels | 500 |
| Max Frequency | 1000 Hz |
Channels
A maximum of 500 channels can be selected for logging.
Each channel can be recorded at any of the following frequencies:
- 1 Hz
- 2 Hz
- 5 Hz
- 10 Hz
- 25 Hz
- 50 Hz
- 100 Hz
- 250 Hz
- 500 Hz
- 1000 Hz
Each frequency option can have a maximum of 255 channels assigned.
For Example: You can choose 255 channels at 100 Hz and 100 Channels at 50Hz, but you cannot choose 355 channels at 100 Hz.
Tip
To maximize memory usage, only log channels as fast as necessary.
- Slow moving signals like temperature’s only need to be 5-25 Hz
- Fast moving signals like clutch pressure benefit from being faster (100-250 Hz)
Capacity
The maximum capacity of the logging memory is a little under 8GB. Some space is reserved for config storage and other system functions. The memory capacity used by the Data Logging system can be chosen set from 128MB to 8GB. Downloading a log from a fully filled 8GB capacity will take a very long time (over an hour), so it can be useful to limit the maximum logging capacity to make it more practical.
One-Shot / Circular Mode
Data logging can be used in two distinct modes:
- One-Shot: Once full, logging stops. No new data is recorded until the memory is erased.
- Circular: Once full, the oldest data will be overwritten with new data.
Circular mode is extremely useful for set and forget logging. You can enable it and leave it running. In the event that something happens that you want to review, the most recent data will always be available.
Limiting the total capacity in circular mode makes periodic log downloads more manageable.
Example:
A typical “full coverage” logging set might have 400 channels in it. Setting the capacity to 512MB might result in about 1.5 hours of total logging time, which will only take a couple of minutes to download in the event that you want to review it.
Partial Sessions
In circular mode, when the logging capacity is reached and a logging session is still recording, writing wraps back to the start of the memory, overwriting the oldest session data. A session that gets overwritten will loose it’s channel information first, followed by it’s oldest data. If the user has not changed the logging channel selection or frequencies, the partially overwritten data can still be decoded as it’s channel layout will match the newer sessions. If the user changes the channel or frequency layout, the entire old session will be lost.
Arming / Disarming
The logger can be armed in a number of ways:
| Condition | Description |
|---|---|
| Logging Enable Switch | When ON, the logger will run as long as Engine Speed Min is exceeded. |
| Arming User Function | The logger will run when the selected User Function is ON and Engine Speed Min is exceeded. |
Info
If Engine Speed Min is greater than zero, it will lockout the logger until it’s exceeded.
If the Logging Enable Switch is OFF AND Arming User Function is OFF, the logger will enable when Engine Speed Min is exceeded. This is the absolute minimum required arming condition.
Arming / Disarming Delays
- Arming Delay: Delays arming until the arming conditions have been true for the delay time (0-25 seconds).
- Disarming Delay: Delays disarming until the arming conditions have false for the delay time (0-25 seconds).
Log Markers
When configured, the Log Marker Switch input can be used to mark moments in time in the logged data.
On the rising edge of the switch, the next single batch of log data will be marked. This mark will show up in the plotted data as a dotted blue line.
Power Loss Behavior
The logging system commits data from RAM to permanent memory approximately once per second. The TCM should be wired to be in control of it’s own power supply. This allows it to shutdown the data logging system and ensure that any pending data sitting in RAM is committed before powering itself down.
In the event of an unexpected power loss, any data still in RAM will be lost. This is typically ~1 second worth of data.
Drive Modes
Drive Modes refer to the main transmission states such as Park, Reverse, Neutral, and Drive (Auto, Sport, Manual). Selection of the desired drive mode can be achieved a variety of ways including:
- CAN bus shifter (preset or custom)
- Analog shifter position
- Digital shifter position matrix
- Switches or buttons
- Up Shift & Down Shift switches
- Combinations of the above
Drive Mode Input Priorities
Drive mode input sources have fixed priorities. This allows them to be used in conjunction with one-another with predictable results. Inputs with higher priority will override inputs with lower priority.
| Priority | Input Source |
|---|---|
| 1 (Highest) | Park Request Switch |
| 2 | Neutral Request Switch |
| 3 | Shifter Position (Park / Reverse / Neutral) |
| 4 | Reverse Request Switch |
| 5 | Manual Switch |
| 6 | Sport Switch |
| 7 | Drive Switch |
| 8 | Shifter Position (Drive / Sport / Manual) |
| 9 | Up Shift Switch |
| 10 (Lowest) | Down Shift Switch |
Example: If the shifter is in the Neutral position, but the Park Request Switch is enabled and in the active (ON) state, the transmission will remain in Park until the Park Request Switch becomes inactive (OFF) because the Park Switch has higher priority than the Shifter Position input.
Engine Torque
Important
Accurate engine torque modelling is critical for transmission performance.
Engine Inertia
Engine inertia is used to calculate the clutch torque required to sync the engine speed during a shift. It also informs the rev-match torque calculation.
| Engine / configuration | Typical Inertia (kg·m²) |
|---|---|
| Small 4-cyl light flywheel | 0.12 – 0.20 |
| Typical 4-cyl production | 0.18 – 0.28 |
| Performance 6-cyl (light flywheel) | 0.20 – 0.32 |
| Heavier 6-cyl / street flywheel | 0.28 – 0.40 |
| Big heavy flywheel / truck | 0.40 – 0.70+ |
Launch Control
Warning
Launch Control is a motorsport orientated function can lead to transmission and/or other driveline component damage if not used correctly.
Overview
Launch Control can be configured in a variety of way depending on the desired control outcome.
Launch control can be configured to:
- Control clutch torque and clutch torque rate.
- Generate an Engine Speed Target to be sent to the engine.
- Generate a torque limit to to be sent to the engine.
There are 5 main states/phases the Launch system can be in:
| State | Meaning |
|---|---|
| Disarmed | Off, or arming conditions not currently met. |
| Armed | Arming conditions met, waiting for launch lockouts to clear. |
| Static | Car stationary, launch active. Clutch is typically held open/slipping to a torque target. |
| Preload | (Optional) Clutch is pre-loaded to a torque target for a fixed dwell time before the final dump. |
| Moving | Clutch torque is actively controlled through the launch. Ends when a disarm condition is met. |
Clutch Control
The primary function of Launch Control is to override the clutch pressure by generating a clutch torque request.
Clutch Control is enabled in Launch Control Setup.
Launch Control never engages a clutch that isn’t already part of the currently selected gear. It can only override the pressure target of a clutch the TCM has already activated for that gear. It cannot bring in an extra clutch on its own.
Launch Control Clutch Select
Care should be taken to ensure the Launch Control Clutch Select table is set up correctly. In most case the table will be identical to the Takeup Clutch Select table.
Important
The Clutch Select table’s X axis MUST be Clutch #.
The table is re-evaluated each time the system re-arms into the Static phase. This allows the table’s Y axis to be another channel such as Gear.
When Clutch Control is disabled, Launch Control does not touch clutch pressure at all — only the engine RPM target / torque limit outputs (if enabled) are active.
Arming & Disarming
Arming
The system arms when every configured arming condition is simultaneously true. Each condition is independently optional (Eg: 0 = OFF). Enable only the conditions relevant to your application.
At least one condition must be configured, or the system will report “Disarmed - No Config” and never arm.
| Condition | Enable via | Threshold |
|---|---|---|
| Launch Switch | Launch Arming Switch = ON | Launch Arming Switch = ON |
| Brake Switch | Brake Switch Arming = ON | Brake Switch 1 = ON |
| Brake Pressure | Arming Brake Pressure Minimum > 0 | Brake Pressure Front > Threshold |
| Transbrake Switch | Transbrake Switch Arming = ON | Transbrake Switch= ON |
| User Function | Arming User Function ≠ Off | User Function # Status = ON |
Static → Moving
Releasing any configured arming condition while in Static or Preload is what triggers the transition into Preload/Moving.
Lockouts (Armed → Static)
Once armed, the system waits for all configured lockouts to clear before entering the Static phase.
At least one lockout must be configured, or the system will report “Lockout - No config” and will not enter Static.
| Lockout | Enable via | Condition to clear |
|---|---|---|
| Gear | Always active | Gear ≥ 1st |
| Clutch By Wire | Always active | CBW must not be active |
| Pedal/throttle position | Static Lockout Pedal/Throttle Position > 0 | Pedal Position* ≥ Threshold |
| Output Shaft Speed | Static Lockout Output Shaft Speed > 0 | Output Shaft Speed < Threshold |
| Drive Speed | Static Lockout Drive Speed > 0 | Drive Speed < Threshold |
| Engine speed | Static Lockout Engine Speed > 0 | Engine Speed > Threshold |
| User Function | Static Lockout User Function ≠ Off | User Function # Status = ON |
* If
Pedal Positioninput is not configured,Throttle Positionis used.
Disarming (Static / Preload / Moving → Disarmed)
While active, the system aborts back to Disarmed immediately if:
- The TCM begins a shift.
- The gear selector leaves Drive/Manual (enters Park/Neutral/Reverse)
- Any one of the following (each optional) stays true for longer than the
Disarming Time(ms):
| Disarm condition | Enable via | Trips when |
|---|---|---|
| Pedal/Throttle Position | Disarming Pedal/Throttle Position > 0 | Pedal Position* < Threshold |
| Output Shaft Speed | Disarming Output Shaft Speed > 0 | Output Shaft Speed > Threshold |
| Drive Speed | Disarming Drive Speed > 0 | Drive Speed > Threshold |
| Engine Speed | Disarming Engine Speed > 0 | Engine Speed < Threshold |
| Clutch Slip | Disarming Clutch Slip > -1000 | Clutch Slip < Threshold (clutch locked) |
* If
Pedal Positioninput is not configured,Throttle Positionis used.
If no disarming condition is configured, the system disarms immediately (nothing is holding it active).
Active Launch Phases
Static
In the Static phase the car is stationary with the engine is held at the desired launch RPM (this is to be controlled by the engine ECU). The TCM can generate a torque limit and/or Engine Speed Target to be issued to the engine via CAN.
Static Clutch Torque: Typically the clutch is either fully open or a small amount of torque is applied for the engine to load up against.
Caution
Applying clutch torque during static phase will lead to very high clutch temperatures and should be treated with caution.
Preload (optional)
Enabled when Preload Stage = ON in Launch Control Setup.
Preload is a dwell phase between Static and Moving where the clutch can be held at a preload torque target for a calibrated time, before the final dump.
It can be triggered in three ways:
| Trigger | Enable via | Behaviour |
|---|---|---|
| Auto | Preload Stage = ON, Preload User Enable = OFF, Preload Switch = OFF | Entered automatically the instant the arming condition is released. |
| Preload Switch | Preload Switch = ON | Entered as soon as Launch Preload Switch = ON. Can be requested before the arming condition is released, to preload ahead of the Moving phase. |
| Preload User Enable | Preload User Enable ≠ OFF | Entered as soon as User Function # Status = ON. Can be requested before the arming condition is released, to preload ahead of the Moving phase. |
Preload → Moving
- Preload will exit to Moving when
Launch Control Preload Timetable value expires, orMax Preload Timeexpires. - If Preload was entered manually (User Function or Preload Switch) rather than automatically, releasing the arming condition while still in Preload will cut it short and transition immediately to Moving.
Preload Clutch Torque: Typically, a small amount of torque is applied for the engine to load up against. The clutch torque rate is relatively slow so the engine doesn’t suddenly get dragged down.
Example:
- The driver arms launch with the
Launch Switchand enters Static. - A generous but not excessive time is entered into the Preload Time table (and Max Preload Time).
- Moments before launching the
Preload Switchis pressed and the system enters Preload. - Clutch pressure is ramped up & engine torque increases.
- Before the
Launch Preload Timeexpires, theLaunch Switchis released at the exact moment the driver wishes to launch. - The system then enters the Moving phase and ramps the clutch up to full lock torque.
In this scenario, the clutch can be loaded before launching, clutch temperature is minimised, and the driver is still in full control of the moment of launch.
Moving
During the moving phase, clutch torque is ramped up to full lock torque at a controlled rate.
Moving Clutch Torque: The final clutch torque should result in the clutch being fully locked. In a properly modelled system, the clutch will lock when it’s applied torque meets or exceeds the Input Shaft Torque. In a multi-clutch transmission with gear clutch load factors other than 1.0, this may vary and should be considered.
Moving Clutch Torque Rate: Clutch torque should be ramped in fast enough to minimise slip and engine flaring, while not dragging the engine speed down.
Tip
Most of the fine tuning time will be spent dialing in a suitable Moving Clutch Torque Rate.
Per-Phase Calibration Tables
Each of Static / Preload / Moving phases has its own set of tables. Torque Limits are enabled per-phase.
| Output | Enable via (per phase) | Table(s) |
|---|---|---|
| Engine Speed Target | Engine Speed Target Tables = ON (applies to all 3 phases) | Static/Preload/Moving Engine Speed Target |
| Engine Torque Limit | Static/Preload/Moving Torque Limit = ON | Static/Preload/Moving Torque Limit |
| Clutch Torque | Clutch Control = ON (applies to all 3 phases) | Static/Preload/Moving Clutch Torque |
| Clutch Torque Rate | Clutch Control = ON (applies to all 3 phases) | Static/Preload/Moving Clutch Torque Rate |
Runtime Channels
The following runtime channels are generated by the Launch control system:
- Launch Control Status
- Launch Control Engine Speed Target
- Launch Control Torque Limit
- Launch Control Clutch Torque
- Launch Control Static Time
- Launch Control Preload Time
- Launch Control Moving Time
Interaction with Other Systems
Caution
Care should be taken to ensure other system lockouts are configured, in particular: Takeup.
- Transbrake: Transbrake clutches are unconditionally part of the active clutch set while held; Launch Control can overlay pressure on them like any other active clutch but never adds to the set itself.
- Takeup: If Takeup’s own
Launch Control Lockoutoption is set, Takeup control locks itself out whenever Launch Control is active (Static/Preload/Moving), so the two won’t fight over clutch pressure. - Clutch-By-Wire (CBW): An active CBW request blocks Launch Control from ever reaching Static (see lockout table above).
Multi-Clutch Shifting
Shifting on multi-clutch transmissions happens over 4 phase:
- Fill
- Torque Transfer
- Inertial Sync
- Lock
A simplified representation of the clutch pressures during the 4 shift phases.
The TCM will calculate all required clutch pressures based on supplied and available engine torque. As long as the clutch geometry is configured reasonably and the torque data from the engine is accurate, there’s very little tuning required.
It is absolutely critical that the engine torque data is accurate.
For detailed information on how the TCM converts torque to clutch pressure, see this section on Shift Pressures.
For detailed information on how to setup the clutch model, see the Clutch Model documentation.
Line Pressure
Caution
DO NOT try to tune the shifting on a multi-clutch transmission by manipulating the Line Pressure.
Line Pressure should be sufficient to supply all the pressure the clutches need during a shift, but the clutches should control their own pressures.
Clutch pressure can be considered a minimum value for the Line Pressure Target.
Some transmissions will require the Line Pressure to be set very high for the duration of a shift, giving maximum flow control to the clutch solenoids.
Depending on the transmission in question, setting the Line Pressure to “Downstream Pressure Offset” mode can simplify this process.
Fill Phase
Any clutch that is disengaged will have it’s pressure fully bled off. The job of the fill phase is simply to ensure that the oncoming clutch pressure chamber is filled with fluid so that it can operate as fast as possible once the shift actually starts.
Generally, the clutch pressure at the end of the Fill phase will be the clutch’s touch point pressure. The Fill phase is not intended to apply any meaningful clutch pressure.
Unlike the rest of the shift phases, the fill phase doesn’t use torque, it is purely pressure based.
The Fill phase is broken into 3 sub phases:
- Pre-Fill
- Fast Fill
- Stable Fill
The amount of time spent in each phase is limited by the Total Fill Time table and the phase order.
Example:
- Pre-fill = 20ms
- Fast fill = 40ms
- Total fill time = 100ms
Stable fill = 100 - (20 + 40) = 40ms
Setting a fill phase time to zero will result in that phase being skipped. It’s perfectly valid in many cases to skip the Pre-fill or the Fast Fill phase. It’s also common for high torque, high speed shifts to consist of only the Fast-Fill phase. In this case, the Pre-fill Time would be 0 and the Fast Fill Time would take up the entire Total Fill Time.
Regardless of the Pre-fill and Fast Fill times, the Fill phase will always exit once the Total Fill Time has elapsed.
Pre-Fill
The Pre-fill phase simply opens the clutch pressure solenoid at the very start of the shift. The specified pressure is absolute and disregards the touch point.
Pre-fill pressure does not usually exceed the touch point pressure.
Typical Pressure: 0.5 - 1.5 Bar Typical Time: 0-100ms
Setting the
Pre-Fill Timeto 0 will skip the Pre-fill phase.
Fast Fill
During Fast Fill, the clutch pressure solenoid is driven very high for a short period. The intention is to allow a fast in-rush of fluid to fill the clutch chamber as fast as possible.
Caution
A correctly configured combination of Fast Fill Pressure and Fast Fill Time should result in the actual pressure ramping up very quickly to, but never in excess of the touch point.
Typical Pressure: 3.0 - 5.0 Bar Typical Time: 20-50ms
Stable Fill
After the Pre-fill and Fast Fill phases are complete, any remaining Fill Time will be spent in the Stable Fill phase.
The pressure specified during Stable Fill is an offset of the clutch’s touch point pressure.
Example:
- Touch Point = 1.3 Bar.
- Stable Fill Pressure Offset = -0.1 Bar.
Stable Fill Pressure = 1.3 + -0.1 = 1.2 Bar.
Typical Pressure Offset: 0.0 Bar (Settle on the Touch Point)
Torque Transfer Phase
The Torque transfer phase begins the process of transferring supplied engine torque over to the oncoming clutch. In most cases, the oncoming clutch will still be fully slipping by the end of the phase, but it will be holding most of if not all the torque.
Up Shift & Overrun Down Shift
Torque is transferred to the oncoming clutch while the offgoing clutch is mostly released. By the end of the phase, the oncoming clutch will be carrying all the torque, but it will still be fully slipping at the offgoing gear speed. It’s the Inertial Sync phase’s job to reduce the slip to zero.
Note the engine speed is still matching Clutch A (offgoing) at the end of the transfer phase.
Driven Down Shift
During a driven down shift, the offgoing clutch’s torque capacity is reduced to deliberately introduce a controlled amount of slip that will bring the Input Shaft Speed up to the ongoing gear speed. As the clutch slip approaches zero, the oncoming clutch is ramped in to catch the input load, while the offgoing clutch is tapered out.
By the end of the Transfer phase the oncoming clutch slip should be near zero.
Driven Down Shift with ideal speed synchronization.
Down Shift Rev Match
During a rev match, both the offgoing and oncoming clutch are reduced to zero torque capacity. They will both settle on their touch points, allowing the engine to freely rev.
As the oncoming slip approaches zero, the oncoming clutch is ramped in to catch the input torque load.
Fast Fill During Transfer
When enabled, the Fast fill (and stable fill) phases are merged into the Torque Transfer phase. Both the transfer pressure and the fast/stable fill pressure are calculated at once. The highest of two is applied to the clutch.
This results in shorter shift times and faster pressure rates as the transfer pressure will simply take over as soon as it exceeds the fill pressure.
During fast shifts, the drop back to stable fill pressure can be effectively skipped.
Pre-fill always happens first if it’s time is non-zero.
Inertial Sync Phase
During this phase, clutch slip is reduced to near zero and the Input Shaft Speed is synced to the oncoming gear speed. Additional torque capacity is applied to the oncoming clutch to achieve this.
The engine’s inertia and torque is considered when calculating how much torque to apply to control the slip.
At high input torque, prolonged sync times will result in increased clutch heat and wear.
The main “Gear” runtime will change to the next gear at the start of the Inertial Sync phase.
The Engine Speed is now matching Clutch B (oncoming) at the end of the Inertial Sync phase.
Torque Reductions
Any torque reduction that is enabled by the user is applied now to aid in syncing the Input Shaft Speed. Using torque reductions mean less clutch capacity is needed to achieve synchronization.
Up shift torque limit gets applied at the start of the Inertial Sync phase and is removed as slip approaches zero.
Tip
If the engine continues to limit torque after the clutch is synced and locked, the shift will feel harsh.
There are 3 tables that control the up shift torque limit:
- Up Shift Torque Limit Enable: determines if a torque limit is allowed or not.
- Up Shift Torque Limit: Absolute explicit torque limit value.
- Up Shift Torque Reduction: Torque reduction as a percentage of Engine Torque (Available).
The lowest torque limit output from the tables will be used.
For Example:
Because 480 Nm is less than the 500 Nm absolute limit, 480 Nm will be used.
Lock Phase
The Lock phase is used to eliminate any remaining clutch slip. A user definable amount of additional torque capacity is applied to the clutch during the lock phase.
Shift Tuning
The torque modelled approach to shifting dramatically reduces the tuning complexity of gear shifts for the end user, provided the input torque is accurate and the Clutch Configuration is accurate.
The goal when tuning a shift is simply to achieve the slip target throughout the shift. If the slip is on target then the only thing left to do is dial in the feel by manipulating the shift target times.
The runtimes to watch are Oncoming Clutch Slip Target and Oncoming Clutch Slip. Ideally they should lay over each other.
If a shift feels harsh, check the slip curve. If the slip is on target, extend the shift times before looking for a way to alter the clutch pressure or clutch torque capacity.
Tuning Considerations:
- The Clutches Geometry Model has the most influence over clutch torque calculations during a shift.
- The amount of torque to added to sync engine speed during the Inertial Sync Phase is determined by the Engine’s Inertia setting. Incorrect engine inertia will result in poor synchronization.
Ideal clutch slip curve during an upshift.
Shift Runtimes
When looking to see what’s happening during a shift there are several important runtime channels to watch:
- Shift Phase: Shows which phase the shift is currently in.
- Clutch Input Torque: This is the torque that all the clutch pressure calculations use as their input reference. Most of the time this is the same as
Engine Torque (Supplied). - Clutch # Input Torque: Each clutch may have a different input torque depending on it’s current Gear Load Factor Table value.
Clutch # Input Torque = Clutch Input Torque x Clutch # Gear Load Factor - Oncoming Clutch Torque Split: During a shift, this is the calculated torque that the oncoming clutch is required to hold. The value seen here is before any closed loop intervention. It’s the raw output of the shift modelling and inertia factors.
- Offgoing Clutch Torque Split: During a shift, this is the calculated torque that the offgoing clutch is required to hold. The value seen here is before any closed loop intervention. It’s the raw output of the shift modelling and inertia factors.
- Oncoming Clutch Slip Target: How much slip the oncoming clutch should have for an ideal shift, to meet the user’s shift time targets.
- Oncoming Clutch Slip: The actual slip of the oncoming clutch. During ideal shift conditions, this will usually lay over the top of the target value. It’s very possible and expected that under some conditions this will not be the case, for example: During a rev-matched downshift where the synchronization of the engine speed is not controlled by the TCM.
- Shift P Gain: Shift closed loop control proportional output.
- Shift I Gain: Shift closed loop control integral output.
- Shift D Gain: Shift closed loop control derivative output.
- Clutch # Torque Capacity: The actual calculated torque capacity of the clutch derived from it’s currently applied pressure. This value is after all closed loop control and rate limiting has been applied.
Touch Points
Important
It is critical that the Clutch Touch Points are setup at the outset. Poorly configured touch points will always lead to bad shifting and drivability.
For detailed information on setting touch points see here.
Clutch Capacity Learning
The Clutches Geometry Model and engine inertia value will control the majority of the clutch torque applied during a shift. During a shift, the closed loop PID algorithm will make adjustments to the final clutch torque to try and keep the slip curve on target. After a shift, as long as the conditions are met, the Clutch Capacity Adaption system will look at the previous shift’s closed loop output and make small adjustments to the relevant clutch’s Learned Capacity Scaler.
Shift Fork Control
This guide covers setup and calibration of the hydraulically actuated Shift Forks used to control gear selection in Dual Clutch Transmissions (DCT).
Concepts
Axes
A DCT has two input shafts (“axes”), each carrying its own clutch. While one axis is transmitting drive, the other is free to pre-select the next gear so that the shift itself is just a clutch hand-off, with no torque interruption. Every gear (including Reverse) belongs to one of these two axes:
| Clutch | Axis | Typical Gears |
|---|---|---|
| A | A | Even gears |
| B | B | Odd gears |
The active axis is whichever axis currently has a gear engaged and is transmitting drive.
The inactive axis is free to move its fork(s) to pre-select the next gear.
Clutch Axes
The TCM will always assume that the clutch and axis are a matched pair:
- Clutch A is on Axis A
- Clutch B is on Axis B
Shift Forks
A shift fork is a physical selector that can sit in one of three positions (“slots”):
| Slot | Meaning |
|---|---|
| Low | Engages the fork’s “Low” gear |
| Centre | Neutral (no gear engaged on that fork) |
| High | Engages the fork’s “High” gear |
Each fork belongs to one axis (or, for a shared Reverse fork, both axes) and is responsible for up to two gears, one on its Low side and one on its High side.
Up to 8 forks and 8 shift solenoids are supported.
While driving:
- The active axis must already have its current gear’s fork engaged (all other forks on that axis in Neutral).
- The inactive axis may have, at most, the pre-selected next gear’s fork engaged (all others in Neutral).
Only one fork is ever moved at a time. A fork on the active axis is never moved unless it’s explicitly required (e.g. a shift out of Neutral/Park), and a fork that needs to return to Neutral is always preferred over one that’s about to engage a new gear, so the way is cleared before a new gear goes in.
Fork Position Sensing
Each fork has a position sensor that is scaled and calibrated to report the fork’s measured position in millimeters. Some forks also have a secondary tracking sensor used purely for cross-checking / diagnostics.
Fork Position 1-8 inputs are configured in Input Setup.
The fork’s calibrated Low / Centre / High positions and tolerance bands are what translate this raw position into a slot (Low / Centre / High / Moving).
Fork Management
At all times the shift fork system is actively performing the following tasks:
- Each fork’s target is set:
- Active-axis forks target the current gear.
- Inactive-axis forks target the pre-selected gear.
- Everything else targets Neutral.
- Each fork’s own position/slot state is updated.
- Axis “binding” is detected if more than one fork on an axis reports being in gear at once.
- An axis fault is raised if any fork on that axis is in a position error state.
Fork Movement
- If a fork is currently moving, its movement is monitored until complete.
- Otherwise, the next fork that needs to move is found (inactive axis first, unless an active-axis move is explicitly allowed) and its movement begins.
- The physical shift solenoids are driven to move the current fork, or to hold the idle/default solenoid pattern when nothing is moving.
- If Axis Pressure Control solenoids are in use, their pressure is modulated to control fork movement speed.
Shift Procedure
- The currently engaged gear and its axis are marked as active.
- The Preselection system predicts the next shift direction (up or down) and selects the next gear on the inactive axis.
- On a shift request, the next gear’s fork is determined and pre-selected (if it’s not already) on the inactive axis.
- Once the pre-selected gear’s axis is ready (fork in target slot, no axis error), the clutch hand-off for the shift can proceed.
- After the shift completes, the new gear’s axis is marked as active, the offgoing axis is marked inactive.
- The Preselection system resumes prediction of the next shift on the newly inactive axis.
Configuration & Calibration
Shift Fork Setup (Global)
These apply to whichever fork is currently moving, regardless of which fork it is.
| Setting | Description |
|---|---|
| Shift Fork Stable Velocity (+/-) | Fork velocity threshold (± mm/s). Once a fork is inside its target slot’s tolerance band and below this velocity, its “stable” timer starts. Set to 0 to disable the velocity check (stability then depends only on being in-slot) |
| Shift Fork Stable Time | Time (ms) the fork must remain in-slot and stable before the move is considered complete |
Shift Fork Setup (Per-Fork)
Each fork (numbered 1–8) is independent and must be configured individually. Below, “#” stands for the fork number, eg: “Shift Fork 3 Axis”.
| Setting | Description |
|---|---|
| Shift Fork # Axis | Parent axis: Disabled / Axis A / Axis B / Both (shared, e.g. Reverse) |
| Shift Fork # Label | Free-text label for the fork (shown in the tuning software UI) |
| Shift Fork # Position L Gear | Gear engaged when the fork is in its Low slot. OFF = slot unused. |
| Shift Fork # Position H Gear | Gear engaged when the fork is in its High slot. OFF = slot unused. |
| Shift Fork # Position L | Target fork position for the Low slot (mm) |
| Shift Fork # Centre | Target fork position for the Centre (Neutral) slot (mm) |
| Shift Fork # Position H | Target fork position for the High slot (mm) |
| Shift Fork # Position L Tolerance (+/-) | Position tolerance (± band) around the Low slot (mm) |
| Shift Fork # Centre Tolerance (+/-) | Position tolerance (± band) around the Centre slot (mm) |
| Shift Fork # Position H Tolerance (+/-) | Position tolerance (± band) around the High slot (mm) |
| Shift Fork # Error Detection | Enables position error detection; bit 1 auto-clears the error once the fork returns to its target slot |
| Shift Fork # Error Auto Clear | Auto-clears the error once the fork returns to its target slot |
| Shift Fork # Error Delay | Time the fork may be out of its target slot before a position fault is raised (0–25.0 s) |
| Shift Fork # Test | Bench/service test override: Off / Force Low, / Force Centre, / Force High. Only takes effect while the requested gear is Neutral or Park |
Notes:
- The Low and High slot positions do not need to be numerically low/high — the firmware automatically detects whether the fork’s travel is inverted (i.e. the Low position is a larger number than Centre) and corrects the shift-direction logic accordingly.
- Whichever gear ends up on the Low slot vs. High slot is purely a function of fork travel direction — set the Low/High gear assignments to match the physical gear each end of travel actually engages.
- A fork does not need both slots populated — a single-sided fork (e.g. Reverse-only) should leave the unused Low/High gear assignment at
0.
Shift Solenoid Selection
Which solenoids are energised to move a fork in a direction is controlled by the solenoid select tables.
| Table | Description |
|---|---|
| Shift Fork # Positive Solenoid Select | Selects which shift solenoid(s) (1–8) are energised to move the fork in the positive position direction (+ mm) |
| Shift Fork # Negative Solenoid Select | Selects which shift solenoid(s) (1–8) are energised to to move the fork in the negative position direction (- mm) |
| Shift Fork Idle Solenoid Select | Shift solenoid(s) held on when no fork is currently moving (idle hold pattern) |
| Default Shift Solenoid Select | Shift solenoid(s) always added to the active pattern in addition to the moving/idle pattern, when the default overlay is enabled |
| Default Shift Solenoid Enable | Enables/disables the default solenoid overlay above (non-zero = enabled) |
Important
The solenoid select table’s X-axes must be Shift Solenoid #. Multiple solenoids can be selected at once.
Per-Fork Position Sensor Calibration
Shift Fork n Position is reported in mm.
Each fork has a position sensor that can be calibrated in Input Config > Transmission Inputs > Shift Fork Positions.
It is critical that these position sensor inputs are assigned and calibrated correctly.
Fork Movement Pressure Control
While a fork is moving, its physical movement can optionally be driven by a
closed-loop position PID acting on hydraulic pressure (rather than a fixed pressure). The need for pressure control will depend on the transmission design.
When enabled, the Axis Pressure solenoids are controlled to achieve the desired pressure.
| Setting / Table | Description |
|---|---|
| Axis Pressure Override | Enables the axis pressure override: while set, the axis pressure of whichever axis is physically moving is driven by the fork-movement PID instead of the normal active/inactive axis pressure targets |
| Fork Movement Pressure Base | Base (feed-forward) pressure added ahead of the PID output (Bar) |
| Fork Movement Pressure Proportional Gain | PID proportional gain for fork movement pressure control |
| Fork Movement Pressure Integral Gain | PID integral gain for fork movement pressure control |
| Fork Movement Pressure Derivative Gain | PID derivative gain for fork movement pressure control |
| Axis Pressure Override Integral Min / Max | PID integral clamp (Bar) |
| Axis Pressure Override Min / Max | Output pressure clamp (final PID output is constrained to this range) (Bar) |
Torque Limiting During Fork Movement
Active Axis Fork Movement Torque Limit can be applied applied while a fork on the currently active axis is moving (e.g. Shifts out of Neutral/Park, where the axis being engaged is also the “active” axis).
Errors & Diagnostics
Per-Fork Position Error
If a fork’s error-detection is enabled, a fork that fails to reach its target slot within its Error Delay (or whose position sensor reports a fault) raises a Fork # Movement fault and enters an internal error state.
From the error state, the firmware automatically retries the move (up to 3 attempts, 1 second apart). If the Config auto-clear bit is enabled, the error clears automatically once the fork successfully reaches its target slot again (and the position sensor is healthy) — this is normally only allowed to happen when the fork’s target is Centre (Neutral), so a fork always has to prove it can get back to a safe state before being trusted again.
Using the tuning software’s “Clear All Codes” action also resets every fork’s retry count, in addition to clearing the fault codes themselves — so a fork that had exhausted its retries gets a fresh set of attempts on its next movement, rather than immediately re-latching into a fault.
Axis errors
Each axis is also monitored as a whole:
| Fault | Cause |
|---|---|
| Axis A Bound / Axis B Bound | More than one fork on that axis reports being in gear simultaneously — i.e. the axis is mechanically bound between two gears |
| Axis A Fault / Axis B Fault | At least one fork on that axis is in a position error state |
While an axis is in fault, no fork on that axis will be moved until the fault clears.
Related channels for diagnosis
See Runtime Channels for the full list. Each fork’s Status and Position Error, and the Moving Shift Fork channel, are usually the first things worth logging when diagnosing a shift fork issue.
Runtime Channels
Per-Fork Channels (# = fork number, 1–8):
| Channel | Description |
|---|---|
| Shift Fork # Position | Measured fork position, mm |
| Shift Fork # Position Target | Target fork position, mm |
| Shift Fork # Position Error | Position error (target − measured), mm |
| Shift Fork # Velocity | Measured fork velocity, mm/s |
| Shift Fork # Status | see Shift Fork Status enumeration |
| Shift Fork # Tracking | Secondary/tracking position sensor reading (diagnostic only) |
System-Wide Channels:
| Channel | Description |
|---|---|
| Selected Gear A | Gear currently engaged on Axis A |
| Selected Gear B | Gear currently engaged on Axis B |
| Active Gear Shift Fork | Fork responsible for the currently active (engaged) gear |
| Preselected Gear Shift Fork | Fork responsible for the pre-selected next gear |
| Moving Shift Fork | Fork currently moving |
| Active Shift Fork Position | Position of whichever fork is currently moving |
| Active Shift Fork Position Target | Target position of whichever fork is currently moving |
| Active Shift Fork Position Error | Position error of whichever fork is currently moving |
| Active Axis Pressure Target | Active axis clutch pressure target, Bar |
| Inactive Axis Pressure Target | Inactive axis clutch pressure target, Bar |
| Active Axis Fork Movement Torque Limit | Torque limit currently applied due to active-axis fork movement |
| Shift Fork Movement Pressure | Fork movement pressure demand output (PID + base), Bar |
| Shift Fork Movement Pressure Base | Fork movement pressure base/feed-forward term |
| Shift Fork Movement Pressure P Gain | Fork movement pressure PID proportional term |
| Shift Fork Movement Pressure I Gain | Fork movement pressure PID integral term |
| Shift Fork Movement Pressure D Gain | Fork movement pressure PID derivative term |
Calibration Procedure
Enable each fork — set the Axis setting for every physical fork fitted (Axis A, B, or Both for a shared Reverse fork). Leave unused fork slots OFF.
Wire up and calibrate position sensors first, via the standard analog input mapping/translation tools, so that each fork’s Position channel reads a correctly-scaled value (mm) across the whole range of travel.
Set tolerance bands (Low/Centre/High Tolerance) tight enough to confirm the dog teeth/synchro are actually engaged, but loose enough to tolerate normal sensor noise and mechanical play.
Assign gears to each slot via Position L Gear / Position H Gear. You may have to put some educated guesses into the positions initially.
Assign shift solenoids per fork (Up/Down Shift Solenoid Select) and confirm direction — command a move with Test mode and verify the fork moves the correct way and its Status reports moving in the expected direction, then settles into the correct slot.
Set idle/default solenoid patterns (Idle Solenoid Select, Default Select / Enable) as required by the actuator hardware.
Find and record the three slot positions for each fork with the vehicle safely supported and the driveline free to move by hand, or using the fork’s Test setting to command it to each slot in turn (only works while the requested gear is Neutral or Park):
- Force to Low, record the settled Position reading into Position L.
- Force to Centre, record Centre position.
- Force to High, record Position H.
- Set Test back to Off when done.
Tune move-complete detection — Stable Velocity and Stable Time — so a fork isn’t reported as “done” while still settling, but without adding unnecessary delay to every shift.
Tune fork movement pressure (if using closed-loop pressure control): set the Movement Pressure Base and PID gains, and the Pressure Override Min/Max and Integral Min/Max clamps, then enable Shift Actuation Config bit 0 if pressure-based fork actuation is desired instead of fixed axis pressure targets.
Set error detection last, once movement is proven reliable. Set each fork’s Error detect / Auto-Clear and Error Delay, generous enough to allow for normal shift timing but tight enough to catch a stuck fork.
Verify full shift sequences in all gears, both directions, watching the Active Gear Shift Fork, Preselected Gear Shift Fork and Moving Shift Fork channels. Watch each fork’s Status & Position, for consistent, movement and engagement. Confirm no Axis Bound/Axis Fault faults occur across the full gear range.
Takeup
Takeup manages the smooth application (and release) of clutch torque from a standing start. The equivalent of a driver gently feeding out a manual clutch pedal, done automatically. It’s a critical function for dual-clutch transmissions, and an optional feature on multi-clutch transmissions that are also equipped with a torque converter.
Takeup doesn’t select gears or bring in extra clutches on its own — it only takes over the pressure of whichever clutch is already engaged for the current gear, for as long as the car is moving off from (or slowing to) a stop.
Enabling and Selecting the Clutch
Set Enable to turn Takeup on. Once enabled, the Takeup Clutch Select table determines which clutch Takeup is allowed to take control of, per gear. This only has effect for a clutch that’s already part of the active clutch set for the current gear; it cannot bring in a clutch on its own. Configure one clutch per gear for a standard standing-start setup.
Takeup Clutch Select Table
- X Axis: MUST be
Clutch #. - Y Axis: MUST be
Gear.
Select a clutch for each gear, even if it’s not intended for normal operation.
If a clutch is not selected for the current gear, the Takeup system will not arm in that gear. In the event of a failure where the transmission is forced to stay in a unintended gear, this may result in the car being undriveable.
Speed Target Mode
Speed Target Mode sets what the closed-loop slip controller is trying to synchronize to.
| Mode | Behaviour |
|---|---|
| Off | Takeup Target Mode is 0 — Takeup is disabled regardless of the Enable setting. |
| Engine Speed | The Takeup Engine Speed Target table gives a target Engine Speed. The controller works out the clutch slip and synchronous Output Shaft Speed needed to bring the engine to that RPM in the current gear. |
| Input Shaft Speed | The Takeup Input Shaft Speed Target table gives a target Input Shaft Speed directly, again converted to a slip target and synchronous Output Shaft Speed for the current gear. |
| Clutch Slip | The Takeup Slip Target table is used directly as a raw the clutch slip target. No speed synchronization is calculated. |
In all three modes, as the car accelerates and Output Shaft Speed approaches the calculated Takeup Sync Speed, the required slip target tapers down toward zero — this is what lets the clutch lock up smoothly instead of stepping straight from “slipping” to “locked”.
Takeup States
Takeup is a 5-state machine:
| State | Meaning |
|---|---|
| Off | Function disabled, or just enabled while already moving faster than the Arming Output Shaft Speed. |
| Ready | Car stopped/slow. Clutch is held at a small Initial Clutch Torque (optionally preceded by a Fast Fill pulse). Waiting for the driver to get on the throttle. |
| Active | The car is actually launching. A closed-loop controller slips the clutch through to lock-up, tracking the Speed Target Mode’s target. |
| Exit | Takeup Sync Speed and Takeup Slip Target have been met. Pressure ramps the rest of the way up to full lock-up at a dedicated rate. |
| Driving | Fully locked, normal driving. Takeup is watching Output Shaft Speed in the background in case the car slows back down to a stop. |
Ready → Active
The transition from Ready to Active happens once all of the following are true:
- Brake Switch is off
- Pedal/Throttle is above Pedal/Throttle Min
- Engine Torque (Supplied) is above Engine Torque Min.
The system transitions back to Ready if any of the same three conditions reverse (with a small amount of built-in hysteresis so it doesn’t chatter back and forth right at the threshold).
Active → Exit
Once Output Shaft Speed has risen above the calculated Takeup Sync Speed and Clutch Slip has fallen below the Exit Slip Threshold, the system hands off to the Exit state. The clutch pressure is ramped the rest of the way to full pressure at the Takeup Exit Pressure Ramp Rate.
If Output Shaft Speed falls back below Takeup Sync Speed (minus Output Shaft Speed Sync Hysteresis) before the ramp finishes, it returns to Active rather than continuing to lock up.
Exit → Driving
Once the ramped pressure has caught up to the normal fully-locked clutch pressure, Takeup hands off to the Driving state and stops actively managing that clutch’s pressure.
Driving → Active (coming back down to a stop)
Takeup continuously compares Output Shaft Speed against a re-arming point: Takeup Sync Speed (minus Output Shaft Speed Sync Hysteresis), optionally adjusted earlier by Decel Arming Lead Time during a fast deceleration so the release has a head start rather than only reacting once the car has nearly stopped.
If Arming Output Shaft Speed is set above 0, Output Shaft Speed must also drop below that fixed speed before Takeup re-arms. Set it to 0 to rely on the synchronous-speed comparison alone.
Caution
Pay attention to the table axis setup of the selected slip target table. The Takeup Sync Speed will likely move around if the table is spanned against channels such as Pedal Position. This can result in unintended Takeup re-arming. The Arming Output Shaft Speed setting is useful for eliminating this concern.
Stall-Saver: If Output Shaft Speed drops to the point that Input Shaft Speed would fall below the transmission’s configured Input Shaft Speed Min, Takeup re-arms immediately regardless of the above.
Lockouts
Takeup is held out of operation — clutch pressure and state are frozen — whenever any of the following are true:
| Lockout | Condition | Cooldown |
|---|---|---|
| Engine stopped | Engine Speed = 0 RPM | — |
| Neutral / Park | Selected Gear = Neutral or Park | — |
| User Lockout | The assigned User Function is OFF (only checked if one is assigned) | — |
| Clutch By Wire | Clutch By Wire Scaler is below Clutch By Wire Lockout (set the lockout to 100% to disable this check entirely) | Clutch By Wire Lockout Cooldown Time |
| Transbrake | Enabled via Transbrake Lockout; trips while the Transbrake is on or in its bump cooldown | Transbrake Lockout Cooldown Time |
| Launch Control | Enabled via Launch Control Lockout; trips while Launch Control is active | Launch Control Lockout Cooldown Time |
The Clutch-By-Wire, Transbrake, and Launch Control lockouts each have their own cooldown timer. Once the underlying condition clears, Takeup stays locked out for the configured cooldown period before it’s allowed to resume, rather than snapping back on the instant the condition goes away. When Takeup comes back out of one of these three lockouts, it re-evaluates whether the car is already moving fast enough to go straight to Driving, or whether it should resume in Ready.
Tip
If Takeup is enabled alongside Launch Control’s clutch override, it’s strongly recommended to enable the Launch Control Lockout so the two systems don’t fight over the same clutch.
Bleed Off
When enabled, Bleed Off removes all pressure from the takeup clutch, so it’s ready to fill from empty. It can be triggered by the Brake Switch (Bleed Off with Brake Switch) and/or the Takeup Bleed Off Enable table.
Two optional lockouts prevent Bleed Off from kicking in:
- Bleed Off Pedal/Throttle Max
- Bleed Off Output Shaft Speed Max
Above either one, Bleed Off is locked out even if the brake/table would otherwise call for it. Setting one of these lockouts to 0 will disable that particular check.
Fast Fill
Once Bleed Off ends (e.g. the brake is released), the clutch chamber has to be filled from empty before it can hold any torque. Fast Fill Pressure and Fast Fill Time open the solenoid to a higher target pressure for a short period to fill the chamber quickly.
Too much of either and the clutch will grab; too little and take-up will feel soft/delayed.
Initial Clutch Torque
After the fill, the clutch is held at Takeup Initial Clutch Torque (a torque value, converted to a pressure using the clutch’s own torque/pressure model and touch point) while waiting in Ready for the driver to get on the throttle. A positive value here makes the car creep, like a manual gearbox car with the clutch slightly out.
Active State: Closed-Loop Control
Once Active, clutch torque is the sum of a feed-forward term and a PID correction, clamped to Takeup Torque Min/Takeup Torque Max, then converted to a pressure via the clutch’s torque/pressure model and added to its touch point.
Feed forward — set via Torque Feed Forward Mode:
- User Defined — looked up directly from the Takeup Clutch Torque Feed Forward table.
- Calculated (Experimental) — derived automatically from input shaft torque and the current slip ratio. It’s recommended to start with the User Defined table and let the PID do most of the work rather than relying on the experimental mode.
PID control closes the gap between actual clutch slip and the target computed from Speed Target Mode, using:
- Proportional Gain
- Integral Gain
- Derivative Gain
- Integral Min / Integral Max
The resulting torque command is converted to pressure and then rate-limited by Takeup Pressure Positive Ramp Rate/Takeup Pressure Negative Ramp Rate so the clutch can’t be commanded to move faster than the driveline can physically respond to.
An engine torque limit (optional, via Torque Limit = ON in Takeup Setup) applies the Takeup Engine Torque Limit to the engine while the clutch is actively slipping, to stop the slipping clutch from being overdriven (see Engine Torque Limiting).
Engine Torque Limiting
Two separate, independent torque limits can apply while Takeup is running:
- Takeup Engine Torque Limit: Applies continuously while the clutch is in Active or Exit (i.e. actively slipping). This protects the slipping clutch from being overdriven by the engine.
- Shift Torque Limit: Applies only if a gear shift starts while Takeup is Active — it caps engine torque to 0 Nm for the duration, to stop the engine flaring and the clutch grabbing hard as the shift completes and control hands back to Takeup.
Both limits automatically defer to Launch Control’s torque limit if Launch Control is also active, so the two functions don’t fight each other.
Interaction with Automatic Shifting
Suppress Auto Mode Up Shifts During Takeup and Suppress Auto Mode Down Shifts During Takeup independently block automatic up/down shifts for as long as Takeup is actively slipping the clutch (Active or Exit), so a shift can’t be requested out from under an in-progress launch. Manual shift requests are not affected.
Runtime Channels
The Takeup system generates the following runtime channels:
- Takeup Status
- Takeup Slip Target
- Takeup Slip Error
- Takeup Sync Speed
- Takeup Clutch Pressure
- Takeup Torque Feed Forward
- Takeup Clutch Torque
- Takeup Gain P
- Takeup Gain I
- Takeup Gain D
Transbrake
Warning
Transbrake is a motorsport orientated function can lead to transmission and/or other driveline component damage if not used correctly.
The Transbrake function locks up the transmission so that engine load can be applied against the torque converter for staging and launching. It works by applying additional clutches along with the clutches required for the current forward gear. Typically this is achieved by engaging Reverse and First gear at the same time, effectively binding the transmission.
Transbrake Mode
There are two modes of operation:
- Forward + Reverse: Engages the clutches for reverse AND the current forward gear (eg: 1st).
- Clutch Select Table: User definable clutch selection to be applied in combination with the current forward gear’s clutches.
Activation
The Tranbrake is activated by the Transbrake Switch input. The switch input is configured separately in Input Config.
Lockouts
Any of the following lockout conditions will result in the Transbrake being disabled:
- Output Shaft Speed Max: If the output shaft speed exceeds this value, the Transbrake is disabled.
- Gear Max: The transbrake will be disabled above this gear.
- User Enable: A User Function can be selected to act as a lockout. The selected User Function must be ON or the Transbrake will be disabled.
Bump
During a bump, the Transbrake is momentarily released to allow the car to increment forward for staging.
Bump is activated by the Transbrake Bump Switch input. The switch input is configured separately in Input Config.
- Bump Time: The Transbrake is released for this amount of time, regardless of the Bump Switch being held for longer.
- Bump Cooldown Time: After a bump, another one cannot be requested until this time has elapsed.
Repeated Bumps
To request subsequent bumps, the Transbrake Bump Switch switch must be released and re-pressed. Holding the bump switch will not result in repeated bumps.
Interaction with Other Systems
Caution
Care should be taken to ensure other system lockouts are configured, in particular: Takeup.
- Takeup: If Takeup’s own
Transbrake Lockoutoption is set, Takeup control locks itself out whenever the Transbrake is active, so the two won’t fight over clutch pressure. - Clutch-By-Wire (CBW): An active CBW request blocks the Transbrake from ever activating.
Datasheets
Subsections of Datasheets
TM16 Datasheet
The Emtron TM16 is a fully programmable Transmission Control Module aimed at controlling the most complex transmission and driveline components. Designed with an over abundant amount of processing power to allow for the implementation of extremely complex, no compromise control strategies.
Overview
- 2x 650 MHz 32bit Automotive Processors
- Xilinx 7 Series FPGA
- 512 MB DDR3 RAM
- 8 GB Data Logging Memory
- Fully protected power supply inputs
- 16x Low Side Proportional Current Solenoid Outputs
- 8x Half-Bridge Auxiliary Outputs
- 4x Protected Solenoid Power Supply Outputs
- 4x Analogue Outputs
- 16x Analogue Inputs
- 16x Digital Inputs
- 4x 2 Wire Hall Effect Wheel Speed Inputs
- IMU (3 Axis Accelerometer & Gyroscope)
- Onboard Barometric Pressure Sensor
- 2x CAN 2.0A/B Busses
- 1x RS232 Interface
- 2x 5V Sensor Supplies
- 1x 8V Sensor Supply
- Ethernet PC Tuning
Applications
- Dual Clutch Transmissions
- Multi-Clutch Automatic Transmissions
- Conventional Automatic Transmissions
Wiring Pinout
Looking into TCM
Connector A
InfoMating Connector: 4-1437290-0| Pin | Function |
|---|---|
| A1 | ANV 1 |
| A2 | ANV 2 |
| A3 | ANV 3 |
| A4 | ANV 4 |
| A5 | ANV 5 |
| A6 | ANV 6 |
| A7 | ANV 7 |
| A8 | ANV 8 |
| A9 | Sensor 0V Ref |
| A10 | ANV 9 |
| A11 | ANV 10 |
| A12 | ANV 11 |
| A13 | ANV 12 |
| A14 | ANV 13 |
| A15 | ANV 14 |
| A16 | ANV 15 |
| A17 | ANV 16 |
| A18 | DI 1 |
| A19 | DI 2 |
| A20 | DI 3 |
| A21 | DI 4 |
| A22 | DI 5 |
| A23 | DI 6 |
| A24 | DI 7 |
| A25 | DI 8 |
| A26 | DI 9 |
| A27 | DI 10 |
| A28 | DI 11 |
| A29 | DI 12 |
| A30 | DI 13 |
| A31 | DI 14 |
| A32 | DI 15 |
| A33 | DI 16 |
| A34 | Sensor 0V Ref |
Connector B
InfoMating Connector: 4-1437290-1| Pin | Function |
|---|---|
| B1 | Aux 1 |
| B2 | Aux 2 |
| B3 | Aux 3 |
| B4 | Aux 4 |
| B5 | Aux 5 |
| B6 | Aux 6 |
| B7 | Aux 7 |
| B8 | Aux 8 |
| B9 | GND |
| B10 | Solenoid 1 |
| B11 | Solenoid 2 |
| B12 | Solenoid 3 |
| B13 | Solenoid 4 |
| B14 | Solenoid 5 |
| B15 | Solenoid 6 |
| B16 | Solenoid 7 |
| B17 | Solenoid 8 |
| B18 | Solenoid 9 |
| B19 | Solenoid 10 |
| B20 | Solenoid 11 |
| B21 | Solenoid 12 |
| B22 | Solenoid 13 |
| B23 | Solenoid 14 |
| B24 | Solenoid 15 |
| B25 | Solenoid 16 |
| B26 | Analog Out 1 |
| B27 | Analog Out 2 |
| B28 | Analog Out 3 |
| B29 | Analog Out 4 |
| B30 | Solenoid 1-4 Supply Output |
| B31 | Solenoid 5-8 Supply Output |
| B32 | Solenoid 9-12 Supply Output |
| B33 | Solenoid 13-16 Supply Output |
| B34 | GND |
Connector C
InfoMating Connector: 3-1437290-7| Pin | Function |
|---|---|
| C1 | Battery Hot Supply |
| C2 | Aux 1-4 Supply |
| C3 | Aux 5-8 Supply |
| C4 | Solenoid 1-8 Supply |
| C5 | Solenoid 9-16 Supply |
| C6 | Ignition Switch |
| C7 | GND |
| C8 | CAN 1 Hi |
| C9 | CAN 2 Hi |
| C10 | Hall 1 |
| C11 | Hall 2 |
| C12 | Hall 3 |
| C13 | Hall 4 |
| C14 | CAN 1 Lo |
| C15 | CAN 2 Lo |
| C16 | 5V0 Ref Output 1 |
| C17 | 5V0 Ref Output 2 |
| C18 | 8V0 Ref Output |
| C19 | Sensor 0V Ref |
| C20 | Ethernet Rx+ |
| C21 | Ethernet Rx- |
| C22 | Ethernet Tx+ |
| C23 | Ethernet Tx- |
| C24 | RS232 Rx |
| C25 | RS232 Tx |
| C26 | GND |
Features
Power Supply
- Reverse polarity protection
- Over temperature protection
- Over current protection
- Current & voltage diagnostic monitoring
- 1x Battery constant supply
- 2x Auxiliary output driver supplies
- 2x Solenoid supplies
- 1x Ignition switch input
- 24V Compatible
Processor
- Dual Core, 650 MHz, 32bit Automotive Processor
- Xilinx 7 Series FPGA
- 512MB DDR3 RAM
Solenoid Outputs
16x Proportional Current Solenoid Drivers
- 0.1 – 20 KHz PWM
- Low side only
- 1.5A max current setpoint in single mode
- 2.7A max current setpoint in paired mode
- 1.8A continuous current per pin
- Current monitoring and control on all pins
- Current dither for reduced stiction and faster solenoid response
- Flywheel diodes connected to solenoid power supply outputs (see below)
- Unused solenoid outputs can be used as low side auxiliary outputs
Solenoid Power Supply Outputs x4
4x Protected Solenoid Supply Outputs
- Protected and monitored solenoid supply pins
- Over current protected
- Current & voltage diagnostic monitoring
Auxiliary Outputs
8x Auxiliary Outputs
- Half-Bridge Drivers
- 0.1 – 20 KHz PWM
- High Side / Low Side 35A peak, 8A continuous
- Bi-directional current monitoring on all pins
Analog Outputs
4x Analog Outputs
- 0-5V, 10 bit, 4.88 mV resolution
- 11 mA per channel
Analog Inputs
16x Analog Inputs
- 0-5V
- 12 bit, 1.22mV resolution
- Switchable 1K pullups to 5V Out 1 on pins 1-8
- Switchable 1K pullups to 5V Out 2 on pins 9-16
- 100K Ohms to ground
Digital Inputs
16x Digital Inputs
- 0.5 – 20KHz
- 0-39V Analog Input on all pins
- 12 bit, 9.52mV resolution
- Hall effect & Reluctor sensor compatible
- Switchable 4K7 pullup to 8.0V on all pins
- Switchable 330R pulldown to GND on pins 1-8
Digital Input 1-8:
- Programmable 0-5V high trigger threshold
- Programmable 0-5V low trigger threshold
Digital Input 9-16:
- Fixed high trigger threshold: 2.4V
- Fixed low trigger threshold: 0.5V
Hall Sensor Inputs
4x 2-Wire Hall Effect Sensor Inputs
- 0.5 – 20KHz
- Open circuit detection
- Short to Battery detection
- Short to Ground detection
Inertial Measurement Unit
- 3 Axis Accelerometer, ±2/4/8/16 g
- 3 Axis Gyroscope, ±125 - ±4000 dps
On board Sensors
- Barometric Pressure Sensor
- PCB Temperature Sensor
Communications
- 10/100 Ethernet PC tuning interface, high speed, high noise immunity
- 2x CAN 2.0A/B Interfaces, fully user configurable, selectable termination.
- 1x RS232 Serial Interface
Data Logging
- 8GB Onboard eMMC logging memory.
Programming
All device configuration and firmware updates are done via ethernet connection with our free TMtune PC Software.
TM16-R35 Adapter Datasheet
The TM16-R35 Adapter allows Plug-n-Play control of the Nissan GR6 DCT transmission in the 2007+ R35 GTR.
Pinout
Connector A (Black)
| OEM Pin | Function | TM16 Pin |
|---|---|---|
| 1 | +14V (TCM Relay) | C2, C3, C4, C5 |
| 2 | - | |
| 3 | GND | B9, B34, C7, C26 |
| 4 | GND | B9, B34, C7, C26 |
| 5 | +14V (TCM Relay) | C2, C3, C4, C5 |
| 6 | - | |
| 7 | GND | B9, B34, C7, C26 |
| 8 | GND | B9, B34, C7, C26 |
| 9 | Batt +14V | C1 |
| 10 | Reverse Light Output | Sol 15 (B24) |
| 11 | CAN 1 H | C8 |
| 12 | - | |
| 13 | - | |
| 14 | TCM Power Relay | Sol 16 (B25) |
| 15 | CAN 1 L | C14 |
| 16 | Brake Switch 1 | DI 10 (A27) |
| 17 | Ignition Switch | C6 |
| 18 | - | |
| 19 | Starter Relay Enable | Aux 8 (B8) |
| 20 | - | |
| 21 | - | |
| 22 | - | |
| 23 | Manual Switch 1 | DI 7 (A24) |
| 24 | - | |
| 25 | 5V Ref 2 | C17 |
| 26 | 5V Ref 2 | C17 |
| 27 | Shifter Pos Switch 1 | ANV 9 (A10) |
| 28 | Manual Switch 2 | DI 8 (A25) |
| 29 | - | |
| 30 | - | |
| 31 | Engine Speed (Tracking) | DI 4 (A21) |
| 32 | - | |
| 33 | Shifter Pos Switch 2 | ANV 10 (A11) |
| 34 | Snow Mode Switch | DI 13 (A30) |
| 35 | Shifter Pos Switch 4 | ANV 12 (A13) |
| 36 | - | |
| 37 | R Mode Switch | DI 12 (A29) |
| 38 | Shifter Pos Switch 3 | ANV 11 (A12) |
| 39 | Up Shift Switch | DI 5 (A22) |
| 40 | - | |
| 41 | - | |
| 42 | Down Shift Switch | DI 6 (A23) |
| 43 | Shifter Pos Switch 5 | ANV 13 (A14) |
| 44 | Shifter Pos Switch 6 | ANV 14 (A15) |
| 45 | R Mode Lamp | Sol 13 (B22) |
| 46 | Shift Lock Solenoid | Aux 6 (B6) |
| 47 | Snow Mode Lamp | Sol 14 (B23) |
| 48 | - |
Connector B (Brown)
| OEM Pin | Function | TM16 Pin |
|---|---|---|
| 49 | Shift Solenoid 1 | Aux 1 (B1) |
| 50 | - | |
| 51 | Shift Solenoid 3 | Aux 3 (B3) |
| 52 | - | |
| 53 | Shift Solenoid 5 | Aux 5 (B5) |
| 54 | Shift Solenoid 2 | Aux 2 (B2) |
| 55 | - | |
| 56 | Shift Solenoid 4 | Aux 4 (B4) |
| 57 | Solenoid Supply | Sol 1-4 +V (B30) |
| 58 | - | |
| 59 | Solenoid Supply | Sol 5-8 +V (B31) |
| 60 | - | |
| 61 | - | |
| 62 | Axis A Solenoid | Sol 3 (B12) |
| 63 | - | |
| 64 | Axis B Solenoid | Sol 7 (B16) |
| 65 | - | |
| 66 | Sensor GND | A9, A34, C19 |
| 67 | Shift Fork 1 Pos (Main) | ANV 4 (A4) |
| 68 | Sensor GND | A9, A34, C19 |
| 69 | Sensor GND | A9, A34, C19 |
| 70 | Shift Fork 4 Pos (Main) | ANV 8 (A8) |
| 71 | 5V Ref 1 | C16 |
| 72 | Clutch A Speed | DI 1 (A18) |
| 73 | 5V Ref 1 | C16 |
| 74 | 5V Ref 1 | C16 |
| 75 | 5V Ref 1 | C16 |
| 76 | Speed Sensor + | (From TCM Relay) |
| 77 | Line Pressure Sensor | ANV 1 (A1) |
| 78 | Speed Sensor + | (From TCM Relay) |
| 79 | Shift Fork 1 Pos (Tracking) | ANV 5 (A5) |
| 80 | Sensor GND | A9, A34, C19 |
| 81 | 5V Ref 1 | C16 |
| 82 | Clutch B Speed | DI 2 (A19) |
| 83 | Sensor GND | A9, A34, C19 |
| 84 | Sensor GND | A9, A34, C19 |
| 85 | Shift Fork 2 Pos (Main) | ANV 6 (A6) |
| 86 | Sensor GND | A9, A34, C19 |
| 87 | Trans Fluid Temp | ANV 15 (A16) |
| 88 | 5V Ref 1 | C16 |
| 89 | Park Switch | DI 14 (A31) |
| 90 | - | |
| 91 | Sensor GND | A9, A34, C19 |
| 92 | Shift Fork 3 Pos (Main) | ANV 7 (A7) |
| 93 | - | |
| 94 | Sensor GND | A9, A34, C19 |
| 95 | - | |
| 96 | - |
Connector C (Grey)
| OEM Pin | Function | TM16 Pin |
|---|---|---|
| 97 | 5V Ref 1 | C16 |
| 98 | Clutch A Pressure | ANV 2 (A2) |
| 99 | Sensor GND | A9, A34, C19 |
| 100 | - | |
| 101 | - | |
| 102 | 5V Ref 1 | C16 |
| 103 | Clutch B Pressure | ANV 3 (A3) |
| 104 | Sensor GND | A9, A34, C19 |
| 105 | Speed Sensor + | (From TCM Relay) |
| 106 | Output Shaft Speed | DI 3 (A20) |
| 107 | Sensor GND | A9, A34, C19 |
| 108 | - | |
| 109 | - | |
| 110 | - | |
| 111 | - | |
| 112 | - | |
| 113 | Line Pressure Solenoid | Sol 9 (B18) |
| 114 | - | |
| 115 | Lubrication Flow Solenoid | Sol 11 (B20) |
| 116 | - | |
| 117 | - | |
| 118 | Solenoid Supply | Sol 9-12 +V (B32) |
| 119 | - | |
| 120 | Solenoid Supply | Sol 9-12 +V (B32) |
| 121 | Solenoid Supply | Sol 1-4 +V (B30) |
| 122 | - | |
| 123 | Solenoid Supply | Sol 5-8 +V (B31) |
| 124 | - | |
| 125 | - | |
| 126 | Clutch A Solenoid | Sol Pair 1&4 (B10+B13) |
| 127 | - | |
| 128 | Clutch B Solenoid | Sol Pair 5&8 (B14+B17) |
Changelog
Version 1.1 - 31/07/2026
Clutch solenoids now use Solenoid Pairs 1&4, 5&8 to allow more than 1.5A
The OEM solenoid current limit is 1.5A, which is also the setpoint limit of a single TM16 solenoid output. At 1.5A of current, the clutch will achieve approximately 17 Bar of clutch pressure. Solenoid outputs can be paired to achieve up to 2.7A (It’s unlikely that more than 2.0A is useful). Version 1.1 hardware supports the solenoid pairing.
The cal file should be updated to use the solenoid pairs in the output config.
Version 1.0 hardware can utilize the additional current by modifying the wiring to splice the TM16’s solenoid outputs 1&4 together, and 5&8 together.
Version 1.0 - 01/04/2026
Initial Release
Transmissions
Subsections of Transmissions
Getrag GS7
Beta Notice
The GS7 base cal file has been built using a dedicated track car as the test platform. While it is fully functional and drives very well, it may not be optimized in all aspects.
Wiring
The OEM Mechatronic unit must be removed so that the transmission can be run directly by the TCM.
The example below uses the DomiWorks Install Board.
The pullup resistors supplied on the board should be removed as pullup control is available on all TCM inputs where required.
Pad Group A
| OEM Pad | Function | TCM Pin |
|---|---|---|
| PA1 | SGND | SGND |
| PA2 | Clutch A Pressure | An 3 |
| PA3 | +5V | 5V Out 1 |
Pad Group B
| OEM Pad | Function | TCM Pin |
|---|---|---|
| PB1 | SGND | SGND |
| PB2 | Clutch B Pressure | An 1 |
| PB3 | +5V | 5V Out 1 |
Pad Group C
| OEM Pad | Function | TCM Pin |
|---|---|---|
| PC1 | ||
| PC2 | Clutch A Speed | Hall 1 |
| PC3 | Clutch B Speed | Hall 2 |
| PC4 | Fork 4/6 Position | An 2 |
| PC5 | SGND | SGND |
| PC6 | Fork 5/7 Position | An 4 |
| PC7 | +5V | 5V Out 1 |
| PC8 | Clutch A Temp (NC, marked “redundant” in OEM docs) | An 5 |
| PC9 | +5V | 5V Out 1 |
| PC10 | Clutch B Temp (NC, marked “redundant” in OEM docs) | An 6 |
| PC11 | Fork 2/R Position | An 8 |
| PC12 | Fork 1/3 Position | An 7 |
| PC13 | +5V | 5V Out 1 |
Pad Group D
| OEM Pad | Function | TCM Pin |
|---|---|---|
| PD1 | Shift Solenoid 1 | Sol 13 |
| PD2 | Solenoid +12V | Sol +V Out (B33) |
| PD3 | Shift Solenoid 2 | Sol 14 |
| PD4 | Solenoid +12V | Sol +V Out (B33) |
| PD5 | Shift Solenoid 3 | Sol 15 |
| PD6 | Solenoid +12V | Sol +V Out (B33) |
| PD7 | Shift Solenoid 4 | Sol 16 |
| PD8 | Solenoid +12V | Sol +V Out (B33) |
Pad Group E
| OEM Pad | Function | TCM Pin |
|---|---|---|
| PE1 | ||
| PE2 | ||
| PE3 | SGND | SGND |
| PE4 | ||
| PE5 | ||
| PE6 | Trans Fluid Temp | An 9 |
| PE7 | Input Shaft Speed | Hall 3 |
| PE8 | ||
| PE9 | ||
| PE10 | ||
| PE12 | ||
| PE13 | ||
| PE14 | ||
| PE15 |
Pad Group F
| OEM Pad | Function | TCM Pin |
|---|---|---|
| PF1 | Axis A Safety | Sol 2 |
| PF2 | Solenoid + 12V | Sol +V Out (B30) |
| PF3 | Clutch A | Sol Pair 1 & 4 |
| PF4 | Solenoid + 12V | Sol +V Out (B30) |
| PF5 | Axis B Safety | Sol 6 |
| PF6 | Solenoid + 12V | Sol +V Out (B30) |
| PF7 | Clutch B | Sol Pair 5 & 8 |
| PF8 | Solenoid + 12V | Sol +V Out (B30) |
| PF9 | Line Pressure Solenoid | Sol 9 |
| PF10 | Solenoid + 12V | Sol +V Out (B30) |
| PF11 | Cooling Flow Solenoid | Sol 10 |
| PF12 | Solenoid + 12V | Sol +V Out (B30) |
Gear Ratios
Short Ratio
| Gear | Ratio |
|---|---|
| R | -3.667 |
| 1st | 4.780 |
| 2nd | 2.933 |
| 3rd | 2.153 |
| 4th | 1.678 |
| 5th | 1.390 |
| 6th | 1.203 |
| 7th | 1.000 |
Clutch Geometry
| Clutch | Plates (S/D) | Friction ID/OD (mm) | Piston ID/OD (mm) |
|---|---|---|---|
| Clutch A | 2(S) + 4(D) | 190.0 / 218.0 | 190.0 / 208.0 * |
| Clutch B | 2(S) + 4(D) | 121.5 / 162.0 | 96.0 / 140.0 * |
* Piston diameters are close approximations only
Note
Our test vehicle was a track car with unknown clutch condition. We settled on a Estimated Clutch Efficiency factor of 65% but can’t say for certain if this is correct for all installations.
Shift Forks
The GS7 has 4 shift forks controlled by 4 Shift Solenoids. Operation is fairly simple, with a binary combination of solenoids resulting in a different movement operation.
Manipulating the current through the shift solenoid allows the fork movement to be slowed as it approaches the target.
Selector Forks
| Fork | Gear Low | Gear High |
|---|---|---|
| 1 | 4 | 6 |
| 2 | 2 | R |
| 3 | 1 | 3 |
| 4 | 5 | 7 |
Reverse and 2nd are on different clutches.
Fork 2 must be assigned to Axis A & B to inform the system that this is not a config mistake.
Gear to Fork Mapping
The following table shows the nominal fork mapping. Actual positions should be fine tuned with real world measurements see during operation.
| Gear | Fork | Position | Volts |
|---|---|---|---|
| R | 2-H | 8.0mm | 3.830 |
| N | ALL | 0.0mm | 2.500 |
| 1 | 3-L | -8.0mm | 1.360 |
| 2 | 2-H | -8.0mm | 1.360 |
| 3 | 3-H | 8.0mm | 3.830 |
| 4 | 1-L | 8.0mm | 3.830 |
| 5 | 3-H | 8.0mm | 1.360 |
| 6 | 1-H | -8.0mm | 1.360 |
Shift Solenoids
| Solenoid | Function |
|---|---|
| 1 | Fork Move +/- |
| 2 | Fork Move +/- |
| 3 | Fork Select B0 |
| 4 | Fork Select B1 |
Shift Solenoid Truth Table
| Fork | Gear | Sol 1 | Sol 2 | Sol 3 | Sol 4 |
|---|---|---|---|---|---|
| 1 (4/6) | 4 « | X | X | ||
| 1 (4/6) | » 6 | X | X | ||
| 2 (2/R) | R « | X | |||
| 2 (2/R) | » 2 | X | |||
| 3 (1/3) | 1 « | X | X | ||
| 3 (1/3) | » 3 | X | X | ||
| 4 (5/7) | 5 « | X | X | X | |
| 4 (5/7) | » 7 | X | X | X |
Line Pressure
The line pressure solenoid reduces line pressure as current increases. Maximum line pressure is achieved when the solenoid is completely off.
No line pressure sensor is available.
Clutch Pressure
Clutch pressure is controlled by a solenoid for each clutch. To achieve maximum pressure they must be driven to approximately 1.8-1.9 Amps. To do so, the solenoids need to be wired to a Solenoid Pair so that more than 1.5A can be targeted.
- Each clutch has a pressure sensor.
- Each clutch/axis has a safety solenoid that must be energized to allow clutch pressure to be applied.
Input Shaft Speed
An Input Shaft Speed sensor is available. This effectively measures engine RPM as it’s the speed BEFORE the input to the clutch baskets.
The sensor is 2 wire hall effect type. Use Hall Input 1-4.
Clutch Speeds
Each Clutch has an output speed sensor. The sensor measures the speed of the output side of the clutch basket. This speed varies depending on the selected gear.
Slip is calculated based on the difference between Input Shaft Speed and Clutch A/B Speed.
The sensors are 2 wire hall effect type. Use Hall Input 1-4.
Output Shaft Speed
The GS7 does not have an output shaft speed sensor. Instead, leave the Output Shaft Speed input OFF and the TCM will calculate Output Shaft Speed using the active clutch and it’s currently selected gear.
Lubrication / Cooling Flow
The GS7 has a solenoid dedicated to cooling the clutches.
Nissan GR6
Wiring
Refer to the Emtron TM16-R35 Adapter Kit Datasheet.
Gear Ratios
| Gear | Ratio |
|---|---|
| R | -3.383 |
| 1st | 4.056 |
| 2nd | 2.301 |
| 3rd | 1.595 |
| 4th | 1.248 |
| 5th | 1.001 |
| 6th | 0.796 |
| FD | 3.700 |
Shift Forks
| Fork | Gear Low | Gear High |
|---|---|---|
| 1 | R | 1 |
| 2 | 2 | 4 |
| 3 | 3 | 5 |
| 4 | 6 | - |
Gear to Fork Mapping
| Gear | Fork | Position | Volts |
|---|---|---|---|
| R | 1-L | -9.0mm | 1.300 / 3.800* |
| N | ALL | 0.0mm | 2.500 |
| 1 | 1-H | 9.0mm | 3.800 / 1.300* |
| 2 | 2-L | 9.0mm | 1.300 |
| 3 | 3-L | 9.0mm | 1.300 |
| 4 | 2-H | -9.0mm | 3.800 |
| 5 | 3-H | -9.0mm | 3.800 |
| 6 | 4-L | 9.0mm | 1.300 |
* Fork 1 has two position sensors.
Shift Solenoids
| Solenoid | Function |
|---|---|
| 1 | 4 / N |
| 2 | 2 / 6 |
| 3 | R / 5 |
| 4 | 1 / 3 |
| 5 | Fork 3 & 4 Select |
Shift Solenoid Truth Table
| Fork | Gear | Sol 1 | Sol 2 | Sol 3 | Sol 4 | Sol 5 |
|---|---|---|---|---|---|---|
| 1 (1/R) | R « | X | ||||
| 1 (1/R) | » 1 | X | ||||
| 2 (2/4) | 2 « | X | ||||
| 2 (2/4) | » 4 | X | ||||
| 3 (3/5) | 3 « | X | X | |||
| 3 (3/5) | » 5 | X | X | |||
| 4 (6/N) | 6 « | X | X | |||
| 4 (6/N) | » N | X | X |
Axis Feed Pressure Solenoids
Active Axis/Clutch Behavior
Maintains about 3.5 bar above the active clutch pressure target.
Inactive Axis/Clutch Behavior
Holds 10 bar at most times. During fork movement, the inactive axis pressure is used to control the shift fork movement force and velocity. Once the fork is in position it returns to 10 bar.
Lubricating Flow Solenoid
Remains active by default, allowing fully lubrication and cooling flow. During a shift or high torque demand it will close off, to reduce pressure drop and allow maximum line pressure availability.
Known Issues / Limitations
Start Button Hold to Start
The R35 TCM is responsible for determining that the engine is safe to crank and supplies the positive side of the starter relay with power when the transmission is in Park or Neutral. The window of time for this to happen when the start button is held from fully off, with brake applied, is only a couple of hundred milliseconds. The TM16’s boot up process takes slightly longer than the factory TCM because it runs a very complex CPU & FPGA. As a result, the starter relay receives power too late. The starter solenoid will click but the BCM will have already given up. The R35 base cal has a deliberate delay added to the user function that drives the starter relay power so that the one shot hold to start does not work at all. Instead the ignition will turn on normally, and the engine will start with a second press of the start button.
Hill Hold
The OEM hill hold function that tells the ABS module to lock the brakes on a hill is not currently supported. We intend to add support for this function in a future update.
Limp Home Skip Shifting
When an axis/clutch detects an error the OEM TCM will lockout the problem axis and skip shift (eg 2 to 4 to 6, ignoring 1,3,5 or visa versa). Current firmware does not support this function. Full fault detection is implemented and every shift fork is monitored for correct positioning at all times including before a shift can occur. In the event of a fault (such as a fork being stuck in the wrong position), rather than skip shift, the transmission will remain in whatever gear is currently driving. Full limp home skip shifting is planned for a future update.
ZF 8HP
Models
Caution
Currently, only 8HP models with 16 pin connectors are compatible. Models with only 10 pins do not have the required IO to allow an external TCM.
| Model | Support | Comment |
|---|---|---|
| 8HP45 | Y | Gen 1 |
| 8HP50 | Y | Gen 2 |
| 8HP51 | N* | Gen 3 *Requires Gen 2 valve body |
| 8HP70 | Y | Gen 1 |
| 8HP75 | Y | Gen 2 |
| 8HP76 | N* | Gen 3 *Requires Gen 2 valve body |
| 8HP90 | Y | Gen 1 |
| 8HP95 | Y | Gen 2 |
Base Calibration
A base calibration based on the 8HP70 is included with TMtune. Solenoid pressure translation tables are also included separately.
Wiring
Mechatronics Modifications
In order to control the 8HP transmission, the internal mechatronics unit must be bypassed and the control signals routed externally.
- Remove the mechatronics assembly from the transmission.
- Cut the lid off the OEM TCM enclosure.
- Cut all the fine wire connections between the OEM TCM and the interface pads.
- Wire connections between pads as follows…
Caution
22 AWG or 24 AWG Tefzel wire should be used to bridge connections as it can withstand the temperatures and oil present inside the transmission.
For simplicity and compatibility we’re using the same pin designations as the DomiWorks 8HP Wiring Kit.
| IO Pin (A) | Internal Pin (B/C) |
|---|---|
| A1 | C2 |
| A2 | C3 |
| A3 | C4 |
| A4 | C16 |
| A5 | C13 |
| A6 | C14 |
| A7 | B2 |
| A8 | B3 |
| A9 | B4 |
| A10 | B5 |
| A11 | B6 |
| A12 | B10, B11, B12, B13 |
| A13 | B10, B11, B12, B13 |
| A14 | C12 |
| A15 | C12 |
| A16 | B7 |
| A17 | B8 |
| A18 | B9 |
Potting
We have found that potting the modified mechatronics units with compounds such as R125 has resulted in repeated failures. There appears to be a negative interaction between R125 and the oil used in the 8HP transmissions. The most reliable results we have seen have come from NOT potting the internal connections.
Gearbox Connector
Important
Pinout assumes mechatronic modifications have been completed as detailed above.
| Pin | Function | TCM Pin *1 |
|---|---|---|
| 1 | Sensor 0V Ref | Sensor GND (A9) |
| 2 | Line Pressure Solenoid | Sol 6 (B15) |
| 3 | Speed Sensor 8V Supply | 8V Out (C18) |
| 4 | Accumulator Solenoid | Sol 10 (B19) |
| 5 | Park Hold Solenoid | Sol 9 (B18) |
| 6 | Park Release Solenoid | Sol 8 (B17) |
| 7 | Clutch C Solenoid | Sol 3 (B12) |
| 8 | Input Shaft Speed Signal | DI 1 (A18) |
| 9 | Clutch E Solenoid | Sol 5 (B14) |
| 10 | Output Shaft Speed Signal | DI 2 (A19) |
| 11 | Brake A Solenoid | Sol 1 (B10) |
| 12 | TC Lockup Solenoid | Sol 7 (B16) |
| 13 | Trans Fluid Temp Sensor | An 1 (A1) |
| 14 | Solenoid Power Supply | Sol +V Out (B30+B31) *2 |
| 15 (Gen 1) | Clutch D Solenoid | Sol 4 (B13) *3 |
| 15 (Gen 2) | Brake B Solenoid | Sol 4 (B13) *3 |
| 16 (Gen 1) | Brake B Solenoid | Sol 2 (B11) *3 |
| 17 (Gen 2) | Clutch D Solenoid | Sol 2 (B11) *3 |
1. This pinout matches the supplied 8HP base calibration. You’re free to alter the TCM pin assignments as long as the change is reflected in the config.
2. Ideally each 4 solenoids would have a separate supply bank, but this isn’t possible using the OEM connector. Connecting to two bridged solenoid supplies will suffice.
3. To cater for Gen 1 vs Gen 2, swap the Brake B / Clutch D solenoid assignment in config OR swap pins 15 / 16 in the wiring harness.
Speed Sensors
- Input Shaft Speed
- Output Shaft Speed
The sensors are 2-wire hall effect type, however the polarity of the internal wiring means the dedicated hall sensor inputs on the TCM cannot be used. Instead, the sensors can be wired to Digital Inputs 1 to 8. The internal 330R pulldown must to be enabled.
In this arrangement, the signal voltage will sit at around 2V when stationary, and pulse up to around 4V when a tooth passes the sensor.
The high and low arming thresholds must be set correctly to detect the speed signal. The low threshold must be ABOVE the sensor voltage at rest, and the high threshold must be BELOW the maximum voltage when the sensor is active.
Speed Sensor Calibration
| Model | Input Shaft Speed | Output Shaft Speed |
|---|---|---|
| 8HP50 | 28 Teeth | 40 Teeth |
| 8HP70 | 30 Teeth | 40 Teeth |
Solenoids
The ZF 8HP contains nine solenoids. All but the park-release/hold solenoids are Variable‐Force Solenoids (VSF). The park‐release and park‐hold are on/off.
Shift Elements
The 8HP uses the following “shift elements”:
- Two fixed multidisc brakes (brake A and B)
- Three rotary multidisc clutches (clutch C, D and E).
The multidisc clutches (C, D and E) feed the drive torque to the planetary gear. The multidisc brakes (A and B) support the torque against the transmission housing.
| Solenoid | Shift Element | Note |
|---|---|---|
| Clutch Solenoid A | Brake A | VFS, normally vented (no pressure when off). |
| Clutch Solenoid B | Brake B | VFS, normally vented (no pressure when off). |
| Clutch Solenoid C | Clutch C | VFS, normally applied (high pressure when off). |
| Clutch Solenoid D | Clutch D | VFS, normally applied (high pressure when off). |
| Clutch Solenoid E | Clutch E | VFS, normally applied (high pressure when off). |
Line Pressure Solenoid
VFS, normally applied. Modulates the valve-body pressure regulator to maintain the transmission’s main hydraulic (line) pressure under all operating conditions.
Torque Converter Clutch (TCC) Solenoid
VFS, normally vented. Controls apply pressure to the lock-up piston in the torque converter for smooth lock/unlock transitions.
Park Release Solenoid
On/Off, normally open. When energized, it directs line pressure to the park-release valve to retract the parking pawl, allowing selection of Drive or Reverse.
Park Hold Solenoid
Mechanical. Clips onto and holds the park-release piston in its disengaged position after the pawl is withdrawn. Does not flow hydraulic oil.
Clutch Geometry
The following data is provided as a guide based on the best information available at time of writing.
8HP70
| Clutch | Plates (S/D) | Friction ID/OD (mm) | Piston ID/OD (mm) |
|---|---|---|---|
| Brake A | 5 (D) | 126.0 / 144.0 | 99.5 / 144.1 |
| Brake B | 5 (D) | 176.0 / 196.0 | 168.9 / 206.5 |
| Clutch C | 6 (D) | 139.0 / 163.0 | 44.8 / 95.7 |
| Clutch D | 4 (D) | 149.0 / 172.0 | 47.5 / 126.7 |
| Clutch E | 5 (D) | 139.0 / 163.0 | 46.0 / 116.0 |
Gear Sequencing
By engaging different combinations of the five shift elements listed above, the transmission obtains each of its eight forward ratios (plus reverse).
| Gear | Brake A | Brake B | Clutch C | Clutch D | Clutch E |
|---|---|---|---|---|---|
| P | |||||
| R | X | X | X | ||
| N | |||||
| 1 | X | X | X | ||
| 2 | X | X | X | ||
| 3 | X | X | X | ||
| 4 | X | X | X | ||
| 5 | X | X | X | ||
| 6 | X | X | X | ||
| 7 | X | X | X | ||
| 8 | X | X | X |
Clutch Gear Load Factor
The ratio of input torque that each clutch/brake element carries for a given gear.
| Gear | Brake A | Brake B | Clutch C | Clutch D | Clutch E |
|---|---|---|---|---|---|
| R | 0.333 | 2.594 | - | 3.296 | - |
| N | - | - | — | - | - |
| 1 | 0.333 | 3.695 | 1.000 | - | - |
| 2 | 0.333 | 2.463 | - | - | 0.667 |
| 3 | - | 1.103 | 1.000 | - | 1.000 |
| 4 | - | 1.111 | - | 1.666 | 1.000 |
| 5 | - | 0.673 | 1.000 | 1.284 | - |
| 6 | - | - | 1.000 | 1.000 | 1.000 |
| 7 | 0.220 | - | 1.000 | 1.739 | - |
| 8 | 0.222 | - | - | 0.666 | 0.666 |
Pressure Control
The 8HP does not have any pressure sensors. This means that all internal pressures are inferred from solenoid current. Because the TCM uses pressure targets it’s important to get the solenoid pressure translations as accurate as possible. The supplied 8HP base calibration includes pressure translation tables taken from OEM roms. In most cases these do not need to be changed.
Optionally, you may enable Line Pressure and/or Clutch Pressure estimations to give feedback based on actual solenoid activity and fluid temperature.
OEM
Subsections of OEM
BMW F-Series Shifter
F-Series shifter integration is available in firmware v0.35.0 or above.
Wiring
| Pin | Function |
|---|---|
| 1 | - |
| 2 | - |
| 3 | CAN 1 L |
| 4 | CAN 1 H |
| 5 | CAN 2 L (NC) |
| 6 | CAN 2 H (NC) |
| 7 | Ignition Switch +12V |
| 8 | GND |
| 9 | - |
| 10 | Battery +12V |
Only CAN 1 is required.
CAN Configuration
Important
The shifter operates at a CAN bitrate of 500K. All devices on the bus must operate at the same speed.
Enable the shifter by setting an available CAN Channel mode to BMW F-Seres Shifter.
Switch Inputs
The F-Series shifter will appear to the TCM as a collection of individual switches rather than a Shifter Position Input.
Each of the following switch inputs must have their input source set to CAN (Preset).
| Switch | Note |
|---|---|
| Park Request Switch | Button at top of shifter. Available from Neutral or Reverse. Unlock button on RHS required to exit Park. |
| Reverse Request Switch | Active when pushed fully forward (2 notches) from Neutral. Unlock button on RHS required. |
| Neutral Request Switch | Active when pushed forward while from Drive or pulled backward from reverse. |
| Drive Mode Switch | Active when pulled backward from Neutral, or fully backward (2 notches) from Park with Unlock button. |
| Manual Override Switch | Active when shifter is pushed left into M/S position. Must be in Drive first. |
| Up Shift Switch | Active when pulled backwards from left M/S position |
| Down Shift Switch | Active when pushed forwards from left M/S position |
Info
If Drive/Manual is exited while the shifter is in the left M/S position, the shifter will move itself back to the centre rest position.
Backlight Brightness
The brightness of the shifter’s illumination backlight is controlled by the CAN Shifter Brightness table found under OEM Functions.
TMtune Release Notes
Loading release notes…



























































