Skip to Content
UDS Simulator 2.0 Released

Docs baseline actions

Copy this page URLEdit page
Docs0x3E Tester Present

Service Interaction Protocol

Tester Present

0x3E
Protocol Identifier
A heartbeat signal sent by the tester to prevent the ECU from exiting the active diagnostic session due to timeout.

Overview

ISO 14229-1

“The client sends a TesterPresent request to indicate to the server that the client is still connected… preventing the server from automatically returning to default session.”

info _entry

The ‘P3 Server’ Timer ECUs have a safety timer (typically 5000ms). If no diagnostic message is received within this window, the ECU assumes the tester has disconnected. It will:

  • Revert to Default Session (0x01).
  • Lock any unlocked security access.
  • Stop any active diagnostic routines.

Service 0x3E resets this timer.

Message Format

Byte
Name
Description
0SID0x3E
1Sub-Function0x00 (Reply) or 0x80 (Suppress Reply)
Mode 1: Handshake (0x00)

You want the ECU to confirm it’s still there.

tx_packet

Request

3E 00

> Sub-fn 0x00 = Respond

rx_packet

Response

7E 00

> Positive Response

Mode 2: Keep-Alive (0x80)

Standard mode. Keeps session active silently.

tx_packet

Request

3E 80

> Sub-fn 0x80 = Suppress Response

(No Response sent by ECU)

Workflow & Thinking

SID 0x3E Keep Alive Logic
Click to Enlarge

Visualizing the P3 Timer reset mechanism.

Negative Response Codes

Logic_Exceptions

Critical_Error_Paths

NRC_0x12

Sub-function Not Supported

You sent a sub-function other than 0x00 or 0x80.
SEQ_DIAGRAM_DUMPOFFSET_0x7F

Sub-function Not Supported Flow

2 steps
Tester
ECU
NRC_0x13

Incorrect Message Length

The message was not exactly 2 bytes long.
SEQ_DIAGRAM_DUMPOFFSET_0x7F

Incorrect Message Length Flow

2 steps
Tester
ECU