DEENESPTFRRUARHIKOZHNL

FlexRay Driver (Fr)

ModulFr (FlexRay Driver)
BSW-Modul-ID81
Standard-Header#include "Fr.h"
SWS-SpezifikationAUTOSAR_SWS_FlexRayDriver.pdf
ClusterFlexRay

Module guideAI-GENERATED

Serves the FlexRay Interface as unified access to FlexRay controllers: start, halt, wakeup, transmission, reception.
AI-GENERATED unreviewed Model: claude-opus-5-5 · Effort: high · Temperature: not controllable · Prompt: ff0400b6ca26 Provenance Open questions (4)
Causal anchor: R20-11 Valid from R20-11 Synthesized for this specification release.
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Serves the FlexRay Interface as unified access to FlexRay controllers: start, halt, wakeup, transmission, reception.

The FlexRay driver encapsulates FlexRay communication controllers. Except for initialization by the EcuM, it is used exclusively by the FlexRay Interface Fr-SWS p. 15. It controls the POC state machine of the controller: initialization, start, wakeup, deferred halt, and immediate cancellation. It transmits data via configured LPDUs, checks the transmission status, and receives; this is supplemented by global time and absolute timers. Many services require a specific POC state or synchronicity with global time; otherwise, Fr reports the runtime error FR_E_INV_POCSTATE [SWS_Fr_91004].

The FlexRay driver encapsulates one or more FlexRay communication controllers (CC). Its only user is the FlexRay Interface; only initialization via Fr_Init is handled by the EcuM Fr-SWS p. 15. Each service addresses the controller via Fr_CtrlIdx, such as Fr_ControllerInit [SWS_Fr_00017]. The configuration is split into two parts: cluster parameters and LPDU assignments reside with the FrIf, while controller-related parameters reside with the Fr Fr-SWS p. 25.

At its core, Fr controls the POC state machine of the CC. Only five services are permitted to change the state Fr-SWS p. 23:

  • Fr_ControllerInit transitions the CC via POC:config to POC:ready.
  • Fr_StartCommunication starts the startup asynchronously [SWS_Fr_00010].
  • Fr_SendWUP transmits a wakeup pattern.
  • Fr_HaltCommunication halts at cycle end.
  • Fr_AbortCommunication aborts immediately [SWS_Fr_00011].

After Fr_StartCommunication, POC:normal active or normal passive is not guaranteed. Interpretation: The caller is therefore likely to track progress via Fr_GetPOCStatus. Question (open)

poc default_config POC:default config config POC:config default_config->config Fr_ControllerInit* ready POC:ready config->ready Fr_ControllerInit* ready->ready Fr_SetWakeupChannel (CONFIG … CONFIG_COMPLETE) wakeup POC:wakeup ready->wakeup Fr_SendWUP (WAKEUP) startup POC:startup ready->startup Fr_StartCommunication (RUN) wakeup->ready Implicitly upon completion normal_active POC:normal active startup->normal_active Implicitly upon success normal_passive POC:normal passive startup->normal_passive Implicitly upon success halt POC:halt normal_active->halt Fr_HaltCommunication (DEFERRED_HALT, Zyklusende) normal_passive->halt Fr_HaltCommunication (Annahme) halt->config Fr_ControllerInit* beliebig beliebiger Zustand beliebig->halt Fr_AbortCommunication (FREEZE)

State diagram: The POC states and the Fr services that trigger them. Sources: Fr-SWS p. 23, [SWS_Fr_00505]

Data flows as LSDU via configured LPDUs. Fr_TransmitTxLPdu transmits asynchronously [SWS_Fr_00092]. The FrIf queries the transmission status in its job list with Fr_CheckTxLPduStatus and confirms to the upper layers only upon FR_TRANSMITTED FrIf-SWS p. 38. Fr_ReceiveRxLPdu provides data and status; the value FR_RECEIVED_MORE_DATA_AVAILABLE indicates further FIFO entries [SWS_Fr_00512]. In addition, buffer reconfiguration, global time, and absolute timers are included.

Transmission and transmit confirmationObere SchichtISRFrIfFrUse Case: Transmission with direct buffer accessFrIf_Transmit(TxPduId, PduInfoPtr)Fr_CtrlIdx, Fr_LPduIdx,Determine Fr_LSduPtr and lengthFr_TransmitTxLPdu(Fr_CtrlIdx, Fr_LPduIdx,Fr_LSduPtr, Fr_LSduLength, Fr_SlotAssignmentPtr)E_OKoptE_OKIncrement TxConfCounter of the PDUReturn FrIf_TransmitUse Case: Transmit confirmation in the job listFrIf_JobListExec_<Cluster>()Fr_CheckTxLPduStatus(Fr_CtrlIdx, Fr_LPduIdx,Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)Fr_TxLPduStatusTypeoptFR_TRANSMITTEDloopPer PDU in the frame with TxConfCounter > 0TxConfCounter verringern<UL_TxConfirmation>(PduId)

Sequence diagram: Transmission with direct buffer access and a later, decoupled transmit confirmation. Sources: FrIf-SWS p. 106, FrIf-SWS p. 112

In case of error, the services return E_NOT_OK and leave their output parameters unchanged Fr-SWS p. 36. Hardware errors are sent to the DEM as FR_E_CTRL_TESTRESULT, protocol errors in the slot status as FR_E_LPDU_SLOTSTATUS [SWS_Fr_00600]. When detection is enabled, development errors such as FR_E_INV_CTRL_IDX are added [SWS_Fr_91003]. If the CC is not in the expected POC state, Fr reports the runtime error FR_E_INV_POCSTATE [SWS_Fr_91004].

Role in the FlexRay Stack: Controller Access for FrIf and EcuM

The FlexRay driver (Fr) encapsulates one or more FlexRay communication controllers (CC). Its only user is the FlexRay Interface (FrIf). An exception is the initialization via Fr_Init, which is called by the EcuM Fr-SWS p. 15. All other services address the controller via Fr_CtrlIdx, such as Fr_ControllerInit [SWS_Fr_00017]. Resources shared by the CC with other components (e.g., PLL configuration or memory mapping) are not configured by Fr itself. Their initialization must precede that of Fr Fr-SWS p. 15.

For data consistency, Fr uses the BSW Scheduler with SchM_Enter_Fr and SchM_Exit_Fr; optionally, it reports development errors via Det_ReportError [SWS_Fr_00391]. In addition, the specification lists Dem_SetEventStatus and Det_ReportRuntimeError as interfaces [SWS_Fr_00390]. From the perspective of the FrIf, POC control, data path, and absolute timers are mandatory interfaces FrIf-SWS p. 95. In contrast, services such as Fr_AllSlots, Fr_CancelTxLPdu, or Fr_GetNmVector are used only optionally by the FrIf FrIf-SWS p. 97.

kontext ul Obere Schichten (Upper Layer for FrIf) frif FrIf ul->frif FrIf_Transmit ecum EcuM fr Fr (FlexRay-Treiber) ecum->fr Fr_Init frif->ul TxConfirmation / RxIndication frif->fr All other Fr_ services (Fr_CtrlIdx, Fr_LPduIdx) cc FlexRay-CC (Hardware) fr->cc CHI-Befehle, Puffer, Register dem Dem fr->dem Dem_SetEventStatus det Det fr->det Det_ReportError, Det_ReportRuntimeError schm SchM fr->schm SchM_Enter_Fr / SchM_Exit_Fr shared Modules with shared resources (e.g., PLL, memory mapping) shared->fr Initialisierung vor Fr

Context diagram: Fr resides between FrIf/EcuM and the CC hardware and reports to DEM, DET, and SchM. Sources: Fr-SWS p. 15, [SWS_Fr_00390], [SWS_Fr_00391]

POC Control: From Fr_Init to Synchronous Communication

Each CC executes the state machine of the Protocol Operation Control (POC). Its transitions are triggered partly by hardware events and partly by host CHI commands Fr-SWS p. 23. Only Fr_StartCommunication, Fr_HaltCommunication, Fr_AbortCommunication, Fr_SendWUP, and Fr_ControllerInit are allowed to change the POC state. The states are mapped by Fr_POCStateType [SWS_Fr_00505].

Fr_Init only stores the configuration address for subsequent calls and imposes no precondition on the CC Fr-SWS p. 39. Fr_ControllerInit transitions the CC from any state to POC:config and loads the cluster and node parameters as well as the buffers. Afterwards, the function leaves the CC in POC:ready without pending transmission requests Fr-SWS p. 41. Fr_StartCommunication starts startup asynchronously using the CHI command RUN [SWS_Fr_00010]. That the CC subsequently reaches POC:normal active or normal passive is not guaranteed Fr-SWS p. 42. Interpretation: The caller is therefore likely to track progress via Fr_GetPOCStatus, which provides the status as Fr_POCStatusType [SWS_Fr_00510]. Question Q-aa60617897af9f9f (open) Fr_AllowColdstart is permissible in POC:ready or POC:startup [SWS_Fr_00114]. Fr_AllSlots requires synchronicity with global time and switches from key-slot operation to all-slots operation starting with the next cycle Fr-SWS p. 44.

There are two ways to terminate. Fr_HaltCommunication issues DEFERRED_HALT; POC:halt is reached only at the end of the running cycle Fr-SWS p. 45. In contrast, Fr_AbortCommunication aborts synchronously with FREEZE and transitions to POC:halt from any state [SWS_Fr_00011], Fr-SWS p. 47.

