ndStartRoutineByLocalIdentifier
- Updated2025-10-07
- 2 minute(s) read
Purpose
Executes the StartRoutineByLocalIdentifier service. Executes a routine on the ECU.
Format
long ndStartRoutineByLocalIdentifier(
TD1 *diagRef,
unsigned char localID,
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.
localID
Defines the local identifier of the routine to be started. The values are application specific.
dataIn
Defines application-specific input parameters for the routine.
len
Must contain the number of valid data bytes in dataIn. Output
dataOut
Returns application-specific output parameters from the routine.
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.
DescriptionThis function starts a routine in the ECU memory. The ECU routine starts after the positive response message is sent. The routine stops until the ndStopRoutineByLocalIdentifier function and corresponding service are issued. The routines could be either tests that run instead of normal operating code or routines enabled and executed with the normal operating code running. In the first case, you may need to switch the ECU to a specific diagnostic mode using ndOpenDiagnosticOnCANFD or unlock the ECU using the SecurityAccess service prior to using ndStartRoutineByLocalIdentifier.
For further details about this service, refer to the ISO 14230-3 standard.