DEENESPTFRRUARHIKOZHNL

Large Data COM (LdCom)

ModulLdCom (Large Data COM)
BSW-Modul-ID49
Standard-Header#include "LdCom.h"
SWS-SpezifikationAUTOSAR_CP_SWS_LargeDataCOM.pdf, AUTOSAR_SWS_LargeDataCOM.pdf
Umfang61 Records · 7 Snippets
ClusterKommunikationsdienste (COM)

Large Data COM (LdCom)

AUTOSAR Classic Communication Services-Modul Large Data COM (LdCom, Spezifikation: AUTOSAR_CP_SWS_LargeDataCOM.pdf, AUTOSAR_SWS_LargeDataCOM.pdf).

Funktionen — Übersicht

Typen — Übersicht

Anforderungen — Übersicht

Funktionen & Typen — Detailansicht

function LdCom_Init [SWS_LDCOM_00022] 📄 PDF

void LdCom_Init(const LdCom_ConfigType* config);

This service initializes internal and external interfaces and variables of the AUTOSAR LdCom module for the further processing.

function LdCom_DeInit [SWS_LDCOM_00023] 📄 PDF

void LdCom_DeInit(void);

With a call to LdCom_DeInit the AUTOSAR LdCom module is put into an not initialized state.

function LdCom_CopyTxData [SWS_LDCOM_00027] 📄 PDF

