RP 1210

Brief introduction to RP1210

RP 1210 is a proven programming interface initiated through the “Recommended Engineering and Maintenance Practice” of the Technology & Maintenance Council (TMC) and the American Trucking Associations (ATA). This interface primarily enables access to vehicle communication interfaces (VCIs) in the truck sector. RP 1210 allows access to J1708/J1587, CAN, J1939, and J1850 bus systems. Key use cases include programming, diagnostics, and analysis. Much like SAE J2534, the diagnostic interface can be used independently of the OEM—a clear advantage for workshops.

Overview

The following diagram shows a simplified workflow of how an application uses RP1210:

Figure: Simplified process RP 1210
Simplified process RP 1210


RP1210_SendMessage transfers a byte buffer to the RP1210 library. The application is responsible for ensuring that the buffer content is in the format appropriate for the protocol. For ISO15765, for example, the format is as follows:
1 byte (Message Type) + 4 bytes (CAN ID) + 1 byte (Extended Address) + (0–4096) message bytes

RP1210_ReadMessage returns a byte buffer, the format of which depends on the protocol. For ISO15765, the following information is added to the beginning of the buffer in addition to the format described above:
4 bytes (time stamp) + 0/1 (echo) + 1 byte (indication status)

Echo: when enabled, indicates whether the client originally sent the message. If echo mode is disabled, this byte is not present.
Indication Status: Message acknowledged, error occurred, first message of a segment (first frame of a multi-frame message).

The API offers the following functions:

FunctionDescription
RP1210_ClientConnectEstablishing a logical connection to the RP 1210 DLL.
RP1210_ClientDisconnectTerminating the logical connection to the RP 1210 DLL.
RP1210_SendMessageSends a message to the RP 1210 DLL.
RP1210_ReadMessageReads a message from the RP 1210 DLL.
RP1210_SendCommandSends a command to the RP 1210 DLL.
RP1210_GetErrorMsgTranslates an RP 1210 error code into text.
RP1210_GetLastErrorMsgTranslates an RP 1210 error code into a more detailed text.
RP1210_GetHardwareStatusReturns the connection status.
RP1210_ReadVersionReads the version information of the RP 1210 API DLL via the API.
RP1210_ReadDetailedVersionReads the version information of the RP 1210 API DLL via the API (new preferred version).
RP1210_IoctlUsed to change the status of vehicle communication. This was introduced in RP1210B and is currently used by RP1210 only for ISO9141 and KWP2000 communication. This function enables the future development of RP1210 to support additional automotive protocols.
RP1210 API Functions

Features

  • Multiple client applications can access the same vehicle bus in parallel.
  • It is the task of the client application to assign the messages to the corresponding control units.
  • Pure C API with 11 functions
  • Error Handling by Evaluating Return Values (No Exceptions)
  • Specified primarily for Windows

Since RP 1210 is a relatively simple programming interface, a large part of the logic must be handled by the application itself.

Integration into an Application

Every RP 1210 installation includes an .INI file and a .DLL file. The RP 1210 specification mandates the format for the filenames and their paths.

File typeInstallation pathFile name
INIGetSystemWindowsDirectory – WIN APIVENDRX32.ini
DLLGetSystemDirectory() – WIN APIVENDRX32.dll
RP1210 API Functions

VENDRX is the manufacturer name of the interface.

Scroll to Top