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

SNIP_CLASSIC_FR_SECTION_8_4_11_Fr_TransmitTxLPdu

Quelle: SWS_FlexRayDriver.pdf (Seite 53) • Ziel-Anforderung: SWS_Std_00005

Wortlaut

8.4.11 Fr_TransmitTxLPdu [SWS_Fr_00092] Definition of API function Fr_TransmitTxLPdu Upstream requirements: SRS_Fr_05003, SRS_Fr_05024 ⌈ Service Name Fr_TransmitTxLPdu Syntax Std_ReturnType Fr_TransmitTxLPdu ( uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, const uint8* Fr_LSduPtr, uint8 Fr_LSduLength, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr ) Service ID [hex] 0x0b Sync/Async Asynchronous Reentrancy Non Reentrant for the same device Fr_CtrlIdx Index of FlexRay CC within the context of the FlexRay Driver. Fr_LPduIdx This index is used to uniquely identify a FlexRay frame. Fr_LSduPtr This reference points to a buffer where the assembled LSdu to be transmitted within this LPdu is stored at. Parameters (in) Fr_LSduLength Determines the length of the data (in Bytes) to be transmitted. Parameters (inout) None Parameters (out) Fr_SlotAssignmentPtr This reference points to the memory location where the actual cycle, slot ID, and channel of the frame identified by Fr_LPduIdx shall be stored. A NULL_PTR indicates that the information is not required by the caller. Return value Std_ReturnType E_OK: API call finished successfully. E_NOT_OK: API call aborted due to errors. Description Transmits data on the FlexRay network. Available via Fr.h ⌋ CC precondition for the function Fr_TransmitTxLPdu(): None. [SWS_Fr_00224] ⌈The function Fr_TransmitTxLPdu() shall perform the following tasks on FlexRay CC Fr_CtrIdx: 1. Figure out the physical resource (e.g., a buffer) mapped to the transmission of the FlexRay frame identified by Fr_LPduIdx. 2. If FrExtendedLPduReporting is enabled and Fr_SlotAssignment is not a NULL pointer, copy expected cycle and slot ID of the transmitted frame to Fr_SlotAssignment. 3. If the transmit Lpdu supports dynamic payload length (configuration parameter FrIfAllowDynamicLSduLength is set to true), then the transmission resource shall be reconfigured to match the payload length Fr_LsduLength passed to the API. Note that the dynamic payload length is only applicable to frames within the dynamic FlexRay segment. 4. Copy Fr_LsduLength bytes from address Fr_LsduPtr into the FlexRay CC’s transmission resource and then activate it for transmission. 5. Return E_OK. ⌋ [SWS_Fr_00440] Upstream requirements: SRS_Fr_05024 ⌈If a transmit resource is shared between more than 1 Lpdu (using the reconfiguration mechanism of Fr_PrepareLPdu), then the function Fr_TransmitTxLPdu() must ensure that the transmit resource is correctly configured to match the properties of Fr_LpduIdx. This means that if a transmit operation (Fr_TransmitTxLPdu()) is called for a particular Fr_LpduIdx and the Lpdu shares a single buffer with another Lpdu, then it shall check at the time of service invocation whether the buffer is configured according to the Lpdu to be processed. The function Fr_TransmitTxLPdu() shall return E_NOT_OK and abort the function execution if a wrong buffer configuration is detected.⌋ [SWS_Fr_00225] ⌈The Fr module shall ensure that the payload data is transmitted on the FlexRay network in the same byte order as was passed by the parameter Fr_LsduPtr in the function Fr_TransmitTxLPdu(). (first byte = lowest address, last byte = highest address).⌋ [SWS_Fr_00223] ⌈If the function Fr_TransmitTxLPdu() is able to and detects a hardware error while performing the requested functionality, then it shall call Dem_SetEventStatus() (FR_E_CTRL_TESTRESULT, DEM_EVENT_STATUS_FAILED) and return E_NOT_OK.⌋ [SWS_Fr_00218] ⌈If development error detection for the Fr module is enabled, and if the function Fr_TransmitTxLPdu() is called before the successful initialization of Fr, then the function Fr_TransmitTxLPdu() shall raise the development error FR_E_INIT_FAILED.⌋ [SWS_Fr_00219] ⌈If development error detection for the Fr module is enabled, then the function Fr_TransmitTxLPdu() shall check the validity of the parameter Fr_CtrlIdx. If Fr_CtrlIdx is invalid, then the function Fr_TransmitTxLPdu() shall raise the development error FR_E_INV_CTRL_IDX.⌋ [SWS_Fr_00220] ⌈If development error detection for the Fr module is enabled, then the function Fr_TransmitTxLPdu() shall check the validity of the parameter Fr_LpduIdx. If Fr_LpduIdx is invalid, then the function Fr_TransmitTxLPdu() shall raise the development error FR_E_INV_LPDU_IDX.⌋ [SWS_Fr_00221] ⌈If development error detection for the Fr module is enabled, then the function Fr_TransmitTxLPdu() shall check the validity of the parameter Fr_LsduLength. If Fr_LsduLength is invalid, then the function Fr_TransmitTxLPdu() shall raise the development error FR_E_INV_LENGTH.⌋ [SWS_Fr_00222] ⌈If development error detection for the Fr module is enabled, then the function Fr_TransmitTxLPdu() shall check whether the parameter Fr_LsduPtr is a NULL pointer (NULL_PTR). If Fr_LsduPtr is a NULL pointer, then the function Fr_TransmitTxLPdu() shall raise the development error FR_E_PARAM_POINTER.⌋

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