DEENESPTFRRUARHIKOZHNL

FlexRay Interface (FrIf)

ModulFrIf (FlexRay Interface)
BSW-Modul-ID61
Standard-Header#include "FrIf.h"
SWS-SpezifikationAUTOSAR_SWS_FlexRayInterface.pdf
ClusterFlexRay

Guide du moduleGÉNÉRÉ PAR IA

Encapsule les pilotes et émetteurs-récepteurs FlexRay et commande, pour chaque cluster, l'état, le trafic des PDU et l'exécution de la Job List.
GÉNÉRÉ PAR IA non vérifié Modèle : claude-opus-5-5 · Effort : high · Température : non réglable · Prompt : c9748455d0d4 Provenance Questions ouvertes (4)
Ancre causale : R20-11 Valable à partir de R20-11 Synthétisé pour cette version de spécification.
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Encapsule les pilotes et émetteurs-récepteurs FlexRay et commande, pour chaque cluster, l'état, le trafic des PDU et l'exécution de la Job List.

L'interface FlexRay encapsule les pilotes FlexRay et d'émetteurs-récepteurs derrière un index de contrôleur unifié et transmet les PDU entre les couches supérieures et le bus. Pour chaque cluster, elle gère une machine à états comprenant les états FRIF_STATE_OFFLINE et FRIF_STATE_ONLINE, que le FlexRay State Manager commute au moyen de FrIf_SetState [SWS_FrIf_05174]. L'émission et la réception s'effectuent de manière synchronisée dans le temps au cours de la Job List Execution du cluster, et ce uniquement dans l'état online (SWS FrIf p. 37). Les services de démarrage, d'arrêt et de réveil fonctionnent de manière asynchrone. L'appelant détermine par conséquent l'état POC atteint au moyen de FrIf_GetPOCStatus.

Le FlexRay Interface (FrIf) se situe entre les modules de communication supérieurs et les pilotes Fr et FrTrcv. Pour sa fonction principale, il requiert des services de pilote tels que Fr_ControllerInit, Fr_GetPOCStatus et Fr_ReceiveRxLPdu [SWS_FrIf_05043]. La plupart des services de commande encapsulent un service de pilote : ils traduisent FrIf_CtrlIdx, à l'aide de la configuration statique, en le tuple (FlexRay Driver | Fr_CtrlIdx) et renvoient le résultat du pilote (SWS FrIf p. 55). Le démarrage, l'arrêt, l'autorisation de démarrage à froid (Coldstart) et le réveil fonctionnent de manière asynchrone [SWS_FrIf_05005]. L'appelant détermine par conséquent l'état effectivement atteint à l'aide de FrIf_GetPOCStatus.

frif_kontext FrSM FrSM (Lebenszyklus) FrIf FrIf FrSM->FrIf FrIf_ControllerInit, FrIf_StartCommunication, FrIf_SetState, FrIf_GetPOCStatus PduR PduR / Upper Layer (PDU-Nutzer) PduR->FrIf FrIf_Transmit, FrIf_CancelTransmit FrNm FrNm FrNm->FrIf FrIf_Transmit, FrIf_GetGlobalTime, FrIf_GetNmVector FrTp FrTp / FrArTp FrTp->FrIf FrIf_Transmit FrTSyn FrTSyn FrTSyn->FrIf FrIf_GetState, FrIf_GetGlobalTime, FrIf_GetMacroticksPerCycle EcuM EcuM EcuM->FrIf FrIf_Init, FrIf_CheckWakeupByTransceiver Mirror Bus Mirroring Mirror->FrIf FrIf_EnableBusMirroring SchM SchM SchM->FrIf FrIf_MainFunction_<FrIfCluster.ShortName> ISR Interrupt Service Routine ISR->FrIf FrIf_JobListExec_<FrIfCluster.ShortName> FrIf->PduR <User_RxIndication>, <User_TxConfirmation>, <User_TriggerTransmit> FrIf->FrTp RxIndication, TxConfirmation, TriggerTransmit FrIf->Mirror Mirror_ReportFlexRayFrame Fr Fr (FlexRay-Treiber) FrIf->Fr Fr_* après conversion d’indice (FlexRay Driver | Fr_CtrlIdx) FrTrcv FrTrcv (Transceiver-Treiber) FrIf->FrTrcv FrTrcv_* Det Det FrIf->Det Det_ReportError, Det_ReportRuntimeError Dem Dem FrIf->Dem Dem_SetEventStatus

Diagramme de contexte : le FrIf assure l'intermédiation entre le FrSM, les utilisateurs de PDU, les services de temps et de miroir (Mirroring) d'un côté, et les pilotes Fr et FrTrcv de l'autre. Sources : [SWS_FrIf_05043], SWS FrSM p. 22

Pour chaque cluster, le FrIf gère une machine à états comprenant les états FRIF_STATE_OFFLINE et FRIF_STATE_ONLINE [SWS_FrIf_05755]. FrIf_Init() positionne chaque cluster sur Offline. L'environnement demande des transitions au moyen de FrIf_SetState et FRIF_GOTO_ONLINE ou FRIF_GOTO_OFFLINE [SWS_FrIf_05174]. La réception, l'émission et la confirmation d'émission ne s'exécutent qu'en ligne (online). Lors du passage à Offline, les Upper Layers reçoivent E_NOT_OK pour les confirmations en attente [SWS_FrIf_05501].

frif_zustand start off FRIF_STATE_OFFLINE aucun service de communication (cluster non synchronisé) start->off (1) FrIf_Init() off->off FRIF_GOTO_OFFLINE : aucune transition on FRIF_STATE_ONLINE réception, émission, confirmation Tx (cluster synchronisé) off->on (2) FrIf_SetState(FRIF_GOTO_ONLINE) on->off (3) FrIf_SetState(FRIF_GOTO_OFFLINE) par PDU avec TxConfCounter > 0 : <UL>_TxConfirmation(id, E_NOT_OK) on->on FRIF_GOTO_ONLINE : aucune transition

Diagramme d'états : chaque cluster démarre offline et ne change d'état que sur demande via FrIf_SetState. Sources : [SWS_FrIf_05303], SWS FrIf p. 25

Le FrSM contrôle le déroulement. Lors de la phase de démarrage, il commute les émetteurs-récepteurs sur Normal, lance la communication et valide le Coldstart le cas échéant. Il interroge ensuite l'état POC jusqu'à ce que FR_POCSTATE_NORMAL_ACTIVE soit atteint, et ne met le cluster online qu'après cela (SWS FrSM p. 50). La désactivation s'effectue en deux étapes : d'abord Offline et Halt, puis réinitialisation des contrôleurs et mise en veille (Standby) des émetteurs-récepteurs (SWS FrSM p. 58).

FrIf_Transmit ne fait d'abord que compter les demandes d'émission [SWS_FrIf_05033]. La transmission proprement dite se produit dans la Job List Execution pour chaque cluster [SWS_FrIf_05040]. Le FrIf y récupère les données via TriggerTransmit, confirme les transmissions et signale les réceptions. Il signale les erreurs selon trois catégories : les erreurs de développement à DET [SWS_FrIf_05145], l'erreur d'exécution FRIF_E_JLE_SYNC [SWS_FrIf_05432] et les erreurs de production par canal à DEM [SWS_FrIf_05146].

Rôle dans la pile FlexRay et frontière du système

Le FlexRay Interface (FrIf) se situe entre les modules de communication supérieurs et les pilotes bas niveau. Pour sa fonction principale, il a besoin des services du pilote FlexRay. En font partie Fr_ControllerInit, Fr_GetPOCStatus, Fr_ReceiveRxLPdu et Fr_CheckTxLPduStatus ainsi que Det_ReportRuntimeError [SWS_FrIf_05043]. Sont optionnels, entre autres, Fr_AllSlots, Fr_CancelTxLPdu et Dem_SetEventStatus [SWS_FrIf_05044]. La structure d'en-tête montre l'intégration de Fr.h, FrTrcv.h, PduR_FrIf.h, FrNm_Cbk.h et FrTp_Cbk.h (SWS FrIf p. 18).

Le FlexRay State Manager gère le cycle de vie. Il fait correspondre ses éléments fonctionnels à des appels FrIf (SWS FrSM p. 22). Les utilisateurs de PDU sont raccordés via des callbacks configurables : <User_RxIndication>, <User_TxConfirmation> et <User_TriggerTransmit> [SWS_FrIf_05045] [SWS_FrIf_05046] [SWS_FrIf_05047]. Les cibles autorisées sont, entre autres, FrTSyn [SWS_FrIf_05434], FrNm et FrArTp. Des Complex Drivers dotés d'interfaces équivalentes peuvent également être raccordés (SWS FrIf p. 97). D'autres utilisateurs ont leurs propres tâches :

frif_kontext FrSM FrSM (Lebenszyklus) FrIf FrIf FrSM->FrIf FrIf_ControllerInit, FrIf_StartCommunication, FrIf_SetState, FrIf_GetPOCStatus PduR PduR / Upper Layer (PDU-Nutzer) PduR->FrIf FrIf_Transmit, FrIf_CancelTransmit FrNm FrNm FrNm->FrIf FrIf_Transmit, FrIf_GetGlobalTime, FrIf_GetNmVector FrTp FrTp / FrArTp FrTp->FrIf FrIf_Transmit FrTSyn FrTSyn FrTSyn->FrIf FrIf_GetState, FrIf_GetGlobalTime, FrIf_GetMacroticksPerCycle EcuM EcuM EcuM->FrIf FrIf_Init, FrIf_CheckWakeupByTransceiver Mirror Bus Mirroring Mirror->FrIf FrIf_EnableBusMirroring SchM SchM SchM->FrIf FrIf_MainFunction_<FrIfCluster.ShortName> ISR Interrupt Service Routine ISR->FrIf FrIf_JobListExec_<FrIfCluster.ShortName> FrIf->PduR <User_RxIndication>, <User_TxConfirmation>, <User_TriggerTransmit> FrIf->FrTp RxIndication, TxConfirmation, TriggerTransmit FrIf->Mirror Mirror_ReportFlexRayFrame Fr Fr (FlexRay-Treiber) FrIf->Fr Fr_* après conversion d’indice (FlexRay Driver | Fr_CtrlIdx) FrTrcv FrTrcv (Transceiver-Treiber) FrIf->FrTrcv FrTrcv_* Det Det FrIf->Det Det_ReportError, Det_ReportRuntimeError Dem Dem FrIf->Dem Dem_SetEventStatus

Diagramme de contexte : le FrIf sert d'intermédiaire entre le contrôle d'état, les utilisateurs de PDU, les services de temps et de miroir d'une part, et les pilotes Fr et FrTrcv d'autre part. Il signale les erreurs à DET et DEM. Sources : [SWS_FrIf_05043], [SWS_FrIf_05045], SWS FrSM p. 22, SWS FrIf p. 18

Un index de contrôleur pour tous les pilotes : le principe du wrapper

La plupart des services de commande adressent un Communication Controller (CC) via FrIf_CtrlIdx. L'exemple de FrIf_ControllerInit illustre ce modèle. Le service traduit l'index, sur la base de la configuration statique, en le tuple (FlexRay Driver | Fr_CtrlIdx). Il appelle ensuite Fr_ControllerInit() du pilote déterminé (SWS FrIf p. 55). La valeur de retour reflète le résultat du pilote [SWS_FrIf_05004]. Selon le même modèle, d'autres services encapsulent leurs équivalents de pilote : Start, Halt, Abort, validation de Coldstart, Wakeup, état POC et temps global [SWS_FrIf_05005] [SWS_FrIf_05006] [SWS_FrIf_05007] [SWS_FrIf_05017] [SWS_FrIf_05011] [SWS_FrIf_05014] [SWS_FrIf_05015]. Il en va de même pour les services d'Absolute-Timer [SWS_FrIf_05021] [SWS_FrIf_05025] [SWS_FrIf_05029].

