功能定义

简介: 功能定义.

说明

  • 为其他模块提供的接口函数

Dcm_Init

voidDcm_Init(constDcm_ConfigType*ConfigPtr)

名称 Dcm_Init
同步/异步 同步
可重入性 非可重入
输入参数 ConfigPtr 指向 Variant Post-Build 中配置的指针
输出参数 None
返回值 None
描述 用于 DCM 模块基本初始化的服务
声明 Dcm.h

Dcm_MainFunction

voidDcm_MainFunction(void)

名称 Dcm_MainFunction
输入参数 None
输出参数 None
返回值 None
描述 此服务用于处理主循环的任务
声明 SchM_Dcm.h

Dcm_GetVersionInfo

voidDcm_GetVersionInfo(Std_VersionInfoType*versionInfo)

名称 Dcm_GetVersionInfo
同步/异步 同步
可重入性 可重入
输入参数 None
输出参数 versionInfo 指向存储此模块的版本信息的指针
返回值 None
描述 返回此模块的版本信息
声明 Dcm.h

Dcm_DemTriggerOnDTCStatus

Std_ReturnTypeDcm_DemTriggerOnDTCStatus(uint32DTC,

                                         Dem_UdsStatusByteTypeDTCStatusOld,

                                         Dem_UdsStatusByteTypeDTCStatusNew)

名称 Dcm_DemTriggerOnDTCStatus
同步/异步 同步
可重入性 可重入
输入参数 DTC 这是分配给变更触发器的 DTC
DTCStatusOld 变更前的 DTC 状态
DTCStatusNew 变更后的 DTC 状态
输出参数 None
返回值 None
描述 触发 UDS 状态字节的变化。允许在 DTCStatusChanged 上触发子服务的 ROE 事件
声明 Dcm_Dem.h

Dcm_GetVin

Std_ReturnTypeDcm_GetVin(uint8*Data)

名称 Dcm_GetVin
同步/异步 同步
可重入性 可重入
输入参数 None
输出参数 Data 指向存储 VIN 的指针
返回值 Std_ReturnType E_OK: 数据指针已填入有效的VIN | E_NOT_OK: 默认的 VIN 将在 DoIP 中使用
描述 获取 VIN 的函数(在 SAE J1979-DA 中定义)
声明 Dcm.h

Dcm_BndMWriteBlockFinish

voidDcm_BndMWriteBlockFinish(BndM_BlockIdTypeBlockId,BndM_ResultTyperesult)

名称 Dcm_BndMWriteBlockFinish
同步/异步 同步
可重入性 非可重入
输入参数 BlockId -
result -
输出参数 None
返回值 None
描述 由 BndM 调用,指示块写操作已经完成
声明 Dcm.h

Dcm_SetDeauthenticatedRole

Std_ReturnTypeDcm_SetDeauthenticatedRole(uint16connectionId,

                                          Dcm_AuthenticationRoleTypedeauthenticatedRole)

名称 Dcm_SetDeauthenticatedRole
同步/异步 同步
可重入性 可重入
输入参数 connectionId 唯一连接标识符,标识为其设置了取消身份验证角色的连接
deauthenticatedRole 分配给该连接的新的未认证角色
输出参数 None
返回值 Std_ReturnType E_OK: 这个值总是被返回
描述 为该连接设置在未验证状态下使用的新角色。在连接切换到身份验证状态或 ECU 被重置之前,角色一直有效
声明 Dcm.h

Dcm_GetSecurityLevel

Std_ReturnTypeDcm_GetSecurityLevel(Dcm_SecLevelType*SecLevel)

名称 Dcm_GetSecurityLevel
同步/异步 同步
可重入性 可重入
输入参数 None
输出参数 SecLevel SecurityLevel = (SecurityAccessType + 1) / 2, SecurityAccessType 的内容根据 SecurityAccess 服务请求中的 “SecurityAccessType” 参数而定
返回值 Std_ReturnType E_OK: 这个值总是被返回
描述 该函数提供激活的安全级别值
声明 Dcm.h

Dcm_GetSesCtrlType

Std_ReturnTypeDcm_GetSesCtrlType(Dcm_SesCtrlType*SesCtrlType)

名称 Dcm_GetSesCtrlType
同步/异步 同步
可重入性 可重入
输入参数 None
输出参数 SesCtrlType 该值由 DiagnosticSessionControl 服务请求中的 "diagnosticSessionType" 的参数而定
返回值 Std_ReturnType E_OK: 这个值总是被返回
描述 该函数提供活动的会话控制类型值
声明 Dcm.h

