Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
This SAE Recommended Practice defines the Pass-Thru extended feature for TP2.0, specifying API functions, message structures, error handling, and discovery mechanisms for vehicle diagnostic systems using the TP2.0 protocol. It is part of the SAE J2534 series and is updated for API version 05.00.
Each feature in the original SAE J2534-2 document (API version 04.04) is now published as a separate document for ease of maintenance and extensibility. The TP2.0 feature set is updated to be compatible with SAE J2534-1_0500 (API version 05.00) and addresses feedback from the field. The protocol requires specific connector/pin combinations (see Table 1 in the standard) and defines minimal buffer sizes to ensure reliable communication.
| Buffer Type | Minimum Size |
|---|---|
| Receive Buffer | 4096 bytes |
| Transmit Buffer | 4096 bytes |
The Win32 API includes functions such as PassThruLogicalConnect, PassThruLogicalDisconnect, PassThruQueueMsgs, PassThruStartPeriodicMsg, and PassThruIoctl. The message structure adheres to the C/C++ definitions provided in Section 7.2. The API enforces format checks on messages passed to the API and defines conventions for returning messages. For PassThruLogicalConnect, connect flag values and return values are critical to proper implementation (see Tables 10–15 in the standard).
Engineering Design Insight: The modular design separating TP2.0 extended features from the core J2534-1 specification simplifies maintenance and enables backward compatibility. Specific pin usage and minimal buffer sizes are tailored to the TP2.0 protocol, reducing resource consumption while ensuring deterministic behavior.
Section 6.4 of the standard outlines error handling for device not connected, receive buffer overflow, message termination, network errors, and message timeout. The IOCTL section supports commands like GET_CONFIG/SET_CONFIG, CLEAR_TX_QUEUE, CLEAR_RX_QUEUE, CLEAR_PERIODIC_MSGS, REQUEST_CONNECTION, and TEARDOWN_CONNECTION. Network errors are enumerated in Table 4 with specific descriptions.
The standard specifies minimum receive and transmit buffers of 4096 bytes. Always allocate at least this amount to prevent overflow and ensure reliable message handling.
Network errors are described in Table 4 of the standard. Implement robust error checking after each API call, and use the GET_CONFIG and SET_CONFIG IOCTL commands to query or adjust parameters when errors occur.
Common mistakes include using incorrect pin combinations, allocating insufficient buffer sizes, misusing IOCTL commands like CLEAR_TX_QUEUE, and ignoring protocol-specific format checks. Always cross-reference your implementation with the format rules in Section 7.2.4.
Separating the TP2.0 extended features into its own document (instead of bundling with J2534-2) makes the standard easier to maintain and extend. It also allows cleaner backward compatibility with API version 05.00.