Pour les appelants, le synchronisme est déterminant. FrIf_StartCommunication, FrIf_HaltCommunication, FrIf_AllowColdstart et FrIf_SendWUP fonctionnent de manière asynchrone [SWS_FrIf_05005] [SWS_FrIf_05011]. En revanche, FrIf_ControllerInit et FrIf_AbortCommunication fonctionnent de façon synchrone [SWS_FrIf_05007]. Pour les services asynchrones, E_OK signifie uniquement que l'appel du pilote a retourné E_OK. Le FrSM détermine l'état POC effectivement atteint par des interrogations répétées avec FrIf_GetPOCStatus (SWS FrSM p. 50).

Les services d'émetteur-récepteur adressent en outre un canal FrIf_ChnlIdx et encapsulent le FlexRay Transceiver Driver [SWS_FrIf_05034] [SWS_FrIf_05036] [SWS_FrIf_05039]. La valeur FR_CHANNEL_AB est ici inadmissible (SWS FrIf p. 73). Les requêtes telles que FrIf_GetMacroticksPerCycle ou FrIf_GetCycleLength n'appellent aucun pilote, mais lisent la configuration statique [SWS_FrIf_05018] [SWS_FrIf_05239].

Machine à états par cluster : FRIF_STATE_OFFLINE et FRIF_STATE_ONLINE

Le FrIf gère une machine à états propre pour chaque cluster FlexRay. FrIf_Init() initialise d'abord chaque cluster à FRIF_STATE_OFFLINE (SWS FrIf p. 25). Les deux états ont la signification suivante [SWS_FrIf_05755] :

  • FRIF_STATE_OFFLINE : le CC n'est pas prêt pour la communication, le cluster n'est pas synchronisé.
  • FRIF_STATE_ONLINE : le CC est prêt pour la communication, le cluster est synchronisé.

L'environnement demande des transitions au moyen de FrIf_SetState, et ce avec les littéraux FRIF_GOTO_ONLINE ou FRIF_GOTO_OFFLINE [SWS_FrIf_05174] [SWS_FrIf_05303]. Une transition n'a lieu que si le cluster se trouve dans l'autre état (SWS FrIf p. 25). FrIf_GetState est réentrant [SWS_FrIf_05170], tandis que FrIf_SetState ne l'est pas.

L'état détermine si le trafic de données a lieu. Offline, le FrIf n'exécute aucun service de communication. Online, il exécute la réception, l'émission et la confirmation d'émission (SWS FrIf p. 25). Lors du passage à Offline, le FrIf contrôle chaque PDU : si son TxConfCounter > 0, l'Upper Layer reçoit <UL>_TxConfirmation(id, E_NOT_OK) [SWS_FrIf_05501]. À partir de R23-11, la spécification exige en outre que FrIf_Transmit() renvoie E_NOT_OK dans l'état Offline (SWS FrIf p. 68). Un schéma plus ancien montre quatre états, dont FRIF_STATE_HALT (SWS FrIf p. 28). Il ne s'applique pas à R20-11, car FrIf_StateType n'y connaît que deux valeurs [SWS_FrIf_05755].

frif_zustand start off FRIF_STATE_OFFLINE aucun service de communication (cluster non synchronisé) start->off (1) FrIf_Init() off->off FRIF_GOTO_OFFLINE : aucune transition on FRIF_STATE_ONLINE réception, émission, confirmation Tx (cluster synchronisé) off->on (2) FrIf_SetState(FRIF_GOTO_ONLINE) on->off (3) FrIf_SetState(FRIF_GOTO_OFFLINE) par PDU avec TxConfCounter > 0 : <UL>_TxConfirmation(id, E_NOT_OK) on->on FRIF_GOTO_ONLINE : aucune transition

Diagramme d'états : chaque cluster démarre offline et ne change d'état que sur demande via FrIf_SetState. Lors du passage à Offline, les confirmations d'émission en attente sont clôturées négativement. Sources : [SWS_FrIf_05174], [SWS_FrIf_05303], [SWS_FrIf_05501], SWS FrIf p. 25

Démarrage, réveil et arrêt sous la régie du FrSM

L'EcuM initialise le FrIf avec FrIf_Init, et ce avant FrSM_Init (SWS FrSM p. 46). Ce faisant, il transmet un pointeur vers FrIf_ConfigType [SWS_FrIf_05003]. Le FrSM pilote toutes les étapes suivantes via ses éléments fonctionnels. Chaque élément appelle le service FrIf correspondant pour chaque contrôleur du cluster (SWS FrSM p. 22) :

  • FE_CONFIG appelle FrIf_ControllerInit.
  • FE_START appelle FrIf_StartCommunication.
  • FE_ALLOW_COLDSTART appelle FrIf_AllowColdstart, mais uniquement lorsque FrSMIsColdstartEcu est positionné.
  • FE_WAKEUP appelle FrIf_SendWUP.
  • FE_HALT appelle FrIf_HaltCommunication.

Le startup passif après un réveil par le bus s'effectue dans cet ordre (SWS FrSM p. 50) :

  1. Les émetteurs-récepteurs sont commutés sur FRTRCV_TRCVMODE_NORMAL.
  2. La communication est lancée.
  3. Un nœud de démarrage à froid autorise en plus le Coldstart.
  4. Le FrSM interroge l'état POC jusqu'à ce que FR_POCSTATE_NORMAL_ACTIVE soit atteint.
  5. Ce n'est qu'ensuite que suit FrIf_SetState(…, FRIF_GOTO_ONLINE).

Lors d'un réveil actif, les nœuds bicanaux sélectionnent le canal de réveil avec FrIf_SetWakeupChannel [SWS_FrIf_05010]. FrIf_GetWakeupRxStatus signale, par un codage binaire, sur quel canal un réveil a été reçu [SWS_FrIf_05102].

Démarrage passif d’un cluster (Single Channel, Bus-Wakeup)ComMSchMFrSMFrIfBswMDemFrSM_RequestComMode(network,COMM_FULL_COMMUNICATION)FrSM_MainFunction_<FrSMCluster.ShortName>()looppour tous les CtrlIdx des CC du clusterFrIf_GetTransceiverWUReason(CtrlIdx,ChnlIdx, TrcvWUReasonPtr)FRTRCV_WU_BY_BUSFrIf_SetTransceiverMode(CtrlIdx, ChnlIdx,FRTRCV_TRCVMODE_NORMAL)FrIf_StartCommunication(CtrlIdx)BswM_FrSM_CurrentState(FRSM_STARTUP)optFrSMIsColdstartEcu (immédiatement si FrSMDurationT1 = 0)FrIf_AllowColdstart(CtrlIdx)loopbis FR_POCSTATE_NORMAL_ACTIVEFrSM_MainFunction_<FrSMCluster.ShortName>()FrIf_GetPOCStatus(CtrlIdx, POCStatusPtr)FR_POCSTATE_STARTUP /FR_POCSTATE_NORMAL_ACTIVEFrIf_SetState(ClstIdx, FRIF_GOTO_ONLINE)Cluster jetzt FRIF_STATE_ONLINE:La liste de jobs exécute la communicationDem_SetEventStatus(FRSM_E_CLUSTER_STARTUP, PASSED)BswM_FrSM_CurrentState(FRSM_ONLINE)ComM_BusSM_ModeIndication(NetworkHandle, COMM_FULL_COM)

Diagramme de séquence : startup passif jusqu'à l'état online. Le FrIf n'exécute que les services individuels, le contrôle du déroulement relève du FrSM. Interprétation : l'ordre avant le démarrage est simplifié. Sources : SWS FrSM p. 50, SWS FrSM p. 21

La désactivation s'effectue en deux étapes. Tout d'abord, le FrSM met le cluster offline avec FRIF_GOTO_OFFLINE et appelle FrIf_HaltCommunication. Plus tard, il réinitialise les contrôleurs et place les émetteurs-récepteurs dans le mode STANDBY (SWS FrSM p. 58). Le délai entre les deux étapes est déterminé par le timer t_TrcvStdbyDelay (SWS FrSM p. 21).

Transition de FullCom à NoComComMSchMFrSMFrIfBswMFrSM_RequestComMode(BusHandle, COMM_NO_COM)Use Case: Phase 1: Kommunikation anhaltenFrSM_MainFunction_<FrSMCluster.ShortName>()FrIf_SetState(ClstIdx, FRIF_GOTO_OFFLINE)FrIf_HaltCommunication(CtrlIdx)BswM_FrSM_CurrentState(HALT_REQ)ComM_BusSM_ModeIndication(BusHandle, COMM_NO_COM)Use Case: Phase 2 : réinitialiser et passer en veille après t_TrcvStdbyDelayFrSM_MainFunction_<FrSMCluster.ShortName>()FrIf_GetPOCStatus(CtrlIdx, FrIf_POCStatusPtr)E_OKFrIf_ControllerInit(FrIf_CtrlIdx)FrIf_SetTransceiverMode(FrIf_CtrlIdx,FrIf_ChnlIdx, STANDBY)BswM_FrSM_CurrentState(READY)

Diagramme de séquence : transition de FullCom à NoCom, d'abord Halt, puis réinitialisation et Standby. Interprétation : l'ordre au sein de la première phase est simplifié. Sources : SWS FrSM p. 58, SWS FrSM p. 56

Trafic de PDU : demande d'émission et Job List Execution

FrIf_Transmit est synchrone et réentrant pour différents TxPduId [SWS_FrIf_05033]. En cas d'accès découplé aux tampons, le FrIf n'enregistre que le nombre de demandes d'émission dans le TrigTxCounter, et non les données elles-mêmes (SWS FrIf p. 38). Pour les PDU Immediate de longueur fixe, le FrIf compare la longueur transmise à la configuration [SWS_FrIf_05757]. Une transmission en cours peut être interrompue avec FrIf_CancelTransmit [SWS_FrIf_05070].

La communication sur bus proprement dite a lieu dans la Job List Execution Function FrIf_JobListExec_<FrIfCluster.ShortName>, qui existe pour chaque cluster [SWS_FrIf_05040]. Dans les schémas, une Interrupt Service Routine l'appelle (SWS FrIf p. 102). Cette routine est vraisemblablement déclenchée par les Absolute Timers du CC [SWS_FrIf_05021]. Question Q-d0a286cc1698d9d3 (ouverte) Le FrIf_MainFunction_<FrIfCluster.ShortName> cyclique [SWS_FrIf_05042] surveille l'exécution continue de la liste de jobs tant que le cluster est online. La (re)synchronisation en fait également partie (SWS FrIf p. 26).

Chaque Communication Operation n'est exécutée que dans l'état FRIF_STATE_ONLINE, sinon elle est ignorée (SWS FrIf p. 37). Les opérations principales fonctionnent ainsi :

  • Émission découplée : pour chaque PDU ayant TrigTxCounter > 0, le FrIf récupère les données via <User_TriggerTransmit> [SWS_FrIf_05047]. Ensuite, il transmet la trame à Fr_TransmitTxLPdu(). Si le pilote refuse, le FrIf réinitialise les compteurs à leur état précédent (SWS FrIf p. 102).
  • TX_CONFIRMATION : si le pilote signale FR_TRANSMITTED, le FrIf confirme la transmission via <User_TxConfirmation> [SWS_FrIf_05046].
  • RECEIVE_AND_INDICATE : le FrIf lit jusqu'à FrIfRxComOpMaxLoop fois et signale chaque réception via <User_RxIndication> [SWS_FrIf_05045] (SWS FrIf p. 41).