Dcm_ResetToDefaultSession

Std_ReturnTypeDcm_ResetToDefaultSession(void)

名称 Dcm_ResetToDefaultSession
同步/异步 同步
可重入性 可重入
输入参数 None
输出参数 None
返回值 Std_ReturnType E_OK: 这个值总是被返回
描述 调用此函数允许应用程序将当前会话重置为默认会话。示例:超出速度限制时自动终止扩展诊断会话
声明 Dcm.h

Dcm_SetActiveDiagnostic

Std_ReturnTypeDcm_SetActiveDiagnostic(booleanactive)

名称 Dcm_SetActiveDiagnostic
同步/异步 同步
可重入性 可重入
输入参数 active 如果为 false, Dcm 将不调用 ComM_DCM_ActiveDiagnostic()。如果为 true, Dcm 将调用 ComM_DCM_ActiveDiagnostic()
输出参数 None
返回值 Std_ReturnType E_OK: 这个值总是被返回
描述 允许激活和取消激活 ComM_DCM_ActiveDiagnostic() 函数的调用
声明 Dcm.h

回调通知

  • DCM 提供的回调的概述

Dcm_StartOfReception

BufReq_ReturnTypeDcm_StartOfReception(PduIdTypeid,

                                       constPduInfoType*info,

                                       PduLengthTypeTpSduLength,

                                       PduLengthType*bufferSizePtr)

名称 Dcm_StartOfReception
同步/异步 同步
可重入性 可重入
输入参数 id I-PDU 的标识
info PduInfoType 结构指针,包含传输协议 I-PDU 接收的第一帧或单帧的有效载荷数据(不含协议信息)和有效载荷长度,以及与该 PDU 相关的元数据。如果第一帧/单帧数据和元数据都不可用,该参数设置为 NULL_PTR
TpSduLength 接收 N-SDU 的总长度
输出参数 bufferSizePtr 接收模块中可用的接收缓冲区。该参数将用于计算传输协议模块中的块大小(BS)
返回值 BufReq_ReturnType BUFREQ_OK: 连接已被接受。bufferSizePtr 表示可用的接收缓冲区; 接收仍在继续。如果没有请求大小的缓冲区可用,则 bufferSizePtr 指向的接收缓冲区大小为 0; | BUFREQ_E_NOT_OK: 连接已被拒绝;接收中止。bufferSizePtr 保持不变; | BUFREQ_E_OVFL: 不能提供所需长度的缓冲器; 接收中止。bufferSizePtr 保持不变
描述 该函数在开始接收 N-SDU 时调用。N-SDU 可能被分割成多个 N-PDU (FF和一个或多个CF),也可能由单个 N-PDU (SF) 组成。如果服务成功并且返回 BUFREQ_OK,则服务提供当前可用的最大缓冲区大小。这个函数可能在中断上下文中被调用
声明 Dcm.h
  • 通过 Dcm_StartOfReception 函数,接收方(例如 DCM)也隐式地获知第一帧接收或单帧接收。如果函数 Dcm_StartOfReception 返回的返回值不等于 BUFREQ_OK,则 输出参数的值没有指定,并且不应该由调用者计算

Dcm_CopyRxData

BufReq_ReturnTypeDcm_CopyRxData(PduIdTypeid,

                                 constPduInfoType*info,

                                 PduLengthType*bufferSizePtr)

名称 Dcm_CopyRxData
同步/异步 同步
可重入性 可重入
输入参数 id 接收到的 I-PDU 的标识
info 提供源缓冲区(SduDataPtr)和要复制的字节数(SduLength)。当 SduLength 为 0 时,表示上层模块当前可用缓冲区的大小异常,在这种情况下,SduDataPtr 可能是一个 NULL_PTR
输出参数 bufferSizePtr 复制数据后可用的接收缓冲区
返回值 BufReq_ReturnType BUFREQ_OK: 数据复制成功 | BUFREQ_E_NOT_OK: 由于发生错误,数据没有复制
描述 调用该函数是为了向上层提供 I-PDU(N-PDU) 段的接收数据。每次调用该函数都提供 I-PDU 数据的下一部分。剩余缓冲区的大小被写入 bufferSizePtr 所指向的位置。这个函数可能在中断上下文中被调用
声明 Dcm.h

Dcm_TpRxIndication

voidDcm_TpRxIndication(PduIdTypeid,Std_ReturnTyperesult)