poc default_config POC:default config config POC:config default_config->config Fr_ControllerInit* ready POC:ready config->ready Fr_ControllerInit* ready->ready Fr_SetWakeupChannel (CONFIG … CONFIG_COMPLETE) wakeup POC:wakeup ready->wakeup Fr_SendWUP (WAKEUP) startup POC:startup ready->startup Fr_StartCommunication (RUN) wakeup->ready Implicitly upon completion normal_active POC:normal active startup->normal_active Implicitly upon success normal_passive POC:normal passive startup->normal_passive Implicitly upon success halt POC:halt normal_active->halt Fr_HaltCommunication (DEFERRED_HALT, Zyklusende) normal_passive->halt Fr_HaltCommunication (Annahme) halt->config Fr_ControllerInit* beliebig beliebiger Zustand beliebig->halt Fr_AbortCommunication (FREEZE)

State diagram: The POC states of the CC and the Fr services that trigger them; transitions marked with * are handled by a single call to Fr_ControllerInit. Sources: Fr-SWS p. 23, [SWS_Fr_00505], Fr-SWS p. 49

Initialization and communication startEcuMFrIfFrFlexRay-CCUse Case: Driver and controller initializationFr_Init(Fr_ConfigPtr)Konfigurationsadresse speichernFr_ControllerInit(Fr_CtrlIdx)Switch to POC:configCluster/node parameters andPuffer konfigurierenSwitch to POC:readyE_OKUse Case: KommunikationsstartoptKaltstart erlaubtFr_AllowColdstart(Fr_CtrlIdx)CHI ALLOW_COLDSTARTE_OKFr_StartCommunication(Fr_CtrlIdx)CHI RUNE_OK (asynchron)POC:startup – success not guaranteedloopbis POC:normal active/passive (Interpretation)Fr_GetPOCStatus(Fr_CtrlIdx, Fr_POCStatusPtr)vPOC lesenE_OK, Fr_POCStatusTypeFr_AllSlots(Fr_CtrlIdx)CHI ALL_SLOTS (from next cycle)E_OK

Sequence diagram: Initialization and communication start in stages; the startup runs asynchronously in the CC. Sources: Fr-SWS p. 41, Fr-SWS p. 42, Fr-SWS p. 43

Wakeup via a Selected Channel

Fr_SetWakeupChannel selects FR_CHANNEL_A or FR_CHANNEL_B as the wakeup channel [SWS_Fr_00091]. For this purpose, the CC transitions briefly to POC:config using the CHI command CONFIG and returns to POC:ready with CONFIG_COMPLETE Fr-SWS p. 49. Fr_SendWUP is permitted only in POC:ready and initiates the transmission of the wakeup pattern with WAKEUP. The CC traverses POC:wakeup and then returns to POC:ready. A transmitted pattern does not guarantee that all nodes in the cluster will wake up Fr-SWS p. 48.

The result is indicated by Fr_WakeupStatusType in the POC status, for example as FR_WAKEUP_TRANSMITTED, FR_WAKEUP_RECEIVED_WUP, or as a collision case [SWS_Fr_00508]. These values are evaluated by the FlexRay State Manager FrSM-SWS p. 19. In addition, Fr_GetWakeupRxStatus reports bit-coded whether a wakeup pattern was received on channel A (bit 0) or channel B (bit 1) [SWS_Fr_00587].

Set wakeup channel and send wakeup patternFrIfFrFlexRay-CCUse Case: Wakeup-Kanal festlegenFr_SetWakeupChannel(Fr_CtrlIdx, FR_CHANNEL_A)CHI CONFIG (POC:config)Wakeup-Kanal konfigurierenCHI CONFIG_COMPLETE (POC:ready)E_OKUse Case: Weckmuster sendenFr_SendWUP(Fr_CtrlIdx)CHI WAKEUPE_OK (asynchron)POC:wakeup, danach wieder POC:readyUse Case: Check resultFr_GetPOCStatus(Fr_CtrlIdx, Fr_POCStatusPtr)WakeupStatus, z. B. FR_WAKEUP_TRANSMITTEDFr_GetWakeupRxStatus(Fr_CtrlIdx, Fr_WakeupRxStatusPtr)Empfangsindikatoren A/B lesenE_OK, Bit 0 = Kanal A, Bit 1 = Kanal B

Sequence diagram: First, the channel is set via a brief CONFIG detour, then the wakeup pattern is sent and the status is queried. Sources: Fr-SWS p. 49, Fr-SWS p. 48, Fr-SWS p. 78

L-PDU Data Path: Transmission, Confirmation, Reception

Data flows as LSDU via LPDUs configured in the FrIf and uniquely designated via Fr_LPduIdx. Fr_TransmitTxLPdu passes buffer and length asynchronously to the transmission resource [SWS_Fr_00092]. Via Fr_SlotAssignmentPtr, the caller receives cycle, slot ID, and channel (Fr_SlotAssignmentType, [SWS_Fr_91002]); if it passes NULL_PTR, this information is omitted Fr-SWS p. 53. The FrIf calls Fr_TransmitTxLPdu directly from FrIf_Transmit and increments the TxConfCounter of the PDU upon E_OK FrIf-SWS p. 106.

In its job list, the FrIf queries Fr_CheckTxLPduStatus [SWS_Fr_00094]. Possible outcomes are FR_TRANSMITTED, FR_TRANSMITTED_CONFLICT, and FR_NOT_TRANSMITTED [SWS_Fr_00511]. Only upon FR_TRANSMITTED do TxConfirmations to upper layers follow FrIf-SWS p. 38. Fr_CancelTxLPdu terminates a pending transmission request and returns E_OK; if none is pending, it returns E_NOT_OK Fr-SWS p. 54.

Transmission and transmit confirmationObere SchichtISRFrIfFrUse Case: Transmission with direct buffer accessFrIf_Transmit(TxPduId, PduInfoPtr)Fr_CtrlIdx, Fr_LPduIdx,Determine Fr_LSduPtr and lengthFr_TransmitTxLPdu(Fr_CtrlIdx, Fr_LPduIdx,Fr_LSduPtr, Fr_LSduLength, Fr_SlotAssignmentPtr)E_OKoptE_OKIncrement TxConfCounter of the PDUReturn FrIf_TransmitUse Case: Transmit confirmation in the job listFrIf_JobListExec_<Cluster>()Fr_CheckTxLPduStatus(Fr_CtrlIdx, Fr_LPduIdx,Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)Fr_TxLPduStatusTypeoptFR_TRANSMITTEDloopPer PDU in the frame with TxConfCounter > 0TxConfCounter verringern<UL_TxConfirmation>(PduId)

Sequence diagram: Transmission with direct buffer access; confirmation follows later, decoupled in the job list. Sources: FrIf-SWS p. 106, FrIf-SWS p. 112, [SWS_Fr_00094]

Fr_ReceiveRxLPdu synchronously copies payload data, length, and the status Fr_RxLPduStatusType into the buffers of the caller [SWS_Fr_00093]. The value FR_RECEIVED_MORE_DATA_AVAILABLE indicates further instances in a receive FIFO [SWS_Fr_00512]. Fr uses the hardware FIFO if the configured filter criteria apply to it. Each call then retrieves the first valid frame; a dedicated FIFO API does not exist Fr-SWS p. 22. For ReceiveAndIndicate, the FrIf therefore polls repeatedly until FR_NOT_RECEIVED is returned or FrIfRxComOpMaxLoop is reached FrIf-SWS p. 41.

Empfang mit ReceiveAndIndicateISRFrIfFrObere SchichtFrIf_JobListExec_<Cluster>()Fr_CtrlIdx, Fr_LPduIdx, Zwischenpuffer festlegen;ComOpLoopCounter = 0loopComOpLoopCounter < FrIfRxComOpMaxLoopFr_ReceiveRxLPdu(Fr_CtrlIdx, Fr_LPduIdx, Fr_LSduPtr,Fr_LPduStatusPtr, Fr_LSduLengthPtr, Fr_SlotAssignmentPtr)LSdu aus Empfangspuffer bzw.erstem gültigen FIFO-Eintrag kopierenE_OK, Fr_RxLPduStatusType, LängealtFR_NOT_RECEIVEDCommunication Operation beendetFR_RECEIVED / FR_RECEIVED_MORE_DATA_AVAILABLEoptBus Mirroring aktivMirror_ReportFlexRayFrame() aufrufen<UL_RxIndication>(PduId, ...) je PDU im Rahmen

Sequence diagram: Reception in a bounded loop until no more data is pending. Sources: FrIf-SWS p. 41, FrIf-SWS p. 115, [SWS_Fr_00512]

Configuration, Instance Reference, and Buffer Reconfiguration

The configuration is split into two parts: cluster parameters reside with the FrIf, controller-related parameters with the Fr. All transmission and reception details (FrIfLPdu, FrIfFrameTriggering) are located only in the FrIf Fr-SWS p. 25. For each controller, there is a container FrController (1..*) with FrCtrlIdx and the FrP… protocol parameters Fr-SWS p. 98. In R20-11, Fr_ConfigType is a type derived from void for the implementation-specific post-build configuration [SWS_Fr_91001]. In contrast, the documentation section from R24-11 lists it as a Structure Fr-SWS p. 34; for R20-11, the requirement applies. If multiple FlexRay drivers are combined, Fr_GeneralTypes.h may exist only once in the source tree Fr-SWS p. 32. Fr_ReadCCConfig reads individual parameters via FR_CIDX_… indices [SWS_Fr_00651].