Des opérations spécifiques au matériel comme <Free_Op_A> s'exécutent également dans la liste de jobs [SWS_FrIf_05316]. Le FrIf signale les conflits d'émission via <UL_TxConflictNotification> [SWS_FrIf_91001].

Transmission avec accès découplé au tampon (Decoupled Buffer Access)ComPduR (Upper Layer)FrIfInterrupt Service RoutineFrPduR_ComTransmit()FrIf_Transmit(TxPduId, PduInfoPtr)Incrémenter TrigTxCounter(jusqu'à CounterLimit, n'enregistrer aucune donnée)E_OKUse Case: Job DECOUPLED_TRANSMISSION (FRIF_STATE_ONLINE uniquement)FrIf_JobListExec_<FrIfCluster.ShortName>()looppar PDU dans la tramealtTrigTxCounter > 0 ou FrIfNoneMode == trueTrigTxCounter dekrementierenPduR_<User:Lo>Triggertransmit()Com_TriggerTransmit()copy buffer()E_OKE_OKUpdate-Bit "up-to-date" setzensinonUpdate-Bit "outdated" setzenoptAlwaysTransmit == TRUE ou au moins une PDU actuelleFr_TransmitTxLPdu()incrémenter TxConfCounter ;en cas d'E_NOT_OK, restaurer le compteurUse Case: Job TX_CONFIRMATIONFrIf_JobListExec_<FrIfCluster.ShortName>()Fr_CheckTxLPduStatus()FR_TRANSMITTEDPduR_<User:Lo>TxConfirmation()Com_TxConfirmation()

Diagramme de séquence : émission avec accès découplé aux tampons. La demande n'est d'abord que comptabilisée, le FrIf ne récupère les données que dans la liste de jobs. Les versions plus récentes routent alors via le LSduR. Sources : [SWS_FrIf_05033], SWS FrIf p. 102, SWS PduR p. 106

frif_joblist start Job de la liste de jobs arrivé à échéance FrIf_JobListExec_<FrIfCluster.ShortName>() online FrIf_State du CC == FRIF_STATE_ONLINE ? start->online ignore Communication Operation ignorieren online->ignore Non art Type de Communication Operation ? online->art Oui ende job suivant ignore->ende dtx DECOUPLED_TRANSMISSION : vérifier TrigTxCounter pour chaque PDU, <User_TriggerTransmit>, bits de mise à jour, Fr_TransmitTxLPdu() art->dtx txc TX_CONFIRMATION : Fr_CheckTxLPduStatus() ; si FR_TRANSMITTED et TxConfCounter > 0 : <User_TxConfirmation> art->txc rai RECEIVE_AND_INDICATE: Fr_ReceiveRxLPdu() bis zu FrIfRxComOpMaxLoop-mal; <User_RxIndication> art->rai ras RECEIVE_AND_STORE : Fr_ReceiveRxLPdu() dans un tampon temporaire, copier les PDU dans les tampons FrIf locaux art->ras free <Free_Op_A> / <Free_Op_B>: hardwarespezifische Operation art->free dtx->ende txc->ende mirr Bus Mirroring actif pour ce CC ? rai->mirr Frame empfangen ras->mirr Frame empfangen free->ende report Mirror_ReportFlexRayFrame() mirr->report Oui mirr->ende Non report->ende

Diagramme d'activité : traitement d'une Communication Operation dans la liste de jobs. L'état du cluster décide en premier lieu, puis la nature de l'opération. Sources : [SWS_FrIf_05040], SWS FrIf p. 37, SWS FrIf p. 39

Base de temps, services complémentaires et configuration

FrTSyn n'appelle FrIf_GetGlobalTime que si FrIf_GetState renvoie la valeur FRIF_STATE_ONLINE. Ce n'est qu'alors que le CC est synchronisé avec l'horloge globale FlexRay (SWS FrTSyn p. 19). Il est également autorisé d'appeler FrIf_GetGlobalTime au sein d'une Exclusive Area (SWS FrIf p. 64). FrNm détermine également le cycle actuel via ce service (SWS FrNm p. 38). FrIf_GetNmVector [SWS_FrIf_05016] peut être désactivé via FrIfGetNmVectorSupport.

FrIf_EnableBusMirroring définit pour chaque cluster si Mirror_ReportFlexRayFrame est appelé pour chaque trame émise ou reçue. Si FrIfBusMirroringSupport est désactivé globalement, le service renvoie E_NOT_OK [SWS_FrIf_05726]. La configuration post-build dépend de l'implémentation et n'est accessible que par des pointeurs vers FrIf_ConfigType [SWS_FrIf_05301]. Un schéma à partir de R22-11 en montre la structure : il existe un ou plusieurs FrIfController avec FrIfCtrlIdx 0…31, chacun avec jusqu'à deux émetteurs-récepteurs (SWS FrIf p. 139). Des services optionnels tels que FrIf_DisableLPdu [SWS_FrIf_05710] sont activés par commutateur de précompilation, ici via FrIfDisableLPduSupport (SWS FrIf p. 84).

Comportement en cas d'erreur

Si FrIfDevErrorDetect est défini sur ON, les services signalent les erreurs de développement à Det_ReportError. Les codes vont de FRIF_E_PARAM_POINTER (0x01) à FRIF_E_INV_FRIF_STATE (0x0A) et comprennent notamment FRIF_E_INV_CTRL_IDX et FRIF_E_UNINIT [SWS_FrIf_05145]. Les principaux cas :

  • FrIf_CtrlIdx non valide : les wrappers signalent FRIF_E_INV_CTRL_IDX et retournent E_NOT_OK (SWS FrIf p. 55).
  • Transition non valide dans FrIf_SetState : le service signale FRIF_E_INV_FRIF_STATE [SWS_FrIf_05037].
  • Longueur incorrecte d’une PDU Immediate : FrIf_Transmit() retourne E_NOT_OK et signale FRIF_E_INV_PDULENGTH [SWS_FrIf_05757].
frif_wrapper aufruf Aufruf FrIf_<Dienst>(FrIf_CtrlIdx, …) det FrIfDevErrorDetect == ON et non initialisé / paramètre non valide ? aufruf->det melden Det_ReportError(FRIF_E_UNINIT, FRIF_E_INV_CTRL_IDX, FRIF_E_INV_CHNL_IDX, …) det->melden Oui uebersetzen Traduire FrIf_CtrlIdx par configuration statique en (FlexRay Driver | Fr_CtrlIdx) det->uebersetzen Non nok1 Retour d'E_NOT_OK melden->nok1 treiber Appeler Fr_<Service>(Fr_CtrlIdx, …) ou FrTrcv_<Service> du pilote déterminé uebersetzen->treiber erg Le pilote retourne E_OK ? treiber->erg ok Retour d'E_OK erg->ok Oui nok2 Retour d'E_NOT_OK erg->nok2 Non

Diagramme d’activité : déroulement d’un service wrapper, du contrôle des paramètres au retour du résultat du pilote en passant par la conversion d’index. Sources : [SWS_FrIf_05004], [SWS_FrIf_05145], SWS FrIf p. 55

La spécification définit FRIF_E_JLE_SYNC comme erreur d’exécution. Elle survient lorsque la Job List Execution perd la synchronisation avec le temps FlexRay [SWS_FrIf_05432]. Interprétation : la reprise devrait incomber à la (re)synchronisation assurée par la Main Function (SWS FrIf p. 26). Question Q-9d075afc8e49d498 (ouverte)

Le FrIf signale les erreurs de production au DEM canal par canal : FRIF_E_NIT_CH_A/B, FRIF_E_SW_CH_A/B et FRIF_E_ACS_CH_A/B [SWS_FrIf_05146]. Le signalement est DEM_EVENT_STATUS_PREFAILED dès que des bits d’erreur tels que vSS!SyntaxError sont activés [SWS_FrIf_05426] [SWS_FrIf_05428]. En revanche, le résultat du démarrage du cluster est signalé par le FrSM (SWS FrSM p. 50).

Preuves détaillées supplémentaires

Guide généré par IA sur la base des exigences et références documentaires contenues dans le payload (release R20-11). Les références documentaires issues d’autres releases sont identifiées comme telles ; seule la spécification fait foi.

FlexRay Interface (FrIf)

Abstracts FlexRay hardware controllers for upper layers.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

fonction FrIf_Init [SWS_FrIf_05003] 📄 PDF

void FrIf_Init (const FrIf_ConfigType* FrIf_ConfigPtr);

Initializes the Flex Ray Interface.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6689f83f9701 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction FrIf_Init sert à l'initialisation du module FlexRay-Interface ([SWS_FrIf_05003]). L'appel s'effectue de manière synchrone et est spécifié comme non réentrant (Non Reentrant) ([SWS_FrIf_05003]).