名称 Dcm_TpRxIndication
同步/异步 同步
可重入性 可重入
输入参数 id 接收到的 I-PDU 的标识
result 接收结果
输出参数 None
返回值 None
描述 在通过 TP 层 API 接收到 I-PDU 后调用,结果表明传输是否成功。这个函数可能在中断上下文中被调用
声明 Dcm.h

Dcm_CopyTxData

BufReq_ReturnTypeDcm_CopyTxData(PduIdTypeid,

                                 constPduInfoType*info,

                                 constRetryInfoType*retry,

                                 PduLengthType*availableDataPtr)

名称 Dcm_CopyTxData
同步/异步 同步
可重入性 可重入
输入参数 id 发送 I-PDU 的标识
info 提供目标缓冲区(SduDataPtr)和要复制的字节数(SduLength)。如果传输数据不足,上层模块不拷贝数据,返回 BUFREQ_E_BUSY。下层模块可能会重试该调用。 SduLength 为 0 时,表示重试参数状态发生变化,或查询上层模块当前可用数据量。在这种情况下,SduDataPtr 可能是一个 NULL_PTR
retry 该参数用于确认已传输的数据或在传输出现问题后重新传输数据。如果重试参数为 NULL_PTR,则表示传输数据在复制完成后可以立即从缓冲区中删除。否则,retry 参数必须指向一个有效的 RetryInfoType 元素。如果 RetryInfoType 结构中的元素 TpDataState 为 TP_CONFPENDING,则先前复制的数据必须保留在 TP 缓冲区中,以便可以用于错误恢复。TP_DATACONF 表示在确认调用之前已经复制的所有数据,可以从 TP 缓冲区中删除,此 API 调用复制的数据将被排除在外,稍后将进行确认。TP_DATARETRY 表示这个 API 调用应该复制以前复制的数据,以便从错误中恢复。在这种情况下,TxTpDataCnt 表示当前数据拷贝位置的偏移量(以字节为单位)
输出参数 availableDataPtr 指示上层模块的 Tx 缓冲区中剩余的可用字节数。支持动态有效载荷长度的 TP 模块(例如 FrIsoTp)可以使用 availableDataPtr 来确定以下 CF(连续帧)的大小
返回值 BufReq_ReturnType BUFREQ_OK: 数据已按要求完全复制到发送缓冲区 | BUFREQ_E_BUSY: 请求无法完成,因为所需的 Tx 数据量不可用。较低层模块可以稍后重试此调用。数据未复制 | BUFREQ_E_NOT_OK: 数据未被复制,请求失败
描述 该函数用于获取 I-PDU (N-PDU)段的发送数据,每次调用这个函数都提供 I-PDU 数据的下一部分,除非 retry->TpDataState 为 TP_ DATARETRY(在这种情况下,函数重新开始复制数据,从 retry->TxTpDataCnt 指示的当前位置的偏移量开始)。剩余数据的大小写入 availableDataPtr 指向的位置。这个函数可能在中断上下文中被调用
声明 Dcm.h

Dcm_TpTxConfirmation

voidDcm_TpTxConfirmation(PduIdTypeid,Std_ReturnTyperesult)

名称 Dcm_TpTxConfirmation
同步/异步 同步
可重入性 可重入
输入参数 id 发送 I-PDU 的标识
result 发送 I-PDU 的结果
输出参数 None
返回值 None
描述 该函数在 I-PDU 在其网络上发送成功后调用,其结果表明发送是否成功。这个函数可能在中断上下文中被调用
声明 Dcm.h

Dcm_TxConfirmation

voidDcm_TxConfirmation(PduIdTypeTxPduId,Std_ReturnTyperesult)

名称 Dcm_TxConfirmation
同步/异步 同步
可重入性 不同的 PduId 可重入。同一 PduId 不可重入
输入参数 TxPduId 已发送的 PDU 的ID
result E_OK: PDU 已被发送 | E_NOT_OK: PDU 发送失败
输出参数 None
返回值 None
描述 下层通信接口模块确认 PDU 发送成功或失败。这个函数可能在中断上下文中被调用
声明 Dcm.h

Dcm_ComM_NoComModeEntered

voidDcm_ComM_NoComModeEntered(uint8NetworkId)

名称 Dcm_ComM_NoComModeEntered
同步/异步 同步
可重入性 可重入
输入参数 NetworkId 模式变更有关的的网络标识符
输出参数 None
返回值 None
描述 这个调用通知 Dcm 模块 ComM 模式更改为 COMM_NO_COMMUNICATION
声明 Dcm_ComM.h