LPDU resources can be reconfigured at runtime. Fr_PrepareLPdu configures the assigned resource (slot ID, cycle filter, length, header CRC), provided the configuration generator uses reconfiguration. The function can be disabled via FrPrepareLPduSupport Fr-SWS p. 61. The FrIf invokes it as a Communication Operation PREPARE_LPDU; this incurs runtime overhead even if the driver does not reconfigure FrIf-SWS p. 42. Fr_ReconfigLPdu resets frame ID, channel, cycle filter, payload length, and header CRC [SWS_Fr_00524]. It does not recalculate the CRC, but merely checks whether it lies within the range 0–2047. Fr_DisableLPdu removes a resource from transmission and reception operation, but only for dynamically reconfigurable LPDUs Fr-SWS p. 65.

Global Time, Status Values, and Absolute Timers

Several queries require synchronicity with the global FlexRay time. Fr_GetGlobalTime returns cycle and macrotick consistently and may be called within an Exclusive Area Fr-SWS p. 67. Fr_GetNmVector must not be called at the moment the NM vector is updated Fr-SWS p. 68. Additional queries serve diagnostic purposes:

Absolute timers are addressed via Fr_AbsTimerIdx. Fr_SetAbsoluteTimer programs the cycle and a macrotick offset and requires synchronicity upon activation Fr-SWS p. 79. Fr_CancelAbsoluteTimer stops the timer [SWS_Fr_00095]. The interrupt line is controlled by enable, disable, acknowledge, and status query without any CC precondition [SWS_Fr_00034], [SWS_Fr_00035], [SWS_Fr_00036], [SWS_Fr_00108].

Behavior in the event of an error

Functions with Std_ReturnType return E_OK or E_NOT_OK. Upon E_NOT_OK, the output parameters remain unchanged Fr-SWS p. 36. If a function detects a hardware error of the controller, it invokes Dem_SetEventStatus(FR_E_CTRL_TESTRESULT, DEM_EVENT_STATUS_FAILED) and returns E_NOT_OK Fr-SWS p. 43. If the register check in Fr_ControllerInit succeeds, Fr reports PASS instead Fr-SWS p. 26. These passages originate from later releases. That the DEM path is also intended in R20-11 is supported by [SWS_Fr_00390]. Fr reports protocol errors in the slot status per LPDU as FR_E_LPDU_SLOTSTATUS [SWS_Fr_00600].

If development error detection is active, Fr reports, among others, the following errors [SWS_Fr_91003]:

  • FR_E_INIT_FAILED: Fr is not initialized
  • FR_E_INV_CTRL_IDX: invalid controller index
  • FR_E_INV_CYCLE: cycle greater than 63
  • FR_E_PARAM_POINTER: invalid pointer

Fr_GetSyncFrameList reports FR_E_INV_FRAMELIST_SIZE if Fr_ListSize is greater than 15 [SWS_Fr_00667]. FR_E_INV_POCSTATE is considered a runtime error: the CC is not in the expected POC state [SWS_Fr_91004].

fehler start Dienstaufruf, z. B. Fr_AllowColdstart detaktiv Entwicklungsfehlererkennung aktiv? start->detaktiv init Fr initialisiert? detaktiv->init yes hw execute CHI command / register access detaktiv->hw no initerr Entwicklungsfehler melden (FR_E_INIT_FAILED) init->initerr no param parameter valid? init->param yes abbruch cancellation without execution (interpretation) initerr->abbruch paramerr Entwicklungsfehler melden (z. B. FR_E_INV_CTRL_IDX, FR_E_PARAM_POINTER) param->paramerr no param->hw yes paramerr->abbruch hwerr Hardwarefehler erkannt? hw->hwerr dem Dem_SetEventStatus(FR_E_CTRL_TESTRESULT, DEM_EVENT_STATUS_FAILED) hwerr->dem yes ok E_OK, output parameters valid hwerr->ok no nok E_NOT_OK, output parameters unchanged dem->nok

Activity diagram: Check sequence of a service call and the reporting paths to DET and DEM. Sources: [SWS_Fr_91003], Fr-SWS p. 43, Fr-SWS p. 36

Further detailed evidence

AI-generated guide based on the requirements and documentation sections contained in the payload (Release R20-11); assumptions are marked as interpretation. The AUTOSAR specification remains authoritative.

FlexRay Driver (Fr)

Provides hardware-dependent access to FlexRay communication controllers.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

function Fr_Init [SWS_Fr_00032] 📄 PDF

void Fr_Init (const Fr_ConfigType* Fr_ConfigPtr);

Initializes the Fr.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: f5aa6ccb591c Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous function Fr_Init serves to initialize the FlexRay driver (Fr) according to [SWS_Fr_00032]. It is declared via the header file Fr.h and has the service ID 0x1c [SWS_Fr_00032]. The interface expects Fr_ConfigPtr of type const Fr_ConfigType* as the only input parameter [SWS_Fr_00032]. This pointer references a driver-dependent configuration structure that provides all information required for the subsequent operative operation of the FlexRay driver [SWS_Fr_00032]. The function has neither input/output parameters nor output parameters and provides no return value (void) [SWS_Fr_00032].

Regarding concurrency and constraints, Fr_Init is specified as non-reentrant (Non Reentrant) [SWS_Fr_00032]. Calls must therefore under no circumstances occur in parallel or nested. Since the passed configuration structure contains all fundamental data for further operation, initialization is typically performed sequentially during the start-up phase of the overall system before other module services are called [SWS_Fr_00032]. Question Q-a208c696fbb083d4 (open)

Error handling via specific error codes or status feedback is not provided in the service definition [SWS_Fr_00032]. Further requirements, such as notifications to DET or DEM, are not documented in the present dataset.

This text was generated by an AI based on the specification.

Implementer's Guide to follow (complexity I1)

function Fr_ControllerInit [SWS_Fr_00017] 📄 PDF

Std_ReturnType Fr_ControllerInit (uint8 Fr_CtrlIdx);

Initialzes a F lex Ray CC.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 8b66fbe244aa Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous function Fr_ControllerInit serves to initialize a FlexRay Communication Controller (FlexRay CC) in the context of the FlexRay driver [SWS_Fr_00017]. It is declared in the header file Fr.h and has the service ID 0x00 [SWS_Fr_00017]. Via the input parameter Fr_CtrlIdx of type uint8, the index of the controller to be initialized is passed [SWS_Fr_00017].

As return value, the function provides the status Std_ReturnType [SWS_Fr_00017]:

  • E_OK: The API call completed successfully [SWS_Fr_00017].
  • E_NOT_OK: The call was aborted prematurely due to errors that occurred [SWS_Fr_00017].

Detailed error codes and notifications to DET or DEM are not listed in the specified interface scope [SWS_Fr_00017].

Regarding concurrency, the function is classified as non-reentrant for the same hardware unit (Non Reentrant for the same device) [SWS_Fr_00017]. Therefore, a call for the same controller index Fr_CtrlIdx must not occur simultaneously; parallel calls for different controllers, however, are presumably permitted [SWS_Fr_00017]. Question Q-5bbbba38e8530b43 (open) Since no input and output parameters (inout/out) are defined, initialization is purely state-based in the driver [SWS_Fr_00017].

This usage note was generated automatically based on AUTOSAR specification status R20-11.

function Fr_StartCommunication [SWS_Fr_00010] 📄 PDF

Std_ReturnType Fr_StartCommunication (uint8 Fr_CtrlIdx);

Starts communication.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 46a36d4c38fd Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The function Fr_StartCommunication serves to start FlexRay communication on a specified controller [SWS_Fr_00010]. The interface is available via the header file Fr.h [SWS_Fr_00010].

use

The call is made asynchronously, passing the parameter Fr_CtrlIdx (Service ID 0x03), which specifies the index of the FlexRay communication controller within the driver context [SWS_Fr_00010]. As return value, the function provides a status of type Std_ReturnType [SWS_Fr_00010]:

  • E_OK: The API call ended successfully [SWS_Fr_00010]. Interpretation: Due to the asynchronous semantics, this likely signifies the successful acceptance of the start command, while the actual connection establishment proceeds subsequently. Question Q-fabca57ea7d32a05 (open)
  • E_NOT_OK: The API call was aborted due to errors [SWS_Fr_00010].

Concurrency and Limitations

For the same FlexRay controller, Fr_StartCommunication is specified as non-reentrant [SWS_Fr_00010]. For different controller instances, however, the call is reentrant. Specific development errors (DET), error notifications (DEM), or further dependencies are not contained in the available specification data.

This usage note is based exclusively on the information in the AUTOSAR Classic specification Release R20-11.

Implementer's Guide to follow (complexity I1)

function Fr_AllowColdstart [SWS_Fr_00114] 📄 PDF

