Purpose

Executes the OBD Request Control Of On-Board Device service. Modifies ECU I/O port behavior.

Format

        long ndOBDRequestControlOfOnBoardDevice(
       TD1 *diagRef,
       unsigned char TID,
       unsigned char dataIn[],
       long len,
       unsigned char dataOut[],
       long *len2,
       LVBoolean *success);
      

Input

diagRef

Specifies the diagnostic session handle, obtained from ndOpenDiagnosticOnCANFD or ndOpenDiagnosticOnIPStack and passed to subsequent diagnostic functions. Normally, it is not necessary to manually manipulate the elements of this struct.

TID

Defines the test identifier of the I/O to be manipulated. The values are application specific.

dataIn

Defines application-specific data for this service.

len

Must contain the number of valid data bytes in dataIn. Output

dataOut

Returns application-specific data for this service.

len2

On input, len2 must contain the dataOut array length. On return, it contains the number of valid data bytes in the dataOut array.

success

Indicates successful receipt of a positive response message for this diagnostic service.

Return Value

The return value indicates the function call status as a signed 32-bit integer. Zero means the function executed successfully. A negative value specifies an error, which means the function did not perform the expected behavior. A positive value specifies a warning, which means the function performed as expected, but a condition arose that may require attention.

Use the ndStatusToString function to obtain a descriptive string for the return value.