CLASSIC
Modul: frif
Rolle: heuristic
Konfidenz: 80%
SNIP_CLASSIC_FRIF_SECTION_7_6_5_2_ProvideTxConfirmation
Wortlaut
7.6.5.2 ProvideTxConfirmation
This Communication Operation provides a Tx confirmation and optionally checks the occurrence of a Tx conflict.
[SWS_FrIf_05064] ⌈If the related CC is in FrIf_State FRIF_STATE_ONLINE for a Communication Operation TX_CONFIRMATION, then the Job List Execution Function shall execute this Communication Operation. Otherwise, the Job List Execution Function shall ignore this Communication Operation.⌋()
[SWS_FrIf_05288] ⌈"For a Communication Operation TX_CONFIRMATION the Job List Execution Function shall perform the following steps:
1. Call the FlexRay Driver’s API function Fr_CheckTxLPduStatus():
• Fr_CtrlIdx is derived according to the indexing scheme described in chapter of indexing
• Fr_LPduIdx is set to the configured L-PDU buffer index [Configuration Parameter FrIfLPduIdx, see FrIf06058] associated with the Communication Operation.
• 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 the transmission was performed (output parameter *Fr_TxLPduStatusPtr is set to FR_TRANSMITTED) then iterate over all PDUs contained in the FrIfFrame Structure (see FrIf05370) of the associated frame triggering. If TxConfCounter for a PDU is 0 proceed with the next PDU, otherwise
• If FrIfConfirm == true, call the upper layer’s function <UL_TxConfirmation(E_ OK)> with the asociated PDUId (defined by the upper layer).
• If FrIfConfirm == true , decrement TxConfCounter.
3. If the transmission was performed but a TxConflict occurred (output parameter *Fr_TxLPduStatusPtr is set to FR_TRANSMITTED_CONFLICT) then iterate over all PDUs contained in the FrIfFrameStructure (see FrIf05370) of the associated frame triggering. If TxConfCounter for a PDU is 0 proceed with the next PDU, otherwise
• If FrIfConfirm == true, call the upper layer’s function <UL_TxConfirmation(E_ NOT_OK)> with the asociated PDUId (defined by the upper layer).
• If FrIfConfirm == true , decrement TxConfCounter.
4. If Bus Mirroring is enabled globally (see FrIfBusMirroringSupport) and has been activated with a call to FrIf_EnableBusMirroring() for the Fr_CtrlIdx and the API Fr_CheckTxLpduStatus() returns "FR_TRANSMITTED_CONFLICT", call Mirror_ ReportFlexRayFrame() with "controllerId" set to Fr_CtrlIdx, "slotId", "cycle", and "channel" taken from Fr_SlotAssignmentPtr, "frame" set to the NULL_PTR, and "txConflict" set to true. If the API Fr_CheckTxLpduStatus() returns "FR_TRANSMITTED_CONFLICT" and the <UL_TxConflictNotification> is configured via FrIfTxConflictNotificationName (ECUC_ FrIf_06122), call this function for the same LPduIdx.⌋()
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
Reports mirrored frame with Tx conflict
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | SWS_FlexRayInterface.pdf |
|---|---|
| Dokumentseite | Seite 37 |
| Ziel-Modul | frif (classic) |
| Ziel-Anforderung | SWS_Mirror_01026 |
| Semantische Rolle | heuristic |
| Automatisierungs-Konfidenz | 0.80 |