Std_ReturnType Fr_AllowColdstart (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'ALLOW_ COLDSTART'.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 483395af770f Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The function Fr_AllowColdstart serves to call the Controller Host Interface command ALLOW_COLDSTART on the FlexRay Communication Controller [SWS_Fr_00114]. The declaration is provided via the header file Fr.h; the service has the Service ID 0x23 [SWS_Fr_00114]. The input parameter Fr_CtrlIdx specifies the index of the FlexRay controller to be addressed within the FlexRay driver [SWS_Fr_00114]. The call is executed asynchronously [SWS_Fr_00114].

Error Handling and Return Values

The function returns a status of type Std_ReturnType [SWS_Fr_00114]:

Specific error causes or notifications to DEM or DET are not listed separately for this service in the functional specification [SWS_Fr_00114].

Concurrency and Limitations

The interface is non-reentrant for the same controller instance (Non Reentrant for the same device) [SWS_Fr_00114]. Calls with the same parameter Fr_CtrlIdx must therefore not occur in parallel or preemptively [SWS_Fr_00114]. Interpretation: Due to the asynchronous execution semantics, the return value E_OK presumably only acknowledges the driver's acceptance of the CHI command, whereas the controller-internal state change takes place with a time delay [SWS_Fr_00114]. Question Q-e5c407f32c449510 (open)

This usage note was generated automatically based on the AUTOSAR specification for release R20-11.

Implementer's Guide to follow (complexity I1)

function Fr_AllSlots [SWS_Fr_00516] 📄 PDF

Std_ReturnType Fr_AllSlots (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'ALL_ SLOTS'.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 2807feb59753 Provenance Open questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Usage and Operation

The function Fr_AllSlots serves to issue the CHI (Controller Host Interface) command ALL_SLOTS to the addressed FlexRay communication controller [SWS_Fr_00516]. It is provided via the header Fr.h and has the service ID 0x24 [SWS_Fr_00516].

As an input parameter, the function expects Fr_CtrlIdx, which indicates the index of the affected FlexRay controller within the context of the FlexRay driver [SWS_Fr_00516]. Execution occurs asynchronously [SWS_Fr_00516]. The return value E_OK signals that the API call completed successfully, whereas E_NOT_OK indicates an abort due to errors [SWS_Fr_00516]. Due to the asynchronous semantics, E_OK presumably merely confirms the successful acceptance or triggering of the CHI command and not the completed hardware response of the controller (interpretation). Question Q-c526e3b174a4b44a (open)

Error Handling and Concurrency

If execution fails, the call aborts with the return value E_NOT_OK [SWS_Fr_00516]. Specific error causes or DET/DEM notifications are not named in the specification of this element.

Regarding reentrancy, Fr_AllSlots is specified as non-reentrant for the same controller (Non Reentrant for the same device) [SWS_Fr_00516]. Concurrent calls for the same controller instance must therefore be avoided by higher layers. Parallel calls for different controller instances, on the other hand, are likely to be permissible (interpretation). Question (open)

This usage note was generated automatically. Technical statements are based exclusively on the AUTOSAR specification excerpt.

function Fr_HaltCommunication [SWS_Fr_00014] 📄 PDF

Std_ReturnType Fr_HaltCommunication (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'DEFERRED_ HALT'.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: ff4ce9c60f63 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The function Fr_HaltCommunication serves to initiate the halting of communication on a FlexRay communication controller by executing the CC CHI command 'DEFERRED_HALT' [SWS_Fr_00014].

Usage and Parameters

The call is made asynchronously and is provided via the header Fr.h (service ID 0x04) [SWS_Fr_00014]:

  • Fr_CtrlIdx (input parameter): Determines the index of the FlexRay communication controller to be addressed within the FlexRay driver [SWS_Fr_00014].
  • Return value (Std_ReturnType): Returns E_OK if the function call completed successfully, or E_NOT_OK if the call was aborted due to errors [SWS_Fr_00014].

Concurrency and Limitations

Regarding call context and concurrency, Fr_HaltCommunication is non-reentrant with respect to the same device (Non Reentrant for the same device) [SWS_Fr_00014]. Consequently, no concurrent or overlapping call may occur for the same controller index. Calls for different controller instances, however, are permitted.

Error handling

If an error occurs during the call, the function aborts execution and signals this via the return value E_NOT_OK [SWS_Fr_00014]. Detailed error messages are not listed for this function in the specification scope.

This usage note was generated automatically based on the AUTOSAR specification.

function Fr_AbortCommunication [SWS_Fr_00011] 📄 PDF

Std_ReturnType Fr_AbortCommunication (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'FREEZE'.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 9c861ab0356c Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous function Fr_AbortCommunication aborts ongoing communication by executing the Controller Host Interface command (CHI command) FREEZE on the specified FlexRay communication controller (CC) [SWS_Fr_00011].

Call and Parameters

The call is made via the header Fr.h specifying the controller index Fr_CtrlIdx, which uniquely identifies the target FlexRay CC in the context of the FlexRay driver [SWS_Fr_00011]. Beyond this, no input and output parameters exist.

Return Values and Error Handling

The function returns a status of type Std_ReturnType [SWS_Fr_00011]:

Concurrency and Limitations

Regarding concurrency behavior, Fr_AbortCommunication is specified as non-reentrant for the same communication controller (Non Reentrant for the same device) [SWS_Fr_00011]. Parallel calls for the same controller instance must be avoided by the caller.

This text was generated by an AI based on the AUTOSAR R20-11 specification.

function Fr_SendWUP [SWS_Fr_00009] 📄 PDF

Std_ReturnType Fr_SendWUP (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'WAKEUP'.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 3acd90d21e6a Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Usage and Semantics

The function Fr_SendWUP serves to cause a wakeup procedure on the FlexRay bus by issuing the CHI command WAKEUP to the communication controller [SWS_Fr_00009]. The index of the target controller in the driver context is passed via parameter Fr_CtrlIdx [SWS_Fr_00009]. The call takes place asynchronously; the interface initiates the command, while the transmission of the wakeup pattern is subsequently performed on the hardware side [SWS_Fr_00009]. The declaration is available via Fr.h and the service has service ID 0x06 [SWS_Fr_00009].

Error Handling and Return Values

The function returns a status value of type Std_ReturnType [SWS_Fr_00009]:

  • E_OK: The API call was executed successfully and the CHI command was issued [SWS_Fr_00009].
  • E_NOT_OK: The API call was aborted due to occurred errors [SWS_Fr_00009].

Concurrency and Limitations

The function is specified as non-reentrant for the same device (Non Reentrant for the same device) [SWS_Fr_00009]. Interpretation: This is likely to mean that higher-level modules must synchronize concurrent calls for the same controller instance, whereas calls for different controller instances may be executed concurrently. Question Q-0e3b4e70a0755877 (open) Neither input/output nor pure output parameters are defined [SWS_Fr_00009].

This text was generated by an AI based on the AUTOSAR specification R20-11.

function Fr_TransmitTxLPdu [SWS_Fr_00092] 📄 PDF

Std_ReturnType Fr_TransmitTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, const uint8* Fr_LSduPtr, uint8 Fr_LSduLength, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Transmits data on the Flex Ray network.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: ef89a1ec9558 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The function Fr_TransmitTxLPdu serves to transmit payload data over the FlexRay network [SWS_Fr_00092]. It processes the transmission request with asynchronous semantics and maps the LSdu to be transmitted to the FlexRay frame identified by Fr_LPduIdx [SWS_Fr_00092].

Usage and Parameters

The call is made via the header file Fr.h (service ID 0x0b) specifying the controller index Fr_CtrlIdx for the FlexRay Communication Controller and the unique frame index Fr_LPduIdx [SWS_Fr_00092]. The pointer Fr_LSduPtr is used to pass the transmit LSdu provided in the buffer, whose data length in bytes is specified via Fr_LSduLength [SWS_Fr_00092]. Via the output parameter Fr_SlotAssignmentPtr, the caller can query the actual transmission cycle, the slot ID, and the FlexRay channel; if this information is not required, a NULL_PTR can be passed for this purpose [SWS_Fr_00092].

Return Values and Error Handling

The function acknowledges the call with the return type Std_ReturnType: The return value E_OK confirms the successful completion of the API call, while E_NOT_OK signals an abortion due to errors [SWS_Fr_00092]. Specific DET or DEM notifications are not contained in the specification data.

Concurrency

Regarding concurrency, Fr_TransmitTxLPdu is specified as non-reentrant for the same device (Non Reentrant for the same device) [SWS_Fr_00092]. Parallel transmission calls for the same FlexRay controller are therefore not permitted.

This text was created by an AI and is based exclusively on the specification data from AUTOSAR R20-11.

function Fr_CancelTxLPdu [SWS_Fr_00610] 📄 PDF

Std_ReturnType Fr_CancelTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Cancels the already pending transmission of a LPdu contained in a controllers p hysical transmit resource (e.g. message buffer).

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 1b6a672c94da Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Usage and Semantics

The synchronous function Fr_CancelTxLPdu cancels the already pending transmission of an L-PDU that is located in a physical transmit resource of the controller (e.g., a transmit buffer) [SWS_Fr_00610]. The function is declared in the header Fr.h and has the service ID 0x2d [SWS_Fr_00610].

To identify the transmission to be cancelled, the interface expects two parameters [SWS_Fr_00610]:

  • Fr_CtrlIdx: Index of the FlexRay Communication Controller within the context of the FlexRay driver [SWS_Fr_00610].
  • Fr_LPduIdx: Unique index for identifying the respective FlexRay frame [SWS_Fr_00610].

Return Values and Error Handling

The function call returns a status value of type Std_ReturnType [SWS_Fr_00610]:

Specific error codes, DET or DEM entries are not documented for this function; if an error occurs, the function signals it exclusively via the return value E_NOT_OK [SWS_Fr_00610].

Concurrency and Limitations

With regard to concurrency behavior, Fr_CancelTxLPdu is specified as non-reentrant for the same device (Non Reentrant for the same device) [SWS_Fr_00610]. This presumably means that parallel calls for the same controller instance must be synchronized at caller level. Question Q-ec480944eec04076 (open) Further input or output parameters are not present [SWS_Fr_00610].

This usage note was generated automatically based on the AUTOSAR R20-11 specification status.

function Fr_ReceiveRxLPdu [SWS_Fr_00093] 📄 PDF

Std_ReturnType Fr_ReceiveRxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint8* Fr_LSduPtr, Fr_RxLPduStatusType* Fr_LPduStatusPtr, uint8* Fr_LSduLengthPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Service Fr_ReceiveRxLPdu.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 0fc629fa27e3 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous function Fr_ReceiveRxLPdu serves to receive payload data from the FlexRay network and is available via the header Fr.h [SWS_Fr_00093].

Parameters and usage

Via the input parameters Fr_CtrlIdx and Fr_LPduIdx, the respective communication controller of the FlexRay driver and the FlexRay frame to be received are uniquely addressed [SWS_Fr_00093]. The payload and status data are passed to the caller via several pointers:

  • Fr_LSduPtr: Pointer to the buffer in which the received L-SDU is to be stored.
  • Fr_LPduStatusPtr: Pointer to the memory location for the reception status of the L-PDU.
  • Fr_LSduLengthPtr: Memory location for the length of the received L-SDU in bytes, corresponding to the number of bytes copied into Fr_LSduPtr.
  • Fr_SlotAssignmentPtr: Memory location for cycle, slot ID, and channel of the frame. Passing a NULL_PTR for this signals that the caller does not require this assignment information.

Concurrency and Error Handling

The interface is executed synchronously, but is not reentrant for the same device [SWS_Fr_00093]. A successful reception process is acknowledged with E_OK, whereas if errors occur, the call is aborted and E_NOT_OK is returned [SWS_Fr_00093]. Specific DET or DEM error codes are not indicated in the function's specification data.

This usage note was created automatically based on the specification.

Implementer's Guide to follow (complexity I1)

function Fr_CheckTxLPduStatus [SWS_Fr_00094] 📄 PDF

Std_ReturnType* Fr_CheckTxLPduStatus (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, Fr_TxLPduStatusType* Fr_TxLPduStatusPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Checks the transmit status of the LSdu.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: b48b77700fa6 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous interface Fr_CheckTxLPduStatus (service ID 0x0d) serves, according to [SWS_Fr_00094], to check the current transmission status of an L-SDU or a FlexRay frame in the FlexRay driver. It is provided via the header Fr.h.

As input parameters, the function requires the index of the FlexRay communication controller (Fr_CtrlIdx) as well as the index Fr_LPduIdx, which uniquely identifies the FlexRay frame to be checked in the driver [SWS_Fr_00094]. The determined transmission status of the LPdu is written back to the passed memory address via the output parameter Fr_TxLPduStatusPtr [SWS_Fr_00094].

In addition, the output parameter Fr_SlotAssignmentPtr allows determining the slot assignment: It points to a memory location where the actual cycle, the slot ID, and the channel of the addressed frame are stored [SWS_Fr_00094]. If the caller does not require this assignment information, passing a NULL_PTR signals that these data do not need to be provided [SWS_Fr_00094].

The interface is to be executed synchronously and is specified as non-reentrant for the same device (Non Reentrant for the same device) [SWS_Fr_00094]. Upon successful completion, the call returns the return value E_OK; in the event of errors, the function aborts and returns E_NOT_OK [SWS_Fr_00094].

This text was generated by an AI and is based on the AUTOSAR CP R20-11 specification.

Implementer's Guide to follow (complexity I1)

function Fr_PrepareLPdu [SWS_Fr_00107] 📄 PDF

Std_ReturnType Fr_PrepareLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Prepares a LPdu.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 942a5d73cf16 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Usage and Semantics

According to [SWS_Fr_00107], the synchronous function Fr_PrepareLPdu serves to prepare an L-PDU (Prepares a LPdu) and is provided via the header Fr.h. As input parameters, the service expects the controller index Fr_CtrlIdx for addressing the FlexRay Communication Controller (CC) in the driver context as well as Fr_LPduIdx for uniquely identifying the associated FlexRay frame [SWS_Fr_00107]. Interpretation: The call is likely to initialize or arm hardware-specific buffer structures for the subsequent transmission or reception process of the frame. Question Q-c4375099d73dbea2 (open)

Concurrency and Limitations

Regarding concurrency behavior, Fr_PrepareLPdu is specified as non-reentrant for the same hardware device (Non Reentrant for the same device) [SWS_Fr_00107]. A parallel or interrupting call for the same controller index Fr_CtrlIdx must therefore be strictly avoided by the caller.

Return Values and Error Handling

The function has the service ID 0x1f and reports its status via the return type Std_ReturnType [SWS_Fr_00107]:

  • E_OK: The API call ended successfully [SWS_Fr_00107].
  • E_NOT_OK: The API call was aborted prematurely due to errors that occurred [SWS_Fr_00107]. Specific DET or DEM error codes are not defined in the present specification excerpt.

This text was generated by an AI based on the specification AUTOSAR CP R20-11.

function Fr_ReconfigLPdu [SWS_Fr_00524] 📄 PDF

Std_ReturnType Fr_ReconfigLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint16 Fr_FrameId, Fr_ChannelType Fr_ChnlIdx, uint8 Fr_CycleRepetition, uint8 Fr_CycleOffset, uint8 Fr_PayloadLength, uint16 Fr_Header CRC); ⚠️

Service Fr_ReconfigLPdu.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 2abd260e91ea Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Usage and Parameters

The synchronous function Fr_ReconfigLPdu enables the dynamic reconfiguration of a FlexRay LPDU at runtime [SWS_Fr_00524]. Provided via the header Fr.h, the call addresses the respective FlexRay controller via Fr_CtrlIdx and the unique identifier of the frame via Fr_LPduIdx AUTOSAR_SWS_FlexRayDriver p. 65.

The following target parameters are passed during reconfiguration [SWS_Fr_00524]:

  • Fr_FrameId and Fr_ChnlIdx: Definition of the new frame ID and the communication channel.
  • Fr_CycleRepetition and Fr_CycleOffset: Configuration of cycle filtering for the LPDU.
  • Fr_PayloadLength and Fr_HeaderCRC: Payload length in bytes as well as the associated header CRC of the frame.

Concurrency and return values

The service is non-reentrant for the same controller (Non Reentrant for the same device) [SWS_Fr_00524]. For calls for different FlexRay controller instances, however, reentrancy is likely given (interpretation). Question Q-85908ef4796c80c7 (open) Upon successful reconfiguration, the call returns E_OK; if reconfiguration fails due to errors, E_NOT_OK is returned AUTOSAR_SWS_FlexRayDriver p. 65.

This text was created by an AI; accuracy cannot be guaranteed.

function Fr_DisableLPdu [SWS_Fr_00539] 📄 PDF

Std_ReturnType Fr_DisableLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Disables the hardware resource of a LPdu for transmission/ reception.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 458329c58a82 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The synchronous driver function Fr_DisableLPdu is used to disable the hardware resource of a FlexRay LPdu for transmission or reception ([SWS_Fr_00539]). The interface is provided via the header file Fr.h and is assigned to the service ID 0x26 ([SWS_Fr_00539]).

Two mandatory parameters must be passed for the function call ([SWS_Fr_00539]):

  • Fr_CtrlIdx: The index of the FlexRay communication controller within the driver context.
  • Fr_LPduIdx: The unique index identifying the respective FlexRay frame or LPdu.

As a return value, the function returns the status Std_ReturnType ([SWS_Fr_00539]). The value E_OK signals a successfully completed call, whereas E_NOT_OK is returned if the call was aborted due to an error.

Error handling

In the present specification, no specific error codes and no notifications to DET or DEM are defined for this service; the error behavior manifests itself directly in the return value E_NOT_OK ([SWS_Fr_00539]).

Concurrency and Limitations

Regarding reentrancy, Fr_DisableLPdu is classified as non-reentrant for the same device (Non Reentrant for the same device) ([SWS_Fr_00539]). Callers must therefore ensure that concurrent calls for the same controller are synchronized.

This text was generated by an AI based on the specification AUTOSAR CP R20-11.

function Fr_GetGlobalTime [SWS_Fr_00042] 📄 PDF

Std_ReturnType Fr_GetGlobalTime (uint8 Fr_CtrlIdx, uint8* Fr_CyclePtr, uint16* Fr_MacroTickPtr);

Gets the current global Flex Ray time. Important Note: Fr_ Get Global Time may be called within an exclusive area.

function Fr_GetNumStartupFrames [SWS_Fr_00547] 📄 PDF

Std_ReturnType Fr_GetNumOfStartupFrames (uint8 Fr_CtrlIdx, uint8* Fr_NumOfStartupFramesPtr);

Gets the current number of startup frames seen on the cluster. See variable v Startup Pairs of [12] for details.

function Fr_GetChannelStatus [SWS_Fr_00556] 📄 PDF

Std_ReturnType Fr_GetChannelStatus (uint8 Fr_CtrlIdx, uint16* Fr_ChannelAStatusPtr, uint16* Fr_ChannelBStatusPtr);

Gets the channe l status information. Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver

function Fr_GetClockCorrection [SWS_Fr_00564] 📄 PDF

Std_ReturnType Fr_GetClockCorrection (uint8 Fr_CtrlIdx, sint16* Fr_RateCorrectionPtr, sint32* Fr_OffsetCorrectionPtr);

Gets the current clock correction values. See variables v Interim Rate Correction and v Interim Offset Correction of [12] for details.

function Fr_CancelAbsoluteTimer [SWS_Fr_00095] 📄 PDF

Std_ReturnType Fr_CancelAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Stops an absolute timer.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 1332ce8764d8 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous function Fr_CancelAbsoluteTimer serves to orderly halt an active absolute timer on a FlexRay Communication Controller ([SWS_Fr_00095]). It is provided via the header file Fr.h and has the service ID 0x13 ([SWS_Fr_00095]).

Parameters and Return Value

  • Fr_CtrlIdx: Passes the index of the respective FlexRay Communication Controller in the context of the FlexRay driver ([SWS_Fr_00095]).
  • Fr_AbsTimerIdx: Determines the index of the absolute timer to be stopped in the context of the selected FlexRay controller ([SWS_Fr_00095]).
  • Return value: Provides via the type Std_ReturnType the status E_OK upon successful execution or E_NOT_OK if the call was aborted due to errors ([SWS_Fr_00095]).

Concurrency and Limitations

Regarding concurrency, the interface is defined as non-reentrant for the same device ("Non Reentrant for the same device") ([SWS_Fr_00095]). Calling layers must ensure that no competing or preemptive accesses occur for the same controller. Interpretation: For different controllers, however, execution is presumably permitted as reentrant. Question Q-01203b0b28193021 (open)

This usage note was generated automatically based on the specification of AUTOSAR R20-11.

function Fr_EnableAbsoluteTimerIRQ [SWS_Fr_00034] 📄 PDF

Std_ReturnType Fr_EnableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Service Fr_EnableAbsoluteTimerIRQ.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 7b32a9a85d27 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous function Fr_EnableAbsoluteTimerIRQ serves to enable the interrupt line of an absolute timer within a FlexRay Communication Controller [SWS_Fr_00034]. The service is provided via the header file Fr.h and has the Service ID 0x15 [SWS_Fr_00034].

When called, the interface expects two input parameters [SWS_Fr_00034]:

  • Fr_CtrlIdx: Index of the FlexRay Communication Controller within the context of the FlexRay driver [SWS_Fr_00034].
  • Fr_AbsTimerIdx: Index of the absolute timer within the context of the addressed FlexRay controller [SWS_Fr_00034].

The return value of type Std_ReturnType signals the result of the execution [SWS_Fr_00034]:

Regarding concurrency, the function is specified as non-reentrant for the same device (“Non Reentrant for the same device”) [SWS_Fr_00034]. This requires that concurrent calls for the same controller instance must strictly be avoided; presumably, however, a parallel call for different controller instances is permissible. Question Q-d7e594a84357e129 (open) Specific error codes for development or production errors (DET/DEM) are not listed in the functional description; errors that occur immediately result in the return of E_NOT_OK [SWS_Fr_00034].

This usage note was generated automatically based on the specification SWS_Fr_00034.

function Fr_AckAbsoluteTimerIRQ [SWS_Fr_00036] 📄 PDF

Std_ReturnType Fr_AckAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Service Fr_AckAbsoluteTimerIRQ.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 042d5293cc25 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous function Fr_AckAbsoluteTimerIRQ belongs to the FlexRay driver module (Fr) in the AUTOSAR Classic Platform and serves to reset the interrupt condition of an absolute timer [SWS_Fr_00036]. The declaration of the interface is provided via the header file Fr.h and is assigned to the hexadecimal service ID 0x17 [SWS_Fr_00036].

To uniquely address the timer, the function expects two input parameters of type uint8, while no input/output or pure output parameters are present [SWS_Fr_00036]:

  • Fr_CtrlIdx: Passes the index of the FlexRay Communication Controller (CC) within the context of the FlexRay driver [SWS_Fr_00036].
  • Fr_AbsTimerIdx: Designates the index of the absolute timer within the context of the respective FlexRay Communication Controller [SWS_Fr_00036].

The result of the function execution is reported back via the status value of type Std_ReturnType. If the call completed successfully, the function returns E_OK [SWS_Fr_00036]. If errors occur during execution, the function call aborts prematurely and returns E_NOT_OK instead [SWS_Fr_00036].

Regarding concurrency behavior, the service is classified as non-reentrant for the same device (Non Reentrant for the same device) [SWS_Fr_00036]. Calls for the same controller instance must therefore take place synchronously and must not be executed concurrently in an overlapping manner [SWS_Fr_00036].

This usage note is based on the specification SWS_Fr_00036 of the FlexRay driver and was generated automatically.

function Fr_DisableAbsoluteTimerIRQ [SWS_Fr_00035] 📄 PDF

Std_ReturnType Fr_DisableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Disables the in terrupt line of an absolute timer.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: d5655e373a1a Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

In the FlexRay driver, the synchronous function Fr_DisableAbsoluteTimerIRQ serves to specifically disable the interrupt line of an absolute timer [SWS_Fr_00035]. As input parameters, the interface expects the controller index Fr_CtrlIdx to address the respective FlexRay communication controller (CC) in the driver context, as well as Fr_AbsTimerIdx to identify the absolute timer within this controller [SWS_Fr_00035]. The declaration of the function is provided via the header file Fr.h [SWS_Fr_00035].

The result of the execution is communicated synchronously to the caller via the return type Std_ReturnType [SWS_Fr_00035]. If the service was able to finish properly and successfully, it returns E_OK [SWS_Fr_00035]. If, however, errors occur during processing, the function aborts the operation and signals this via the return value E_NOT_OK [SWS_Fr_00035]. Concrete development or runtime errors (DET/DEM) are not indicated in the specification element, so that error states must primarily be detected and handled on the basis of the return value [SWS_Fr_00035].

Regarding concurrency, Fr_DisableAbsoluteTimerIRQ is defined as non-reentrant for the same device [SWS_Fr_00035]. Therefore, multiple calls for the same controller index must not occur concurrently and must be synchronized by the caller, whereas parallel access to different controllers is permitted [SWS_Fr_00035].

This usage note was generated automatically based on the AUTOSAR R20-11 specification.

function Fr_ReadCCConfig [SWS_Fr_00651] 📄 PDF

Std_ReturnType Fr_ReadCCConfig (uint8 Fr_CtrlIdx, uint8 Fr_Config ParamIdx, uint32* Fr_Config ParamValuePtr); ⚠️

Service Fr_ReadCCConfig.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: d518f5d7267e Provenance Open questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous function Fr_ReadCCConfig reads a specific FlexRay protocol configuration parameter of a controller directly from the module configuration of the FlexRay driver [SWS_Fr_00651]. The interface is declared via the header Fr.h and has the service ID 0x2e [SWS_Fr_00651].

Parameters and Return Values

  • Fr_CtrlIdx: Determines the index of the affected FlexRay communication controller in the driver context [SWS_Fr_00651].
  • Fr_ConfigParamIdx: Identifies the parameter to be read via defined macros of format FR_CIDX_<config_parameter_name> [SWS_Fr_00651].
  • Fr_ConfigParamValuePtr: Pointer to the memory address of type uint32 to which the read value is written [SWS_Fr_00651].
  • Return value: Returns E_OK upon successful execution or E_NOT_OK in case of error [SWS_Fr_00651].

Concurrency and Error Behavior

The function is designed to be non-reentrant for the same controller (\"Non Reentrant for the same device\") [SWS_Fr_00651]. Concurrent calls for different controller instances are therefore likely permissible. Question Q-b5e4172654514747 (open) Specific DET or DEM errors are not named in the interface definition; error states result in termination with return of E_NOT_OK [SWS_Fr_00651]. The caller presumably has to ensure that Fr_ConfigParamValuePtr points to a valid memory area.

This text was generated by an AI based on the AUTOSAR specification R20-11.

type Fr_ConfigType [SWS_Fr_91001] 📄 PDF

This type contains the implementation - specific post build configuration structure.

type Fr_SlotModeType [SWS_Fr_00506] 📄 PDF

This formal definition refers to the description of type T_ Slot Mode in chapter 2.2.1.3 POC status of [12]. Available Fr_ General Types.h For FlexRay 2.1 Rev A compliant FlexRay controllers see literal SINGL ESLOT instead of KEYSLOT in [14] . Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver via

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 71b66b82e47a Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The enumeration type Fr_SlotModeType is part of the interface definition of the FlexRay driver in AUTOSAR Classic and is provided via the header Fr_GeneralTypes.h [SWS_Fr_00506]. The type definition formally refers to the type T_SlotMode from the FlexRay protocol specification, where it is described in the chapter on Protocol Operation Control (POC status) [SWS_Fr_00506].

The enumeration specifies the state of slot processing of the controller using three fixedly defined values [SWS_Fr_00506]:

  • FR_SLOTMODE_KEYSLOT (value 0x00): Maps the literal KEYSLOT of the formal type definition T_SlotMode [SWS_Fr_00506].
  • FR_SLOTMODE_ALL_PENDING (value 0x01): Maps the literal ALL_PENDING of the formal type definition T_SlotMode [SWS_Fr_00506].
  • FR_SLOTMODE_ALL (value 0x02): Maps the literal ALL of the formal type definition T_SlotMode [SWS_Fr_00506].

When used with controllers compliant with the older FlexRay 2.1 Rev A standard, a differing naming must be taken into account: Instead of the literal KEYSLOT, the literal SINGLESLOT occurs here [SWS_Fr_00506]. Interpretation: At the driver and software level, the type presumably serves to determine whether the FlexRay controller has currently enabled only key slots (Key Slots) or all slots for transmission, or whether a corresponding transition is pending. Question Q-f926c41c8a5d3380 (open)

This text was generated by an AI based on the AUTOSAR specification R20-11.

Implementer's Guide to follow (complexity I1)

type Fr_ErrorModeType [SWS_Fr_00507] 📄 PDF

This formal definition refers to the description of type T_ Error Mode in chapter 2.2.1.3 POC status of [12].

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 0428cd81ff78 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The enumeration type Fr_ErrorModeType maps the error modes of the FlexRay Protocol Operation Control (POC) and is provided via the header file Fr_GeneralTypes.h [SWS_Fr_00507]. The enumeration defines the states of the error monitoring mechanism of the communication controller and refers to the formal type definition T_ErrorMode in the FlexRay POC status [SWS_Fr_00507].

The range of values comprises three states according to [SWS_Fr_00507]:

  • FR_ERRORMODE_ACTIVE (0x00): Represents the literal ACTIVE of the formal type definition T_ErrorMode and designates the error-free state or normal operation of the communication controller.
  • FR_ERRORMODE_PASSIVE (0x01): Corresponds to the literal PASSIVE of the formal type definition T_ErrorMode, in which errors were registered on the bus and communication may be degraded.
  • FR_ERRORMODE_COMM_HALT (0x02): Maps the literal COMM_HALT of the formal type definition T_ErrorMode when bus communication was stopped due to severe error conditions.

Integration and Boundary Conditions

Interpretation: The type is likely to serve primarily as a return value or status parameter in query functions of the FlexRay driver to communicate the state of the controller to higher-level software layers. Question Q-e4d6ae534d1dfa2c (open) Since [SWS_Fr_00507] exclusively specifies the data structure, no standalone error handling via DET or DEM and no direct requirements on reentrancy or concurrency exist at the type level.

This text was generated by an AI based on the AUTOSAR specification R20-11.

Implementer's Guide to follow (complexity I1)

type Fr_WakeupStatusType [SWS_Fr_00508] 📄 PDF

This formal definition refers to the description of type T_ Wakeup Status in chapter Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver 2.2.1.3 POC status of [12].

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 5640c2fecfca Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The enumeration type Fr_WakeupStatusType is provided via the header file Fr_GeneralTypes.h and maps the wakeup status of the FlexRay driver according to the formal definition T_WakeupStatus from the POC status [SWS_Fr_00508].

Usage and Value Range

The type represents the various states and events during a FlexRay wakeup process and comprises seven specific enumeration values [SWS_Fr_00508]:

  • FR_WAKEUP_UNDEFINED (0x00): Corresponds to the literal UNDEFINED of the formal type definition [SWS_Fr_00508].
  • FR_WAKEUP_RECEIVED_HEADER (0x01): Designates the reception of a wakeup header (literal RECEIVED_HEADER) [SWS_Fr_00508].
  • FR_WAKEUP_RECEIVED_WUP (0x02): Represents the received wakeup pattern (literal RECEIVED_WUP) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_HEADER (0x03): Indicates a collision on a received header (literal COLLISION_HEADER) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_WUP (0x04): Signals a collision during a wakeup pattern (literal COLLISION_WUP) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_UNKNOWN (0x05): Describes a collision with unknown cause (literal COLLISION_UNKNOWN) [SWS_Fr_00508].
  • FR_WAKEUP_TRANSMITTED (0x06): Confirms the successful transmission of the wakeup signal (literal TRANSMITTED) [SWS_Fr_00508].

Interaction and Constraints

Interpretation: The type is likely to serve primarily as a status parameter of driver functions to enable higher-level modules to perform precise diagnostics of the channel and wakeup status. Question Q-48907418bc3729a1 (open) Since the specification defines no specific error codes or concurrency restrictions for the type itself, its use is subject to the call conventions of the respective querying API functions [SWS_Fr_00508].

This usage note was generated automatically based on the specification of AUTOSAR CP R20-11.

Implementer's Guide to follow (complexity I1)

type Fr_StartupStateType [SWS_Fr_00509] 📄 PDF

Type Fr_StartupStateType.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: a1f8765c7bfa Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The enumeration type Fr_StartupStateType is provided according to [SWS_Fr_00509] via the header file Fr_GeneralTypes.h and maps the startup states of the FlexRay protocol controller (POC status) to standardized values. The definition refers to the formal type definition T_StartupState from Chapter 2.2.1.3 of the specification.

The range of values comprises eleven discrete states that represent the progression of the protocol startup:

  • FR_STARTUP_UNDEFINED (0x00): Represents an undefined startup state.
  • FR_STARTUP_COLDSTART_LISTEN (0x01) to FR_STARTUP_COLDSTART_GAP (0x09): Represent the phases of the coldstart, including listen phase, consistency check, collision resolution, and joining (coldstart join).
  • FR_STARTUP_INTEGRATION_LISTEN (0x06), FR_STARTUP_INITIALIZE_SCHEDULE (0x07), and FR_STARTUP_INTEGRATION_CONSISTENCY_CHECK (0x08): Represent integration and initialization steps in the schedule.
  • FR_STARTUP_EXTERNAL_STARTUP (0x0A): Represents the externally controlled startup.

Integrating software modules use this type (interpretation: primarily for status polling or monitoring the controller startup). Question Q-7d07faa6c48d4e58 (open) Since Fr_StartupStateType is a pure type definition, no error codes or error messages are triggered directly; however, evaluators must note that values outside the range from 0x00 to 0x0A are unspecified.

This text was generated by an AI and serves as guidance. Only the text of the AUTOSAR specification is binding.

Implementer's Guide to follow (complexity I1)

type Fr_POCStatusType [SWS_Fr_00510] 📄 PDF

This formal definition refers to the description of type T_ POCStatus in chapter 2.2.1.3 POC status of [12].

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 3280d7e2ba7e Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The data type Fr_POCStatusType is specified as a data structure and is provided via the header file Fr_GeneralTypes.h [SWS_Fr_00510]. The formal definition refers to the description of the type T_POCStatus in Chapter 2.2.1.3 (POC status) of the FlexRay protocol specification [SWS_Fr_00510].

Usage and Structure Layout

The structure aggregates the current operational and protocol state of the FlexRay Protocol Operation Control (POC) [SWS_Fr_00510]. It is composed of the following elements:

  • State (type Fr_POCStateType) and StartupState (type Fr_StartupStateType) to specify the current POC state as well as the startup status [SWS_Fr_00510].
  • ErrorMode (type Fr_ErrorModeType) and Freeze (type boolean) to designate the error mode and a controller halt [SWS_Fr_00510].
  • SlotMode (type Fr_SlotModeType) and WakeupStatus (type Fr_WakeupStatusType) for the slot mode and wakeup status [SWS_Fr_00510].
  • CHIHaltRequest, CHIReadyRequest, and ColdstartNoise (each boolean) to signal host interface requests and line noise during the coldstart [SWS_Fr_00510].

Concurrency and Integration

Interpretation: Since Fr_POCStatusType is a pure data structure without its own functional logic, it likely functions primarily as an output parameter in status queries of the FlexRay hardware. Question Q-960f2475ff1068fc (open) If multiple tasks or software layers access instances of this structure, callers must independently ensure appropriate synchronization to guarantee consistent reading of the related substates [SWS_Fr_00510].

This usage note was generated automatically based on the payload for SWS_Fr_00510.

Implementer's Guide to follow (complexity I1)

type Fr_TxLPduStatusType [SWS_Fr_00511] 📄 PDF

These values are used to determine whether a LPdu has been transmitted or not.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 2ca1e4be5d96 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

In the AUTOSAR Classic Platform, the enumeration type Fr_TxLPduStatusType serves to determine whether a FlexRay LPdu (Link Layer Protocol Data Unit) was successfully transmitted or not [SWS_Fr_00511]. The type definition is provided for software modules via the header file Fr_GeneralTypes.h [SWS_Fr_00511].

The range of values of the enumeration comprises three unique status states for transmission operations [SWS_Fr_00511]:

  • FR_TRANSMITTED (0x00): The LPdu was successfully transmitted over the bus [SWS_Fr_00511].
  • FR_TRANSMITTED_CONFLICT (0x01): A conflict occurred during the transmission [SWS_Fr_00511].
  • FR_NOT_TRANSMITTED (0x02): The LPdu was not transmitted [SWS_Fr_00511].

With regard to the interaction and the call context, this status value is typically expected to be used by upper layers to query the transmission buffer state in the FlexRay driver (interpretation). Question Q-347a88512db1f006 (open) Specific error codes, error handling routines, as well as DET or DEM reports are not provided for this data type in the specifications, as it is a pure type declaration [SWS_Fr_00511].

This text was generated by an AI based on the AUTOSAR specification R20-11.

Implementer's Guide to follow (complexity I1)

type Fr_RxLPduStatusType [SWS_Fr_00512] 📄 PDF

These values are used to determine if a LPdu has been received or not.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 454416ec6a4f Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The enumeration type Fr_RxLPduStatusType is part of the AUTOSAR Classic module Fr and is provided via the header file Fr_GeneralTypes.h [SWS_Fr_00512]. It serves to determine whether an L-PDU (FlexRay Link Layer PDU) has been received or not [SWS_Fr_00512].

The type defines three discrete status values to evaluate the reception status [SWS_Fr_00512]:

  • FR_RECEIVED (0x00): The L-PDU was successfully received [SWS_Fr_00512].
  • FR_NOT_RECEIVED (0x01): The L-PDU was not received [SWS_Fr_00512].
  • FR_RECEIVED_MORE_DATA_AVAILABLE (0x02): The L-PDU was received and further instances of this L-PDU are available, as occurs when using receive FIFOs [SWS_Fr_00512].

In receive operation via buffer structures, the type not only distinguishes the presence of received data, but additionally indicates the presence of further instances in FIFO operation [SWS_Fr_00512]. This is likely intended to signal to the caller that further data can be retrieved immediately from the FIFO after reading out the current instance [SWS_Fr_00512]. Question Q-0ab7cac72ff7f549 (open)

This usage note was created by an AI and is based on the AUTOSAR R20-11 specification.

Implementer's Guide to follow (complexity I1)

type Fr_SlotAssignmentType [SWS_Fr_91002] 📄 PDF

This structure contains information about the assignment of a Flex Ray frame to a cycle and a slot ID.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 9bab6b29a274 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The structure Fr_SlotAssignmentType serves to store assignment information of a FlexRay frame to a communication cycle and a slot ID [SWS_Fr_91002]. It is defined in the header Fr_GeneralTypes.h and combines all addressing parameters required for transmitting or receiving a frame on the FlexRay channel [SWS_Fr_91002].

The structure comprises the following elements [SWS_Fr_91002]:

  • Cycle (type uint8): Indicates the cycle in which the FlexRay frame is transmitted or received [SWS_Fr_91002].
  • SlotId (type uint16): Designates the unique slot ID of the frame within the FlexRay communication schedule [SWS_Fr_91002].
  • channelId (type Fr_ChannelType): Specifies the FlexRay channel via which transmission or reception takes place [SWS_Fr_91002].

Since Fr_SlotAssignmentType represents a pure data structure, it has no execution semantics of its own such as synchronicity or reentrancy and does not trigger DET or DEM error reports itself [SWS_Fr_91002]. The consistency of the contained values for cycle, slot, and channel is likely within the responsibility of the utilizing driver functions (interpretation). Question Q-77f88375e544e298 (open)

This text was created by an AI and is based exclusively on the specification data of AUTOSAR Classic R20-11.

type Fr_ChannelType [SWS_Fr_00514] 📄 PDF

FlexRay channel identifier: FR_CHANNEL_A, FR_CHANNEL_B, or FR_CHANNEL_AB.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_Fr
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Fr@rel:R20-11#4a3eadf5
Content hash
4a3eadf5
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayDriver.pdf#nameddest=SWS_Fr_00032

Initialization and status

Returns the version information of this module.

void Fr_GetVersionInfo (Std_VersionInfoType* VersioninfoPtr);
Fr_Init function

Initializes the Fr.

void Fr_Init (const Fr_ConfigType* Fr_ConfigPtr);

Services · Get…

Gets IRQ status of an absolute timer.

Std_ReturnType Fr_GetAbsoluteTimerIRQStatus (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx, boolean* Fr_IRQStatusPtr);

Gets the channe l status information. Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver

Std_ReturnType Fr_GetChannelStatus (uint8 Fr_CtrlIdx, uint16* Fr_ChannelAStatusPtr, uint16* Fr_ChannelBStatusPtr);

Gets the current clock correction values. See variables v Interim Rate Correction and v Interim Offset Correction of [12] for details.

Std_ReturnType Fr_GetClockCorrection (uint8 Fr_CtrlIdx, sint16* Fr_RateCorrectionPtr, sint32* Fr_OffsetCorrectionPtr);

Gets the current global Flex Ray time. Important Note: Fr_ Get Global Time may be called within an exclusive area.

Std_ReturnType Fr_GetGlobalTime (uint8 Fr_CtrlIdx, uint8* Fr_CyclePtr, uint16* Fr_MacroTickPtr);

Gets the network management vector of the last communication cycle.

Std_ReturnType Fr_GetNmVector (uint8 Fr_CtrlIdx, uint8* Fr_NmVectorPtr);

Gets the current number of startup frames seen on the cluster. See variable v Startup Pairs of [12] for details.

Std_ReturnType Fr_GetNumOfStartupFrames (uint8 Fr_CtrlIdx, uint8* Fr_NumOfStartupFramesPtr);

Gets the POC status.

Std_ReturnType Fr_GetPOCStatus (uint8 Fr_CtrlIdx, Fr_POCStatusType* Fr_POCStatusPtr);

Service Fr_GetSyncFrameList.

Std_ReturnType Fr_GetSyncFrameList (uint8 Fr_CtrlIdx, uint8 Fr_ListSize, uint16* Fr_ChannelAEvenListPtr, uint16* Fr_ChannelBEvenListPtr, uint16* Fr_ChannelAOddListPtr, uint16* Fr_ChannelBOddListPtr);

Gets the wakeup received information from the Flex Ray controller.

Std_ReturnType Fr_GetWakeupRxStatus (uint8 Fr_CtrlIdx, uint8* Fr_WakeupRxStatusPtr);

Services · Cancel…

Stops an absolute timer.

Std_ReturnType Fr_CancelAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Cancels the already pending transmission of a LPdu contained in a controllers p hysical transmit resource (e.g. message buffer).

Std_ReturnType Fr_CancelTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Services · Disable…

Disables the in terrupt line of an absolute timer.

Std_ReturnType Fr_DisableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Disables the hardware resource of a LPdu for transmission/ reception.

Std_ReturnType Fr_DisableLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Services · Set…

Sets the absolute Flex Ray timer.

Std_ReturnType Fr_SetAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx, uint8 Fr_Cycle, uint16 Fr_Offset);

Sets a wakeup channel.

Std_ReturnType Fr_SetWakeupChannel (uint8 Fr_CtrlIdx, Fr_ChannelType Fr_ChnlIdx);

Services · More

Invokes the CC CHI command 'FREEZE'.

Std_ReturnType Fr_AbortCommunication (uint8 Fr_CtrlIdx);

Service Fr_AckAbsoluteTimerIRQ.

Std_ReturnType Fr_AckAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Invokes the CC CHI command 'ALLOW_ COLDSTART'.

Std_ReturnType Fr_AllowColdstart (uint8 Fr_CtrlIdx);
Fr_AllSlots function

Invokes the CC CHI command 'ALL_ SLOTS'.

Std_ReturnType Fr_AllSlots (uint8 Fr_CtrlIdx);

Checks the transmit status of the LSdu.

Std_ReturnType* Fr_CheckTxLPduStatus (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, Fr_TxLPduStatusType* Fr_TxLPduStatusPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Initialzes a F lex Ray CC.

Std_ReturnType Fr_ControllerInit (uint8 Fr_CtrlIdx);

Service Fr_EnableAbsoluteTimerIRQ.

Std_ReturnType Fr_EnableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Invokes the CC CHI command 'DEFERRED_ HALT'.

Std_ReturnType Fr_HaltCommunication (uint8 Fr_CtrlIdx);

Prepares a LPdu.

Std_ReturnType Fr_PrepareLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Service Fr_ReadCCConfig.

Std_ReturnType Fr_ReadCCConfig (uint8 Fr_CtrlIdx, uint8 Fr_Config ParamIdx, uint32* Fr_Config ParamValuePtr); ⚠️

Service Fr_ReceiveRxLPdu.

Std_ReturnType Fr_ReceiveRxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint8* Fr_LSduPtr, Fr_RxLPduStatusType* Fr_LPduStatusPtr, uint8* Fr_LSduLengthPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Service Fr_ReconfigLPdu.

Std_ReturnType Fr_ReconfigLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint16 Fr_FrameId, Fr_ChannelType Fr_ChnlIdx, uint8 Fr_CycleRepetition, uint8 Fr_CycleOffset, uint8 Fr_PayloadLength, uint16 Fr_Header CRC); ⚠️
Fr_SendWUP function

Invokes the CC CHI command 'WAKEUP'.

Std_ReturnType Fr_SendWUP (uint8 Fr_CtrlIdx);

Starts communication.

Std_ReturnType Fr_StartCommunication (uint8 Fr_CtrlIdx);

Transmits data on the Flex Ray network.

Std_ReturnType Fr_TransmitTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, const uint8* Fr_LSduPtr, uint8 Fr_LSduLength, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Types

FlexRay channel identifier: FR_CHANNEL_A, FR_CHANNEL_B, or FR_CHANNEL_AB.

This type contains the implementation - specific post build configuration structure.

This formal definition refers to the description of type T_ Error Mode in chapter 2.2.1.3 POC status of [12].

This formal definition refers to the description of type T_ POCStatus in chapter 2.2.1.3 POC status of [12].

These values are used to determine if a LPdu has been received or not.

This structure contains information about the assignment of a Flex Ray frame to a cycle and a slot ID.

This formal definition refers to the description of type T_ Slot Mode in chapter 2.2.1.3 POC status of [12]. Available Fr_ General Types.h For FlexRay 2.1 Rev A compliant FlexRay controllers see literal SINGL ESLOT instead of KEYSLOT in [14] . Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver via

Type Fr_StartupStateType.

These values are used to determine whether a LPdu has been transmitted or not.

This formal definition refers to the description of type T_ Wakeup Status in chapter Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver 2.2.1.3 POC status of [12].