DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: frif Rolle: constitutive Konfidenz: 95%

SNIP_CLASSIC_FRIF_SECTION_8_3_18_FrIf_Transmit

Quelle: SWS_FlexRayInterface.pdf (Seite 68) • Ziel-Anforderung: SWS_Std_00005

Wortlaut

8.3.18 FrIf_Transmit [SWS_FrIf_05033] Definition of API function FrIf_Transmit ⌈ Service Name FrIf_Transmit Syntax Std_ReturnType FrIf_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 FrIf.h ⌋ [SWS_FrIf_05318] ⌈ FrIf_Transmit() shall return E_NOT_OK in case the FrIf’s state is FRIF_STATE_OFFLINE.⌋ [SWS_FrIf_05205] ⌈If parameter TxPduId of FrIf_Transmit has an invalid value and if development error detection is enabled (i.e. FrIfDevErrorDetect equals ON), the function FrIf_Transmit shall report development error code FRIF_E_INV_TXPDUID to the Det_ReportError service of the DET module.⌋ [SWS_FrIf_05207] ⌈If the parameter FrIfAllowedDynamicSduLength is set to false and/or if the parameter FrIfImmediate is set to true for the passed TxPduId, the passed SduDataPtr in parameter PduInfoPtr of FrIf_Transmit shall be checked for NULL_PTR in case development error detection is enabled (i.e. FrIfDevErrorDetect equals ON). If in this case the passed SduDataPtr equals NULL_PTR, the function FrIf_Transmit shall report the development error code FRIF_E_PARAM_POINTER to the Det_ReportError service of the DET module. In case of decoupled transmission the PDU with index TxPduId is not yet passed to the underlying FlexRay Driver module for transmission. FrIf only remembers the PDU’s transmission request (increment TrigTxCounter 5) This decoupling mechanism between the call of FrIf_Transmit() and the execution of the FrIfCommunicationAction (see [ECUC_FrIf_06067]) has some implications: • The upper layer BSW module may operate asynchronously to the FlexRay Communication System and thus may call FrIf_Transmit() at any point in time. • The upper layer BSW module must permanently buffer the PDU’s payload date and must be able to handle a call of its LSduR_FrIfTriggerTransmit() API service at (from the BSW’s point of view) any arbitrary point in time. ⌋ [SWS_FrIf_05208] ⌈In case of immediate transmission the function FrIf_Transmit shall pass the PDU (single PDU, no Update bit) to the underlying FlexRay Driver module immediately for transmission.⌋ [SWS_FrIf_05757] ⌈"If parameter TxPduId is configured for an immediate PDU, and if configuration parameter FrIfAllowDynamicLSduLength is set to FALSE, the provided length in PduInfoPtr shall be compared with the static configured length (see [ECUC_FrIf_06054]). If the length information does not match, FrIf_Transmit() shall return E_NOT_OK and shall not perform the immediate PDU transmission. If development error detection is enabled (i.e. FrIfDevErrorDetect equals ON), the function FrIf_Transmit() shall report development error code FRIF_E_INV_PDULENGTH to the Det_ReportError service of the DET module.⌋ [SWS_FrIf_05209] ⌈Caveats of FrIf_Transmit: The FlexRay Interface module has to be initialized with a call of FrIf_Init() before this API service may be called, see [SWS_FrIf_05003]⌋ 5Limited by static configuration see FrIfCounterLimit

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_FlexRayInterface.pdf
Dokumentseite Seite 68
Ziel-Modul frif (classic)
Ziel-Anforderung SWS_Std_00005
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95