BufReq_ReturnType LdCom_CopyTxData(PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr.

function LdCom_TpTxConfirmation [SWS_LDCOM_00028] 📄 PDF

void LdCom_TpTxConfirmation(PduIdType id, Std_ReturnType result);

This function is called after the I-PDU has been transmitted on its network, the result indicates whether the transmission was successful or not.

function LdCom_StartOfReception [SWS_LDCOM_00029] 📄 PDF

BufReq_ReturnType LdCom_StartOfReception(PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

This function is called at the start of receiving an N-SDU. The N-SDU might be fragmented into multiple N-PDUs (FF with one or more following CFs) or might consist of a single N-PDU (SF). The service shall provide the currently available maximum buffer size when invoked with TpSdu Length equal to 0.

function LdCom_CopyRxData [SWS_LDCOM_00030] 📄 PDF

BufReq_ReturnType LdCom_CopyRxData(PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

This function is called to provide the received data of an I-PDU segment (N-PDU) to the upper layer. Each call to this function provides the next part of the I-PDU data. The size of the remaining buffer is written to the position indicated by bufferSizePtr.

function LdCom_TpRxIndication [SWS_LDCOM_00031] 📄 PDF

void LdCom_TpRxIndication(PduIdType id, Std_ReturnType result);

Called after an I-PDU has been received via the TP API, the result indicates whether the transmission was successful or not.

function LdCom_TriggerTransmit [SWS_LDCOM_00033] 📄 PDF

Std_ReturnType LdCom_TriggerTransmit(PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API, the upper layer module (called module) shall check whether the available data fits into the buffer size reported by PduInfoPtr->SduLength. If it fits, it shall copy its data into the buffer provided by PduInfoPtr->SduDataPtr and update the length of the actual copied data in PduInfoPtr->SduLength. If not, it returns E_NOT_OK without changing PduInfoPtr.

function Rte_LdComCbkCopyTxData_<sn> [SWS_LDCOM_00036] 📄 PDF

BufReq_ReturnType Rte_LdComCbkCopyTxData_<sn>(const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

This function is called to acquire the transmit data of an I - PDU segment (N - PDU). Each call to this function provides the next part of the I - PDU data u nless retry - >Tp Data State is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry - >Tx Tp Data Cnt. The size of the remaining data is written to the position indicated by av ailable Data Ptr Tags: atp.Status=obsolete

function Rte_LdComCbkTpTxConfirmation_<sn> [SWS_LDCOM_00037] 📄 PDF

void Rte_LdComCbkTpTxConfirmation_<sn>(Std_ReturnType result);

This function is called after a Signal has been transmitted via the TP - API on its network. Tags: atp.Status=obsolete

function Rte_LdComCbkStartOfReception_<sn> [SWS_LDCOM_00038] 📄 PDF

BufReq_ReturnType Rte_LdComCbkStartOfReception_<sn>(const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

This function is called at the start of receiving an N - SDU. The N - SDU might be fragmented into multiple N - PDUs (FF with one or more following CFs) or might consist of a single N - PDU (SF). The service shall provide the currently available maximum buffer size when invoked with Tp Sdu Length equal to 0. Tags: atp.Status=obsolete A vailable via Rte_ Cbk.h

function Rte_LdComCbkCopyRxData_<sn> [SWS_LDCOM_00039] 📄 PDF

BufReq_ReturnType Rte_LdComCbkCopyRxData_<sn>(const PduInfoType* info, PduLengthType* bufferSizePtr);

{OBSOLETE} Service Name Rte_ Ld Com Cbk Copy Rx Data_<sn> (obsolete) Syntax Buf Req_ Return Type Rte_ Ld Com Cbk Copy Rx Data_<sn> ( const Pdu Info Type* info, Pdu Length Type* buffer Size Ptr ) Sync/ Async Synchronous Reentrancy Non Reentrant for same sn, otherwise Reentrant Parameters (in) info Provides the source buffer (Sdu Data Ptr) and the number of bytes to be copied (Sdu Length). An Sdu Length of 0 can be used to query the current amount of available buffer in the upper layer module. In this case, the Sdu Data Ptr may be a NULL_ PTR. Param eters (inout) None Parameters (out) buffer Size Ptr Available receive buffer after data has been copied. Return value Buf Req _ - Return - Type BUFREQ_ OK: Data copied successfully BUFREQ_ E_ NOT_ OK: Data was not copied because an error occurred. Descript ion This function is called to provide the received data of an I - PDU segment (N - PDU) to the upper layer. Each call to this function provides the next part of the I - PDU data. The size of the remaining data is written to the position indicated by buffer Size Ptr. Tags: atp.Status=obsolete Available via Rte_ Cbk.h

function Rte_LdComCbkTpRxIndication_<sn> [SWS_LDCOM_00040] 📄 PDF

void Rte_LdComCbkTpRxIndication_<sn>(Std_ReturnType result);

Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not. Tags: atp.Status=obsolete

function Rte_LdComCbkRxIndication_<sn> [SWS_LDCOM_00041] 📄 PDF

void Rte_LdComCbkRxIndication_<sn>(const PduInfoType* PduInfoPtr);

Indication of a received PDU from a lower layer communication interface module. Tags: atp.Status=obsolete

function Rte_LdComCbkTriggerTransmit_<sn> [SWS_LDCOM_00042] 📄 PDF

Std_ReturnType Rte_LdComCbkTriggerTransmit_<sn>(PduInfoType* PduInfoPtr);

Within this API, the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr. Tags: atp.Status=obsolete

function Rte_LdComCbkTxConfirmation_<sn> [SWS_LDCOM_00053] 📄 PDF

void Rte_LdComCbkTxConfirmation_<sn>(Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU. Tags: atp.Status=obsolete

function LdCom_TxConfirmation [SWS_LDCOM_00056] 📄 PDF

void LdCom_TxConfirmation(PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

function <LdComUser_LdComCbkCopyTxData> [SWS_LDCOM_91001] 📄 PDF

BufReq_ReturnType <LdComUser_LdComCbkCopyTxData>(CbkHandleIdType LdComUserCbkHandleId, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr Tags: atp.Status=draft

function <LdComUser_LdComCbkTpTxConfirmation> [SWS_LDCOM_91002] 📄 PDF

void <LdComUser_LdComCbkTpTxConfirmation>(CbkHandleIdType LdComUserCbkHandleId, Std_ReturnType result);

This function is called after a Signal has been transmitted via the TP-API on its network. Tags: atp.Status=draft

function <LdComUser_LdComCbkStartOfReception> [SWS_LDCOM_91003] 📄 PDF

BufReq_ReturnType <LdComUser_LdComCbkStartOfReception>(CbkHandleIdType LdComUserCbkHandleId, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

This function is called at the start of receiving an N-SDU. The N-SDU might be fragmented into multiple N-PDUs (FF with one or more following CFs) or might consist of a single N-PDU (SF). The service shall provide the currently available maximum buffer size when invoked with TpSdu Length equal to 0. Tags: atp.Status=draft

function <LdComUser_LdComCbkCopyRxData> [SWS_LDCOM_91004] 📄 PDF

BufReq_ReturnType <LdComUser_LdComCbkCopyRxData>(CbkHandleIdType LdComUserCbkHandleId, const PduInfoType* info, PduLengthType* bufferSizePtr);

This function is called to provide the received data of an I-PDU segment (N-PDU) to the upper layer. Each call to this function provides the next part of the I-PDU data. The size of the remaining data is written to the position indicated by bufferSizePtr. Tags: atp.Status=draft

function <LdComUser_LdComCbkTpRxIndication> [SWS_LDCOM_91005] 📄 PDF

void <LdComUser_LdComCbkTpRxIndication>(CbkHandleIdType LdComUserCbkHandleId, Std_ReturnType result);

Called after an I-PDU has been received via the TP API, the result indicates whether the transmission was successful or not. Tags: atp.Status=draft

function <LdComUser_LdComCbkRxIndication> [SWS_LDCOM_91006] 📄 PDF

void <LdComUser_LdComCbkRxIndication>(CbkHandleIdType LdComUserCbkHandleId, const PduInfoType* PduInfoPtr);

Indication of a received PDU from a lower layer communication interface module. Tags: atp.Status=draft

function <LdComUser_LdComCbkTriggerTransmit> [SWS_LDCOM_91007] 📄 PDF

Std_ReturnType <LdComUser_LdComCbkTriggerTransmit>(CbkHandleIdType LdComUserCbkHandleId, PduInfoType* PduInfoPtr);

Within this API, the upper layer module (called module) shall check whether the available data fits into the buffer size reported by PduInfoPtr->SduLength. If it fits, it shall copy its data into the buffer provided by PduInfoPtr->SduDataPtr and update the length of the actual copied data in PduInfoPtr->SduLength. If not, it returns E_NOT_OK without changing PduInfoPtr. Tags: atp.Status=draft

function <LdComUser_LdComCbkTxConfirmation> [SWS_LDCOM_91008] 📄 PDF

void <LdComUser_LdComCbkTxConfirmation>(CbkHandleIdType LdComUserCbkHandleId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU. Tags: atp.Status=draft

type LdCom_ConfigType [SWS_LDCOM_00052] 📄 PDF

This type contains the implementation-specific post build configuration structure.

requirement SWS_LDCOM_00018 [SWS_LDCOM_00018] 📄 PDF

Type of error Related error code Value [hex] Error code if any other API service, except LdCom_GetVersionInfo is called before the AUTOSAR LdCom module was initialized with LdCom_Init or after a call to LdCom_Deinit LDCOM_E_UNINIT 0x02 API service called with a NULL pointer. In case of this error, the API service shall return immediately without any further action, except for reporting this development error. LDCOM_E_PARAM_POINTER 0x03 API service called with wrong PDU-ID LDCOM_E_INVALID_PDU_SDU_ID 0x04 API service called with wrong Signal-ID LDCOM_E_INVALID_SIGNAL_ID 0x05 Invalid configuration set selection LDCOM_E_INIT_FAILED 0x06 Table 7.2: Development Error Types

requirement SWS_LDCOM_00020 [SWS_LDCOM_00020] 📄 PDF

Module Header File Imported Type ComStack_Types.h BufReq_ReturnType ComStack_Types.h CbkHandleIdType (draft) ComStack_Types.h PduIdType ComStack_Types.h PduInfoType ComStack_Types.h PduLengthType ComStack_Types.h RetryInfoType ComStack_Types ComStack_Types.h TpDataStateType Std_Types.h Std_ReturnType Std Std_Types.h Std_VersionInfoType

requirement SWS_LDCOM_00035 [SWS_LDCOM_00035] 📄 PDF

Det_ReportError Det.h Service to report development errors. PduR_LdComTransmit PduR_LdCom.h Requests transmission of a PDU.

requirement SWS_LDCOM_00054 [SWS_LDCOM_00054] 📄 PDF

LdCom_TxConfirmation shall only be available if at least one LdComIPdu has LdComIPduDirection configured to LDCOM_SEND and LdComApi- Type configured to LDCOM_IF.

requirement SWS_LDCOM_00055 [SWS_LDCOM_00055] 📄 PDF

LdCom_RxIndication shall only be available if at least one Ld- ComIPdu has LdComIPduDirection configured to LDCOM_RECEIVE and LdComApi- Type configured to LDCOM_IF.

requirement SWS_LDCOM_00057 [SWS_LDCOM_00057] 📄 PDF

When called by its users (e.g. RTE, SwCluC LdCom Proxy), LdCom shall use the Signal Id ("id" parameter in the call) as LdComHandleId (ECUC_LdCom_00005), to look-up the correct LdComIPdu in the LdCom configura- tion. Using the LdComPduRef configuration parameter (ECUC_LdCom_00010) the corresponding PDU Id in the PduR'S configuration shall be derived. This PDU Id shall then be used when forwarding the call towards the PduR.

requirement SWS_LDCOM_00058 [SWS_LDCOM_00058] 📄 PDF

{DRAFT} When called by its users (e.g. RTE, SwCluC LdCom Proxy), LdCom shall use the Signal Id ("id" parameter in the call) as LdComHandleId (ECUC_LdCom_00005) to look-up the correct LdComIPdu in the LdCom configura- tion. Using the LdComPduRef configuration parameter (ECUC_LdCom_00010) the corresponding PDU Id in the PduR'S configuration shall be derived. This PDU Id shall then be used when forwarding the call towards the PduR.

requirement SWS_LDCOM_00060 [SWS_LDCOM_00060] 📄 PDF

{DRAFT} When LdCom_TriggerTransmit is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to derive the corresponding <LdComUser_LdComCbkTriggerTransmit> user notification callback and call it with the according LdCom user callback handle Id.

requirement SWS_LDCOM_00061 [SWS_LDCOM_00061] 📄 PDF

{DRAFT} When LdCom_TxConfirmation is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to derive the corresponding <LdComUser_LdComCbkTxConfirmation> user notification callback and call it with the according LdCom user callback handle Id.

requirement SWS_LDCOM_00063 [SWS_LDCOM_00063] 📄 PDF

{DRAFT} When LdCom_CopyTxData and Ld- Com_TpTxConfirmation are invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to derive the corresponding <Ld- ComUser_LdComCbkCopyTxData> or <LdComUser_LdComCbkTpTxConfir-mation> user notification callback and call it with the according LdCom user callback handle Id.

requirement SWS_LDCOM_00064 [SWS_LDCOM_00064] 📄 PDF

{DRAFT} When LdCom_RxIndication is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to de- rive the corresponding <LdComUser_LdComCbkRxIndication> user notification call- backs and call them with the according LdCom user callback handle Id.

requirement SWS_LDCOM_00065 [SWS_LDCOM_00065] 📄 PDF

{DRAFT} When LdCom_StartOfReception is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to derive the corresponding <LdComUser_LdComCbkStartOfReception> user notifi- cation callback and call it with the according LdCom user callback handle Id.

requirement SWS_LDCOM_00066 [SWS_LDCOM_00066] 📄 PDF

{DRAFT} When LdCom_CopyRxData is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to de- rive the corresponding <LdComUser_LdComCbkCopyRxData> user notification call- back and call it with the according LdCom user callback handle Id.

requirement SWS_LDCOM_00067 [SWS_LDCOM_00067] 📄 PDF

{DRAFT} When LdCom_TpRxIndication is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to derive the corresponding <LdComUser_LdComTpRxIndication> user notification call- back and call it with the according LdCom user callback handle Id.

requirement SWS_LdCom_00007 [SWS_LdCom_00007] 📄 PDF

The AUTOSAR LdCom module's initialization function Ld- Com_Init shall initialize all internal data.

requirement SWS_LdCom_00008 [SWS_LdCom_00008] 📄 PDF

The AUTOSAR LdCom module shall provide the API function LdCom_DeInit for de-initialization of the AUTOSAR LdCom module. Inside this function call all de-initialization shall take place.

requirement SWS_LdCom_00010 [SWS_LdCom_00010] 📄 PDF

When LdCom_Transmit is invoked, LdCom shall invoke PduR_LdComTransmit by replacing the Signal Id by the according PDU Id.

requirement SWS_LdCom_00012 [SWS_LdCom_00012] 📄 PDF

LdCom shall pass invocations of LdCom_Transmit to PduR_LdComTransmit by replacing the Signal Id by the according PDU Id.

requirement SWS_LdCom_00045 [SWS_LdCom_00045] 📄 PDF

The API LdCom_GetVersionInfo shall be configured byLd- ComVersionInfoAPI.

requirement SWS_LdCom_00047 [SWS_LdCom_00047] 📄 PDF

LdCom_TriggerTransmit shall only be available if at least one LdComIPdu has LdComTxTriggerTransmit configured.

requirement SWS_LdCom_00050 [SWS_LdCom_00050] 📄 PDF

The LdCom implementation shall include Det.h if LdComDe- vErrorDetect is enabled.

requirement SWS_LdCom_CONSTR_00002 [SWS_LdCom_CONSTR_00002] 📄 PDF

{DRAFT} All LdCom users registering notifications for IPdus shall reside on the EcucPartition on which the LdCom module handles the related IPdu.

requirement SWS_LdCom_CONSTR_00005 [SWS_LdCom_CONSTR_00005] 📄 PDF

{DRAFT} Only a single LdCom user can be notified with <LdComUser_LdComCbkCopyTxData> or <LdCo- mUser_LdComCbkTpTxConfirmation>.

requirement SWS_LdCom_CONSTR_00006 [SWS_LdCom_CONSTR_00006] 📄 PDF

{DRAFT} Only a single LdCom user can be notified with <LdComUser_LdComCbkStartOfReception>.

requirement SWS_LdCom_CONSTR_00009 [SWS_LdCom_CONSTR_00009] 📄 PDF

If there exists a LdComUserIPdu with the Ld- ComIPduDirection set to LDCOM_SEND and LdComApiType set to LDCOM_TP which references an ISignal, the respective • <LdComUser_LdComCbkCopyTxData> • <LdComUser_LdComCbkTpTxConfirmation> Notification callbacks shall be configured too.

requirement SWS_LdCom_CONSTR_00010 [SWS_LdCom_CONSTR_00010] 📄 PDF

If there exists a LdComUserIPdu with the Ld- ComIPduDirection set to LDCOM_RECEIVE and LdComApiType set to LDCOM_TP, the respective • <LdComUser_LdComCbkStartOfReception> • <LdComUser_LdComCbkCopyRxData> • <LdComUser_LdComTpRxIndication> Notification callbacks shall be configured too.

requirement SWS_LdCom_CONSTR_00011 [SWS_LdCom_CONSTR_00011] 📄 PDF

If there exists a LdComUserIPdu with the Ld- ComIPduDirection set to LDCOM_RECEIVE and LdComApiType set to LDCOM_IF, the respective • <LdComUser_LdComCbkRxIndication> Notification callback shall be configured too.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_LdCom
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_LdCom@rel:R20-11#b7215e20
Content hash
b7215e20
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LargeDataCOM.pdf#nameddest=SWS_LDCOM_00022

Initialisierung und Status

LdCom_DeInit function

With a call to LdCom_DeInit the AUTOSAR LdCom module is put into an not initialized state.

void LdCom_DeInit(void);

Returns the version information of this module.

void LdCom_GetVersionInfo(Std_VersionInfoType* versioninfo);
LdCom_Init function

This service initializes internal and external interfaces and variables of the AUTOSAR LdCom module for the further processing.

void LdCom_Init(const LdCom_ConfigType* config);

Dienste

Requests transmission of a signal.

Std_ReturnType LdCom_Transmit(PduIdTypeId, const PduInfoType* InfoPtr);

{OBSOLETE} Service Name Rte_ Ld Com Cbk Copy Rx Data_<sn> (obsolete) Syntax Buf Req_ Return Type Rte_ Ld Com Cbk Copy Rx Data_<sn> ( const Pdu Info Type* info, Pdu Length Type* buffer Size Ptr ) Sync/ Async Synchronous Reentrancy Non Reentrant for same sn, otherwise Reentrant Parameters (in) info Provides the source buffer (Sdu Data Ptr) and the number of bytes to be copied (Sdu Length). An Sdu Length of 0 can be used to query the current amount of available buffer in the upper layer module. In this case, the Sdu Data Ptr may be a NULL_ PTR. Param eters (inout) None Parameters (out) buffer Size Ptr Available receive buffer after data has been copied. Return value Buf Req _ - Return - Type BUFREQ_ OK: Data copied successfully BUFREQ_ E_ NOT_ OK: Data was not copied because an error occurred. Descript ion This function is called to provide the received data of an I - PDU segment (N - PDU) to the upper layer. Each call to this function provides the next part of the I - PDU data. The size of the remaining data is written to the position indicated by buffer Size Ptr. Tags: atp.Status=obsolete Available via Rte_ Cbk.h

BufReq_ReturnType Rte_LdComCbkCopyRxData_<sn>(const PduInfoType* info, PduLengthType* bufferSizePtr);

This function is called to acquire the transmit data of an I - PDU segment (N - PDU). Each call to this function provides the next part of the I - PDU data u nless retry - >Tp Data State is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry - >Tx Tp Data Cnt. The size of the remaining data is written to the position indicated by av ailable Data Ptr Tags: atp.Status=obsolete

BufReq_ReturnType Rte_LdComCbkCopyTxData_<sn>(const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

This function is called at the start of receiving an N - SDU. The N - SDU might be fragmented into multiple N - PDUs (FF with one or more following CFs) or might consist of a single N - PDU (SF). The service shall provide the currently available maximum buffer size when invoked with Tp Sdu Length equal to 0. Tags: atp.Status=obsolete A vailable via Rte_ Cbk.h

BufReq_ReturnType Rte_LdComCbkStartOfReception_<sn>(const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

Indication of a received PDU from a lower layer communication interface module. Tags: atp.Status=obsolete

void Rte_LdComCbkRxIndication_<sn>(const PduInfoType* PduInfoPtr);

Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not. Tags: atp.Status=obsolete

void Rte_LdComCbkTpRxIndication_<sn>(Std_ReturnType result);

This function is called after a Signal has been transmitted via the TP - API on its network. Tags: atp.Status=obsolete

void Rte_LdComCbkTpTxConfirmation_<sn>(Std_ReturnType result);

Within this API, the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr. Tags: atp.Status=obsolete

Std_ReturnType Rte_LdComCbkTriggerTransmit_<sn>(PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU. Tags: atp.Status=obsolete

void Rte_LdComCbkTxConfirmation_<sn>(Std_ReturnType result);

Callbacks

This function is called to provide the received data of an I-PDU segment (N-PDU) to the upper layer. Each call to this function provides the next part of the I-PDU data. The size of the remaining buffer is written to the position indicated by bufferSizePtr.

BufReq_ReturnType LdCom_CopyRxData(PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr.

BufReq_ReturnType LdCom_CopyTxData(PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

Indication of a received PDU from a lower layer communication interface module.

void LdCom_RxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr);

This function is called at the start of receiving an N-SDU. The N-SDU might be fragmented into multiple N-PDUs (FF with one or more following CFs) or might consist of a single N-PDU (SF). The service shall provide the currently available maximum buffer size when invoked with TpSdu Length equal to 0.

BufReq_ReturnType LdCom_StartOfReception(PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

Called after an I-PDU has been received via the TP API, the result indicates whether the transmission was successful or not.

void LdCom_TpRxIndication(PduIdType id, Std_ReturnType result);

This function is called after the I-PDU has been transmitted on its network, the result indicates whether the transmission was successful or not.

void LdCom_TpTxConfirmation(PduIdType id, Std_ReturnType result);

Within this API, the upper layer module (called module) shall check whether the available data fits into the buffer size reported by PduInfoPtr->SduLength. If it fits, it shall copy its data into the buffer provided by PduInfoPtr->SduDataPtr and update the length of the actual copied data in PduInfoPtr->SduLength. If not, it returns E_NOT_OK without changing PduInfoPtr.

Std_ReturnType LdCom_TriggerTransmit(PduIdType TxPduId, PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void LdCom_TxConfirmation(PduIdType TxPduId, Std_ReturnType result);

Callouts und erwartete Schnittstellen

This function is called to provide the received data of an I-PDU segment (N-PDU) to the upper layer. Each call to this function provides the next part of the I-PDU data. The size of the remaining data is written to the position indicated by bufferSizePtr. Tags: atp.Status=draft

BufReq_ReturnType <LdComUser_LdComCbkCopyRxData>(CbkHandleIdType LdComUserCbkHandleId, const PduInfoType* info, PduLengthType* bufferSizePtr);

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr Tags: atp.Status=draft

BufReq_ReturnType <LdComUser_LdComCbkCopyTxData>(CbkHandleIdType LdComUserCbkHandleId, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

Indication of a received PDU from a lower layer communication interface module. Tags: atp.Status=draft

void <LdComUser_LdComCbkRxIndication>(CbkHandleIdType LdComUserCbkHandleId, const PduInfoType* PduInfoPtr);

This function is called at the start of receiving an N-SDU. The N-SDU might be fragmented into multiple N-PDUs (FF with one or more following CFs) or might consist of a single N-PDU (SF). The service shall provide the currently available maximum buffer size when invoked with TpSdu Length equal to 0. Tags: atp.Status=draft

BufReq_ReturnType <LdComUser_LdComCbkStartOfReception>(CbkHandleIdType LdComUserCbkHandleId, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

Called after an I-PDU has been received via the TP API, the result indicates whether the transmission was successful or not. Tags: atp.Status=draft

void <LdComUser_LdComCbkTpRxIndication>(CbkHandleIdType LdComUserCbkHandleId, Std_ReturnType result);

This function is called after a Signal has been transmitted via the TP-API on its network. Tags: atp.Status=draft

void <LdComUser_LdComCbkTpTxConfirmation>(CbkHandleIdType LdComUserCbkHandleId, Std_ReturnType result);

Within this API, the upper layer module (called module) shall check whether the available data fits into the buffer size reported by PduInfoPtr->SduLength. If it fits, it shall copy its data into the buffer provided by PduInfoPtr->SduDataPtr and update the length of the actual copied data in PduInfoPtr->SduLength. If not, it returns E_NOT_OK without changing PduInfoPtr. Tags: atp.Status=draft

Std_ReturnType <LdComUser_LdComCbkTriggerTransmit>(CbkHandleIdType LdComUserCbkHandleId, PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU. Tags: atp.Status=draft

void <LdComUser_LdComCbkTxConfirmation>(CbkHandleIdType LdComUserCbkHandleId, Std_ReturnType result);

Typen

This type contains the implementation-specific post build configuration structure.

Anforderungen

SWS_LdCom_00007 requirement

The AUTOSAR LdCom module's initialization function Ld- Com_Init shall initialize all internal data.

SWS_LdCom_00008 requirement

The AUTOSAR LdCom module shall provide the API function LdCom_DeInit for de-initialization of the AUTOSAR LdCom module. Inside this function call all de-initialization shall take place.

SWS_LdCom_00010 requirement

When LdCom_Transmit is invoked, LdCom shall invoke PduR_LdComTransmit by replacing the Signal Id by the according PDU Id.

SWS_LdCom_00012 requirement

LdCom shall pass invocations of LdCom_Transmit to PduR_LdComTransmit by replacing the Signal Id by the according PDU Id.

SWS_LDCOM_00018 requirement

Type of error Related error code Value [hex] Error code if any other API service, except LdCom_GetVersionInfo is called before the AUTOSAR LdCom module was initialized with LdCom_Init or after a call to LdCom_Deinit LDCOM_E_UNINIT 0x02 API service called with a NULL pointer. In case of this error, the API service shall return immediately without any further action, except for reporting this development error. LDCOM_E_PARAM_POINTER 0x03 API service called with wrong PDU-ID LDCOM_E_INVALID_PDU_SDU_ID 0x04 API service called with wrong Signal-ID LDCOM_E_INVALID_SIGNAL_ID 0x05 Invalid configuration set selection LDCOM_E_INIT_FAILED 0x06 Table 7.2: Development Error Types

SWS_LDCOM_00020 requirement

Module Header File Imported Type ComStack_Types.h BufReq_ReturnType ComStack_Types.h CbkHandleIdType (draft) ComStack_Types.h PduIdType ComStack_Types.h PduInfoType ComStack_Types.h PduLengthType ComStack_Types.h RetryInfoType ComStack_Types ComStack_Types.h TpDataStateType Std_Types.h Std_ReturnType Std Std_Types.h Std_VersionInfoType

SWS_LDCOM_00035 requirement

Det_ReportError Det.h Service to report development errors. PduR_LdComTransmit PduR_LdCom.h Requests transmission of a PDU.

SWS_LdCom_00045 requirement

The API LdCom_GetVersionInfo shall be configured byLd- ComVersionInfoAPI.

SWS_LdCom_00047 requirement

LdCom_TriggerTransmit shall only be available if at least one LdComIPdu has LdComTxTriggerTransmit configured.

SWS_LdCom_00050 requirement

The LdCom implementation shall include Det.h if LdComDe- vErrorDetect is enabled.

SWS_LDCOM_00054 requirement

LdCom_TxConfirmation shall only be available if at least one LdComIPdu has LdComIPduDirection configured to LDCOM_SEND and LdComApi- Type configured to LDCOM_IF.

SWS_LDCOM_00055 requirement

LdCom_RxIndication shall only be available if at least one Ld- ComIPdu has LdComIPduDirection configured to LDCOM_RECEIVE and LdComApi- Type configured to LDCOM_IF.

SWS_LDCOM_00057 requirement

When called by its users (e.g. RTE, SwCluC LdCom Proxy), LdCom shall use the Signal Id ("id" parameter in the call) as LdComHandleId (ECUC_LdCom_00005), to look-up the correct LdComIPdu in the LdCom configura- tion. Using the LdComPduRef configuration parameter (ECUC_LdCom_00010) the corresponding PDU Id in the PduR'S configuration shall be derived. This PDU Id shall then be used when forwarding the call towards the PduR.

SWS_LDCOM_00058 requirement

{DRAFT} When called by its users (e.g. RTE, SwCluC LdCom Proxy), LdCom shall use the Signal Id ("id" parameter in the call) as LdComHandleId (ECUC_LdCom_00005) to look-up the correct LdComIPdu in the LdCom configura- tion. Using the LdComPduRef configuration parameter (ECUC_LdCom_00010) the corresponding PDU Id in the PduR'S configuration shall be derived. This PDU Id shall then be used when forwarding the call towards the PduR.

SWS_LDCOM_00060 requirement

{DRAFT} When LdCom_TriggerTransmit is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to derive the corresponding <LdComUser_LdComCbkTriggerTransmit> user notification callback and call it with the according LdCom user callback handle Id.

SWS_LDCOM_00061 requirement

{DRAFT} When LdCom_TxConfirmation is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to derive the corresponding <LdComUser_LdComCbkTxConfirmation> user notification callback and call it with the according LdCom user callback handle Id.

SWS_LDCOM_00063 requirement

{DRAFT} When LdCom_CopyTxData and Ld- Com_TpTxConfirmation are invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to derive the corresponding <Ld- ComUser_LdComCbkCopyTxData> or <LdComUser_LdComCbkTpTxConfir-mation> user notification callback and call it with the according LdCom user callback handle Id.

SWS_LDCOM_00064 requirement

{DRAFT} When LdCom_RxIndication is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to de- rive the corresponding <LdComUser_LdComCbkRxIndication> user notification call- backs and call them with the according LdCom user callback handle Id.

SWS_LDCOM_00065 requirement

{DRAFT} When LdCom_StartOfReception is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to derive the corresponding <LdComUser_LdComCbkStartOfReception> user notifi- cation callback and call it with the according LdCom user callback handle Id.

SWS_LDCOM_00066 requirement

{DRAFT} When LdCom_CopyRxData is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to de- rive the corresponding <LdComUser_LdComCbkCopyRxData> user notification call- back and call it with the according LdCom user callback handle Id.

SWS_LDCOM_00067 requirement

{DRAFT} When LdCom_TpRxIndication is invoked, LdCom shall use the passed PDU Id as Handle Id (LdComHandleId ECUC_LdCom_00005) to derive the corresponding <LdComUser_LdComTpRxIndication> user notification call- back and call it with the according LdCom user callback handle Id.

{DRAFT} Sent IPdus shall be owned by at most one LdCom user.

{DRAFT} All LdCom users registering notifications for IPdus shall reside on the EcucPartition on which the LdCom module handles the related IPdu.

{DRAFT} Only a single LdCom user can be notified with <LdComUser_LdComCbkTriggerTransmit>.

{DRAFT} Only a single LdCom user can be notified with <LdComUser_LdComCbkTriggerTransmit>.

{DRAFT} Only a single LdCom user can be notified with <LdComUser_LdComCbkCopyTxData> or <LdCo- mUser_LdComCbkTpTxConfirmation>.

{DRAFT} Only a single LdCom user can be notified with <LdComUser_LdComCbkStartOfReception>.

{DRAFT} Only a single LdCom user can be notified with <LdComUser_LdComCbkCopyRxData>.

{DRAFT} Only a single LdCom user can be notified with <LdComUser_LdComTpRxIndication>.

If there exists a LdComUserIPdu with the Ld- ComIPduDirection set to LDCOM_SEND and LdComApiType set to LDCOM_TP which references an ISignal, the respective • <LdComUser_LdComCbkCopyTxData> • <LdComUser_LdComCbkTpTxConfirmation> Notification callbacks shall be configured too.

If there exists a LdComUserIPdu with the Ld- ComIPduDirection set to LDCOM_RECEIVE and LdComApiType set to LDCOM_TP, the respective • <LdComUser_LdComCbkStartOfReception> • <LdComUser_LdComCbkCopyRxData> • <LdComUser_LdComTpRxIndication> Notification callbacks shall be configured too.

If there exists a LdComUserIPdu with the Ld- ComIPduDirection set to LDCOM_RECEIVE and LdComApiType set to LDCOM_IF, the respective • <LdComUser_LdComCbkRxIndication> Notification callback shall be configured too.