Paramètres et valeurs de retour

  • FrIf_ConfigPtr (paramètre d'entrée) : pointeur de base vers la structure de configuration du FlexRay-Interface ([SWS_FrIf_05003]).
  • Valeur de retour : void – la fonction ne renvoie aucune valeur de retour ([SWS_FrIf_05003]).

Restrictions et conditions d'appel

Puisque FrIf_Init n'est pas réentrante, la fonction ne doit à aucun moment être rappelée en parallèle ou de manière interruptive par le même ou par un autre thread ou tâche ([SWS_FrIf_05003]). L'appel doit être effectué dans le contexte d'initialisation du système avant que les services réguliers du FlexRay-Interface ne soient utilisés.

Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction FrIf_ControllerInit [SWS_FrIf_05004] 📄 PDF

Std_ReturnType FrIf_ControllerInit (uint8 FrIf_CtrlIdx);

Initialized a Flex Ray CC.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f399f6cb2b11 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone FrIf_ControllerInit sert à initialiser un FlexRay Communication Controller (FlexRay CC) [SWS_FrIf_05004]. Elle est disponible via le fichier d'en-tête FrIf.h et est identifiée par l'identifiant de service 0x03 [SWS_FrIf_05004].

Le paramètre d'entrée FrIf_CtrlIdx de type de données uint8 permet de transmettre l'index du contrôleur FlexRay à adresser [SWS_FrIf_05004]. Il n'existe aucun autre paramètre d'entrée ou de sortie pour cette interface [SWS_FrIf_05004].

La valeur de retour est de type Std_ReturnType et renvoie le statut de l'initialisation à l'appelant [SWS_FrIf_05004] :

  • E_OK : l'appel du service d'API du pilote FlexRay sous-jacent a réussi et a renvoyé E_OK [SWS_FrIf_05004].
  • E_NOT_OK : le service d'API du pilote FlexRay a renvoyé E_NOT_OK ou une erreur a été détectée en mode de développement [SWS_FrIf_05004].

En ce qui concerne la concurrence, FrIf_ControllerInit est réentrante pour différents index de contrôleur (FrIf_CtrlIdx), mais non réentrante pour des valeurs identiques de FrIf_CtrlIdx [SWS_FrIf_05004]. Les appels concurrents pour le même contrôleur doivent donc être empêchés par l'ensemble du système.

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction FrIf_EnableAbsoluteTimerIRQ [SWS_FrIf_05025] 📄 PDF

Std_ReturnType FrIf_EnableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Service FrIf_EnableAbsoluteTimerIRQ.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 517cedc33aed Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction FrIf_EnableAbsoluteTimerIRQ représente un service synchrone avec l'identifiant de service 0x1d, fourni via le fichier d'en-tête FrIf.h [SWS_FrIf_05025]. Elle agit comme un wrapper autour de l'interface Fr_EnableAbsoluteTimerIRQ() du pilote FlexRay pour activer l'interruption d'un temporisateur absolu [SWS_FrIf_05025].

L'appel requiert deux paramètres d'entrée [SWS_FrIf_05025] :

  • FrIf_CtrlIdx : index du contrôleur de communication FlexRay (FlexRay CC) à adresser [SWS_FrIf_05025].
  • FrIf_AbsTimerIdx : index du temporisateur absolu à activer sur le contrôleur adressé [SWS_FrIf_05025].

Valeurs de retour et gestion des erreurs

La fonction renvoie une valeur d'état de type Std_ReturnType [SWS_FrIf_05025] :

  • E_OK : l'appel du service de pilote sous-jacent a réussi et a renvoyé E_OK [SWS_FrIf_05025].
  • E_NOT_OK : la fonction du pilote a renvoyé E_NOT_OK ou une erreur a été détectée en mode de développement (Development Mode) [SWS_FrIf_05025].

Concurrence et réentrance

Concernant le contexte d'appel, FrIf_EnableAbsoluteTimerIRQ n'est pas réentrante pour le même contrôleur FlexRay, mais peut être appelée de manière réentrante pour différents contrôleurs FlexRay [SWS_FrIf_05025].

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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()

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5371cc37b0bc Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction d'interface synchrone FrIf_AckAbsoluteTimerIRQ encapsule comme wrapper l'appel d'API de la fonction de pilote Fr_AckAbsoluteTimerIRQ() du pilote FlexRay [SWS_FrIf_05029]. Elle possède l'identifiant de service 0x21, est fournie via le fichier d'en-tête FrIf.h et sert à acquitter une demande d'interruption pour un temporisateur absolu d'un FlexRay Communication Controller.

Lors de l'appel de la fonction, deux paramètres d'entrée doivent être transmis [SWS_FrIf_05029] :

  • FrIf_CtrlIdx : index du contrôleur de communication FlexRay (CC) à adresser.
  • FrIf_AbsTimerIdx : index du temporisateur absolu spécifique dont l'interruption doit être acquittée.

La fonction fournit une valeur de retour de type Std_ReturnType pour évaluer le résultat [SWS_FrIf_05029] :

  • E_OK : l'appel de l'API de pilote Fr_AckAbsoluteTimerIRQ() a été exécuté avec succès.
  • E_NOT_OK : le pilote FlexRay a signalé E_NOT_OK lors de l'appel, ou une erreur a été détectée en mode développement (Development Mode).

Concernant le comportement en concurrence, la fonction opère de manière synchrone. Les appels pour différents FlexRay CC sont réentrants, tandis que les appels simultanés pour le même FlexRay CC ne sont pas réentrants et doivent être évités [SWS_FrIf_05029].

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction FrIf_StartCommunication [SWS_FrIf_05005] 📄 PDF

Std_ReturnType FrIf_StartCommunication (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Start Communication().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ba57cfeb6d86 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction FrIf_StartCommunication agit comme une encapsulation de la fonction de pilote FlexRay Fr_StartCommunication() et déclenche l'établissement de la communication d'un contrôleur de communication FlexRay adressé [SWS_FrIf_05005].

Utilisation et contexte d'appel

L'interface est déclarée via l'en-tête FrIf.h et possède l'identifiant de service 0x04 [SWS_FrIf_05005]. L'appel est traité de manière asynchrone [SWS_FrIf_05005]. Le seul paramètre d'entrée utilisé est FrIf_CtrlIdx (type uint8), qui définit l'index du contrôleur de communication FlexRay à piloter ; il n'existe pas de paramètres d'entrée/sortie ou de purs paramètres de sortie [SWS_FrIf_05005].

Gestion des erreurs et valeurs de retour

La fonction renvoie un code d'état de type Std_ReturnType [SWS_FrIf_05005] :

  • E_OK : l'appel du service d'API sous-jacent dans le pilote FlexRay s'est déroulé avec succès et a renvoyé E_OK [SWS_FrIf_05005].
  • E_NOT_OK : le service d'API du pilote a signalé E_NOT_OK ou une erreur a été détectée pendant l'exécution en mode de développement (Development Mode) [SWS_FrIf_05005].

Concurrence et restrictions

En ce qui concerne la réentrance, FrIf_StartCommunication est réentrante pour des index de contrôleur différents les uns des autres (FrIf_CtrlIdx), mais non réentrante pour des valeurs de contrôleur identiques [SWS_FrIf_05005]. Les modules appelants doivent donc, lors d'accès simultanés, s'assurer qu'aucun appel concurrent n'a lieu pour le même contrôleur.

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR.

Guide de l'implémenteur à venir (complexité I2)

fonction FrIf_HaltCommunication [SWS_FrIf_05006] 📄 PDF

Std_ReturnType FrIf_HaltCommunication (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Halt Communication().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8fb366eaa447 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction FrIf_HaltCommunication (Service-ID 0x05) constitue dans le FlexRay Interface (FrIf) un wrapper pour l'appel de la fonction d'API de pilote Fr_HaltCommunication() et est déclarée via l'en-tête FrIf.h [SWS_FrIf_05006]. Le service est exécuté avec une sémantique asynchrone [SWS_FrIf_05006]. Comme unique paramètre, la valeur d'entrée FrIf_CtrlIdx est transmise, laquelle spécifie l'index du FlexRay Communication Controller à adresser à chaque fois ; aucun paramètre d'entrée/sortie ou paramètre de sortie pur n'est défini pour ce service [SWS_FrIf_05006].

La valeur de retour est de type Std_ReturnType et signale le résultat de l'appel [SWS_FrIf_05006] :

  • E_OK : l'appel du service d'API dans le pilote FlexRay a réussi et a renvoyé E_OK [SWS_FrIf_05006].
  • E_NOT_OK : l'appel d'API du pilote FlexRay a renvoyé E_NOT_OK ou une erreur a été détectée en mode de développement (Development Mode) [SWS_FrIf_05006].

En ce qui concerne la concurrence, FrIf_HaltCommunication est réentrante pour différentes valeurs de l'index de contrôleur FrIf_CtrlIdx, mais non réentrante pour des valeurs identiques de FrIf_CtrlIdx [SWS_FrIf_05006]. Des appels simultanés ou interruptifs pour le même contrôleur sont par conséquent non autorisés et doivent être empêchés dans le contexte de l'appelant.

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction FrIf_AbortCommunication [SWS_FrIf_05007] 📄 PDF

Std_ReturnType FrIf_AbortCommunication (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Abort Communication().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 7413742b3cdd Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction d'interface synchrone FrIf_AbortCommunication agit comme un wrapper direct pour la fonction d'API Fr_AbortCommunication() du pilote FlexRay [SWS_FrIf_05007]. Elle est déclarée dans le fichier d'en-tête FrIf.h et possède l'identifiant de service 0x06 [SWS_FrIf_05007].

Le paramètre d'entrée FrIf_CtrlIdx permet d'indiquer l'index du contrôleur de communication FlexRay (FlexRay Communication Controller) à adresser [SWS_FrIf_05007]. Aucun paramètre d'entrée ou de sortie supplémentaire n'est défini pour cette interface [SWS_FrIf_05007].

Valeurs de retour et gestion des erreurs

La fonction renvoie une valeur d'état de type Std_ReturnType [SWS_FrIf_05007] :

  • E_OK : l'appel du service d'API du pilote FlexRay a réussi et a renvoyé E_OK [SWS_FrIf_05007].
  • E_NOT_OK : le service d'API du pilote FlexRay a renvoyé E_NOT_OK ou une erreur a été détectée en mode développement [SWS_FrIf_05007].

Concurrence et restrictions

L'exécution de FrIf_AbortCommunication est synchrone [SWS_FrIf_05007]. La fonction est réentrante pour différentes valeurs de FrIf_CtrlIdx, mais non réentrante pour des index de contrôleur identiques [SWS_FrIf_05007].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR.

Guide de l'implémenteur à venir (complexité I1)

fonction FrIf_SetState [SWS_FrIf_05174] 📄 PDF

Std_ReturnType FrIf_SetState (uint8 FrIf_ClstIdx, FrIf_StateTransitionType FrIf_StateTransition);

Requests Fr If state machine transition.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5873512292be Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et appel

La fonction synchrone FrIf_SetState demande une transition d'état dans la machine à états de l'interface FlexRay [SWS_FrIf_05174]. L'index du cluster FrIf_ClstIdx ainsi que la transition souhaitée FrIf_StateTransition sont transmis en tant que paramètres. La fonction renvoie E_OK lorsque l'appel a été exécuté avec succès et que le changement d'état a été accepté ; en cas d'erreur, E_NOT_OK est renvoyé [SWS_FrIf_05174].

Gestion des erreurs et conditions limites

La fonction est définie comme non réentrante (Non Reentrant) [SWS_FrIf_05174]. Si le contrôle de développement est activé (FrIfDevErrorDetect == ON) et que le paramètre FrIf_StateTransition contient une valeur non valide, la fonction signale le code d'erreur FRIF_E_INV_FRIF_STATE via Det_ReportError au module DET [SWS_FrIf_05037].

Interaction lors des transitions hors ligne

Si FrIf_SetState est appelée avec le paramètre de transition FRIF_STATE_OFFLINE, l'interface FlexRay vérifie le compteur TxConfCounter pour chaque PDU [SWS_FrIf_05501]. Si cette valeur est supérieure à 0 pour une PDU, le module informe la couche supérieure de l'échec de la confirmation en attente à l'aide de l'appel <UL>_TxConfirmation(id, E_NOT_OK) [SWS_FrIf_05501].

Ce texte a été généré par un système d'IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction FrIf_SendWUP [SWS_FrIf_05011] 📄 PDF

Std_ReturnType FrIf_SendWUP (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Send WUP().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 198c69b5740a Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction FrIf_SendWUP (Service-ID 0x0a) du module FrIf est disponible via le fichier d'en-tête FrIf.h et sert de wrapper d'interface pour l'appel de la fonction d'API Fr_SendWUP() du pilote FlexRay sous-jacent [SWS_FrIf_05011].

Utilisation et paramètres

Le service est exécuté de manière asynchrone [SWS_FrIf_05011]. L'unique paramètre de transmission utilisé est le paramètre d'entrée FrIf_CtrlIdx de type uint8, qui spécifie l'index du FlexRay Communication Controller (FlexRay CC) à adresser [SWS_FrIf_05011]. Aucun paramètre inout ou out n'est utilisé [SWS_FrIf_05011].

Valeurs de retour et gestion des erreurs

Comme valeur de retour, la fonction fournit un statut de type Std_ReturnType [SWS_FrIf_05011] :

  • E_OK : l'appel du service d'API du pilote FlexRay a été exécuté avec succès et a renvoyé E_OK [SWS_FrIf_05011].
  • E_NOT_OK : l'appel du service d'API du pilote FlexRay a renvoyé E_NOT_OK ou une erreur a été détectée en mode de développement (Development Mode) [SWS_FrIf_05011].

Concurrence et réentrance

En ce qui concerne l'accès simultané, FrIf_SendWUP est réentrante pour les appels avec des valeurs différentes pour FrIf_CtrlIdx, mais non réentrante pour des valeurs identiques de FrIf_CtrlIdx [SWS_FrIf_05011].

Ce texte a été généré automatiquement et repose sur les spécifications AUTOSAR pour la version R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

fonction FrIf_AllowColdstart [SWS_FrIf_05017] 📄 PDF

Std_ReturnType FrIf_AllowColdstart (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Allow Coldstart().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f313d1af7873 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et fonctionnement

La fonction FrIf_AllowColdstart sert de wrapper pour l'API du pilote FlexRay Fr_AllowColdstart() conformément à [SWS_FrIf_05017]. Elle adresse via le paramètre d'entrée FrIf_CtrlIdx le contrôleur de communication FlexRay (CC) ciblé [SWS_FrIf_05017]. L'exécution de la fonction est spécifiée comme asynchrone [SWS_FrIf_05017].

Valeurs de retour et gestion des erreurs

La valeur de retour de type Std_ReturnType reflète le résultat de l'exécution [SWS_FrIf_05017] :

  • E_OK : le service d'API sous-jacent du pilote FlexRay a été appelé avec succès et a renvoyé E_OK [SWS_FrIf_05017].
  • E_NOT_OK : l'appel du pilote a échoué (valeur de retour E_NOT_OK) ou une erreur a été détectée en mode de développement (Development Mode) [SWS_FrIf_05017].

Interprétation : la détection d'erreurs en Development Mode devrait probablement s'effectuer via le module Default Error Tracer (DET), bien qu'aucun identifiant d'erreur ou contrôle spécifique ne soit documenté dans l'extrait de spécification. Question Q-5dffd71d66731cc9 (ouverte)

Concurrence et restrictions

Concernant la réentrance, FrIf_AllowColdstart n'est pas réentrante pour des valeurs identiques de FrIf_CtrlIdx, mais peut être appelée en parallèle pour des index de contrôleur différents [SWS_FrIf_05017]. Les appelants doivent donc s'assurer que les appels simultanés pour le même contrôleur sont synchronisés. L'interface est fournie via le fichier d'en-tête FrIf.h [SWS_FrIf_05017].

Cette note d'utilisation a été créée par une IA et est basée sur les données de spécification d'AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction FrIf_Transmit [SWS_FrIf_05033] 📄 PDF

Std_ReturnType FrIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Requests transmission of a PDU.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9cb8bddfea7e Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone FrIf_Transmit demande la transmission d'une PDU via l'interface FlexRay [SWS_FrIf_05033]. Elle reçoit l'ID de la PDU à transmettre (TxPduId) ainsi qu'un pointeur vers la structure PduInfoPtr, laquelle fournit la longueur de la PDU, le pointeur de données et les métadonnées [SWS_FrIf_05033].

En ce qui concerne la concurrence et la réentrance, FrIf_Transmit est réentrante pour des ID de PDU différents, mais non réentrante pour le même ID de PDU [SWS_FrIf_05033]. L'appel renvoie E_OK dès que la demande de transmission a été acceptée, et sinon E_NOT_OK [SWS_FrIf_05033].

Un contrôle d'erreur spécifique est effectué pour les PDU immédiates (Immediate PDUs) dès lors que les longueurs dynamiques de L-SDU sont désactivées via le paramètre de configuration FrIfAllowDynamicLSduLength positionné à FALSE [SWS_FrIf_05757] :

  • La longueur transmise dans PduInfoPtr est contrôlée par rapport à la longueur de PDU configurée statiquement [SWS_FrIf_05757].
  • Si la longueur indiquée ne correspond pas, FrIf_Transmit interrompt la transmission de l'Immediate PDU et renvoie E_NOT_OK [SWS_FrIf_05757].
  • Dans la mesure où la détection des erreurs de développement (FrIfDevErrorDetect == ON) est active, la fonction signale l'erreur de développement FRIF_E_INV_PDULENGTH au module DET via Det_ReportError [SWS_FrIf_05757].

Ce texte a été généré par une IA sur la base de la spécification R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e732fae6663a Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

L'interface synchrone FrIf_SetTransceiverMode portant le Service ID 0x13 sert, dans l'interface FlexRay, de wrapper pour la fonction de pilote FrTrcv_SetTransceiverMode() du pilote d'émetteur-récepteur FlexRay et est disponible via le fichier d'en-tête FrIf.h [SWS_FrIf_05034]. Elle permet aux couches supérieures de configurer le mode de fonctionnement d'un émetteur-récepteur pour un contrôleur et un canal FlexRay donnés [SWS_FrIf_05034].

Lors de l'appel, trois paramètres doivent être transmis : l'index de contrôleur FrIf_CtrlIdx pour adresser le FlexRay Communication Controller, l'index de canal FrIf_ChnlIdx pour déterminer le canal FlexRay dans le périmètre de validité du contrôleur, ainsi que le mode d'émetteur-récepteur souhaité FrIf_TrcvMode de type FrTrcv_TrcvModeType [SWS_FrIf_05034]. Il n'existe aucun paramètre d'entrée/sortie ni de sortie [SWS_FrIf_05034]. Pour le paramètre FrIf_ChnlIdx, la prescription impérative s'applique selon laquelle la valeur d'énumération FR_CHANNEL_AB ne doit en aucun cas être utilisée [SWS_FrIf_05034].

La fonction est spécifiée comme réentrante et transmet le changement de mode de manière synchrone au pilote d'émetteur-récepteur [SWS_FrIf_05034]. En résultat, elle renvoie l'état Std_ReturnType : elle signale E_OK si l'appel du service d'API dans le pilote d'émetteur-récepteur a renvoyé E_OK avec succès ; si cet appel de pilote échoue et renvoie E_NOT_OK, E_NOT_OK est également renvoyé [SWS_FrIf_05034].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR.

Guide de l'implémenteur à venir (complexité I2)

fonction 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.

fonction 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.

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 983ace12320e Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone FrIf_ClearTransceiverWakeup (identifiant de service 0x18) agit comme un wrapper au sein du FlexRay-Interface et encapsule l'appel de la fonction d'API FrTrcv_ClearTransceiverWakeup() du pilote de transceiver FlexRay [SWS_FrIf_05039]. L'interface est disponible via le fichier d'en-tête FrIf.h [SWS_FrIf_05039].

Lors de l'appel, la fonction attend exactement deux paramètres d'entrée [SWS_FrIf_05039] :

  • FrIf_CtrlIdx : index du FlexRay Communication Controller à adresser [SWS_FrIf_05039].
  • FrIf_ChnlIdx : index du canal FlexRay à cibler dans le domaine de validité du contrôleur FrIf_CtrlIdx [SWS_FrIf_05039].

Aucun autre paramètre (inout ou out) n'est défini pour la fonction [SWS_FrIf_05039].

Concernant la concurrence et les conditions aux limites, la fonction est classée comme réentrante [SWS_FrIf_05039]. Comme restriction fonctionnelle essentielle, la spécification prescrit que la valeur d'énumération FR_CHANNEL_AB ne doit pas être utilisée pour le paramètre FrIf_ChnlIdx [SWS_FrIf_05039].

Le résultat de l'opération est renvoyé de manière synchrone sous forme de Std_ReturnType et reproduit directement le résultat du service de pilote [SWS_FrIf_05039] :

  • E_OK : le service d'API du pilote de transceiver FlexRay a été exécuté avec succès et a renvoyé E_OK [SWS_FrIf_05039].
  • E_NOT_OK : l'appel du service de pilote a échoué et a renvoyé E_NOT_OK [SWS_FrIf_05039].

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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() .

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : aaee20f9db6d Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction FrIf_CancelAbsoluteTimer sert à interrompre de manière synchrone un temporisateur absolu configuré sur un FlexRay Communication Controller (CC) [SWS_FrIf_05023]. Elle fait office d'enveloppe autour de la fonction de pilote correspondante Fr_CancelAbsoluteTimer() du pilote FlexRay et est disponible via l'en-tête FrIf.h [SWS_FrIf_05023].

Paramètres et valeurs de retour

Lors de l'appel, deux paramètres d'entrée sont transmis [SWS_FrIf_05023] :

  • FrIf_CtrlIdx : index du contrôleur FlexRay à adresser.
  • FrIf_AbsTimerIdx : index du temporisateur absolu à interrompre.

La fonction renvoie un statut de type Std_ReturnType [SWS_FrIf_05023] :

  • E_OK : L'appel sous-jacent de l'API du pilote FlexRay s'est terminé avec succès avec E_OK [SWS_FrIf_05023].
  • E_NOT_OK : L'appel de l'API du pilote a échoué (renvoi de E_NOT_OK) ou une erreur a été détectée en mode développement (Development Mode) [SWS_FrIf_05023].

Concurrence et restrictions

L'exécution s'effectue de manière synchrone avec l'ID de service 0x1b [SWS_FrIf_05023]. Concernant la réentrance, le service est réentrant pour différents FlexRay CC, mais ne doit pas être appelé de manière concurrente pour le même FlexRay CC [SWS_FrIf_05023].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6362ca64b166 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction FrIf_DisableAbsoluteTimerIRQ fait partie du module d'interface FlexRay et est mise à disposition via le fichier d'en-tête FrIf.h [SWS_FrIf_05031]. Elle sert d'enveloppe synchrone pour la fonction Fr_DisableAbsoluteTimerIRQ() de l'API du pilote FlexRay et transmet au niveau du pilote la demande de désactivation de la génération d'interruptions du temporisateur absolu adressé [SWS_FrIf_05031].

Contexte d'appel et paramètres

L'appel s'effectue de manière synchrone en utilisant l'ID de service 0x23 [SWS_FrIf_05031]. L'interface ne comporte aucun paramètre d'entrée/sortie ou de sortie pure, mais requiert deux paramètres d'entrée obligatoires [SWS_FrIf_05031] :

  • FrIf_CtrlIdx : Index du contrôleur de communication FlexRay (CC) à adresser [SWS_FrIf_05031].
  • FrIf_AbsTimerIdx : Index du temporisateur absolu à configurer [SWS_FrIf_05031].

Valeurs de retour et gestion des erreurs

La fonction renvoie l'état à l'appelant via le type de retour Std_ReturnType [SWS_FrIf_05031] :

  • E_OK : Signale que l'appel du service d'API du pilote FlexRay a réussi et a renvoyé E_OK [SWS_FrIf_05031].
  • E_NOT_OK : Indique que le service d'API du pilote FlexRay a renvoyé E_NOT_OK ou qu'une erreur a été détectée en mode de développement (Development Mode) [SWS_FrIf_05031].

Concurrence et réentrance

Conformément aux exigences de réentrance, FrIf_DisableAbsoluteTimerIRQ est non réentrante pour le même contrôleur de communication FlexRay, mais réentrante pour des CC FlexRay distincts [SWS_FrIf_05031]. Les appels pour la même instance de contrôleur ne doivent donc pas être effectués simultanément à partir de contextes différents sans synchronisation.

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

fonction FrIf_AllSlots [SWS_FrIf_05020] 📄 PDF

Std_ReturnType FrIf_AllSlots (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ All Slots

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e0c30b766f1b Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

L'interface synchrone FrIf_AllSlots sert d'enveloppe au sein de l'interface FlexRay pour l'appel de la fonction de pilote sous-jacente Fr_AllSlots du pilote FlexRay [SWS_FrIf_05020]. La fonction est mise à disposition via le fichier d'en-tête FrIf.h et possède l'ID de service 0x33 [SWS_FrIf_05020]. Comme unique paramètre de transmission, FrIf_CtrlIdx est attendu, qui définit l'index logique du FlexRay Communication Controller à adresser [SWS_FrIf_05020]. Aucun paramètre d'entrée et de sortie (inout/out) n'est prévu pour ce service [SWS_FrIf_05020].

Comme valeur de retour, la fonction fournit l'état Std_ReturnType avec les significations suivantes [SWS_FrIf_05020] :

  • E_OK : L'appel de l'API du pilote Fr_AllSlots a réussi et a renvoyé E_OK [SWS_FrIf_05020].
  • E_NOT_OK : L'appel du pilote FlexRay a échoué ou a renvoyé E_NOT_OK, ou une erreur a été détectée pendant l'exécution en mode développement [SWS_FrIf_05020].

Concernant le comportement à l'exécution et la concurrence, FrIf_AllSlots est spécifié comme non réentrant (non reentrant) [SWS_FrIf_05020]. L'instance appelante doit donc garantir que les appels simultanés ou chevauchants pour le contrôleur concerné sont exclus. Interprétation : l'appel doit probablement être effectué depuis un contexte de tâche protégé, car l'interface ne fournit pas de gestion propre de la réentrance lors d'accès parallèles. Question Q-e4ce542c60b470c8 (ouverte)

Ce texte a été généré par une IA ; la norme AUTOSAR fait foi.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

fonction 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.

fonction 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.

fonction 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.

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 93c4556124a6 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction synchrone FrIf_CancelTransmit demande l'annulation d'une transmission de PDU en cours dans un module de communication sous-jacent [SWS_FrIf_05070]. TxPduId, qui identifie la PDU à annuler, est transmis comme paramètre d'entrée. L'exécution s'effectue de manière synchrone et fournit une valeur de retour de type Std_ReturnType [SWS_FrIf_05070] :

  • E_OK : L'annulation de la transmission a été exécutée avec succès par le module cible.
  • E_NOT_OK : l'annulation a été refusée par le module cible.

Concurrence et restrictions

En ce qui concerne la concurrence, FrIf_CancelTransmit est réentrante pour des ID de PDU différents, mais non réentrante pour le même TxPduId [SWS_FrIf_05070]. Lors d'appels depuis des contextes parallèles pour le même ID de PDU, une synchronisation externe devrait donc être nécessaire côté appelant afin d'éviter les conditions de concurrence. Question Q-38e799ac1564f60f (ouverte)

Traitement des erreurs et intégration

Aucun code d'erreur DET ou DEM spécifique n'est défini dans l'interface ; l'échec d'une annulation est directement signalé via la valeur de retour E_NOT_OK [SWS_FrIf_05070]. Le service possède l'ID de service 0x4a et est mis à disposition via le fichier d'en-tête FrIf.h [SWS_FrIf_05070].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification.

Guide de l'implémenteur à venir (complexité I2)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6dcfcbdfc95d Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction FrIf_DisableLPdu sert de wrapper pour la fonction de pilote Fr_DisableLPdu du pilote FlexRay et désactive la ressource matérielle sous-jacente d'une L-PDU pour l'émission ou la réception [SWS_FrIf_05710].

Appel et paramètres

L'appel de FrIf_DisableLPdu s'effectue de manière synchrone via l'interface FrIf.h avec le Service ID 0x28 [SWS_FrIf_05710]. La fonction attend deux paramètres d'entrée :

  • FrIf_CtrlIdx : index du FlexRay Communication Controller dans le contexte de l'interface FlexRay [SWS_FrIf_05710].
  • FrIf_LPduIdx : index unique destiné à identifier la trame FlexRay concernée [SWS_FrIf_05710].

Valeurs de retour et gestion des erreurs

La fonction renvoie en résultat un état de type Std_ReturnType [SWS_FrIf_05710] :

Concurrence et restrictions

En ce qui concerne le comportement vis-à-vis de la concurrence, FrIf_DisableLPdu est spécifiée comme non réentrante pour le même appareil (Non Reentrant for the same device) [SWS_FrIf_05710]. Les appels parallèles pour le même contrôleur ou le même appareil doivent donc être évités ou synchronisés côté appelant.

Ce texte a été généré automatiquement et repose exclusivement sur les indications de la spécification.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e8dfbb0733ab Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction FrIf_EnableTransceiverBranch encapsule, en tant qu'encapsuleur synchrone et réentrant, l'appel d'API FrTrcv_EnableTransceiverBranch du pilote de transceiver FlexRay sous-jacent [SWS_FrIf_05085]. Cette interface permet d'activer de manière ciblée une branche spécifique d'un transceiver, par exemple dans le contexte d'une étoile active [SWS_FrIf_05085]. La déclaration de la fonction et les types associés sont mis à disposition via le fichier d'en-tête FrIf.h [SWS_FrIf_05085].

Paramètres et conditions d'appel

Lors de l'appel, trois paramètres d'entrée doivent être transmis [SWS_FrIf_05085] :

  • FrIf_CtrlIdx : Adresse l'index du contrôleur de communication FlexRay respectif [SWS_FrIf_05085].
  • FrIf_ChnlIdx : Spécifie le canal FlexRay dans le champ de validité du contrôleur FrIf_CtrlIdx [SWS_FrIf_05085]. La restriction impérative selon laquelle la valeur d'énumération FR_CHANNEL_AB ne doit pas être utilisée s'applique ici [SWS_FrIf_05085].
  • FrIf_BranchIdx : Détermine, via un index basé sur zéro, la branche concrète du transceiver à laquelle l'activation est appliquée [SWS_FrIf_05085].

Valeurs de retour

La fonction renvoie une valeur d'état de type Std_ReturnType, qui reflète directement le résultat de l'appel de pilote transmis [SWS_FrIf_05085] :

  • E_OK : L'appel du service de pilote FrTrcv_EnableTransceiverBranch a réussi et a renvoyé E_OK [SWS_FrIf_05085].
  • E_NOT_OK : L'appel du service de pilote a signalé E_NOT_OK [SWS_FrIf_05085].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9edf0f22a2a3 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone et réentrante FrIf_DisableTransceiverBranch encapsule, en tant que fonction wrapper, le service FrTrcv_DisableTransceiverBranch du pilote de transceiver FlexRay [SWS_FrIf_05028]. Elle est fournie via le fichier d'en-tête FrIf.h, possède l'identifiant de service 0x37 et sert à désactiver de manière ciblée une branche spécifique d'un transceiver en étoile actif [SWS_FrIf_05028].

Lors de l'appel, trois paramètres d'entrée doivent être transmis :

  • FrIf_CtrlIdx : index du contrôleur FlexRay à adresser [SWS_FrIf_05028].
  • FrIf_ChnlIdx : canal FlexRay dans le domaine de validité du contrôleur. À cet égard, la règle obligatoire stipule que la valeur d'énumération FR_CHANNEL_AB ne doit pas être utilisée [SWS_FrIf_05028].
  • FrIf_BranchIdx : index basé sur zéro identifiant la branche respective du transceiver sur laquelle l'opération doit être appliquée [SWS_FrIf_05028].

En tant que valeur de retour, l'interface renvoie un statut de type Std_ReturnType. Elle renvoie E_OK si l'appel du pilote de transceiver a réussi, et E_NOT_OK si le service de pilote a signalé E_NOT_OK [SWS_FrIf_05028]. Aucun message d'erreur DET ou DEM spécifique n'est documenté dans le périmètre de la spécification ; un échec résulte probablement directement du comportement du pilote sous-jacent. Question Q-52d5e5fedd147532 (ouverte)

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6127b6f4417a Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone FrIf_ReconfigLPdu sert à reconfigurer une L-PDU dans l'interface FlexRay (FrIf) et transmet directement l'appel à l'interface de pilote Fr_ReconfigLPdu du pilote FlexRay [SWS_FrIf_05048]. L'interface est mise à disposition via l'en-tête FrIf.h [SWS_FrIf_05048].

Paramètres et restrictions de configuration

  • FrIf_CtrlIdx : Adresse l'index du contrôleur de communication FlexRay au sein du pilote FlexRay [SWS_FrIf_05048].
  • FrIf_LPduIdx : Détermine l'index unique permettant d'identifier la trame FlexRay à configurer [SWS_FrIf_05048].
  • FrIf_FrameId, FrIf_CycleRepetition, FrIf_CycleOffset : Définissent le nouvel ID de trame FlexRay ainsi que la répétition et le décalage du mécanisme de filtrage de cycle de la L-PDU [SWS_FrIf_05048].
  • FrIf_ChnlIdx : Détermine le canal FlexRay de type Fr_ChannelType [SWS_FrIf_05048]. Il est ici strictement spécifié que la valeur d'énumération FR_CHANNEL_AB ne doit pas être utilisée [SWS_FrIf_05048].
  • FrIf_PayloadLength et FrIf_HeaderCRC : Définissent la longueur des données utiles en octets ainsi que le CRC d'en-tête associé sur lesquels la L-PDU doit être configurée [SWS_FrIf_05048].

Valeurs de retour et contexte d'exécution

La valeur de retour de type Std_ReturnType indique le résultat de la reconfiguration : E_OK signale l'exécution réussie de l'appel d'API, tandis que E_NOT_OK indique une interruption sur erreur [SWS_FrIf_05048].

La fonction est synchrone et spécifiée comme non réentrante (Non Reentrant) [SWS_FrIf_05048]. Elle ne doit par conséquent pas être appelée de manière concurrente.

Cette note d'utilisation est basée sur la spécification AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a9635a600f61 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction FrIf_ReadCCConfig constitue un service synchrone de l'interface FlexRay avec l'ID de service 0x3b et est déclarée via l'en-tête FrIf.h [SWS_FrIf_05313]. Sa tâche principale consiste à appeler, en tant qu'encapsuleur, la fonction de pilote Fr_ReadCCConfig() du pilote FlexRay sous-jacent afin de lire les paramètres de configuration d'un contrôleur [SWS_FrIf_05313].

L'interface attend trois paramètres lors de l'appel [SWS_FrIf_05313] :

  • FrIf_CtrlIdx (entrée) : L'index numérique du contrôleur de communication FlexRay (CC) à adresser.
  • FrIf_ConfigParamIdx (entrée) : L'index du paramètre de configuration spécifique dont la valeur doit être interrogée.
  • FrIf_ConfigParamValuePtr (sortie) : Un pointeur vers l'emplacement mémoire où la valeur de configuration de 32 bits lue est enregistrée.

La valeur de retour de type Std_ReturnType signale le résultat de l'interrogation [SWS_FrIf_05313] :

  • E_OK : L'appel de l'API de pilote Fr_ReadCCConfig() a été exécuté avec succès et a renvoyé E_OK.
  • E_NOT_OK : Le pilote FlexRay a signalé E_NOT_OK ou une erreur a été détectée pendant l'exécution en mode de développement (Development Mode).

En matière de concurrence et d'environnement d'exécution, FrIf_ReadCCConfig est non réentrante pour le même contrôleur FlexRay, mais réentrante pour des contrôleurs distincts [SWS_FrIf_05313]. Lors des accès au même contrôleur, l'appelant doit donc garantir une synchronisation appropriée. Une erreur détectée en mode de développement devrait vraisemblablement être transmise au Default Error Tracer (DET). Question Q-bfe56460515de4de (ouverte)

Cette note d'utilisation a été générée par une IA et se base exclusivement sur les données de spécification d'AUTOSAR Classic Release R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 64884bdfc093 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et sémantique

La fonction synchrone FrIf_EnableBusMirroring commute la mise en miroir du bus pour l'ensemble des contrôleurs FlexRay reliés au cluster FlexRay transmis [SWS_FrIf_05726]. Le cluster respectif est adressé via le paramètre FrIf_ClstIdx. Le paramètre booléen FrIf_MirroringActive détermine le mode : lors de la transmission de TRUE, l'interface Mirror_ReportFlexRayFrame est appelée pour chaque trame reçue ou émise sur les contrôleurs ; avec FALSE, le transfert des trames vers le module de miroir est désactivé [SWS_FrIf_05726].

Valeurs de retour et gestion des erreurs

L'appel de fonction renvoie un état de type Std_ReturnType [SWS_FrIf_05726] :

  • E_OK : le mode de mise en miroir pour le cluster spécifié a été mis à jour avec succès [SWS_FrIf_05726].
  • E_NOT_OK : la commutation a été rejetée si la fonction de mise en miroir est globalement désactivée (paramètre de configuration FrIfBusMirroringSupport) ou si un index n'est pas valide [SWS_FrIf_05726]. Interprétation : l'indication de spécification FrIf_CtrlIdx pour E_NOT_OK devrait se rapporter, malgré la désignation différente, à la vérification de l'index de cluster FrIf_ClstIdx ou des contrôleurs associés. Question Q-9daba2ff2b1a3ff1 (ouverte)

Concurrence et intégration

La fonction est déclarée comme réentrante et possède l'ID de service 0x4b ; elle est mise à disposition via le fichier d'en-tête FrIf.h [SWS_FrIf_05726]. Les appelants doivent tenir compte du fait que l'exécution s'effectue de manière synchrone. Aucun canal d'erreur supplémentaire via DET ou DEM n'est mentionné pour ce service.

Ce texte a été généré par une IA ; la spécification AUTOSAR fait foi.

Guide de l'implémenteur à venir (complexité I2)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 09a9e5676d66 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction FrIf_CheckWakeupByTransceiver (ID de service 0x39) fait office, dans l'interface FlexRay, d'encapsuleur synchrone pour la fonction FrTrcv_CheckWakeupByTransceiver() du pilote de transceiver FlexRay [SWS_FrIf_05041]. Elle est mise à disposition via l'en-tête FrIf.h et ne possède aucune valeur de retour [SWS_FrIf_05041].

Pour l'adressage de l'instance matérielle respective, l'interface requiert deux paramètres obligatoires [SWS_FrIf_05041] :

  • FrIf_CtrlIdx (paramètre d'entrée, uint8) : Index du contrôleur de communication FlexRay à adresser [SWS_FrIf_05041].
  • FrIf_ChnlIdx (paramètre d'entrée, Fr_ChannelType) : Index du canal FlexRay à adresser dans le champ de validité du contrôleur spécifié FrIf_CtrlIdx [SWS_FrIf_05041].

Concurrence et restrictions

La spécification désigne l'interface comme réentrante, de sorte que les appels synchrones peuvent être émis de manière concurrente [SWS_FrIf_05041].

Il existe une restriction d'utilisation stricte pour le paramètre de canal FrIf_ChnlIdx : la valeur d'énumération FR_CHANNEL_AB ne doit pas être transmise [SWS_FrIf_05041]. Interprétation : cela semble signifier que le pilote de transceiver sous-jacent ne prend pas en charge la vérification combinée du réveil des deux canaux en un seul appel et que les systèmes comportant deux canaux FlexRay doivent être vérifiés séparément de manière séquentielle ou par canal. Question Q-a30cf39f0d3ca295 (ouverte)

Ce texte a été rédigé par une IA et est basé sur AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction <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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 926106ed5433 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction de rappel <User_RxIndication> sert à signaler une PDU reçue depuis la couche d'interface de communication sous-jacente [SWS_FrIf_05045]. Interprétation : l'identifiant devrait représenter un rappel configurable d'une couche supérieure qui est notifié lors de l'arrivée de données FlexRay. Question Q-a9037bc7502dd9ea (ouverte)

Utilisation et paramètres

L'exécution s'effectue de manière synchrone sans valeur de retour (void) [SWS_FrIf_05045]. Lors de l'appel, deux paramètres d'entrée sont transmis [SWS_FrIf_05045] :

  • RxPduId (PduIdType) : identifiant unique de la PDU reçue [SWS_FrIf_05045].
  • PduInfoPtr (const PduInfoType*) : pointeur vers une structure contenant la longueur de la PDU reçue (SduLength), un pointeur vers le tampon contenant les données utiles (SduDataPtr) ainsi que les métadonnées associées [SWS_FrIf_05045].

Concurrence et configuration

Concernant la réentrance, la fonction est réentrante pour différents ID de PDU, mais ne doit pas être appelée de manière réentrante pour le même ID de PDU [SWS_FrIf_05045]. L'interface est disponible de manière configurable dans le module (« Available via configurable ») [SWS_FrIf_05045]. Aucun code d'erreur spécifique, valeur de retour ou notification vers DET et DEM n'est défini dans les sources pour cette interface [SWS_FrIf_05045].

Ce texte a été généré automatiquement. Toutes les informations reposent exclusivement sur les données de spécification du module FrIf.

fonction <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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : befc612f1e10 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction de rappel configurable <User_TxConfirmation> est appelée par le module d'interface de communication sous-jacent pour confirmer l'achèvement d'une opération d'émission pour une PDU [SWS_FrIf_05046]. Elle signale de manière synchrone à la couche supérieure si la transmission de la PDU correspondante s'est déroulée avec succès ou a échoué [SWS_FrIf_05046].

L'interface ne possède aucune valeur de retour (void) et attend deux paramètres d'entrée [SWS_FrIf_05046] :

  • TxPduId (type PduIdType) : désigne l'identifiant unique de la PDU transmise [SWS_FrIf_05046].
  • result (type Std_ReturnType) : indique le résultat de la transmission, où E_OK confirme la transmission réussie et E_NOT_OK signale l'échec de la transmission de la PDU [SWS_FrIf_05046].

La fonction fonctionne de manière synchrone [SWS_FrIf_05046]. Concernant la concurrence, elle est réentrante pour des ID de PDU différents, mais non réentrante pour le même TxPduId [SWS_FrIf_05046]. Les appels de confirmation parallèles pour des ID de PDU identiques doivent donc être exclus.

Des codes d'erreur spécifiques en plus de E_NOT_OK ou des notifications distinctes vers DET ou DEM ne sont pas spécifiés pour cet appel [SWS_FrIf_05046]. Interprétation : comme l'interface est désignée comme configurable, l'identifiant <User_TxConfirmation> devrait servir d'espace réservé pour le nom de fonction réellement configuré dans la couche supérieure [SWS_FrIf_05046]. Question Q-f2a08258df49b3ec (ouverte)

Ce texte a été généré par une IA et sert d'aide pour la spécification AUTOSAR.

fonction <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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : fac22c3dab8e Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction de rappel synchrone <User_TriggerTransmit> est appelée pour demander des données de SDU d'une couche supérieure en vue de leur transmission [SWS_FrIf_05047]. L'identifiant TxPduId de la SDU à envoyer ainsi que le pointeur PduInfoPtr de type PduInfoType* sont transmis en tant que paramètres [SWS_FrIf_05047]. L'appelant met à disposition un tampon de destination via PduInfoPtr->SduDataPtr et indique dans PduInfoPtr->SduLength la taille de tampon disponible [SWS_FrIf_05047].

Le module appelé de la couche supérieure vérifie si les données prêtes tiennent dans la taille de tampon indiquée [SWS_FrIf_05047] :

  • Si les données tiennent, le module les copie dans PduInfoPtr->SduDataPtr, met à jour PduInfoPtr->SduLength avec le nombre d'octets réellement copiés et renvoie E_OK [SWS_FrIf_05047].
  • Si les données ne tiennent pas, le module renvoie E_NOT_OK sans modifier PduInfoPtr [SWS_FrIf_05047].

Gestion des erreurs et concurrence

En cas d'erreur (valeur de retour E_NOT_OK), aucune donnée de SDU n'a été copiée. Dans ce cas, PduInfoPtr ne doit plus être utilisé, car il peut contenir un pointeur NULL ou pointer vers des données non valides [SWS_FrIf_05047].

L'interface est réentrante pour des ID de PDU différents, mais non réentrante pour le même ID de PDU [SWS_FrIf_05047]. La disponibilité de la fonction est configurable [SWS_FrIf_05047].

Ce texte a été généré par une IA. Toutes les indications reposent exclusivement sur les spécifications de la version AUTOSAR R20-11.

fonction <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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8665c1e85fa1 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction <Free_Op_A> est conçue comme une opération de communication définie par l'utilisateur dans l'interface FlexRay afin de prendre en charge des caractéristiques matérielles spécifiques ou supplémentaires du contrôleur de communication pour accroître la performance globale [SWS_FrIf_05316]. La déclaration de cette interface est mise à disposition via l'en-tête FrIf_Externals.h [SWS_FrIf_05316].

Deux paramètres d'entrée fonctionnels sont prescrits pour l'appel [SWS_FrIf_05316] :

  • FrIf_CtrlIdx (type uint8) : identifie en tant qu'index le contrôleur de communication FlexRay concrètement ciblé [SWS_FrIf_05316].
  • FrIf_LPduIdx (type uint16) : sert d'index unique pour identifier la trame FlexRay respective [SWS_FrIf_05316].

L'opération est exécutée de manière synchrone et n'a pas de valeur de retour (void) ; aucun paramètre d'entrée/sortie n'est prévu non plus [SWS_FrIf_05316]. En ce qui concerne la concurrence et le contexte d'appel, la fonction est réentrante pour différentes valeurs de FrIf_LPduIdx, mais explicitement non réentrante lors de l'utilisation du même index FrIf_LPduIdx [SWS_FrIf_05316].

Des codes d'erreur spécifiques ainsi que des mécanismes de surveillance des erreurs via le module Default Error Tracer (DET) ou Diagnostic Event Manager (DEM) ne sont pas indiqués dans la spécification [SWS_FrIf_05316]. Les composants appelants doivent donc s'assurer avant l'exécution qu'aucun accès concurrent n'a lieu sur le même index de trame [SWS_FrIf_05316].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR.

fonction <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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c7b423aeeb3d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction personnalisée <Free_Op_B> sert à exécuter des opérations de communication spécifiques à l'utilisateur dans l'interface FlexRay [SWS_FrIf_05317]. Son objectif est de prendre en charge des caractéristiques de performance matérielles ou supplémentaires du FlexRay Communication Controller afin d'accroître les performances de communication [SWS_FrIf_05317]. La déclaration de la fonction est mise à disposition via le fichier d'en-tête FrIf_Externals.h [SWS_FrIf_05317].

Appel et paramètres

L'opération est appelée de manière synchrone et ne renvoie aucune valeur de retour (void) [SWS_FrIf_05317]. Elle traite deux paramètres d'entrée, tandis qu'il n'existe ni paramètre d'entrée/sortie ni paramètre de sortie [SWS_FrIf_05317] :

  • FrIf_CtrlIdx : index du FlexRay Communication Controller à adresser (type uint8) [SWS_FrIf_05317].
  • FrIf_LPduIdx : index unique servant à identifier la trame FlexRay correspondante (type uint16) [SWS_FrIf_05317].

Concurrence et restrictions

En matière de réentrance, la fonction est spécifiée comme réentrante pour différents index de LPdu (FrIf_LPduIdx), mais explicitement non réentrante pour un même index de LPdu [SWS_FrIf_05317]. Les appelants doivent par conséquent s'assurer de ne pas effectuer d'appels simultanés pour la même PDU.

Interprétation : étant donné que l'opération est désignée comme définie par l'utilisateur et placée dans FrIf_Externals.h, l'implémentation effective devrait devoir être fournie de manière spécifique à l'utilisateur ou sous la forme d'une extension de pilote. Question Q-6668832db63b9906 (ouverte)

Ce texte a été généré par une IA. Toutes les indications se basent exclusivement sur les spécifications de la release R20-11.

fonction <UL_TxConflictNotification> [SWS_FrIf_91001] 📄 PDF

void <UL_TxConflictNotification> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);

Notification in case a Tx Conflict has been detected.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8333bc6757d5 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction de notification <UL_ Tx Conflict Notification> est appelée dès qu'un conflit de transmission (Tx Conflict) a été constaté dans l'interface FlexRay [SWS_FrIf_91001]. La déclaration de cette interface est mise à disposition via le fichier d'en-tête Fr If_ Externals.h [SWS_FrIf_91001].

La fonction ne possède pas de valeur de retour et accepte deux paramètres d'entrée [SWS_FrIf_91001] :

  • Fr If_ Ctrl Idx : identifiant du contrôleur de communication FlexRay adressé [SWS_FrIf_91001].
  • Fr If_ LPdu Idx : identifiant de la trame FlexRay transmise concernée [SWS_FrIf_91001].

Concurrence et restrictions

L'appel s'effectue avec une sémantique synchrone [SWS_FrIf_91001]. En ce qui concerne la concurrence, l'exécution est réentrante pour différents index de Fr If_ LPdu Idx, mais explicitement non réentrante pour le même index de LPdu [SWS_FrIf_91001]. Lors de l'implémentation, il convient donc de s'assurer que les appels simultanés pour le même index de trame sont empêchés.

Traitement des erreurs et interaction

La spécification ne définit aucun message DET ou DEM distinct ni aucun code d'erreur spécifique pour cette interface de rappel [SWS_FrIf_91001]. Interprétation : la couche supérieure devrait mettre à disposition l'appel afin de pouvoir consigner ou traiter des conflits survenus directement sur la liaison de transmission FlexRay. Question Q-fc63c251dbc03307 (ouverte)

Ce texte a été généré par une IA et vérifié selon des directives strictes. Les éléments techniques proviennent exclusivement de la spécification.

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : d7aa755fda7e Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et plage de valeurs

Le type énuméré FrIf_StateType est défini dans le fichier d'en-tête FrIf.h et sert, dans l'interface FlexRay, à représenter l'état de fonctionnement actuel d'un contrôleur de communication FlexRay (FlexRay CC) [SWS_FrIf_05755]. Les variables de ce type déterminent si un contrôleur est prêt pour le fonctionnement de communication et si une synchronisation avec le cluster FlexRay est présente [SWS_FrIf_05755].

La plage de valeurs comprend deux états définis [SWS_FrIf_05755] :

  • FRIF_STATE_OFFLINE : le FlexRay CC n'est pas prêt pour la communication, et le cluster FlexRay n'est pas synchronisé [SWS_FrIf_05755].
  • FRIF_STATE_ONLINE : le FlexRay CC est prêt pour la communication, et le cluster FlexRay est synchronisé [SWS_FrIf_05755].

Intégration et conditions aux limites

Les états reflètent des phases de communication fondamentales : tant que FRIF_STATE_OFFLINE est présent, aucune communication régulière de cluster ne peut avoir lieu via le contrôleur, tandis que FRIF_STATE_ONLINE caractérise le fonctionnement d'émission et de réception synchronisé [SWS_FrIf_05755]. Comme l'extrait de spécification ne cite aucune autre signature d'API ou message d'erreur, le type devrait être principalement utilisé dans des requêtes d'état ou des transitions d'état de l'interface FlexRay. Question Q-071cd300dcaa0a3b (ouverte)

Ce texte a été généré par une IA et repose sur la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 17a8791d0e85 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type énumération FrIf_StateTransitionType est mis à disposition via le fichier d'en-tête FrIf.h et sert, conformément à [SWS_FrIf_05303], à représenter ou à demander des transitions d'état pour un contrôleur de communication FlexRay (FlexRay CC).

Utilisation et plage de valeurs

Les variables de ce type prennent des valeurs afin de demander des changements d'état ciblés d'un FlexRay CC [SWS_FrIf_05303]. La plage de valeurs comprend les littéraux suivants :

  • FRIF_GOTO_OFFLINE : littéral pour demander une transition vers l'état FRIF_STATE_OFFLINE [SWS_FrIf_05303].
  • FRIF_GOTO_ONLINE : littéral pour demander une transition vers l'état FRIF_STATE_ONLINE [SWS_FrIf_05303].

Contexte et interaction

Bien que la description formelle du type mentionne la représentation de l'état d'un FlexRay CC, les littéraux définis suggèrent l'interprétation selon laquelle ce type énuméré sert principalement de paramètre de commande pour ordonner des changements d'état (hors ligne ou en ligne) [SWS_FrIf_05303]. Comme la charge utile n'indique aucune autre interface, règle de réentrance ou code d'erreur pour ce type, les règles générales d'intégration via le fichier d'en-tête FrIf.h s'appliquent.

Ce texte a été généré par une IA. Il est basé sur AUTOSAR R20-11 et l'exigence [SWS_FrIf_05303].

Guide de l'implémenteur à venir (complexité 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#4a5acd80
Content hash
4a5acd80
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayInterface.pdf#nameddest=SWS_FrIf_05003

Initialisation et état

Returns the version information of this module.

void FrIf_GetVersionInfo (Std_VersionInfoType* FrIf_VersionInfoPtr);
FrIf_Init fonction

Initializes the Flex Ray Interface.

void FrIf_Init (const FrIf_ConfigType* FrIf_ConfigPtr);

Services · Get…

Wraps the Flex Ray Driver API function Fr_ Get Absolute Timer IRQStatus()

Std_ReturnType FrIf_GetAbsoluteTimerIRQStatus (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, boolean* FrIf_IRQStatusPtr);

Wraps the Flex Ray Driver API function Fr_ Get Channel Status() and gets the channel status information.

Std_ReturnType FrIf_GetChannelStatus (uint8 FrIf_CtrlIdx, uint16* FrIf_ChannelAStatusPtr, uint16* FrIf_ChannelBStatusPtr);

Wraps the Flex Ray Driver API function Fr_ Get Clock Correction () and gets the current clock correction values.

Std_ReturnType FrIf_GetClockCorrection (uint8 FrIf_CtrlIdx, sint16* FrIf_RateCorrectionPtr, sint32* FrIf_OffsetCorrectionPtr);

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.

uint32 FrIf_GetCycleLength (uint8 FrIf_CtrlIdx);

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.

Std_ReturnType FrIf_GetGlobalTime (uint8 FrIf_CtrlIdx, uint8* FrIf_CyclePtr, uint16* FrIf_MacroTickPtr);

Retrieves the Duration of a Macrotick in ns

uint16 FrIf_GetMacrotickDuration (uint8 FrIf_CtrlIdx);

Retrieves the amount of Macroticks per Cycle

uint16 FrIf_GetMacroticksPerCycle (uint8 FrIf_CtrlIdx);

Derives the Flex Ray NM Vector. Av ailable via Fr If.h

Std_ReturnType FrIf_GetNmVector (uint8 FrIf_CtrlIdx, uint8* FrIf_NmVectorPtr);

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.

Std_ReturnType FrIf_GetNumOfStartupFrames (uint8 FrIf_CtrlIdx, uint8* FrIf_NumOfStartupFramesPtr);

Wraps the Flex Ray Driver API function Fr_ Get POCStatus().

Std_ReturnType FrIf_GetPOCStatus (uint8 FrIf_CtrlIdx, Fr_POCStatusType* FrIf_POCStatusPtr);
FrIf_GetState fonction

Get current Fr If state.

Std_ReturnType FrIf_GetState (uint8 FrIf_ClstIdx, FrIf_StateType* FrIf_StatePtr);

Service FrIf_GetSyncFrameList.

Std_ReturnType FrIf_GetSyncFrameList (uint8 FrIf_CtrlIdx, uint8 FrIf_ListSize, uint16* FrIf_ChannelAEvenListPtr, uint16* FrIf_ChannelBEvenListPtr, uint16* FrIf_ChannelAOddListPtr, uint16* FrIf_ChannelBOddListPtr);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Error. The enum value "FR_ CHANNEL_ AB" shall not be used.

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 Mode(). The enum value "FR_ CHANNEL_ AB" shall not be used.

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 WUReason(). The enum value "FR_ CHANNEL_ AB" shall not be used.

Std_ReturnType FrIf_GetTransceiverWUReason (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvWUReasonType* FrIf_TrcvWUReasonPtr);

Wraps the Flex Ray Driver API function Fr_ Get Wakeup Rx Status and gets the wakeup received information from the Flex Ray controller.

Std_ReturnType FrIf_GetWakeupRxStatus (uint8 FrIf_CtrlIdx, uint8* FrIf_WakeupRxStatusPtr);

Services · Set…

Wraps the Flex Ray Driver API function Fr_ Set Absolute Timer().

Std_ReturnType FrIf_SetAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, uint8 FrIf_Cycle, uint16 FrIf_Offset);
FrIf_SetState fonction

Requests Fr If state machine transition.

Std_ReturnType FrIf_SetState (uint8 FrIf_ClstIdx, FrIf_StateTransitionType FrIf_StateTransition);

Wraps the Flex Ray Transceiver Driver API function Fr

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 Driver API functi on Fr_ Set Wakeup Channel(). The enum value "FR_ CHANNEL_ AB" shall not be used.

Std_ReturnType FrIf_SetWakeupChannel (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);

Services · Disable…

Wraps the Flex Ray Driver API function Fr_ Disable Absolute Timer IRQ().

Std_ReturnType FrIf_DisableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Wraps the Flex Ray Driver Function Fr_ Disable LPdu. It disables the hardware resource of an LPdu for transmission/ recept ion.

Std_ReturnType FrIf_DisableLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Disable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.

Std_ReturnType FrIf_DisableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);

Services · Enable…

Service FrIf_EnableAbsoluteTimerIRQ.

Std_ReturnType FrIf_EnableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Enables or disables mirroring for all Flex Ray controllers connected to the addressed Flex Ray cluster.

Std_ReturnType FrIf_EnableBusMirroring (uint8 FrIf_ClstIdx, boolean FrIf_MirroringActive);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Enable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.

Std_ReturnType FrIf_EnableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);

Services · Autres

Wraps the Flex Ray Driver API function Fr_ Abort Communication().

Std_ReturnType FrIf_AbortCommunication (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Ack Absolute Timer IRQ()

Std_ReturnType FrIf_AckAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Wraps the Flex Ray Driver API function Fr_ Allow Coldstart().

Std_ReturnType FrIf_AllowColdstart (uint8 FrIf_CtrlIdx);
FrIf_AllSlots fonction

Wraps the Flex Ray Driver API function Fr_ All Slots

Std_ReturnType FrIf_AllSlots (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Cancel Absolute Timer() .

Std_ReturnType FrIf_CancelAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Requests cancellation of an ongoing transmission o f a PDU in a lower layer communication module.

Std_ReturnType FrIf_CancelTransmit (PduIdType TxPduId);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Check Wakeup By Transceiver(). The enum value "FR_ CHANNEL_ AB" shall not be used.

void FrIf_CheckWakeupByTransceiver (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

Std_ReturnType FrIf_ClearTransceiverWakeup (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);

Initialized a Flex Ray CC.

Std_ReturnType FrIf_ControllerInit (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Halt Communication().

Std_ReturnType FrIf_HaltCommunication (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Read CCConfig().

Std_ReturnType FrIf_ReadCCConfig (uint8 FrIf_CtrlIdx, uint8 FrIf_Config ParamIdx, uint32* FrIf_Config ParamValuePtr); ⚠️

Service FrIf_ReconfigLPdu.

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); ⚠️
FrIf_SendWUP fonction

Wraps the Flex Ray Driver API function Fr_ Send WUP().

Std_ReturnType FrIf_SendWUP (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Start Communication().

Std_ReturnType FrIf_StartCommunication (uint8 FrIf_CtrlIdx);
FrIf_Transmit fonction

Requests transmission of a PDU.

Std_ReturnType FrIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Callouts et interfaces attendues

<Free_Op_A> fonction

User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.

void <Free_Op_A> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
<Free_Op_B> fonction

User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.

void <Free_Op_B> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);

Notification in case a Tx Conflict has been detected.

void <UL_TxConflictNotification> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);

Indication of a received PDU from a lower layer communication interface module.

void <User_RxIndication> (PduIdType RxPduId, const 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.

Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);

Types

This type contains the implementation - specific post build time configuration structure. Only pointers of this type are allowed.

Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.

Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.