CLASSIC
Modul: frif
Rolle: heuristic
Konfidenz: 80%
SNIP_CLASSIC_FRIF_SECTION_7_6_5_5_ReceiveAndIndicate
Wortlaut
7.6.5.5 ReceiveAndIndicate
[SWS_FrIf_05292] ⌈If the related CC is in FrIf_State FRIF_STATE_ONLINE for a Communication Operation RECEIVE_AND_INDICATE, then the Job List Execution Function shall execute this Communication Operation. Otherwise, the Job List Execution Function shall ignore this Communication Operation.⌋
[SWS_FrIf_05293] ⌈For a Communication Operation RECEIVE_AND_INDICATE the Job List Execution Function shall perform the following steps:
1. Calculate values for input parameters:
(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. Initialize ComOpLoopCounter to 0.
3. As long as ComOpLoopCounter < FrIfRxComOpMaxLoop do
(a) Call Fr_ReceiveRxLPdu with the parameters calculated in 1)
(b) If *Fr_LPduStatusPtr != FR_NOT_RECEIVED then continue at 3)c), otherwise the communication operation has finished.
(c) If Bus Mirroring is enabled globally (see FrIfBusMirroringSupport) and has been activated with a call to FrIf_EnableBusMirroring() for the Fr_CtrlIdx, 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. Otherwise, continue at 3)d).
(d) For each Pdu contained in the FrIfFrameStructure (see FrIf05370) of the associated frame triggering do -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 -Call the upper layer’s function LSduR_FrIfRxIndication() with the PDU Id the receiving module expects and a pointer to the Pdu-Info structure containing the Pdu length and a reference to the temporary buffer considering the PDU offset within the L-SDU [Configuration Parameter FrIfPduOffset, see FrIf06070]] as parameters.
(e) if *Fr_LPduStatusPtr == FR_RECEIVED_MORE_DATA_AVAILABLE then increment ComOpLoopCounter and restart at 3)a), otherwise the communication operation has finished.
⌋
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
Bus mirroring of received FlexRay frame
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | SWS_FlexRayInterface.pdf |
|---|---|
| Dokumentseite | Seite 41 |
| Ziel-Modul | frif (classic) |
| Ziel-Anforderung | SWS_Mirror_00038 |
| Semantische Rolle | heuristic |
| Automatisierungs-Konfidenz | 0.80 |