CLASSIC
Modul: cantp
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_CANTP_SECTION_8_3_4_CanTp_Transmit
Wortlaut
8.3.4 CanTp_Transmit
[SWS_CanTp_00212] Definition of API function CanTp_Transmit ⌈
Service Name
CanTp_Transmit
Syntax
Std_ReturnType CanTp_Transmit (
PduIdType TxPduId,
const PduInfoType* PduInfoPtr
)
Service ID [hex]
0x49
Sync/Async
Synchronous
Reentrancy
Reentrant for different PduIds. Non reentrant for the same PduId.
TxPduId
Identifier of the PDU to be transmitted
Parameters (in)
PduInfoPtr
Length of and pointer to the PDU data and pointer to MetaData.
Parameters (inout)
None
Parameters (out)
None
Return value
Std_ReturnType
E_OK: Transmit request has been accepted.
E_NOT_OK: Transmit request has not been accepted.
Description
Requests transmission of a PDU.
Available via
CanTp.h
⌋
[SWS_CanTp_00231]
Upstream requirements: SRS_Can_01071, SRS_Can_01074
⌈If data does fit into the associated N-PDU, the function CanTp_Transmit() shall
send a SF N-PDU.⌋
[SWS_CanTp_00232]
Upstream requirements: SRS_Can_01071, SRS_Can_01074
⌈If data does not fit into the associated N-PDU, the function CanTp_Transmit() shall
initiate a multiple frame transmission session.⌋
[SWS_CanTp_00354]
Upstream requirements: SRS_Can_01163
⌈The maximum Tx length of the N-PDU shall be derived from the PduLength configuration parameter of EcuC. This parameter is equivalent to TX_DL of ISO 15765-2.⌋
[SWS_CanTp_00204] ⌈The CanTp module shall notify the upper layer by calling the
PduR_CanTpTxConfirmation callback when the transmit request has been completed.⌋
[SWS_CanTp_00205] ⌈The CanTp module shall abort the transmit request and call
the PduR_CanTpTxConfirmation callback function with E_NOT_OK result value if
an error occurred (over flow, N_As timeout, N_Bs timeout and so on).⌋
[SWS_CanTp_00206] ⌈The function CanTp_Transmit shall reject a request if the
CanTp_Transmit service is called for a N-SDU identifier which is being used in a
currently running CAN Transport Layer session.⌋
[SWS_CanTp_00298] ⌈CanTp has limited buffering capability, and hence the N-SDU
payload to be transmitted is not copied internally. The CAN Transport Layer obtains
the data directly from the upper layer via the PduR_CanTpCopyTxData service.⌋
Thus, to guarantee the data consistency, the upper layer (e.g. DCM, PduRouter or
AUTOSAR COM) must lock this memory area until the confirmation notification occurs.
[SWS_CanTp_00299] ⌈When the upper layer calls this function for an N-SDU without
MetaData, only the data length information of the structure indicated by PduInfoPtr
has to be used. Its value indicates the payload length of the N-SDU, which is to be
transmitted.
For an N-SDU with MetaData, besides the length information also the MetaData provided via the PduInfoPtr is relevant. To obtain actual Tx data, the CAN Transport Layer
shall call the PduR_CanTpCopyTxData service.⌋
[SWS_CanTp_00321] ⌈If development error detection is enabled the function
CanTp_Transmit shall raise CANTP_E_PARAM_POINTER error if the argument
PduInfoPtr is a NULL pointer.⌋
[SWS_CanTp_00356] ⌈If development error detection is enabled the function
CanTp_Transmit shall check the validity of function parameter TxPduId. If its value
is invalid, the CanTp_Transmit function shall raise the development error CANTP_E_INVALID_TX_ID.⌋
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
Cited verbatim in the snippet (deterministic citation).
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | SWS_CANTransportLayer.pdf |
|---|---|
| Dokumentseite | Seite 60 |
| Ziel-Modul | cantp (classic) |
| Ziel-Anforderung | SWS_Std_00005 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |