Logo
中文版
详情联系: neusar-support@reachauto.com
API 文档

1 引言

1.1 目的(Goal)

1.2 范围(Scope)

1.3 参考文档(Reference)

编号(No.)SVN路径/文档名(Document Name)文档版本(Revision)
1《ISO 14229-1-2020》2020

1.4 术语及缩略语(Term and abbreviations)

编号 No缩写 Term/Abbreviation说明 Description

2. DataType

2.1 SessionControl

NameSessionControl
Kind:struct
Description:The DiagnosticSessionControl service response message.
Symbol:asf::diag::proxy::app::SessionControl
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct SessionControl { uint8_t success; uint8_t response_sid; uint32_t session_parameter_record; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidDiagnosticSessionControl Response SID(initial value 0)
uint32_t session_parameter_recordThis parameter record contains session specific parameter values reported by the server.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.2 ECUReset

NameECUReset
Kind:struct
Description:The ECUReset service response message.
Symbol:asf::diag::proxy::app:: ECUReset
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct ECUReset { uint8_t success; uint8_t response_sid; uint8_t sub_function; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidECUReset Response SID(initial value 0)
uint8_t sub_functionresetType
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.3 ClearDiagnosticInformation

NameClearDiagnosticInformation
Kind:struct
Description:The ClearDiagnosticInformation service response message.
Symbol:asf::diag::proxy::app:: ClearDiagnosticInformation
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct ClearDiagnosticInformation { uint8_t success; uint8_t response_sid; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidClearDiagnosticInformation Positive Response SID(initial value 0)
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.4 ReadDataByIdentifier

NameReadDataByIdentifier
Kind:struct
Description:The ReadDataByIdentifier service response message.
Symbol:asf::diag::proxy::app:: ReadDataByIdentifier
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct ReadDataByIdentifier { uint8_t success; uint8_t response_sid; uint16_t did; std::vector<uint8_t> data; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidReadDataByIdentifier Response SID(initial value 0)
uint16_t didThis parameter is an echo of the data-parameter dataIdentifier from the request message.
std::vector<uint8_t> dataThis parameter is used by the ReadDataByIdentifier positive response message to provide the requested data record values to the client.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.5 SecurityAccess

NameSecurityAccess
Kind:struct
Description:The SecurityAccess service response message.
Symbol:asf::diag::proxy::app:: SecurityAccess
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct SecurityAccess { uint8_t success; uint8_t response_sid; uint8_t sub_function; std::vector<uint8_t> data; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidSecurityAccess Response SID(initial value 0)
uint8_t sub_functionsecurityAccessType
std::vector<uint8_t> datasecuritySeed:The seed parameter is a data value sent by the server and is used by the client when calculating the key needed to access security.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.6 CommunicationControl

NameCommunicationControl
Kind:struct
Description:The CommunicationControl service response message.
Symbol:asf::diag::proxy::app:: CommunicationControl
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct CommunicationControl { uint8_t success; uint8_t response_sid; uint8_t sub_function; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidCommunicationControl Response SID(initial value 0)
uint8_t sub_functioncontrolType
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.7 WriteDataByIdentifier

NameWriteDataByIdentifier
Kind:struct
Description:The WriteDataByIdentifier service response message.
Symbol:asf::diag::proxy::app:: WriteDataByIdentifier
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct WriteDataByIdentifier { uint8_t success; uint8_t response_sid; uint16_t did; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidWriteDataByIdentifier Response SID(initial value 0)
uint16_t didThis parameter is an echo of the data-parameter dataIdentifier from the request message.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.8 RoutineControl

NameRoutineControl
Kind:struct
Description:The RoutineControl service response message.
Symbol:asf::diag::proxy::app:: RoutineControl
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct RoutineControl { uint8_t success; uint8_t response_sid; uint8_t sub_function; uint16_t routine_identifier; std::vector<uint8_t> routine_status_record; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidRoutineControl Response SID(initial value 0)
uint8_t sub_functionroutineControlType
uint16_t routine_identifierThis parameter is an echo of the routineIdentifier from the request message.
std::vector<uint8_t> routine_status_recordThe RoutineInfo byte encoding is vehicle manufacuter specific and provides a mechanism for the vehicle manufacturer to support generic external test equipment handling of all implemented routines based upon this returned value.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.9 RequestDownload

NameRequestDownload
Kind:struct
Description:The RequestDownload service response message.
Symbol:asf::diag::proxy::app:: RequestDownload
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct RequestDownload { uint8_t success; uint8_t response_sid; uint8_t length_format_identifier; std::vector<uint8_t> max_number_of_block_length; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidRequestDownload Response SID(initial value 0)
uint8_t length_format_identifierThe format of this parameter is compatible to the format of the addressAndLengthFormatIdentifier parameter contained in the request message, except that the lower nibble shall be set to '0'.
std::vector<uint8_t> max_number_of_block_lengthThis parameter is used by the requestDownload positive response message to inform the client how many data bytes (maxNumberOfBlockLength) to include in each TransferData request message from the client.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.10 RequestUpload

NameRequestUpload
Kind:struct
Description:The RequestUploadservice response message.
Symbol:asf::diag::proxy::app:: RequestUpload
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct RequestDownload { uint8_t success; uint8_t response_sid; uint8_t length_format_identifier; std::vector<uint8_t> max_number_of_block_length; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidRequestDownload Response SID(initial value 0)
uint8_t length_format_identifierThe format of this parameter is compatible to the format of the addressAndLengthFormatIdentifier parameter contained in the request message, except that the lower nibble shall be set to '0'.
std::vector<uint8_t> max_number_of_block_lengthThis parameter is used by the requestDownload positive response message to inform the client how many data bytes (maxNumberOfBlockLength) to include in each TransferData request message from the client.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.11 TransferData

NameTransferData
Kind:struct
Description:The TransferData service response message.
Symbol:asf::diag::proxy::app:: TransferData
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct TransferData { uint8_t success; uint8_t response_sid; uint8_t block_sequence_counter; std::vector<uint8_t> transfer_response_parameter_record; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidTransferData Response SID(initial value 0)
uint8_t block_sequence_counterThis parameter is an echo of the blockSequenceCounter parameter from the request message.
std::vector<uint8_t> transfer_response_parameter_recordThis parameter shall contain parameter(s), which are required by the client to support the transfer of data.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.12 RequestTransferExit

NameRequestTransferExit
Kind:struct
Description:The RequestTransferExit service response message.
Symbol:asf::diag::proxy::app:: RequestTransferExit
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct RequestTransferExit { uint8_t success; uint8_t response_sid; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidRequestTransferExit Response SID(initial value 0)
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.13 RequestFileTransfer

NameRequestFileTransfer
Kind:struct
Description:The RequestFileTransfer service response message.
Symbol:asf::diag::proxy::app:: RequestFileTransfer
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct RequestFileTransfer { uint8_t success; uint8_t response_sid; uint8_t mode_of_operation; uint8_t length_format_identifier; std::vector<uint8_t> max_number_of_block_length; uint8_t data_format_identifier; uint16_t file_size_or_dir_info_parameter_length; std::vector<uint8_t> file_size_uncompressed_or_dir_info_length; std::vector<uint8_t> file_size_compressed; std::vector<uint8_t> file_position; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidRequestFileTransfer Response SID(initial value 0)
uint8_t mode_of_operationThis is parameter echoes the value of the request.
uint8_t length_format_identifierSpecifies the length (number of bytes) of the maxNumberOfBlockLength parameter.
std::vector<uint8_t> max_number_of_block_lengthThis parameter is used by the requestFileTransfer positive response message to inform the client how many data bytes (maxNumberOfBlockLength) to include in each TransferData request message from the client or how many data bytes the server will include in a TransferData positive response when uploading data.
uint8_t data_format_identifierThis is parameter echoes the value of the request.
uint16_t file_size_or_dir_info_parameter_lengthSpecifies the length in bytes for both parameters fileSizeUncompressedOrDirInfoLength and fileSizeCompressed.
std::vector<uint8_t> file_size_uncompressed_or_dir_info_lengthSpecifies the size of the uncompressed file to be uploaded or the length of the directory information to be read in bytes.
std::vector<uint8_t> file_size_compressedSpecifies the size of the compressed file in bytes.
std::vector<uint8_t> file_positionSpecifies the byte position within the file at which the Tester will resume downloading after an initial download is suspended.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.14 TesterPresent

NameTesterPresent
Kind:struct
Description:The TesterPresent service response message.
Symbol:asf::diag::proxy::app:: TesterPresent
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct TesterPresent { uint8_t success; uint8_t response_sid; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidTesterPresent Response SID(initial value 0)
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.15 ControlDTCSetting

NameControlDTCSetting
Kind:struct
Description:The ControlDTCSetting service response message.
Symbol:asf::diag::proxy::app:: ControlDTCSetting
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct ControlDTCSetting { uint8_t success; uint8_t response_sid; uint8_t sub_function; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidControlDTCSetting Response SID(initial value 0)
uint8_t sub_functionDTCSettingType
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.16 AuthenticationReturnValue

NameAuthenticationReturnValue
Kind:struct
Description:The Authentication server response message.
Symbol:asf::diag::proxy::app:: AuthenticationReturnValue
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct AuthenticationReturnValue { uint8_t success; uint8_t response_sid; uint8_t return_value; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidResponse SID(initial value 0)
uint8_t return_valueThis parameter returns the result of the procedure on the server.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.17 VerifyCertificateUnidirectional

NameVerifyCertificateUnidirectional
Kind:struct
Description:The Authentication server response message.
Symbol:asf::diag::proxy::app:: VerifyCertificateUnidirectional
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct VerifyCertificateUnidirectional { uint8_t success; uint8_t response_sid; uint8_t return_value; uint16_t length_of_challenge_server; std::vector<uint8_t> challenge_server; uint16_t length_of_ephemeral_public_key_server; std::vector<uint8_t> ephemeral_public_key_server; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidResponse SID(initial value 0)
uint8_t return_valueThis parameter returns the result of the procedure on the server.
uint16_t length_of_challenge_serverLength parameter for the following challenge.
std::vector<uint8_t> challenge_serverThe challenge contains vehicle manufacturer specific formatted server data (eventually containing randomized information) or is a random number. This parameter record is to transmit the challenge to the client.
uint16_t length_of_ephemeral_public_key_serverLength parameter for ephemeralPublicKeyServer. The value of this field shall be 0000 if no private/public key pair is present.
std::vector<uint8_t> ephemeral_public_key_serverEphemeral public key generated by the server for Diffie-Hellman key agreement.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.18 VerifyCertificateBidirectional

NameVerifyCertificateBidirectional
Kind:struct
Description:The Authentication server response message.
Symbol:asf::diag::proxy::app:: VerifyCertificateBidirectional
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct VerifyCertificateBidirectional { uint8_t success; uint8_t response_sid; uint8_t return_value; uint16_t length_of_challenge_server; std::vector<uint8_t> challenge_server; uint16_t length_of_certificate_server; std::vector<uint8_t> certificate_server; uint16_t length_of_proof_of_ownership_server; std::vector<uint8_t> proof_of_ownership_server; uint16_t length_of_ephemeral_public_key_server; std::vector<uint8_t> ephemeral_public_key_server; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidResponse SID(initial value 0)
uint8_t return_valueThis parameter returns the result of the procedure on the server.
uint16_t length_of_challenge_serverLength parameter for the following challenge.
std::vector<uint8_t> challenge_serverThe challenge contains vehicle manufacturer specific formatted server data (eventually containing randomized information) or is a random number. This parameter record is to transmit the challenge to the client.
uint16_t length_of_certificate_serverLength parameter for the following Certificate.
std::vector<uint8_t> certificate_serverThe Certificate to verify.
uint16_t length_of_proof_of_ownership_serverLength parameter for the following Proof of Ownership.
std::vector<uint8_t> proof_of_ownership_serverProof of Ownership to be verified by the client.
uint16_t length_of_ephemeral_public_key_serverLength parameter for ephemeralPublicKeyServer. The value of this field shall be 0000 if no private/public key pair is present.
std::vector<uint8_t> ephemeral_public_key_serverEphemeral public key generated by the server for Diffie-Hellman key agreement.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.19 ProofOfOwnership

NameProofOfOwnership
Kind:struct
Description:The Authentication server response message.
Symbol:asf::diag::proxy::app:: ProofOfOwnership
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct ProofOfOwnership { uint8_t success; uint8_t response_sid; uint8_t return_value; uint16_t length_of_session_key_info; std::vector<uint8_t> session_key_info; uint8_t nrc; };
Values: uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidResponse SID(initial value 0)
uint8_t return_valueThis parameter returns the result of the procedure on the server.
uint16_t length_of_session_key_infoLength parameter for the following session key information, if it is present. The value of this field shall be 0000 if no session key information is present.
std::vector<uint8_t> session_key_infoIf present, this value shall contain session key information, e.g. the encrypted session key(s) for securing further communication in the actual session and/or proof value(s) (e.g. a hash value) for the validation of the session key(s) on the client side.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.20 DTCNumber

NameDTCNumber
Kind:struct
Description:The ReadDtcInformation server response message.
Symbol:asf::diag::proxy::app:: DTCNumber
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct DTCNumber { uint8_t success; uint8_t response_sid; uint8_t dtc_status_availability_mask; uint8_t dtc_format_identifier; uint16_t dtc_count; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidResponse SID(initial value 0)
uint8_t dtc_status_availability_maskA byte whose bits are defined the same as statusOfDTC and represents the status bits that are supported by the server. Bits that are not supported by the server shall be set to '0'. Each supported bit (indicated by a value of '1') shall be implemented for every DTC supported by the server.
std::vector<uint8_t> dtc_format_dentifierThis 1-byte parameter value specifies the format of a DTC reported by the server.
uint16_t dtc_countThis 2-byte parameter refers collectively to the DTCCountHighByte and DTCCountLowByte parameters that are sent in response to a reportNumberOfDTCByStatusMask request. DTCCount provides a count of the number of DTCs that match the DTCStatusMask defined in the client’s request.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.21 DTCAndState

NameDTCAndState
Kind:struct
Description:The ReadDtcInformation server response message.
Symbol:asf::diag::proxy::app:: DTCAndState
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct DTCAndState { uint8_t success; uint8_t response_sid; uint8_t dtc_status_availability_mask; std::vector<uint8_t> dtc_and_status_record; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidResponse SID(initial value 0)
uint8_t dtc_status_availability_mask;A byte whose bits are defined the same as statusOfDTC and represents the status bits that are supported by the server. Bits that are not supported by the server shall be set to '0'. Each supported bit (indicated by a value of '1') shall be implemented for every DTC supported by the server.
std::vector<uint8_t> dtc_and_status_recordThis parameter record contains one or more groupings of DTCHighByte, DTCMiddleByte, DTCLowByte and statusOfDTC if of ISO_14229-1_DTCFormat, SAE_J2012-DA_DTCFormat_00, SAE_J1939-73_DTCFormat, SAE_J2012-DA_DTCFormat_04 or ISO_11992-4_DTCFormat. The SAE_J1939-73_DTCFormat supports the SPN (Suspect Parameter Number), FMI (Failure Mode Identifier), and OC (Occurrence Counter) parameters. The SPN, FMI, and OC are defined in SAE J1939.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.22 DTCRecord

NameDTCRecord
Kind:struct
Description:The ReadDtcInformation server response message.
Symbol:asf::diag::proxy::app:: DTCRecord
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct DTCRecord { uint8_t success; uint8_t response_sid; std::vector<uint8_t> dtc_record; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidResponse SID(initial value 0)
std::vector<uint8_t> dtc_recordThis parameter record contains one or more groupings of DTCHighByte, DTCMiddleByte, and DTCLowByte. The interpretation of the DTCRecord depends on the value included in the DTCFormatIdentifier parameter as defined in this table.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.23 DTCSnapshotRecord

NameDTCSnapshotRecord
Kind:struct
Description:The ReadDtcInformation server response message.
Symbol:asf::diag::proxy::app:: DTCSnapshotRecord
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct DTCSnapshotRecord { uint8_t success; uint8_t response_sid; std::vector<uint8_t> dtc_and_status_record; std::vector<uint8_t> dtc_snapshot_record; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidResponse SID(initial value 0)
std::vector<uint8_t> dtc_and_status_recordThis parameter record contains one or more groupings of DTCHighByte, DTCMiddleByte, DTCLowByte and statusOfDTC if of ISO_14229-1_DTCFormat, SAE_J2012-DA_DTCFormat_00, SAE_J1939-73_DTCFormat, SAE_J2012-DA_DTCFormat_04 or ISO_11992-4_DTCFormat. The SAE_J1939-73_DTCFormat supports the SPN (Suspect Parameter Number), FMI (Failure Mode Identifier), and OC (Occurrence Counter) parameters. The SPN, FMI, and OC are defined in SAE J1939.
std::vector<uint8_t> dtc_snapshot_recordThe DTCSnapshotRecord contains a snapshot of data values from the time of the system malfunction occurrence.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.24 DTCExtDataRecord

NameDTCExtDataRecord
Kind:struct
Description:The ReadDtcInformation server response message.
Symbol:asf::diag::proxy::app:: DTCExtDataRecord
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct DTCExtDataRecord { uint8_t success; uint8_t response_sid; std::vector<uint8_t> dtc_and_status_record; std::vector<uint8_t> dtc_ext_data_record; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidResponse SID(initial value 0)
std::vector<uint8_t> dtc_and_status_recordThis parameter record contains one or more groupings of DTCHighByte, DTCMiddleByte, DTCLowByte and statusOfDTC if of ISO_14229-1_DTCFormat, SAE_J2012-DA_DTCFormat_00, SAE_J1939-73_DTCFormat, SAE_J2012-DA_DTCFormat_04 or ISO_11992-4_DTCFormat. The SAE_J1939-73_DTCFormat supports the SPN (Suspect Parameter Number), FMI (Failure Mode Identifier), and OC (Occurrence Counter) parameters. The SPN, FMI, and OC are defined in SAE J1939.
std::vector<uint8_t> dtc_ext_data_recordThe DTCExtDataRecord is a server specific block of information that may contain extended status information associated with a DTC. DTCExtendedData contains DTC parameter values, which have been identified at the time of the request.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

2.25 UdsResponse

NameUdsResponse
Kind:struct
Description:The response info of the functionally addressed uds requset.
Symbol:asf::diag::proxy::app:: UdsResponse
Scope:class asf::diag:: DoipOtaUpdateInterface
Syntax:struct UdsResponse { uint8_t success; uint8_t response_sid; std::vector<uint8_t> parameter; uint8_t nrc; };
Values:uint8_t successWhether sending and receiving is successful(1=success,0=fail)
uint8_t response_sidResponse id of the positive response or request id of the negative response.
std::vector<uint8_t> parameterpositive response parameter.
uint8_t nrcError code(initial value 0)
Header file:#include "ara/diag/proxy_app_com.h"

3. API

3.1 诊断代理接口函数

3.1.1 【SWSD-ASF-DIAG-API-PROXY-001】UdsSessionControl

NameUdsSessionControl
Kindfunction
DescriptionThe client requests to control a diagnostic session with a server(s)
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsSessionControl
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsSessionControl(uint16_t source_address, uint16_t target_address, uint8_t sub_function, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in)uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t sub_functionDiagnosticSessionType
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)SessionControlReturn struct
Return valueSessionControlReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
NoteIf the synchronization of the session control mode fails, the A/M core will automatically switch to the default session mode after the timeout of 5s.

3.1.2 【SWSD-ASF-DIAG-API-PROXY-002】UdsEcuReset

NameUdsEcuReset
Kindfunction
DescriptionThe client forces the server(s) to perform a reset.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsEcuReset
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsEcuReset(uint16_t source_address, uint16_t target_address, uint8_t sub_function, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t sub_functionresetType
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)ECUResetReturn struct
Return valueECUResetReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.3 【SWSD-ASF-DIAG-API-PROXY-003】UdsClearDiagnosticInformation

NameUdsClearDiagnosticInformation
Kindfunction
DescriptionAllows the client to clear diagnostic information from the server.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsClearDiagnosticInformation
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsClearDiagnosticInformation(uint16_t source_address, uint16_t target_address, std::vector<uint8_t> group_of_dtc, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
std::vector<uint8_t> group_of_dtcThis parameter contains a 3-Byte value indicating the group of DTCs or the particular DTC to be cleared.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)ClearDiagnosticInformationReturn struct
Return valueClearDiagnosticInformationReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.4 【SWSD-ASF-DIAG-API-PROXY-004】UdsReadDataByIdentifier

NameUdsReadDataByIdentifier
Kindfunction
DescriptionThe client requests to read the current value of a record identified by a provided dataIdentifier.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsReadDataByIdentifier
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsReadDataByIdentifier(uint16_t source_address, uint16_t target_address, uint16_t did, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint16_t didThis parameter identifies the server data record(s) that are being requested by the client.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)ReadDataByIdentifierReturn struct
Return valueReadDataByIdentifierReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.5 【SWSD-ASF-DIAG-API-PROXY-005】UdsSecurityAccessSeed

NameUdsSecurityAccessSeed
Kindfunction
DescriptionCalled for any request messsage.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsSecurityAccessSeed
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsSecurityAccessSeed(uint16_t source_address, uint16_t target_address, uint8_t sub_function, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t sub_functionsecurityAccessType = requestSeed
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)SecurityAccessReturn struct
Return valueSecurityAccessReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
NoteIf the synchronization of the security access level fails, the A/M core will automatically switch to the default security access level after the timeout of 5 seconds.

3.1.6 【SWSD-ASF-DIAG-API-PROXY-006】UdsSecurityAccessKey

NameUdsSecurityAccessKey
Kindfunction
DescriptionThis method is called, when a diagnostic request has been finished, to notify about the outcome.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsSecurityAccessKey
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsSecurityAccessKey(uint16_t source_address, uint16_t target_address, uint8_t sub_function, std::vector<uint8_t> security_key, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t sub_functionsecurityAccessType = sendKey
std::vector<uint8_t> security_keyThe “Key” parameter in the request message is the value generated by the security algorithm corresponding to a specific “Seed” value
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)SecurityAccessReturn struct
Return valueSecurityAccessReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
NoteIf the synchronization of the security access level fails, the A/M core will automatically switch to the default security access level after the timeout of 5 seconds.

3.1.7 【SWSD-ASF-DIAG-API-PROXY-007】UdsCommunicationControl

NameUdsCommunicationControl
Kindfunction
DescriptionThe purpose of this service is to switch on/off the transmission and/or the reception of certain messages of (a) server(s).
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsCommunicationControl
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsCommunicationControl(uint16_t source_address, uint16_t target_address, uint8_t sub_function, uint8_t communication_type, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t sub_functioncontrolType
uint8_t communication_typeThis parameter is used to reference the kind of communication to be controlled. The communicationType parameter is a bit-code value, which allows controlling multiple communication types at the same time.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)CommunicationControlReturn struct
Return valueCommunicationControlReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.8 【SWSD-ASF-DIAG-API-PROXY-008】UdsWriteDataByIdentifier

NameUdsWriteDataByIdentifier
Kindfunction
DescriptionThe client requests to write a record specified by a provided dataIdentifier.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsWriteDataByIdentifier
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsWriteDataByIdentifier(uint16_t source_address, uint16_t target_address, uint16_t did, std::vector<uint8_t> data_record, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint16_t didThis parameter identifies the server data record that the client is requesting to write to.
std::vector<uint8_t> data_recordThis parameter provides the data record associated with the dataIdentifier that the client is requesting to write to.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)WriteDataByIdentifierReturn struct
Return valueWriteDataByIdentifierReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.9 【SWSD-ASF-DIAG-API-PROXY-009】UdsRoutineControl

NameUdsRoutineControl
Kindfunction
DescriptionThe client requests to start, stop a routine in the server(s) or requests the routine results.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsRoutineControl
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsRoutineControl(uint16_t source_address, uint16_t target_address, uint8_t sub_function, uint16_t routine_identifier, std::vector<uint8_t> routine_control_option_record, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t sub_functionroutineControlType
uint16_t routine_identifierThis parameter shall identify a server local routine.
std::vector<uint8_t> routine_control_option_recordThis parameter record contains either: 1. routine entry option parameters, which optionally specify start conditions of the routine;2.routine exit option parameters which optionally specify stop conditions of the routine;3.request Routine Results option parameters.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)RoutineControlReturn struct
Return valueRoutineControlReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.10 【SWSD-ASF-DIAG-API-PROXY-010】UdsRequestDownload

NameUdsRequestDownload
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsRequestDownload
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsRequestDownload(uint16_t source_address, uint16_t target_address, uint8_t data_format_identifier, uint8_t address_and_length_format_identifier, std::vector<uint8_t> memory_address, std::vector<uint8_t> memory_size, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t data_format_identifierThis data-parameter is a one Byte value with each nibble encoded separately. The high nibble specifies the "compressionMethod", and the low nibble specifies the "encryptingMethod". The value 00 specifies that neither compressionMethod nor encryptingMethod is used. Values other than 00 are vehicle manufacturer specific.
uint8_t address_and_length_format_identifierThis parameter is a one Byte value with each nibble encoded separately :1.bit 7 - 4: Length (number of bytes) of the memorySize parameter ;2. bit 3 - 0: Length (number of bytes) of the memoryAddress paramete.
std::vector<uint8_t> memory_addressThe parameter memoryAddress is the starting address of the server memory where the data is to be written to.
std::vector<uint8_t> memory_sizeThis parameter shall be used by the server to compare the memory size with the total amount of data transferred during the TransferData service.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)RequestDownloadReturn struct
Return valueRequestDownloadReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.11 【SWSD-ASF-DIAG-API-PROXY-011】UdsRequestUpload

NameUdsRequestUpload
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsRequestUpload
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsRequestUpload (uint16_t source_address, uint16_t target_address, uint8_t data_format_identifier, uint8_t address_and_length_format_identifier, std::vector<uint8_t> memory_address, std::vector<uint8_t> memory_size, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t data_format_identifierThis data-parameter is a one Byte value with each nibble encoded separately. The high nibble specifies the "compressionMethod", and the low nibble specifies the "encryptingMethod". The value 00 specifies that neither compressionMethod nor encryptingMethod is used. Values other than 00 are vehicle manufacturer specific.
uint8_t address_and_length_format_identifierThis parameter is a one Byte value with each nibble encoded separately :1.bit 7 - 4: Length (number of bytes) of the memorySize parameter ;2. bit 3 - 0: Length (number of bytes) of the memoryAddress paramete.
std::vector<uint8_t> memory_addressThe parameter memoryAddress is the starting address of the server memory where the data is to be written to.
std::vector<uint8_t> memory_sizeThis parameter shall be used by the server to compare the memory size with the total amount of data transferred during the TransferData service.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)RequestUploadReturn struct
Return valueRequestUploadReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.12 【SWSD-ASF-DIAG-API-PROXY-012】UdsTransferData

NameUdsTransferData
Kindfunction
DescriptionThe client transmits data to the server (download) or requests data from the server (upload).
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsTransferData
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsTransferData(uint16_t source_address, uint16_t target_address, uint8_t block_sequence_counter, std::vector<uint8_t> transfer_request_parameter_record, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t block_sequence_counterThe blockSequenceCounter parameter value starts at 01 with the first TransferData request that follows the RequestDownload (34) or RequestUpload (35) or RequestFileTransfer (38) service. Its value is incremented by 1 for each subsequent TransferData request
std::vector<uint8_t> transfer_request_parameter_recordThis parameter record contains parameter(s) which are required by the server to support the transfer of data.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)TransferDataReturn struct
Return valueTransferDataReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.13 【SWSD-ASF-DIAG-API-PROXY-013】UdsRequestTransferExit

NameUdsRequestTransferExit
Kindfunction
DescriptionThe client requests the termination of a data transfer.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsRequestTransferExit
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsRequestTransferExit(uint16_t source_address, uint16_t target_address, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)RequestTransferExitReturn struct
Return valueRequestTransferExitReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.14 【SWSD-ASF-DIAG-API-PROXY-014】UdsRequestFileTransfer

NameUdsRequestFileTransfer
Kindfunction
DescriptionThe client requests the negotiation of a file transfer between server and client.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsRequestFileTransfer
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsRequestFileTransfer(uint16_t source_address, uint16_t target_address, uint8_t mode_of_operation, uint16_t file_path_and_name_length, std::vector<uint8_t> file_path_and_name, uint8_t data_format_identifier, uint8_t file_size_parameter_length, std::vector<uint8_t> file_size_uncompressed, std::vector<uint8_t> file_size_compressed, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t mode_of_operationThis data-parameter specifies the type of operation to be applied to the file or directory indicated in the filePathAndName parameter.
uint16_t file_path_and_name_lengthSpecifies the length in byte for the parameter filePath.
std::vector<uint8_t> file_path_and_nameSpecifies the file system location of the server where the file which shall be added, deleted, replaced or read from depending on the parameter modeOfOperation parameter.
uint8_t data_format_identifierThis data-parameter is a one Byte value with each nibble encoded separately.
uint8_t file_size_parameter_lengthSpecifies the length in bytes for both parameters fileSizeUncompressed and fileSizeCompressed.
std::vector<uint8_t> file_size_uncompressedSpecifies the size of the uncompressed file in bytes.
std::vector<uint8_t> file_size_compressedSpecifies the size of the compressed file in bytes.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)RequestFileTransferReturn struct
Return valueRequestFileTransferReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.15 【SWSD-ASF-DIAG-API-PROXY-015】UdsTesterPresent

NameUdsTesterPresent
Kindfunction
DescriptionThe client indicates to the server(s) that it is still present.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsTesterPresent
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsTesterPresent(uint16_t source_address, uint16_t target_address, uint8_t sub_function, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t sub_functionzeroSubFunction
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)TesterPresentReturn struct
Return valueTesterPresentReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.16 【SWSD-ASF-DIAG-API-PROXY-016】UdsControlDtcSetting

NameUdsControlDtcSetting
Kindfunction
DescriptionThe client controls the setting of DTCs in the server.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsControlDtcSetting
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsControlDtcSetting(uint16_t source_address, uint16_t target_address, uint8_t sub_function, std::vector<uint8_t> dtc_setting_control_option_record, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t sub_functionDTCSettingType
std::vector<uint8_t> dtc_setting_control_option_recordThis parameter record is user optional to transmit data to a server when controlling the updating of DTC status bits.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)ControlDTCSettingReturn struct
Return valueControlDTCSettingReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.17 【SWSD-ASF-DIAG-API-PROXY-017】UdsDeAuthenticate

NameUdsDeAuthenticate
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsDeAuthenticate
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsDeAuthenticate(uint16_t source_address, uint16_t target_address, uint16_t p2_client = 500, uint16_t p2_star_client = 5000, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)AuthenticationReturnValueReturn struct
Return valueAuthenticationReturnValueReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.18 【SWSD-ASF-DIAG-API-PROXY-018】UdsVerifyCertificateUnidirectional

NameUdsVerifyCertificateUnidirectional
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsVerifyCertificateUnidirectional
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsVerifyCertificateUnidirectional(uint16_t source_address, uint16_t target_address, uint8_t communication_onfiguration, uint16_t length_of_certificate_client, std::vector<uint8_t> certificate_client, uint16_t length_of_challenge_client, std::vector<uint8_t> challenge_client, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t communication_onfigurationConfiguration information about how to proceed with security in further diagnostic communication after the Authentication.
uint16_t length_of_certificate_clientLength parameter for certificateClient.
std::vector<uint8_t> certificate_clientThe Certificate to verify.
uint16_t length_of_challenge_clientLength parameter for challengeClient.
std::vector<uint8_t> challenge_clientThe challenge contains vehicle manufacturer specific formatted client data (likely containing randomized information) or is a random number. This parameter record is to transmit the challenge to the server.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)VerifyCertificateUnidirectionalReturn struct
Return valueVerifyCertificateUnidirectionalReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.19 【SWSD-ASF-DIAG-API-PROXY-019】UdsVerifyCertificateBidirectional

NameUdsVerifyCertificateBidirectional
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsVerifyCertificateUnidirectional
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsVerifyCertificateBidirectional(uint16_t source_address, uint16_t target_address, uint8_t communication_onfiguration, uint16_t length_of_certificate_client, std::vector<uint8_t> certificate_client, uint16_t length_of_challenge_client, std::vector<uint8_t> challenge_client, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t communication_onfigurationConfiguration information about how to proceed with security in further diagnostic communication after the Authentication.
uint16_t length_of_certificate_clientLength parameter for certificateClient.
std::vector<uint8_t> certificate_clientThe Certificate to verify.
uint16_t length_of_challenge_clientLength parameter for challengeClient.
std::vector<uint8_t> challenge_clientThe challenge contains vehicle manufacturer specific formatted client data (likely containing randomized information) or is a random number. This parameter record is to transmit the challenge to the server.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)VerifyCertificateBidirectionalReturn struct
Return valueVerifyCertificateBidirectionalReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.20 【SWSD-ASF-DIAG-API-PROXY-020】UdsProofOfOwnership

NameUdsProofOfOwnership
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsVerifyCertificateUnidirectional
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsProofOfOwnership(uint16_t source_address, uint16_t target_address, uint16_t length_of_proof_of_ownership_client, std::vector<uint8_t> proof_of_ownership_client, uint16_t length_of_ephemeral_public_key_client, std::vector<uint8_t> ephemeral_public_key_client, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint16_t length_of_proof_of_ownership_clientLength parameter for proofOfOwnershipClient.
std::vector<uint8_t> proof_of_ownership_clientProof of Ownership of the previous given challenge to be verified by the server.
uint16_t length_of_ephemeral_public_key_clientLength parameter for ephemeralPublicKeyClient, The value of this field shall be 0000 if no private/public key pair is present.
std::vector<uint8_t> ephemeral_public_key_clientEphemeral public key generated by the client for Diffie-Hellman key agreement.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)ProofOfOwnershipReturn struct
Return valueProofOfOwnershipReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.21 【SWSD-ASF-DIAG-API-PROXY-021】UdsTransmitCertificate

NameUdsTransmitCertificate
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsTransmitCertificate
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsTransmitCertificate(uint16_t source_address, uint16_t target_address, uint16_t certificate_evaluation_id, uint16_t length_of_certificate_data, std::vector<uint8_t> certificate_data, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint16_t certificate_evaluation_idA unique ID to identify the evaluation type of the transmitted certificate. The value of this parameter is vehicle manufactuer specific. Subsequent diagnostic requests with the same evaluationTypeId will overwrite the certificate data of the previous requests.
uint16_t length_of_certificate_dataLength parameter for certificateData.
std::vector<uint8_t> certificate_dataThe Certificate to verify.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)AuthenticationReturnValueReturn struct
Return valueAuthenticationReturnValueReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.22 【SWSD-ASF-DIAG-API-PROXY-022】UdsAuthenticationConfiguration

NameUdsAuthenticationConfiguration
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsAuthenticationConfiguration
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsAuthenticationConfiguration(uint16_t source_address, uint16_t target_address, uint16_t p2_client = 500, uint16_t p2_star_client = 5000, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)AuthenticationReturnValueReturn struct
Return valueAuthenticationReturnValueReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.23 【SWSD-ASF-DIAG-API-PROXY-023】UdsReportNumberOfDTCByStatusMask

NameUdsReportNumberOfDTCByStatusMask
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy::DoipOtaUpdateInterface::UdsReportNumberOfDTCByStatusMask
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsReportNumberOfDTCByStatusMask(uint16_t source_address, uint16_t target_address, uint8_t dtc_status_mask, uint16_t p2_client = 500, uint16_t p2_star_client = 5000, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t dtc_status_maskThe DTCStatusMask contains eight (8) DTC status bits.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)DTCNumberReturn struct
Return valueDTCNumberReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.24 【SWSD-ASF-DIAG-API-PROXY-024】UdsReportDTCByStatusMask

NameUdsReportDTCByStatusMask
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy::DoipOtaUpdateInterface:: UdsReportDTCByStatusMask
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsReportDTCByStatusMask(uint16_t source_address, uint16_t target_address, uint8_t dtc_status_mask, uint16_t p2_client = 500, uint16_t p2_star_client = 5000, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint8_t dtc_status_maskThe DTCStatusMask contains eight (8) DTC status bits.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)DTCAndStateReturn struct
Return valueDTCAndStateReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.25 【SWSD-ASF-DIAG-API-PROXY-025】UdsReportDTCSnapshotIdentification

NameUdsReportDTCSnapshotIdentification
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy::DoipOtaUpdateInterface::UdsReportDTCSnapshotIdentification
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsReportDTCSnapshotIdentification(uint16_t source_address, uint16_t target_address, uint16_t p2_client = 500, uint16_t p2_star_client = 5000, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)DTCRecordReturn struct
Return valueDTCRecordReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.26 【SWSD-ASF-DIAG-API-PROXY-026】UdsReportDTCSnapshotRecordByDTCNumber

NameUdsReportDTCSnapshotRecordByDTCNumber
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy::DoipOtaUpdateInterface::UdsReportDTCSnapshotRecordByDTCNumber
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsReportDTCSnapshotRecordByDTCNumber(uint16_t source_address, uint16_t target_address, std::vector<uint8_t> dtc_mask_record, uint8_t dtc_snapshot_record_number, uint16_t p2_client = 500, uint16_t p2_star_client = 5000, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
std::vector<uint8_t> dtc_mask_recordDTCMaskRecord is a 3-Byte value containing DTCHighByte, DTCMiddleByte and DTCLowByte, which together represent a unique identification number for a specific diagnostic trouble code supported by a server.
uint8_t dtc_snapshot_record_numberUserDefDTCSnapshotRecordNumber is a 1-Byte value indicating the number of the specific DTCSnapshot data record requested for a client defined DTCMaskRecord via the reportDTCSnapshotByDTCNumber SubFunction.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)DTCSnapshotRecordReturn struct
Return valueDTCSnapshotRecordReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.27 【SWSD-ASF-DIAG-API-PROXY-027】UdsReportDTCExtDataRecordByDTCNumber

NameUdsReportDTCExtDataRecordByDTCNumber
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy::DoipOtaUpdateInterface::UdsReportDTCExtDataRecordByDTCNumber
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
Syntax(uint16_t source_address, uint16_t target_address, std::vector<uint8_t> dtc_mask_record, uint8_t dtc_ext_data_record_number, uint16_t p2_client = 500, uint16_t p2_star_client = 5000, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
std::vector<uint8_t> dtc_mask_recordDTCMaskRecord is a 3-Byte value containing DTCHighByte, DTCMiddleByte and DTCLowByte, which together represent a unique identification number for a specific diagnostic trouble code supported by a server.
uint8_t dtc_ext_data_record_numberDTCExtDataRecordNumber is a 1-Byte value indicating the number of the specific DTCExtendedData record requested for a client defined DTCMaskRecord via the reportDTCExtDataRecordByDTCNumber and reportDTCExtDataRecordByRecordNumber SubFunction.
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)DTCExtDataRecordReturn struct
Return valueDTCExtDataRecordReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.28 【SWSD-ASF-DIAG-API-PROXY-028】UdsReportSupportedDTC

NameUdsReportSupportedDTC
Kindfunction
DescriptionThe client requests the negotiation of a data transfer from the client to the server.
Symbolasf::diag::proxy::DoipOtaUpdateInterface:: UdsReportSupportedDTC
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
Syntax(uint16_t source_address, uint16_t target_address, uint16_t p2_client = 500, uint16_t p2_star_client = 5000, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)DTCAndStateReturn struct
Return valueDTCAndStateReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.29 【SWSD-ASF-DIAG-API-PROXY-029】UdsFunctionallyAddressed

NameUdsFunctionallyAddressed
Kindfunction
DescriptionSend Functionally addressed request.
Symbolasf::diag::proxy:: DoipOtaUpdateInterface:: UdsFunctionallyAddressed
Scopeclass asf::diag:: DoipOtaUpdateInterface
Visibility-
SyntaxUdsFunctionallyAddressed (uint16_t source_address, uint16_t target_address, uint16_t target_ecu_address, uint8_t service_id, std::vector<uint8_t> parameter, uint16_t p2_client, uint16_t p2_star_client, uint16_t max_num_of_pending)
Parameters (in) uint16_t source_addressSource address
uint16_t target_addressTarget address
uint16_t target_ecu_addressTarget ECU address
uint8_t service_idUDS service id
std::vector<uint8_t> parameterUDS service parameter
uint16_t p2_clientTimeout for the client to wait after the successful transmission of a request message for the start of incoming response messages.The default time is 500ms
uint16_t p2_star_clientEnhanced timeout for the client to wait after the reception of a negative response message with negative response code 0x78 for the start of incoming response messages .The default time is 5000ms
Parameters (inout)none
Parameters (out)UdsResponseReturn struct
Return valueUdsResponseReturn struct
Exception Safety
Thread Safety
Header file#include " ara/diag/doip_OtaUpdate_interface.h"
Note

3.1.30 【SWSD-ASF-DIAG-API-PROXY-030】ReportAuthenticationResult

NameReportAuthenticationResult
Kindfunction
DescriptionReport authentication result
Symbolasf::diag::ProxyReportAuthenticationResult::ReportAuthenticationResult
Scopeclass asf::diag:: ProxyReportAuthenticationResult
Visibility-
Syntaxasf::core::Result<void> ReportAuthenticationResult(std::uint8_t result);
Parameters (in) std::uint8_t resultThe certification results
Parameters (inout)none
Parameters (out)asf::core::Result<void>a Result with either void or an error
Return valueasf::core::Result<void>a Result with either void or an error
Exception Safetynone
Thread Safety
Header file#include "ara/diag/report_authentication_result.h "
Note

3.1.31 【SWSD-ASF-DIAG-API-PROXY-031】HandleAuthenticationStateChange

NameHandleAuthenticationStateChange
Kindfunction
DescriptionHandle authentication state change
Symbolasf::diag::ProxyReportAuthenticationResult::HandleAuthenticationStateChange
Scopeclass asf::diag:: ProxyHandleAuthenticationState
Visibility-
Syntaxasf::core::Result<void> HandleAuthenticationStateChange(uint8_t state) = 0;
Parameters (in) std::uint8_t stateThe authentication results
Parameters (inout)none
Parameters (out)asf::core::Result<void>a Result with either void or an error
Return valueasf::core::Result<void>a Result with either void or an error
Exception Safetynone
Thread Safety
Header file#include "ara/diag/handler_authentication_state.h "
Note

4. Service Interface

4.1 Provided Service Interface

4.1.1 Port

4.1.1.1 PortName

Interface ID
ASIL
Name
KindInterface
Description
Variation

4.1.2 Service Interface

附录A 信息定义

TypeStructureComment
Interface IDSWSD-{子软件系统名称}-{模块组}-API-{模块名}-{流水号} {}中为可选项,根据项目实际需求进行定义 流水号:从001开始的三位自然数
ASILDescriptionComment
ASIL A根据S – Severity(严重度) E – Exposure(暴露度) C – Controllability(可控性) 排定功能安全等级。详细理解可以参考26262标准文件。如果有关于ASIL等级的特殊解释说明,请记录在此
ASIL B
ASIL C
ASIL D
QM
QM(A)从ASIL A到ASIL D 中拆分出来,拆分的标准,参考功能安全体系文件《功能安全需求分解指南_FS.pdf》
QM(B)
QM(C)
QM(D)
ASIL A(A)
ASIL A(B)
ASIL A(C)
ASIL A(D)
ASIL B(B)
ASIL B(C)
ASIL B(D)
ASIL C(C)
ASIL C(D)
ASIL D(D)