LEMON Manuals: Even more car manuals for everyone: 1960-2025
Home >> Mercedes Benz >> 2024 >> Sprinter 3500XD Van Cargo Extended, 4WD >> Repair and Diagnosis (Single Page) >> TMC Recommended Practices >> Onboard Vehicle Electronics >> RP 1210D - Windows (TM) Communication API >> RP 1210D - Windows(TM) Communication API >> VDA And Application Developer Notes >> VDA Behavior For RP1210_CLIENTCONNECT () And Auto Baud
April 5, 2026: LEMON Manuals is launched! Read the announcement.

VDA Behavior For RP1210_CLIENTCONNECT () And Auto Baud

As of mid-2016, there were still issues with how the automatic baud rate detection is handled by major OEM applications and major VDA vendors. When CAN automatic baud rate detection was added to the specification, the emphasis was to continue with the "dumb adapter, intelligent application" concept to try and keep advanced functionality in the application and not in the API or in the VDA.

The way automatic baud rate detection in an application was supposed to work was as follows:

  1. Connect using auto baud.
  2. Set all filters to pass.
  3. Loop X seconds or until baud found.
    1. If successful getting baud rate, begin reading/writing, etc...
    2. If not successful, tell user to turn key on, check cables, etc...

However, it has been discovered that several OEM applications are dependent on VDA vendors blocking on RP1210_ClientConnect  ("XXX:Baud=Auto") and doing the auto baud detection loop before returning control back to the application. This was not the intent; however, since the applications and VDAs have this implemented, it will be added to RP 1210D and the behavior will be fully defined.

If "Baud=Auto" appears in a CAN-based protocol connect string, The RP1210 APIA/DA will:

  1. Connect to the VDA device, asking the VDA device to determine/detect the CAN baud rate.
    1. This process can include the VDA attempting to provoke a response. For example, the sending a J1979 Mode 1 PID 0 (Request Mode 1 Supported PIDs) on a potential ISO15765 network.
  2. Will enter into a loop for [VendorInformation].AutoBaudCANConnectTimeout  milliseconds looking for the baud rate.
    1. If the oaud rate determination is successful, then the RP1210_ClientConnect ()  call will return a valid client ID as per normal operation.
    2. If the baud rate cannot be determined, the RP1210_ClientConnect ()ca\\car\  return either ERR_CAN-NOT_DETERMINE_BAUD_RATE or ERR_HARDWARE_NOT_RESPONDING. The mnemonic ERR_CANNOT_DETERMINE_BAUD_RATE is preferred as it is more specific, meaning that the connect to the VDA was OK, but that the auto baud detection failed. Since these return codes are NOT within the range of a valid nClientID,  the application should instruct the user to turn on the key, check the cable, connections, etc.

Anew INI file variable will be added. This variable is not mandatory, but allows the user or technical support staff to adjust the automatic baud rate detection timeout in the field. The default for all VDA vendors will be 3000 milliseconds (three seconds) which is sufficient if the databus is active.

The optional INI file variable is:

Fig 1: McMovin Lightsaber USB adapter
G15602273

If this INI variable is not present then the autobaud behavior previously defined in RP 1210C is assumed. OEM applications using the auto detect mechanism should be aware of the timeout and longer connect time and not interrupt or terminate a call to RP1210_ClientConnect ()  call that has asked a VDA to perform the auto baud process.