FlexRay Interface (FrIf)
Abstracts FlexRay hardware controllers for upper layers.
Funktionen — Übersicht
void FrIf_Init (const FrIf_ConfigType* FrIf_ConfigPtr);Initializes the Flex Ray Interface.Std_ReturnType FrIf_ControllerInit (uint8 FrIf_CtrlIdx);Initialized a Flex Ray CC.Std_ReturnType FrIf_SetAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, uint8 FrIf_Cycle, uint16 FrIf_Offset);Wraps the Flex Ray Driver API function Fr_ Set Absolute Timer().Std_ReturnType FrIf_EnableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Service FrIf_EnableAbsoluteTimerIRQ.Std_ReturnType FrIf_AckAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Wraps the Flex Ray Driver API function Fr_ Ack Absolute Timer IRQ()Std_ReturnType FrIf_StartCommunication (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Start Communication().Std_ReturnType FrIf_HaltCommunication (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Halt Communication().Std_ReturnType FrIf_AbortCommunication (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Abort Communication().Std_ReturnType FrIf_GetState (uint8 FrIf_ClstIdx, FrIf_StateType* FrIf_StatePtr);Get current Fr If state.Std_ReturnType FrIf_SetState (uint8 FrIf_ClstIdx, FrIf_StateTransitionType FrIf_StateTransition);Requests Fr If state machine transition.Std_ReturnType FrIf_SetWakeupChannel (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);Wraps the Flex Ray Driver API functi on Fr_ Set Wakeup Channel().Std_ReturnType FrIf_SendWUP (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Send WUP().Std_ReturnType FrIf_GetPOCStatus (uint8 FrIf_CtrlIdx, Fr_POCStatusType* FrIf_POCStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get POCStatus().Std_ReturnType FrIf_GetGlobalTime (uint8 FrIf_CtrlIdx, uint8* FrIf_CyclePtr, uint16* FrIf_MacroTickPtr);Wraps the Flex Ray Driver API function Fr_ Get Global Time().Std_ReturnType FrIf_AllowColdstart (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Allow Coldstart().uint16 FrIf_GetMacroticksPerCycle (uint8 FrIf_CtrlIdx);Retrieves the amount of Macroticks per Cycleuint16 FrIf_GetMacrotickDuration (uint8 FrIf_CtrlIdx);Retrieves the Duration of a Macrotick in nsStd_ReturnType FrIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType FrIf_SetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, Limited by st atic configuration [Configuration Parameter FrIfCounterLimit, see FrIf06076 ]); ⚠️Wraps the Flex Ray Transceiver Driver API function FrStd_ReturnType FrIf_GetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvModeType* FrIf_TrcvModePtr);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Mode().Std_ReturnType FrIf_GetTransceiverWUReason (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvWUReasonType* FrIf_TrcvWUReasonPtr);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver WUReason().Std_ReturnType FrIf_ClearTransceiverWakeup (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Clear Transceiver Wakeup().Std_ReturnType FrIf_CancelAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Wraps the Flex Ray Driver API function Fr_ Cancel Absolute Timer().Std_ReturnType FrIf_GetAbsoluteTimerIRQStatus (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, boolean* FrIf_IRQStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get Absolute Timer IRQStatus()Std_ReturnType FrIf_DisableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Wraps the Flex Ray Driver API function Fr_ Disable Absolute Timer IRQ().uint32 FrIf_GetCycleLength (uint8 FrIf_CtrlIdx);This API returns the configured time of the configuration parameter "Gd Cycle" in nanoseconds for the Flex Ray controller with...Std_ReturnType FrIf_AllSlots (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ All SlotsStd_ReturnType FrIf_GetChannelStatus (uint8 FrIf_CtrlIdx, uint16* FrIf_ChannelAStatusPtr, uint16* FrIf_ChannelBStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get Channel Status() and gets the channel status information.Std_ReturnType FrIf_GetClockCorrection (uint8 FrIf_CtrlIdx, sint16* FrIf_RateCorrectionPtr, sint32* FrIf_OffsetCorrectionPtr);Wraps the Flex Ray Driver API function Fr_ Get Clock Correction () and gets the current clock correction values.Std_ReturnType FrIf_GetSyncFrameList (uint8 FrIf_CtrlIdx, uint8 FrIf_ListSize, uint16* FrIf_ChannelAEvenListPtr, uint16* FrIf_ChannelBEvenListPtr, uint16* FrIf_ChannelAOddListPtr, uint16* FrIf_ChannelBOddListPtr);Service FrIf_GetSyncFrameList.Std_ReturnType FrIf_GetNumOfStartup FrIf_GetNumStartupFrames (uint8 FrIf_CtrlIdx, uint8* FrIf_NumOfStartupFramesPtr); ⚠️Wraps the Flex Ray Driver API function Fr_ Get Num Of Startup Frames and gets a list of the current number of startup frames...Std_ReturnType FrIf_GetWakeupRxStatus (uint8 FrIf_CtrlIdx, uint8* FrIf_WakeupRxStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get Wakeup Rx Status and gets the wakeup received information from the Flex Ray...Std_ReturnType FrIf_CancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission o f a PDU in a lower layer communication module.Std_ReturnType FrIf_DisableLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);Wraps the Flex Ray Driver Function Fr_ Disable LPdu.Std_ReturnType FrIf_GetTransceiverError (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx, uint32* FrIf_BusErrorState);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Error.Std_ReturnType FrIf_EnableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Enable Transceiver Branch.Std_ReturnType FrIf_DisableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Disable Transceiver Branch.Std_ReturnType FrIf_ReconfigLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx, uint16 FrIf_FrameId, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_CycleRepetition, uint8 FrIf_CycleOffset, uint8 FrIf_PayloadLength, uint16 FrIf_Header CRC); ⚠️Service FrIf_ReconfigLPdu.Std_ReturnType FrIf_GetNmVector (uint8 FrIf_CtrlIdx, uint8* FrIf_NmVectorPtr);Derives the Flex Ray NM Vector.void FrIf_GetVersionInfo (Std_VersionInfoType* FrIf_VersionInfoPtr);Returns the version information of this module.Std_ReturnType FrIf_ReadCCConfig (uint8 FrIf_CtrlIdx, uint8 FrIf_Config ParamIdx, uint32* FrIf_Config ParamValuePtr); ⚠️Wraps the Flex Ray Driver API function Fr_ Read CCConfig().Std_ReturnType FrIf_EnableBusMirroring (uint8 FrIf_ClstIdx, boolean FrIf_MirroringActive);Enables or disables mirroring for all Flex Ray controllers connected to the addressed Flex Ray cluster.void FrIf_CheckWakeupByTransceiver (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Check Wakeup By Transceiver().void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);Within this API, the upper lay er module (called module) shall check whether thevoid <Free_Op_A> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);User defined communication operation in order to support hardware specific or additional communication controller features to...void <Free_Op_B> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);User defined communication operation in order to support hardware specific or additional communication controller features to...void <UL_TxConflictNotification> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);Notification in case a Tx Conflict has been detected.
Typen — Übersicht
struct FrIf_ConfigTypeThis type contains the implementation - specific post build time configuration structure.enum FrIf_StateTypeVariables of this type are used to represent the Fr If_ State of a Flex Ray CC.FrIf_StateTransitionTypeVariables of this type are used to represent the Fr If_ State of a Flex Ray CC.
Funktionen & Typen — Detailansicht
function FrIf_Init [SWS_FrIf_05003] 📄 PDF
void FrIf_Init (const FrIf_ConfigType* FrIf_ConfigPtr);
Initializes the Flex Ray Interface.
The function FrIf_Init serves to initialize the FlexRay Interface module ([SWS_FrIf_05003]). The call is synchronous and specified as non-reentrant (Non Reentrant) ([SWS_FrIf_05003]).
Parameters and Return Values
FrIf_ConfigPtr(input parameter): Base pointer to the configuration structure of the FlexRay Interface ([SWS_FrIf_05003]).- Return value:
void– the function does not return a return value ([SWS_FrIf_05003]).
Constraints and Call Conditions
Since FrIf_Init is non-reentrant, the function must not be called again concurrently or preemptively by the same or another thread or task at any time ([SWS_FrIf_05003]). The call must take place in the system initialization context before regular services of the FlexRay Interface are used.
This usage note was generated automatically based on the specification of AUTOSAR Classic R20-11.
Implementer's Guide to follow (complexity I2)
function FrIf_ControllerInit [SWS_FrIf_05004] 📄 PDF
Std_ReturnType FrIf_ControllerInit (uint8 FrIf_CtrlIdx);
Initialized a Flex Ray CC.
The synchronous function FrIf_ControllerInit serves to initialize a FlexRay Communication Controller (FlexRay CC) [SWS_FrIf_05004]. It is available via the header file FrIf.h and is identified via the service ID 0x03 [SWS_FrIf_05004].
The index of the FlexRay controller to be addressed is passed via the input parameter FrIf_CtrlIdx of data type uint8 [SWS_FrIf_05004]. No further input or output parameters exist for this interface [SWS_FrIf_05004].
The return value is of type Std_ReturnType and returns the status of the initialization to the caller [SWS_FrIf_05004]:
E_OK: The call of the API service of the underlying FlexRay driver was successful and returnedE_OK[SWS_FrIf_05004].E_NOT_OK: The API service of the FlexRay driver returnedE_NOT_OKor an error was detected in development mode [SWS_FrIf_05004].
With regard to concurrency, FrIf_ControllerInit is reentrant for different controller indices (FrIf_CtrlIdx), but non-reentrant for identical values of FrIf_CtrlIdx [SWS_FrIf_05004]. Concurrent calls for the same controller must therefore be prevented by the overall system.
This text was generated by an AI based on the AUTOSAR R20-11 specification.
Implementer's Guide to follow (complexity I1)
function FrIf_SetAbsoluteTimer [SWS_FrIf_05021] 📄 PDF
Std_ReturnType FrIf_SetAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, uint8 FrIf_Cycle, uint16 FrIf_Offset);
Wraps the Flex Ray Driver API function Fr_ Set Absolute Timer().
function FrIf_EnableAbsoluteTimerIRQ [SWS_FrIf_05025] 📄 PDF
Std_ReturnType FrIf_EnableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Service FrIf_EnableAbsoluteTimerIRQ.
use
The function FrIf_EnableAbsoluteTimerIRQ represents a synchronous service with the service ID 0x1d, provided via the header file FrIf.h [SWS_FrIf_05025]. It acts as a wrapper around the interface Fr_EnableAbsoluteTimerIRQ() of the FlexRay driver to enable the interrupt of an absolute timer [SWS_FrIf_05025].
The call requires two input parameters [SWS_FrIf_05025]:
FrIf_CtrlIdx: Index of the FlexRay communication controller (FlexRay CC) to be addressed [SWS_FrIf_05025].FrIf_AbsTimerIdx: Index of the absolute timer to be enabled on the addressed controller [SWS_FrIf_05025].
Return Values and Error Handling
The function returns a status value of type Std_ReturnType [SWS_FrIf_05025]:
E_OK: The call to the underlying driver service was successful and returnedE_OK[SWS_FrIf_05025].E_NOT_OK: The driver function returnedE_NOT_OKor an error was detected in development mode [SWS_FrIf_05025].
Concurrency and Reentrancy
Regarding the call context, FrIf_EnableAbsoluteTimerIRQ is non-reentrant for the same FlexRay controller, but may be called reentrantly for different FlexRay controllers [SWS_FrIf_05025].
This usage note was generated automatically based on the specification AUTOSAR CP R20-11.
Implementer's Guide to follow (complexity I1)
function FrIf_AckAbsoluteTimerIRQ [SWS_FrIf_05029] 📄 PDF
Std_ReturnType FrIf_AckAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Wraps the Flex Ray Driver API function Fr_ Ack Absolute Timer IRQ()
The synchronous interface function FrIf_AckAbsoluteTimerIRQ encapsulates the API call of the driver function Fr_AckAbsoluteTimerIRQ() of the FlexRay driver as a wrapper [SWS_FrIf_05029]. It has the service ID 0x21, is provided via header FrIf.h, and serves to acknowledge an interrupt request for an absolute timer of a FlexRay Communication Controller.
Two input parameters must be passed when calling the function [SWS_FrIf_05029]:
FrIf_CtrlIdx: Index of the FlexRay communication controller (CC) to be addressed.FrIf_AbsTimerIdx: Index of the specific absolute timer whose interrupt is to be acknowledged.
The function returns a return value of type Std_ReturnType for evaluating the result [SWS_FrIf_05029]:
E_OK: The call to driver APIFr_AckAbsoluteTimerIRQ()was performed successfully.E_NOT_OK: The FlexRay driver reportedE_NOT_OKduring the call, or an error was detected in development mode.
Regarding concurrency behavior, the function operates synchronously. Calls for different FlexRay CCs are reentrant, whereas concurrent calls for the same FlexRay CC are non-reentrant and must be avoided [SWS_FrIf_05029].
This usage note was generated automatically based on the specification AUTOSAR CP R20-11.
Implementer's Guide to follow (complexity I1)
function FrIf_StartCommunication [SWS_FrIf_05005] 📄 PDF
Std_ReturnType FrIf_StartCommunication (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Start Communication().
The function FrIf_StartCommunication acts as an encapsulation of the FlexRay driver function Fr_StartCommunication() and initiates the communication startup of an addressed FlexRay communication controller [SWS_FrIf_05005].
Usage and Call Context
The interface is declared via the header FrIf.h and has the service ID 0x04 [SWS_FrIf_05005]. The call is handled asynchronously [SWS_FrIf_05005]. The only input parameter is FrIf_CtrlIdx (type uint8), which specifies the index of the FlexRay communication controller to be controlled; input/output or pure output parameters do not exist [SWS_FrIf_05005].
Error Handling and Return Values
The function returns a status code of type Std_ReturnType [SWS_FrIf_05005]:
E_OK: The call of the underlying API service in the FlexRay driver was successful and returnedE_OK[SWS_FrIf_05005].E_NOT_OK: The API service of the driver reportedE_NOT_OKor an error was detected during execution in development mode (Development Mode) [SWS_FrIf_05005].
Concurrency and Limitations
Regarding reentrancy, FrIf_StartCommunication is reentrant for controller indices that differ from one another (FrIf_CtrlIdx), but non-reentrant for identical controller values [SWS_FrIf_05005]. Calling modules must therefore ensure in the case of concurrent accesses that no concurrent calls occur for the same controller.
This usage note was generated by an AI based on the AUTOSAR specification.
Implementer's Guide to follow (complexity I2)
function FrIf_HaltCommunication [SWS_FrIf_05006] 📄 PDF
Std_ReturnType FrIf_HaltCommunication (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Halt Communication().
The function FrIf_HaltCommunication (service ID 0x05) represents a wrapper in the FlexRay Interface (FrIf) for calling the driver API function Fr_HaltCommunication() and is declared via the header FrIf.h [SWS_FrIf_05006]. The service is executed with asynchronous semantics [SWS_FrIf_05006]. The input value FrIf_CtrlIdx is passed as the only parameter, specifying the index of the respective FlexRay communication controller to be addressed; input/output or pure output parameters are not defined for this service [SWS_FrIf_05006].
The return value is of type Std_ReturnType and signals the result of the call [SWS_FrIf_05006]:
E_OK: The call of the API service in the FlexRay driver was successful and returnedE_OK[SWS_FrIf_05006].E_NOT_OK: The API call of the FlexRay driver returnedE_NOT_OKor an error was detected in development mode (Development Mode) [SWS_FrIf_05006].
With regard to concurrency, FrIf_HaltCommunication is reentrant for different values of the controller index FrIf_CtrlIdx, but non-reentrant for identical values of FrIf_CtrlIdx [SWS_FrIf_05006]. Simultaneous or interrupting calls for the same controller are consequently not permitted and must be prevented in the context of the caller.
This text was generated by an AI based on the specification AUTOSAR CP R20-11.
Implementer's Guide to follow (complexity I1)
function FrIf_AbortCommunication [SWS_FrIf_05007] 📄 PDF
Std_ReturnType FrIf_AbortCommunication (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Abort Communication().
Usage and Call Context
The synchronous interface function FrIf_AbortCommunication acts as a direct wrapper for the API function Fr_AbortCommunication() of the FlexRay driver [SWS_FrIf_05007]. It is declared in header file FrIf.h and has Service ID 0x06 [SWS_FrIf_05007].
Via the input parameter FrIf_CtrlIdx, the index of the FlexRay Communication Controller to be addressed is specified [SWS_FrIf_05007]. Additional input or output parameters are not defined for this interface [SWS_FrIf_05007].
Return Values and Error Handling
The function returns a status value of type Std_ReturnType [SWS_FrIf_05007]:
E_OK: The call to the API service of the FlexRay driver was successful and returnedE_OK[SWS_FrIf_05007].E_NOT_OK: The API service of the FlexRay driver returnedE_NOT_OKor an error was detected in development mode [SWS_FrIf_05007].
Concurrency and Limitations
The execution of FrIf_AbortCommunication is synchronous [SWS_FrIf_05007]. The function is reentrant for different values of FrIf_CtrlIdx, but non-reentrant for identical controller indices [SWS_FrIf_05007].
This usage note was generated automatically based on the AUTOSAR specification.
Implementer's Guide to follow (complexity I1)
function FrIf_GetState [SWS_FrIf_05170] 📄 PDF
Std_ReturnType FrIf_GetState (uint8 FrIf_ClstIdx, FrIf_StateType* FrIf_StatePtr);
Get current Fr If state.
function FrIf_SetState [SWS_FrIf_05174] 📄 PDF
Std_ReturnType FrIf_SetState (uint8 FrIf_ClstIdx, FrIf_StateTransitionType FrIf_StateTransition);
Requests Fr If state machine transition.
Usage and Invocation
The synchronous function FrIf_SetState requests a state transition in the state machine of the FlexRay interface [SWS_FrIf_05174]. Cluster index FrIf_ClstIdx and the requested transition FrIf_StateTransition are passed as parameters. The function returns E_OK if the call was executed successfully and the state change was accepted; in case of an error, E_NOT_OK is returned [SWS_FrIf_05174].
Error Handling and Boundary Conditions
The function is defined as non-reentrant (Non Reentrant) [SWS_FrIf_05174]. If development error detection is enabled (FrIfDevErrorDetect == ON) and parameter FrIf_StateTransition contains an invalid value, the function reports the error code FRIF_E_INV_FRIF_STATE via Det_ReportError to the DET module [SWS_FrIf_05037].
Interaction in Offline Transitions
If FrIf_SetState is called with transition parameter FRIF_STATE_OFFLINE, the FlexRay interface checks the counter TxConfCounter for each PDU [SWS_FrIf_05501]. If this value is greater than 0 for a PDU, the module informs the layer above via the call <UL>_TxConfirmation(id, E_NOT_OK) about the failure of the pending confirmation [SWS_FrIf_05501].
This text was generated by an AI system based on the AUTOSAR specification R20-11.
Implementer's Guide to follow (complexity I2)
function FrIf_SetWakeupChannel [SWS_FrIf_05010] 📄 PDF
Std_ReturnType FrIf_SetWakeupChannel (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);
Wraps the Flex Ray Driver API functi on Fr_ Set Wakeup Channel(). The enum value "FR_ CHANNEL_ AB" shall not be used.
function FrIf_SendWUP [SWS_FrIf_05011] 📄 PDF
Std_ReturnType FrIf_SendWUP (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Send WUP().
The function FrIf_SendWUP (service ID 0x0a) of the module FrIf is available via the header file FrIf.h and serves as an interface wrapper for calling the API function Fr_SendWUP() of the underlying FlexRay driver [SWS_FrIf_05011].
Usage and Parameters
The service is executed asynchronously [SWS_FrIf_05011]. The only passed parameter is the input parameter FrIf_CtrlIdx of type uint8, which specifies the index of the FlexRay Communication Controller (FlexRay CC) to be addressed [SWS_FrIf_05011]. No inout or out parameters are used [SWS_FrIf_05011].
Return Values and Error Handling
As return value, the function provides a status of type Std_ReturnType [SWS_FrIf_05011]:
E_OK: The call of the API service of the FlexRay driver was executed successfully and returnedE_OK[SWS_FrIf_05011].E_NOT_OK: The call of the API service of the FlexRay driver returnedE_NOT_OKor an error was detected in development mode (Development Mode) [SWS_FrIf_05011].
Concurrency and Reentrancy
With regard to concurrent access, FrIf_SendWUP is reentrant for calls with different values for FrIf_CtrlIdx, but non-reentrant for identical values of FrIf_CtrlIdx [SWS_FrIf_05011].
This text was automatically generated and is based on the AUTOSAR specifications for Release R20-11.
Implementer's Guide to follow (complexity I1)
function FrIf_GetPOCStatus [SWS_FrIf_05014] 📄 PDF
Std_ReturnType FrIf_GetPOCStatus (uint8 FrIf_CtrlIdx, Fr_POCStatusType* FrIf_POCStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get POCStatus().
function FrIf_GetGlobalTime [SWS_FrIf_05015] 📄 PDF
Std_ReturnType FrIf_GetGlobalTime (uint8 FrIf_CtrlIdx, uint8* FrIf_CyclePtr, uint16* FrIf_MacroTickPtr);
Wraps the Flex Ray Driver API function Fr_ Get Global Time(). Impo rtant Note: Fr If_ Get Global Time may be called within an exclusive area.
function FrIf_AllowColdstart [SWS_FrIf_05017] 📄 PDF
Std_ReturnType FrIf_AllowColdstart (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Allow Coldstart().
Usage and Operation
The function FrIf_AllowColdstart serves as a wrapper for the FlexRay driver API Fr_AllowColdstart() according to [SWS_FrIf_05017]. Via the input parameter FrIf_CtrlIdx, it addresses the FlexRay Communication Controller (CC) to be addressed [SWS_FrIf_05017]. The execution of the function is specified as asynchronous [SWS_FrIf_05017].
Return Values and Error Handling
The return value of type Std_ReturnType reflects the result of the execution [SWS_FrIf_05017]:
E_OK: The underlying API service of the FlexRay driver was called successfully and reportedE_OKback [SWS_FrIf_05017].E_NOT_OK: The call to the driver failed (return valueE_NOT_OK) or an error was detected in development mode [SWS_FrIf_05017].
Interpretation: The detection of errors in development mode is presumably performed via the Default Error Tracer (DET) module, even though no specific error IDs or checks are documented in the specification excerpt. Question Q-5dffd71d66731cc9 (open)
Concurrency and Limitations
Regarding reentrancy, FrIf_AllowColdstart is non-reentrant for identical values of FrIf_CtrlIdx, but may be called in parallel for different controller indices [SWS_FrIf_05017]. Callers must therefore ensure that concurrent calls for the same controller are synchronized. The interface is provided via header FrIf.h [SWS_FrIf_05017].
This usage note was generated by an AI and is based on the specification data from AUTOSAR CP R20-11.
Implementer's Guide to follow (complexity I1)
function FrIf_GetMacroticksPerCycle [SWS_FrIf_05018] 📄 PDF
uint16 FrIf_GetMacroticksPerCycle (uint8 FrIf_CtrlIdx);
Retrieves the amount of Macroticks per Cycle
function FrIf_GetMacrotickDuration [SWS_FrIf_05019] 📄 PDF
uint16 FrIf_GetMacrotickDuration (uint8 FrIf_CtrlIdx);
Retrieves the Duration of a Macrotick in ns
function FrIf_Transmit [SWS_FrIf_05033] 📄 PDF
Std_ReturnType FrIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
The synchronous function FrIf_Transmit requests the transmission of a PDU via the FlexRay interface [SWS_FrIf_05033]. It accepts the ID of the PDU to be transmitted (TxPduId) as well as a pointer to the structure PduInfoPtr, which provides the PDU length, data pointer, and metadata [SWS_FrIf_05033].
With regard to concurrency and reentrancy, FrIf_Transmit is reentrant for different PDU IDs, but non-reentrant for the same PDU ID [SWS_FrIf_05033]. The call returns E_OK as soon as the transmission request has been accepted, otherwise E_NOT_OK [SWS_FrIf_05033].
A specific error check is performed for immediate PDUs (Immediate PDUs) if dynamic L-SDU lengths are disabled via configuration parameter FrIfAllowDynamicLSduLength to FALSE [SWS_FrIf_05757]:
- The length passed in
PduInfoPtris checked against the statically configured PDU length [SWS_FrIf_05757]. - If the length specification does not match,
FrIf_Transmitaborts the transmission of the Immediate PDU and returnsE_NOT_OK[SWS_FrIf_05757]. - If development detection (
FrIfDevErrorDetect == ON) is enabled, the function reports the development errorFRIF_E_INV_PDULENGTHviaDet_ReportErrorto the DET module [SWS_FrIf_05757].
This text was generated by an AI based on the R20-11 specification.
Implementer's Guide to follow (complexity I2)
function FrIf_SetTransceiverMode [SWS_FrIf_05034] 📄 PDF
Std_ReturnType FrIf_SetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, Limited by st atic configuration [Configuration Parameter FrIfCounterLimit, see FrIf06076 ]); ⚠️
Wraps the Flex Ray Transceiver Driver API function Fr
The synchronous interface FrIf_SetTransceiverMode with service ID 0x13 acts in the FlexRay interface as a wrapper for the driver function FrTrcv_SetTransceiverMode() of the FlexRay transceiver driver and is available via the header file FrIf.h [SWS_FrIf_05034]. It allows upper layers to set the operating mode of a transceiver for a specific FlexRay controller and channel [SWS_FrIf_05034].
Upon the call, three parameters must be passed: the controller index FrIf_CtrlIdx for addressing the FlexRay Communication Controller, the channel index FrIf_ChnlIdx for determining the FlexRay channel within the scope of the controller, and the desired transceiver mode FrIf_TrcvMode of type FrTrcv_TrcvModeType [SWS_FrIf_05034]. Neither input/output nor output parameters exist [SWS_FrIf_05034]. For parameter FrIf_ChnlIdx, the mandatory requirement applies that enumeration value FR_CHANNEL_AB must under no circumstances be used [SWS_FrIf_05034].
The function is specified as reentrant and forwards the mode change synchronously to the transceiver driver [SWS_FrIf_05034]. As a result, it returns status Std_ReturnType: It reports E_OK if the call of the API service in the transceiver driver successfully returned E_OK; if this driver call fails and returns E_NOT_OK, E_NOT_OK is likewise returned [SWS_FrIf_05034].
This usage note was generated automatically based on the AUTOSAR specification.
Implementer's Guide to follow (complexity I2)
function FrIf_GetTransceiverMode [SWS_FrIf_05035] 📄 PDF
Std_ReturnType FrIf_GetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvModeType* FrIf_TrcvModePtr);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Mode(). The enum value "FR_ CHANNEL_ AB" shall not be used.
function FrIf_GetTransceiverWUReason [SWS_FrIf_05036] 📄 PDF
Std_ReturnType FrIf_GetTransceiverWUReason (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvWUReasonType* FrIf_TrcvWUReasonPtr);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver WUReason(). The enum value "FR_ CHANNEL_ AB" shall not be used.
function FrIf_ClearTransceiverWakeup [SWS_FrIf_05039] 📄 PDF
Std_ReturnType FrIf_ClearTransceiverWakeup (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Clear Transceiver Wakeup(). The enum value "FR_ CHANNEL_ AB" shall not be used. A vailable via Fr If.h
The synchronous function FrIf_ClearTransceiverWakeup (service ID 0x18) acts as a wrapper within the FlexRay interface and encapsulates the call to API function FrTrcv_ClearTransceiverWakeup() of the FlexRay transceiver driver [SWS_FrIf_05039]. The interface is available via the header file FrIf.h [SWS_FrIf_05039].
When called, the function expects exactly two input parameters [SWS_FrIf_05039]:
FrIf_CtrlIdx: Index of the FlexRay communication controller to be addressed [SWS_FrIf_05039].FrIf_ChnlIdx: Index of the FlexRay channel to be addressed within the scope of the controllerFrIf_CtrlIdx[SWS_FrIf_05039].
No further parameters (inout or out) are defined for the function [SWS_FrIf_05039].
Regarding concurrency and boundary conditions, the function is classified as reentrant [SWS_FrIf_05039]. As a major functional constraint, the specification mandates that the enumeration value FR_CHANNEL_AB must not be used for parameter FrIf_ChnlIdx [SWS_FrIf_05039].
The result of the operation is returned synchronously as Std_ReturnType and directly reflects the result of the driver service [SWS_FrIf_05039]:
E_OK: The API service of the FlexRay transceiver driver was executed successfully and returnedE_OK[SWS_FrIf_05039].E_NOT_OK: The call to the driver service failed and reported backE_NOT_OK[SWS_FrIf_05039].
This usage note was generated by an AI based on the specification AUTOSAR CP R20-11.
Implementer's Guide to follow (complexity I1)
function FrIf_CancelAbsoluteTimer [SWS_FrIf_05023] 📄 PDF
Std_ReturnType FrIf_CancelAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Wraps the Flex Ray Driver API function Fr_ Cancel Absolute Timer() .
The function FrIf_CancelAbsoluteTimer serves to synchronously cancel a configured absolute timer on a FlexRay Communication Controller (CC) [SWS_FrIf_05023]. It acts as a wrapper around the corresponding driver function Fr_CancelAbsoluteTimer() of the FlexRay driver and is available via the header FrIf.h [SWS_FrIf_05023].
Parameters and Return Values
Two input parameters are passed during the call [SWS_FrIf_05023]:
FrIf_CtrlIdx: Index of the FlexRay controller to be addressed.FrIf_AbsTimerIdx: Index of the absolute timer to be canceled.
The function returns a status of type Std_ReturnType [SWS_FrIf_05023]:
E_OK: The underlying call to the FlexRay driver API completed successfully withE_OK[SWS_FrIf_05023].E_NOT_OK: The call to the driver API failed (return valueE_NOT_OK) or an error was detected in development mode (Development Mode) [SWS_FrIf_05023].
Concurrency and Limitations
Execution occurs synchronously with the service ID 0x1b [SWS_FrIf_05023]. Regarding reentrancy, the service is reentrant for different FlexRay CCs, but must not be called concurrently for the same FlexRay CC [SWS_FrIf_05023].
This text was generated by an AI based on the specification AUTOSAR Classic R20-11.
Implementer's Guide to follow (complexity I1)
function FrIf_GetAbsoluteTimerIRQStatus [SWS_FrIf_05027] 📄 PDF
Std_ReturnType FrIf_GetAbsoluteTimerIRQStatus (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, boolean* FrIf_IRQStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get Absolute Timer IRQStatus()
function FrIf_DisableAbsoluteTimerIRQ [SWS_FrIf_05031] 📄 PDF
Std_ReturnType FrIf_DisableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Wraps the Flex Ray Driver API function Fr_ Disable Absolute Timer IRQ().
The function FrIf_DisableAbsoluteTimerIRQ is part of the FlexRay Interface module and is provided via the header file FrIf.h [SWS_FrIf_05031]. It serves as a synchronous wrapper for the function Fr_DisableAbsoluteTimerIRQ() of the FlexRay driver API and forwards the request to disable interrupt generation of the addressed absolute timer to the driver level [SWS_FrIf_05031].
Call Context and Parameters
The call is performed synchronously using the service ID 0x23 [SWS_FrIf_05031]. The interface has no input/output or pure output parameters, but requires two mandatory input parameters [SWS_FrIf_05031]:
FrIf_CtrlIdx: Index of the FlexRay Communication Controller (CC) to be addressed [SWS_FrIf_05031].FrIf_AbsTimerIdx: Index of the absolute timer to be configured [SWS_FrIf_05031].
Return Values and Error Handling
The function returns the status to the caller via the return type Std_ReturnType [SWS_FrIf_05031]:
E_OK: Signals that the call to the API service of the FlexRay driver was successful and returnedE_OK[SWS_FrIf_05031].E_NOT_OK: Indicates that the API service of the FlexRay driver returnedE_NOT_OKor an error was detected in development mode (Development Mode) [SWS_FrIf_05031].
Concurrency and Reentrancy
According to the reentrancy specifications, FrIf_DisableAbsoluteTimerIRQ is non-reentrant for the same FlexRay Communication Controller, but reentrant for different FlexRay CCs [SWS_FrIf_05031]. Calls for the same controller instance must therefore not occur concurrently from different contexts without synchronization.
This usage note was generated automatically based on the specification AUTOSAR Classic R20-11.
Implementer's Guide to follow (complexity I1)
function FrIf_GetCycleLength [SWS_FrIf_05239] 📄 PDF
uint32 FrIf_GetCycleLength (uint8 FrIf_CtrlIdx);
This API returns the configured time of the configuration parameter "Gd Cycle" in nanoseconds for the Flex Ray controller with index Fr If_ Ctrl Idx.
function FrIf_AllSlots [SWS_FrIf_05020] 📄 PDF
Std_ReturnType FrIf_AllSlots (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ All Slots
Within the FlexRay interface, the synchronous interface FrIf_AllSlots serves as a wrapper for calling the underlying driver function Fr_AllSlots of the FlexRay driver [SWS_FrIf_05020]. The function is provided via the header file FrIf.h and has the service ID 0x33 [SWS_FrIf_05020]. The only passed parameter expected is FrIf_CtrlIdx, which defines the logical index of the FlexRay Communication Controller to be addressed [SWS_FrIf_05020]. In/out and output parameters (inout/out) are not provided for this service [SWS_FrIf_05020].
As return value, the function returns the status Std_ReturnType with the following meanings [SWS_FrIf_05020]:
E_OK: The call to the driver APIFr_AllSlotswas successful and returnedE_OK[SWS_FrIf_05020].E_NOT_OK: The call to the FlexRay driver failed or returnedE_NOT_OK, or an error was detected during execution in development mode [SWS_FrIf_05020].
With regard to runtime behavior and concurrency, FrIf_AllSlots is specified as non-reentrant (non reentrant) [SWS_FrIf_05020]. The calling instance must therefore ensure that concurrent or overlapping calls for the affected controller are excluded. Interpretation: Presumably, the call must take place from a protected task context, since the interface does not provide its own reentrancy management during parallel access. Question Q-e4ce542c60b470c8 (open)
This text was generated by an AI; the AUTOSAR standard is authoritative.
Implementer's Guide to follow (complexity I1)
function FrIf_GetChannelStatus [SWS_FrIf_05030] 📄 PDF
Std_ReturnType FrIf_GetChannelStatus (uint8 FrIf_CtrlIdx, uint16* FrIf_ChannelAStatusPtr, uint16* FrIf_ChannelBStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get Channel Status() and gets the channel status information.
function FrIf_GetClockCorrection [SWS_FrIf_05071] 📄 PDF
Std_ReturnType FrIf_GetClockCorrection (uint8 FrIf_CtrlIdx, sint16* FrIf_RateCorrectionPtr, sint32* FrIf_OffsetCorrectionPtr);
Wraps the Flex Ray Driver API function Fr_ Get Clock Correction () and gets the current clock correction values.
function FrIf_GetSyncFrameList [SWS_FrIf_05072] 📄 PDF
Std_ReturnType FrIf_GetSyncFrameList (uint8 FrIf_CtrlIdx, uint8 FrIf_ListSize, uint16* FrIf_ChannelAEvenListPtr, uint16* FrIf_ChannelBEvenListPtr, uint16* FrIf_ChannelAOddListPtr, uint16* FrIf_ChannelBOddListPtr);
Service FrIf_GetSyncFrameList.
function FrIf_GetNumStartupFrames [SWS_FrIf_05073] 📄 PDF
Std_ReturnType FrIf_GetNumOfStartupFrames (uint8 FrIf_CtrlIdx, uint8* FrIf_NumOfStartupFramesPtr);
Wraps the Flex Ray Driver API function Fr_ Get Num Of Startup Frames and gets a list of the current number of startup frames seen on the cluster. See variable v Startup Pairs of [12] for details.
function FrIf_GetWakeupRxStatus [SWS_FrIf_05102] 📄 PDF
Std_ReturnType FrIf_GetWakeupRxStatus (uint8 FrIf_CtrlIdx, uint8* FrIf_WakeupRxStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get Wakeup Rx Status and gets the wakeup received information from the Flex Ray controller.
function FrIf_CancelTransmit [SWS_FrIf_05070] 📄 PDF
Std_ReturnType FrIf_CancelTransmit (PduIdType TxPduId);
Requests cancellation of an ongoing transmission o f a PDU in a lower layer communication module.
use
The synchronous function FrIf_CancelTransmit requests the cancellation of an ongoing PDU transmission in an underlying communication module [SWS_FrIf_05070]. Passed as input parameter is TxPduId, which identifies the PDU to be cancelled. Execution is synchronous and returns a return value of type Std_ReturnType [SWS_FrIf_05070]:
E_OK: The cancellation of the transmission was successfully executed by the destination module.E_NOT_OK: The cancellation was rejected by the target module.
Concurrency and Limitations
Regarding concurrency, FrIf_CancelTransmit is reentrant for different PDU IDs, but non-reentrant for the same TxPduId [SWS_FrIf_05070]. For calls from parallel contexts for the same PDU ID, external caller-side synchronization is presumably required to avoid race conditions. Question Q-38e799ac1564f60f (open)
Error Handling and Integration
Specific DET or DEM error codes are not defined in the interface; the failure of a cancellation is signaled directly via the return value E_NOT_OK [SWS_FrIf_05070]. The service has the service ID 0x4a and is provided via the header file FrIf.h [SWS_FrIf_05070].
This usage note was created automatically based on the specification.
Implementer's Guide to follow (complexity I2)
function FrIf_DisableLPdu [SWS_FrIf_05710] 📄 PDF
Std_ReturnType FrIf_DisableLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
Wraps the Flex Ray Driver Function Fr_ Disable LPdu. It disables the hardware resource of an LPdu for transmission/ recept ion.
The function FrIf_DisableLPdu serves as a wrapper for the driver function Fr_DisableLPdu of the FlexRay driver and disables the underlying hardware resource of an L-PDU for transmission or reception [SWS_FrIf_05710].
Call and Parameters
The call of FrIf_DisableLPdu takes place synchronously via the interface FrIf.h with service ID 0x28 [SWS_FrIf_05710]. The function expects two input parameters:
FrIf_CtrlIdx: Index of the FlexRay communication controller in the context of the FlexRay interface [SWS_FrIf_05710].FrIf_LPduIdx: Unique index for identifying the affected FlexRay frame [SWS_FrIf_05710].
Return Values and Error Handling
As a result, the function returns a status of type Std_ReturnType [SWS_FrIf_05710]:
E_OK: The API call completed successfully [SWS_FrIf_05710].E_NOT_OK: The API call was aborted due to errors [SWS_FrIf_05710].
Concurrency and Limitations
With regard to concurrency behavior, FrIf_DisableLPdu is specified as non-reentrant for the same device (Non Reentrant for the same device) [SWS_FrIf_05710]. Parallel calls for the same controller or device must therefore be avoided or synchronized on the caller side.
This text was created automatically and is based exclusively on the statements in the specification.
Implementer's Guide to follow (complexity I1)
function FrIf_GetTransceiverError [SWS_FrIf_05032] 📄 PDF
Std_ReturnType FrIf_GetTransceiverError (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx, uint32* FrIf_BusErrorState);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Error. The enum value "FR_ CHANNEL_ AB" shall not be used.
function FrIf_EnableTransceiverBranch [SWS_FrIf_05085] 📄 PDF
Std_ReturnType FrIf_EnableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Enable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.
As a synchronous and reentrant wrapper, the function FrIf_EnableTransceiverBranch encapsulates the API call FrTrcv_EnableTransceiverBranch of the underlying FlexRay transceiver driver [SWS_FrIf_05085]. Via this interface, a specific branch of a transceiver is selectively activated, for example in the context of an active star [SWS_FrIf_05085]. The function declaration and associated types are provided via the header file FrIf.h [SWS_FrIf_05085].
Parameters and Call Conditions
Three input parameters must be passed during the call [SWS_FrIf_05085]:
FrIf_CtrlIdx: Addresses the index of the respective FlexRay Communication Controller [SWS_FrIf_05085].FrIf_ChnlIdx: Specifies the FlexRay channel within the scope of the controllerFrIf_CtrlIdx[SWS_FrIf_05085]. The mandatory restriction applies that the enum valueFR_CHANNEL_ABmust not be used [SWS_FrIf_05085].FrIf_BranchIdx: Determines the specific branch of the transceiver to which the activation is applied via a zero-based index [SWS_FrIf_05085].
Return Values
The function returns a status value of type Std_ReturnType, which directly reflects the result of the forwarded driver call [SWS_FrIf_05085]:
E_OK: The call to the driver serviceFrTrcv_EnableTransceiverBranchwas successful and reported backE_OK[SWS_FrIf_05085].E_NOT_OK: The call to the driver service reportedE_NOT_OK[SWS_FrIf_05085].
This text was generated by an AI based on the specification AUTOSAR CP R20-11.
Implementer's Guide to follow (complexity I1)
function FrIf_DisableTransceiverBranch [SWS_FrIf_05028] 📄 PDF
Std_ReturnType FrIf_DisableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Disable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.
The synchronous and reentrant function FrIf_DisableTransceiverBranch encapsulates the service FrTrcv_DisableTransceiverBranch of the FlexRay transceiver driver as a wrapper function [SWS_FrIf_05028]. It is provided via the header file FrIf.h, has the service ID 0x37, and serves to specifically disable a particular branch of an active star transceiver [SWS_FrIf_05028].
Three input parameters must be passed during the call:
FrIf_CtrlIdx: Index of the FlexRay controller to be addressed [SWS_FrIf_05028].FrIf_ChnlIdx: FlexRay channel within the scope of the controller. Here, the mandatory requirement applies that the enum valueFR_CHANNEL_ABmust not be used [SWS_FrIf_05028].FrIf_BranchIdx: Zero-based index identifying the respective branch of the transceiver to which the operation is to be applied [SWS_FrIf_05028].
As return value, the interface returns a status of type Std_ReturnType. It returns E_OK if the call to the transceiver driver was successful, and E_NOT_OK if the driver service reported E_NOT_OK [SWS_FrIf_05028]. Specific DET or DEM error notifications are not documented in the specification scope; a failure presumably results directly from the behavior of the underlying driver. Question Q-52d5e5fedd147532 (open)
This text was generated by an AI based on the AUTOSAR R20-11 specification.
Implementer's Guide to follow (complexity I2)
function FrIf_ReconfigLPdu [SWS_FrIf_05048] 📄 PDF
Std_ReturnType FrIf_ReconfigLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx, uint16 FrIf_FrameId, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_CycleRepetition, uint8 FrIf_CycleOffset, uint8 FrIf_PayloadLength, uint16 FrIf_Header CRC); ⚠️
Service FrIf_ReconfigLPdu.
The synchronous function FrIf_ReconfigLPdu serves to reconfigure an L-PDU in the FlexRay Interface (FrIf) and forwards the call directly to the driver interface Fr_ReconfigLPdu of the FlexRay driver [SWS_FrIf_05048]. The interface is made available via the header FrIf.h [SWS_FrIf_05048].
Parameters and Configuration Restrictions
FrIf_CtrlIdx: Addresses the index of the FlexRay Communication Controller within the FlexRay driver [SWS_FrIf_05048].FrIf_LPduIdx: Determines the unique index for identifying the FlexRay frame to be configured [SWS_FrIf_05048].FrIf_FrameId,FrIf_CycleRepetition,FrIf_CycleOffset: Define the new FlexRay frame ID as well as repetition and offset of the cycle filter mechanism of the L-PDU [SWS_FrIf_05048].FrIf_ChnlIdx: Determines the FlexRay channel of typeFr_ChannelType[SWS_FrIf_05048]. In this case, it is strictly specified that the enum valueFR_CHANNEL_ABmust not be used [SWS_FrIf_05048].FrIf_PayloadLengthandFrIf_HeaderCRC: Define the payload length in bytes and the associated header CRC to which the L-PDU is to be set [SWS_FrIf_05048].
Return Values and Execution Context
The return value of type Std_ReturnType indicates the result of the reconfiguration: E_OK signals the successful execution of the API call, whereas E_NOT_OK indicates an error termination [SWS_FrIf_05048].
The function is synchronous and specified as non-reentrant (Non Reentrant) [SWS_FrIf_05048]. Consequently, it must not be called concurrently.
This usage note is based on the AUTOSAR Classic R20-11 specification.
Implementer's Guide to follow (complexity I1)
function FrIf_GetNmVector [SWS_FrIf_05016] 📄 PDF
Std_ReturnType FrIf_GetNmVector (uint8 FrIf_CtrlIdx, uint8* FrIf_NmVectorPtr);
Derives the Flex Ray NM Vector. Av ailable via Fr If.h
function FrIf_GetVersionInfo [SWS_FrIf_05002] 📄 PDF
void FrIf_GetVersionInfo (Std_VersionInfoType* FrIf_VersionInfoPtr);
Returns the version information of this module.
function FrIf_ReadCCConfig [SWS_FrIf_05313] 📄 PDF
Std_ReturnType FrIf_ReadCCConfig (uint8 FrIf_CtrlIdx, uint8 FrIf_Config ParamIdx, uint32* FrIf_Config ParamValuePtr); ⚠️
Wraps the Flex Ray Driver API function Fr_ Read CCConfig().
The function FrIf_ReadCCConfig represents a synchronous service of the FlexRay Interface with the service ID 0x3b and is declared via the header FrIf.h [SWS_FrIf_05313]. Its primary task is to act as a wrapper calling the driver function Fr_ReadCCConfig() of the underlying FlexRay driver in order to read configuration parameters of a controller [SWS_FrIf_05313].
The interface expects three parameters when called [SWS_FrIf_05313]:
FrIf_CtrlIdx(input): The numerical index of the FlexRay Communication Controller (CC) to be addressed.FrIf_ConfigParamIdx(input): The index of the specific configuration parameter whose value is to be queried.FrIf_ConfigParamValuePtr(output): A pointer to the memory location where the read 32-bit configuration value is stored.
The return value of type Std_ReturnType signals the result of the query [SWS_FrIf_05313]:
E_OK: The call to the driver APIFr_ReadCCConfig()was executed successfully and returnedE_OK.E_NOT_OK: The FlexRay driver reportedE_NOT_OKor an error was detected during execution in development mode (Development Mode).
With respect to concurrency and the execution environment, FrIf_ReadCCConfig is non-reentrant for the same FlexRay controller, but reentrant for different controllers [SWS_FrIf_05313]. For accesses to the same controller, the caller must therefore ensure appropriate synchronization. An error detected in development mode is presumably forwarded to the Default Error Tracer (DET). Question Q-bfe56460515de4de (open)
This usage note was generated by an AI and is based exclusively on the specification data of AUTOSAR Classic Release R20-11.
Implementer's Guide to follow (complexity I1)
function FrIf_EnableBusMirroring [SWS_FrIf_05726] 📄 PDF
Std_ReturnType FrIf_EnableBusMirroring (uint8 FrIf_ClstIdx, boolean FrIf_MirroringActive);
Enables or disables mirroring for all Flex Ray controllers connected to the addressed Flex Ray cluster.
Usage and Semantics
The synchronous function FrIf_EnableBusMirroring toggles bus mirroring for all FlexRay controllers connected to the passed FlexRay cluster [SWS_FrIf_05726]. The respective cluster is addressed via parameter FrIf_ClstIdx. The boolean parameter FrIf_MirroringActive determines the mode: If TRUE is passed, interface Mirror_ReportFlexRayFrame is called for every frame received or transmitted on the controllers; for FALSE, forwarding of the frames to the mirror module is disabled [SWS_FrIf_05726].
Return Values and Error Handling
The function call returns a status of type Std_ReturnType [SWS_FrIf_05726]:
E_OK: The mirroring mode for the specified cluster was updated successfully [SWS_FrIf_05726].E_NOT_OK: Toggling was rejected if the mirroring function is globally disabled (configuration parameterFrIfBusMirroringSupport) or an invalid index is present [SWS_FrIf_05726]. Interpretation: The specification statementFrIf_CtrlIdxforE_NOT_OKis likely to refer to the check of cluster indexFrIf_ClstIdxor the assigned controllers, despite the differing designation. Question Q-9daba2ff2b1a3ff1 (open)
Concurrency and Integration
The function is declared as reentrant and has service ID 0x4b; it is provided via the header file FrIf.h [SWS_FrIf_05726]. Callers must note that execution is synchronous. Additional error channels via DET or DEM are not listed for this service.
This text was created by an AI; the AUTOSAR specification is authoritative.
Implementer's Guide to follow (complexity I2)
function FrIf_CheckWakeupByTransceiver [SWS_FrIf_05041] 📄 PDF
void FrIf_CheckWakeupByTransceiver (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Check Wakeup By Transceiver(). The enum value "FR_ CHANNEL_ AB" shall not be used.
Usage and Call Context
The function FrIf_CheckWakeupByTransceiver (service ID 0x39) acts in the FlexRay Interface as a synchronous wrapper for the function FrTrcv_CheckWakeupByTransceiver() of the FlexRay transceiver driver [SWS_FrIf_05041]. It is provided via the header FrIf.h and has no return value [SWS_FrIf_05041].
For addressing the respective hardware instance, the interface requires two mandatory parameters [SWS_FrIf_05041]:
FrIf_CtrlIdx(input parameter,uint8): Index of the FlexRay Communication Controller to be addressed [SWS_FrIf_05041].FrIf_ChnlIdx(input parameter,Fr_ChannelType): Index of the FlexRay channel to be addressed within the scope of the specified controllerFrIf_CtrlIdx[SWS_FrIf_05041].
Concurrency and Limitations
The specification designates the interface as reentrant, allowing synchronous calls to be issued concurrently [SWS_FrIf_05041].
A strict usage restriction exists for the channel parameter FrIf_ChnlIdx: The enumeration value FR_CHANNEL_AB must not be passed [SWS_FrIf_05041]. Interpretation: This presumably means that the underlying transceiver driver does not support a combined wake-up check of both channels in a single call, and systems with two FlexRay channels must instead be checked sequentially or separately per channel. Question Q-a30cf39f0d3ca295 (open)
This text was generated by an AI and is based on AUTOSAR R20-11.
Implementer's Guide to follow (complexity I1)
function <User_RxIndication> [SWS_FrIf_05045] 📄 PDF
void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Indication of a received PDU from a lower layer communication interface module.
The callback function <User_RxIndication> serves to signal a received PDU from the underlying communication interface layer [SWS_FrIf_05045]. Interpretation: The identifier presumably represents a configurable callback of an upper layer that is notified when FlexRay data arrives. Question Q-a9037bc7502dd9ea (open)
Usage and Parameters
Execution is synchronous without a return value (void) [SWS_FrIf_05045]. Two input parameters are passed during the call [SWS_FrIf_05045]:
RxPduId(PduIdType): Unique identifier of the received PDU [SWS_FrIf_05045].PduInfoPtr(const PduInfoType*): Pointer to a structure containing the length of the received PDU (SduLength), a pointer to the buffer with the payload data (SduDataPtr), and associated metadata [SWS_FrIf_05045].
Concurrency and Configuration
Regarding reentrancy, the function is reentrant for different PDU IDs, but must not be called reentrantly for the same PDU ID [SWS_FrIf_05045]. The interface is available configurably in the module (“Available via configurable”) [SWS_FrIf_05045]. Specific error codes, return values, or notifications to DET and DEM are not defined in the sources for this interface [SWS_FrIf_05045].
This text was generated automatically. All statements are based exclusively on the specification data of module FrIf.
function <User_TxConfirmation> [SWS_FrIf_05046] 📄 PDF
void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);
The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.
The configurable callback function <User_TxConfirmation> is called by the underlying communication interface module to confirm the completion of a transmission process for a PDU [SWS_FrIf_05046]. It synchronously reports to the upper layer whether the transmission of the corresponding PDU was successful or failed [SWS_FrIf_05046].
The interface has no return value (void) and expects two input parameters [SWS_FrIf_05046]:
TxPduId(typePduIdType): Designates the unique ID of the transmitted PDU [SWS_FrIf_05046].result(typeStd_ReturnType): Indicates the result of the transmission, whereE_OKconfirms successful transmission andE_NOT_OKreports the failure of the PDU transmission [SWS_FrIf_05046].
The function operates synchronously [SWS_FrIf_05046]. Regarding concurrency, it is reentrant for different PDU IDs, but non-reentrant for the same TxPduId [SWS_FrIf_05046]. Parallel confirmation calls for identical PDU IDs must therefore be ruled out.
Specific error codes besides E_NOT_OK or separate notifications to DET or DEM are not specified for this call [SWS_FrIf_05046]. Interpretation: Since the interface is designated as configurable, the identifier <User_TxConfirmation> is likely to serve as a placeholder for the function name actually configured in the upper layer [SWS_FrIf_05046]. Question Q-f2a08258df49b3ec (open)
This text was created by an AI and serves as guidance for the AUTOSAR specification.
function <User_TriggerTransmit> [SWS_FrIf_05047] 📄 PDF
Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);
Within this API, the upper lay er module (called module) shall check whether the AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayInterface available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual c opied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.
use
The synchronous callback function <User_TriggerTransmit> is called to request SDU data of an upper layer for transmission [SWS_FrIf_05047]. The identifier TxPduId of the SDU to be transmitted and the pointer PduInfoPtr of type PduInfoType* are passed as parameters [SWS_FrIf_05047]. The caller provides a destination buffer via PduInfoPtr->SduDataPtr and indicates the available buffer size in PduInfoPtr->SduLength [SWS_FrIf_05047].
The called module of the upper layer checks whether the pending data fits into the specified buffer size [SWS_FrIf_05047]:
- If the data fits, the module copies it into
PduInfoPtr->SduDataPtr, updatesPduInfoPtr->SduLengthto the number of bytes actually copied, and returnsE_OK[SWS_FrIf_05047]. - If the data does not fit, the module returns
E_NOT_OKwithout modifyingPduInfoPtr[SWS_FrIf_05047].
Error Handling and Concurrency
In the event of an error (return value E_NOT_OK), no SDU data was copied. In this case, PduInfoPtr must not be used further, as it may contain a NULL pointer or point to invalid data [SWS_FrIf_05047].
The interface is reentrant for different PDU IDs, but non-reentrant for the same PDU ID [SWS_FrIf_05047]. The availability of the function is configurable [SWS_FrIf_05047].
This text was generated by an AI. All statements are based exclusively on the specifications of AUTOSAR release R20-11.
function <Free_Op_A> [SWS_FrIf_05316] 📄 PDF
void <Free_Op_A> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.
The function <Free_Op_A> is designed as a user-defined communication operation in the FlexRay interface to support hardware-specific or additional performance features of the Communication Controller in order to increase overall performance [SWS_FrIf_05316]. The declaration of this interface is provided via the header FrIf_Externals.h [SWS_FrIf_05316].
Two functional input parameters are prescribed for the call [SWS_FrIf_05316]:
FrIf_CtrlIdx(typeuint8): Designates as an index the specific FlexRay Communication Controller to be addressed [SWS_FrIf_05316].FrIf_LPduIdx(typeuint16): Serves as a unique index to identify the respective FlexRay frame [SWS_FrIf_05316].
The operation is executed synchronously and has no return value (void); input and output parameters are likewise not provided [SWS_FrIf_05316]. With respect to concurrency and call context, the function is reentrant for different values of FrIf_LPduIdx, but explicitly non-reentrant when using the same index FrIf_LPduIdx [SWS_FrIf_05316].
Specific error codes as well as mechanisms for error monitoring via the Default Error Tracer (DET) or the Diagnostic Event Manager (DEM) module are not specified in the specification [SWS_FrIf_05316]. Calling components must therefore ensure before execution that no concurrent accesses to the same frame index occur [SWS_FrIf_05316].
This usage note was generated automatically based on the AUTOSAR specification.
function <Free_Op_B> [SWS_FrIf_05317] 📄 PDF
void <Free_Op_B> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.
The user-defined function <Free_Op_B> is used to perform user-specific communication operations in the FlexRay interface [SWS_FrIf_05317]. Its purpose is to support hardware-specific or additional performance features of the FlexRay communication controller in order to increase communication performance [SWS_FrIf_05317]. The function declaration is provided via the header file FrIf_Externals.h [SWS_FrIf_05317].
Call and Parameters
The operation is called synchronously and provides no return value (void) [SWS_FrIf_05317]. It processes two input parameters, while neither input/output nor output parameters exist [SWS_FrIf_05317]:
FrIf_CtrlIdx: Index of the FlexRay communication controller to be addressed (typeuint8) [SWS_FrIf_05317].FrIf_LPduIdx: Unique index identifying the respective FlexRay frame (typeuint16) [SWS_FrIf_05317].
Concurrency and Limitations
Regarding reentrancy, the function is reentrant for different LPdu indices (FrIf_LPduIdx), but is explicitly specified as non-reentrant for the same LPdu index [SWS_FrIf_05317]. Callers must therefore ensure that concurrent calls for the same PDU do not occur.
Interpretation: Since the operation is designated as user-defined and placed in FrIf_Externals.h, the actual implementation likely has to be provided in a user-specific or driver-extending manner. Question Q-6668832db63b9906 (open)
This text was generated by an AI. All information is based exclusively on the specifications of release R20-11.
function <UL_TxConflictNotification> [SWS_FrIf_91001] 📄 PDF
void <UL_TxConflictNotification> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
Notification in case a Tx Conflict has been detected.
use
The notification function <UL_ Tx Conflict Notification> is called as soon as a transmission conflict (Tx Conflict) has been detected in the FlexRay interface [SWS_FrIf_91001]. The declaration of this interface is provided via the header file Fr If_ Externals.h [SWS_FrIf_91001].
The function has no return value and accepts two input parameters [SWS_FrIf_91001]:
Fr If_ Ctrl Idx: Identifier of the addressed FlexRay communication controller [SWS_FrIf_91001].Fr If_ LPdu Idx: Identifier of the affected transmitted FlexRay frame [SWS_FrIf_91001].
Concurrency and Limitations
The call is performed with synchronous semantics [SWS_FrIf_91001]. Regarding concurrency, execution is reentrant for different indices of Fr If_ LPdu Idx, but explicitly non-reentrant for the same LPdu index [SWS_FrIf_91001]. In the implementation, it must therefore be ensured that concurrent calls for the same frame index are prevented.
Error Handling and Interaction
The specification defines no separate DET or DEM messages and no specific error codes for this callback interface [SWS_FrIf_91001]. Interpretation: The upper layer is likely to provide the call in order to be able to log or handle conflicts that have occurred directly on the FlexRay transmission path. Question Q-fc63c251dbc03307 (open)
This text was created by an AI and checked according to fixed guidelines. Technical evidence originates exclusively from the specification.
type FrIf_ConfigType [SWS_FrIf_05301] 📄 PDF
This type contains the implementation - specific post build time configuration structure. Only pointers of this type are allowed.
type FrIf_StateType [SWS_FrIf_05755] 📄 PDF
Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.
Usage and Value Range
The enumeration type FrIf_StateType is defined in the header file FrIf.h and serves in the FlexRay Interface to represent the current operating state of a FlexRay Communication Controller (FlexRay CC) [SWS_FrIf_05755]. Variables of this type record whether a controller is ready for communication and whether synchronization with the FlexRay cluster exists [SWS_FrIf_05755].
The value range comprises two defined states [SWS_FrIf_05755]:
FRIF_STATE_OFFLINE: The FlexRay CC is not ready for communication, and the FlexRay cluster is not synchronized [SWS_FrIf_05755].FRIF_STATE_ONLINE: The FlexRay CC is ready for communication, and the FlexRay cluster is synchronized [SWS_FrIf_05755].
Integration and Boundary Conditions
The states reflect fundamental communication phases: As long as FRIF_STATE_OFFLINE is present, no regular cluster communication can take place via the controller, whereas FRIF_STATE_ONLINE designates synchronized transmission and reception operation [SWS_FrIf_05755]. Since the specification excerpt mentions no further API signatures or error messages, the type is presumably used primarily in status queries or state transitions of the FlexRay Interface. Question Q-071cd300dcaa0a3b (open)
This text was generated by an AI and is based on the AUTOSAR R20-11 specification.
Implementer's Guide to follow (complexity I1)
type FrIf_StateTransitionType [SWS_FrIf_05303] 📄 PDF
Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.
The enumeration type FrIf_StateTransitionType is provided via the header file FrIf.h and serves according to [SWS_FrIf_05303] to represent or request state transitions for a FlexRay Communication Controller (FlexRay CC).
Usage and Value Range
Variables of this type take values to request specific state changes of a FlexRay CC [SWS_FrIf_05303]. The range of values comprises the following literals:
FRIF_GOTO_OFFLINE: Literal for requesting a transition to stateFRIF_STATE_OFFLINE[SWS_FrIf_05303].FRIF_GOTO_ONLINE: Literal for requesting a transition to stateFRIF_STATE_ONLINE[SWS_FrIf_05303].
Context and Interaction
Although the formal description of the type speaks of representing the state of a FlexRay CC, the defined literals suggest the interpretation that this enumeration type primarily serves as a control parameter for requesting state changes (offline or online) [SWS_FrIf_05303]. Since the payload lists no further interfaces, reentrancy requirements, or error codes for this type, the general integration rules via the header file FrIf.h apply.
This text was generated by an AI. It is based on AUTOSAR R20-11 and requirement [SWS_FrIf_05303].
Implementer's Guide to follow (complexity I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_FrIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_FrIf@rel:R20-11#e39f638f- Content hash
e39f638f- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayInterface.pdf#nameddest=SWS_FrIf_05003
gemini-3.8-flash-low· 2026-10-13 · German original