Dcm_ComM_SilentComModeEntered

voidDcm_ComM_SilentComModeEntered(uint8NetworkId)

名称 Dcm_ComM_SilentComModeEntered
同步/异步 同步
可重入性 可重入
输入参数 NetworkId 模式变更有关的的网络标识符
输出参数 None
返回值 None
描述 这个调用通知 Dcm 模块 ComM 模式更改为 COMM_SILENT_COMMUNICATION
声明 Dcm_ComM.h

Dcm_ComM_FullComModeEntered

voidDcm_ComM_FullComModeEntered(uint8NetworkId)

名称 Dcm_ComM_FullComModeEntered
同步/异步 同步
可重入性 可重入
输入参数 NetworkId 模式变更有关的的网络标识符
输出参数 None
返回值 None
描述 这个调用通知 Dcm 模块 ComM 模式更改为 COMM_FULL_COMMUNICATION
声明 Dcm_ComM.h

Dcm_CsmAsyncJobFinished

Std_ReturnTypeDcm_CsmAsyncJobFinished(Csm_ResultTyperesult)

名称 Dcm_CsmAsyncJobFinished
同步/异步 同步
可重入性 可重入
输入参数 result 异步作业的返回值
输出参数 None
返回值 Std_ReturnType E_OK: 这个值总是被返回
描述 在完成异步作业处理后,可以从 Csm 调用。集成器将把这个名字配置为异步作业的 Csm ECUC 配置中的回调函数。只有一个这样的回调函数可用,Dcm 通过计算作业参数来检测已经完成的作业。API 可用性:此函数只有在 ({ecuc(Dcm/DcmDsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null) 情况下可用
声明

Dcm_KeyMAsyncCertificateVerifyFinished

Std_ReturnTypeDcm_KeyMAsyncCertificateVerifyFinished(KeyM_CertificateIdTypeCertID,

                                                       KeyM_CertificateStatusTypeResult)


名称 Dcm_KeyMAsyncCertificateVerifyFinished
同步/异步 同步
可重入性 可重入
输入参数 CertID 已完成验证的证书标识符
Result 异步作业的返回值
输出参数 None
返回值 Std_ReturnType E_OK: 这个值总是被返回
描述 可以在完成异步证书验证时从 Key 调用。集成商将此名称配置为异步作业的KeyM ECUC 配置中的回调函数。只有一个这样的回调可用,Dcm 通过计算 certId 参数来检测已经完成的证书。API 可用性:此函数只有在 ({ecuc(Dcm/DcmDspDcmDspAuthentication/DcmDspAuthenticationConnection} != null) 情况下可用
声明
目录
相关文章
|
7月前
|
C++
C++中类的定义与使用
C++中类的定义与使用
194 2
|
存储 机器人 Windows
|
4月前
项目的定义
项目是一种临时性工作,旨在创造出独特的产品、服务或成果,从而驱动变革并为企业带来商业价值。通过项目的实施,我们可以针对性地满足市场需求,实现商业目标。
|
7月前
|
JSON API 数据库
使用现代方式定义接口
【5月更文挑战第14天】FastAPI是一个现代化的、基于类型的web框架,用于构建API。它支持自动补全和类型检查,提供数据校验并能自动生成清晰的错误消息。 它基于OpenAPI标准,能自动生成交互式Swagger UI和ReDoc文档。 FastAPI内置安全性特性,支持身份验证,如HTTP基本认证和OAuth2。依赖注入系统使得复杂逻辑易于管理,同时兼容Starlette,具备高性能、WebSocket和GraphQL支持。
187 0
|
7月前
枚举变量的定义
【2月更文挑战第4天】枚举变量的定义。
85 6
|
监控 安全 网络安全
CWPP与EDR的定义与区别
随着信息系统的发展,大家都在说网络安全要覆盖“云”、“管”、“端”,CWPP与EDR是目前非常火的产品,一个面向云端服务器的防护,一个是面向常规终端PC端的防护。
2201 0
|
存储 编译器 程序员
C++数据定义及相关操作
C++数据定义及相关操作
144 0
C++数据定义及相关操作
方法的定义与使用
在程序之中很多情况下是有可能需要重复执行一些代码的。在一些书上也把方法称为函数。
85 0
方法的定义与使用
方法的定义
方法的定义
205 0