ndDiagFrameSend
- Updated2025-10-07
- 1 minute(s) read
Purpose
Sends a raw CAN frame on the diagnostic CAN ID to check for errors in the transport protocol implementation of an ECU.
Format
long ndDiagFrameSend(
TD1 *diagRef,
unsigned char dataIn[],
long len);
Input
diagRef
Specifies the diagnostic session handle, obtained from ndOpenDiagnosticOnCANFD and passed to subsequent diagnostic functions. Normally, it is not necessary to manually manipulate the elements of this struct.
dataIn
Array of up to 8Â bytes for standard CAN, or up to 64Â bytes for CAN FD, sent as CAN payload on the diagnostic identifier.
len
Must contain the number of (valid) data bytes in dataIn. Output
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.
DescriptionndDiagFrameSend transmits an arbitrary raw CAN frame on the diagnostic CAN identifier. For example, you can check the transport protocol implementation of an ECU for robustness if erroneous protocol requests are issued.