CLASSIC
Modul: frif
Rolle: heuristic
Konfidenz: 85%
SNIP_CLASSIC_FRIF_SECTION_7_6_5_3_ReceiveAndStore
Wortlaut
7.6.5.3 ReceiveAndStore
[SWS_FrIf_05289] ⌈If the related CC is in FrIf_State FRIF_STATE_ONLINE for a Communication Operation RECEIVE_AND_STORE, then the Job List Execution Function shall execute this Communication Operation. Otherwise, the Job List Execution Function shall ignore this Communication Operation.⌋
[SWS_FrIf_05290] ⌈For a Communication Operation RECEIVE_AND_STORE the Job List Execution Function shall perform the following steps:
1. Call the FlexRay Driver’s API function Fr_ReceiveRxLPdu():
(a) Fr_CtrlIdx is derived according to the indexing scheme described in chapter of indexing.
(b) Fr_LPduIdx is set to the configured L-PDU index [Configuration Parameter FrIfLPduIdx, see FrIf06058] associated with the Communication Operation.
(c) Fr_LSduPtr is set to a temporary buffer.
(d) Fr_SlotAssignmentPtr is set to a temporary slot assignment buffer if Bus Mirroring is enabled globally (see FrIfBusMirroringSupport), otherwise to the NULL_PTR.
2. If Bus Mirroring is enabled globally (see FrIfBusMirroringSupport) and has been activated with a call to FrIf_EnableBusMirroring() for the Fr_CtrlIdx and an L-PDU was received (Output parameter *Fr_LPduStatusPtr != FR_NOT_RECEIVED), call Mirror_ReportFlexRayFrame() with "controllerId" set to Fr_CtrlIdx, "slotId", "cycle", and "channel" taken from Fr_SlotAssignmentPtr, "frame" constructed from Fr_LSduPtr and Fr_LSduLengthPtr, and "txConflict" set to false.
3. If a L-PDU was received (Output parameter *Fr_LPduStatusPtr != FR_NOT_ RECEIVED) iterate over all PDUs contained in the FrIfFrameStructure (see Fr If05370) of the associated frame triggering and:
(a) If an update bit was configured for the PDU [Configuration Parameter FrIf PduUpdateBitOffset, see FrIf06071] and the update bit for the PDU is not set, continue with the next PDU. Otherwise,
(b) Copy the PDU Payload from the temporary buffer considering the PDU offset within the L-SDU [Configuration Parameter FrIfPduOffset, see FrIf06070] into a FrIf PDU-related static buffer.
(c) Store the actual received PDU length
(d) Mark the PDU-related static buffer as up-to-date.
4. if *Fr_LPduStatusPtr == FR_RECEIVED_MORE_DATA_AVAILABLE restart at number 1 again. Otherwise the communication operation has finished.
⌋
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
Reports received FlexRay frame to mirror
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | SWS_FlexRayInterface.pdf |
|---|---|
| Dokumentseite | Seite 39 |
| Ziel-Modul | frif (classic) |
| Ziel-Anforderung | SWS_Mirror_01026 |
| Semantische Rolle | heuristic |
| Automatisierungs-Konfidenz | 0.85 |