ndUDSWriteDataByIdentifier
- Updated2025-10-07
- 1 minute(s) read
Purpose
Executes the UDS WriteDataByIdentifier service. Writes a data record to the ECU.
Format
long ndUDSWriteDataByIdentifier(
TD1 *diagRef,
unsigned short ID,
unsigned char dataIn[],
long len,
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.
ID
Defines the identifier of the data to be read. The values are application specific.
dataIn
Defines the data record written to the ECU. If you know the record data description, use ndConvertFromPhys to generate this record.
len
Must contain the number of valid data bytes in dataIn. Output
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 performs the UDS service WriteDataByIdentifier and writes RecordValues (data values) into the ECU. dataIn identifies the data. The vehicle manufacturer must ensure the ECU conditions are met when performing this service. Typical use cases are clearing nonvolatile memory, resetting learned values, setting option content, setting the Vehicle Identification Number, or changing calibration values.
For further details about this service, refer to the ISO 15765-3 standard.