DEENESPTFRRUARHIKOZHNL

FlexRay Driver (Fr)

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

Guia do móduloGERADO POR IA

Serve como acesso padronizado aos controladores FlexRay para o FlexRay Interface: partida, parada, despertar, envio, recepção.
GERADO POR IA não revisado Modelo: claude-opus-5-5 · Esforço: high · Temperatura: não controlável · Prompt: ff0400b6ca26 Procedência Perguntas em aberto (4)
Âncora causal: R20-11 Válido a partir de R20-11 Sintetizado para esta versão de especificação.
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve como acesso padronizado aos controladores FlexRay para o FlexRay Interface: partida, parada, despertar, envio, recepção.

O driver FlexRay encapsula controladores de comunicação FlexRay. Exceto durante a inicialização pelo EcuM, apenas o FlexRay Interface o utiliza Fr-SWS p. 15. Ele controla a máquina de estados POC do controlador: inicialização, partida, despertar, parada retardada e cancelamento imediato. Por meio de LPdus configuradas, ele transmite dados, verifica o status de envio e recebe; a isso somam-se o tempo global e temporizadores absolutos. Muitos serviços pressupõem um determinado estado POC ou sincronicidade com o tempo global; caso contrário, o Fr reporta o erro de tempo de execução FR_E_INV_POCSTATE [SWS_Fr_91004].

O driver FlexRay encapsula um ou mais controladores de comunicação FlexRay (CC). Seu único usuário é o FlexRay Interface; apenas a inicialização via Fr_Init é assumida pelo EcuM Fr-SWS p. 15. Cada serviço endereça o controlador por meio de Fr_CtrlIdx, como Fr_ControllerInit [SWS_Fr_00017]. A configuração é dividida em duas partes: os parâmetros de cluster e as atribuições de LPdu residem no FrIf; os parâmetros relativos ao controlador, no Fr Fr-SWS p. 25.

Em essência, o Fr controla a máquina de estados POC do CC. Apenas cinco serviços têm permissão para alterar o estado Fr-SWS p. 23:

  • Fr_ControllerInit conduz o CC de POC:config para POC:ready.
  • Fr_StartCommunication inicia assincronamente a inicialização (Startup) [SWS_Fr_00010].
  • Fr_SendWUP transmite um padrão de despertar.
  • Fr_HaltCommunication para no final do ciclo.
  • Fr_AbortCommunication cancela imediatamente [SWS_Fr_00011].

Após Fr_StartCommunication, POC:normal active ou normal passive não está garantido. Interpretação: presume-se, portanto, que o chamador acompanhe o progresso via Fr_GetPOCStatus. Pergunta (aberta)

poc default_config POC:default config config POC:config default_config->config Fr_ControllerInit* ready POC:ready config->ready Fr_ControllerInit* ready->ready Fr_SetWakeupChannel (CONFIG … CONFIG_COMPLETE) wakeup POC:wakeup ready->wakeup Fr_SendWUP (WAKEUP) startup POC:startup ready->startup Fr_StartCommunication (RUN) wakeup->ready implicitamente após a conclusão normal_active POC:normal active startup->normal_active implicitamente em caso de sucesso normal_passive POC:normal passive startup->normal_passive implicitamente em caso de sucesso halt POC:halt normal_active->halt Fr_HaltCommunication (DEFERRED_HALT, Zyklusende) normal_passive->halt Fr_HaltCommunication (Annahme) halt->config Fr_ControllerInit* beliebig beliebiger Zustand beliebig->halt Fr_AbortCommunication (FREEZE)

Diagrama de estados: os estados POC e os serviços Fr que os disparam. Fontes: Fr-SWS p. 23, [SWS_Fr_00505]

Os dados fluem como LSdu por meio de LPdus configuradas. Fr_TransmitTxLPdu transmite assincronamente [SWS_Fr_00092]. O FrIf consulta o status de transmissão em sua lista de jobs com Fr_CheckTxLPduStatus e confirma às camadas superiores apenas em FR_TRANSMITTED FrIf-SWS p. 38. Fr_ReceiveRxLPdu fornece dados e status; o valor FR_RECEIVED_MORE_DATA_AVAILABLE indica entradas adicionais na FIFO [SWS_Fr_00512]. Acrescentam-se a isso a reconfiguração de buffers, o tempo global e os temporizadores absolutos.

Transmissão e confirmação de transmissãoObere SchichtISRFrIfFrUse Case: Transmissão com acesso direto ao bufferFrIf_Transmit(TxPduId, PduInfoPtr)Fr_CtrlIdx, Fr_LPduIdx,Determinar Fr_LSduPtr e comprimentoFr_TransmitTxLPdu(Fr_CtrlIdx, Fr_LPduIdx,Fr_LSduPtr, Fr_LSduLength, Fr_SlotAssignmentPtr)E_OKoptE_OKIncrementar TxConfCounter da PDURetorno FrIf_TransmitUse Case: Confirmação de transmissão na lista de jobsFrIf_JobListExec_<Cluster>()Fr_CheckTxLPduStatus(Fr_CtrlIdx, Fr_LPduIdx,Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)Fr_TxLPduStatusTypeoptFR_TRANSMITTEDlooppor PDU no quadro com TxConfCounter > 0TxConfCounter verringern<UL_TxConfirmation>(PduId)

Diagrama de sequência: transmissão com acesso direto a buffers e uma confirmação de transmissão posterior e desacoplada. Fontes: FrIf-SWS p. 106, FrIf-SWS p. 112

Em caso de erro, os serviços retornam E_NOT_OK e mantêm seus parâmetros de saída inalterados Fr-SWS p. 36. Erros de hardware vão como FR_E_CTRL_TESTRESULT para o DEM, erros de protocolo no status de slot como FR_E_LPDU_SLOTSTATUS [SWS_Fr_00600]. Com a detecção ativada, somam-se erros de desenvolvimento como FR_E_INV_CTRL_IDX [SWS_Fr_91003]. Se o CC não estiver no estado POC esperado, o Fr reporta o erro de tempo de execução FR_E_INV_POCSTATE [SWS_Fr_91004].

Papel na pilha FlexRay: acesso ao controlador para FrIf e EcuM

O driver FlexRay (Fr) encapsula um ou mais controladores de comunicação FlexRay (CC). Seu único usuário é a FlexRay Interface (FrIf). Uma exceção é a inicialização via Fr_Init, que o EcuM chama Fr-SWS p. 15. Todos os demais serviços endereçam o controlador via Fr_CtrlIdx, como Fr_ControllerInit [SWS_Fr_00017]. Recursos que o CC compartilha com outros componentes (p. ex., configuração de PLL ou mapeamento de memória) não são configurados pelo próprio Fr. A inicialização deles deve preceder a do Fr Fr-SWS p. 15.

Para consistência de dados, o Fr utiliza o escalonador do BSW com SchM_Enter_Fr e SchM_Exit_Fr; opcionalmente, ele reporta erros de desenvolvimento via Det_ReportError [SWS_Fr_00391]. Além disso, a especificação lista Dem_SetEventStatus e Det_ReportRuntimeError como interfaces [SWS_Fr_00390]. Do ponto de vista do FrIf, controle de POC, caminho de dados e temporizadores absolutos são interfaces obrigatórias FrIf-SWS p. 95. Em contrapartida, o FrIf utiliza serviços como Fr_AllSlots, Fr_CancelTxLPdu ou Fr_GetNmVector apenas de forma opcional FrIf-SWS p. 97.

kontext ul Obere Schichten (Upper Layer for FrIf) frif FrIf ul->frif FrIf_Transmit ecum EcuM fr Fr (FlexRay-Treiber) ecum->fr Fr_Init frif->ul TxConfirmation / RxIndication frif->fr todos os demais serviços Fr_ (Fr_CtrlIdx, Fr_LPduIdx) cc FlexRay-CC (Hardware) fr->cc CHI-Befehle, Puffer, Register dem Dem fr->dem Dem_SetEventStatus det Det fr->det Det_ReportError, Det_ReportRuntimeError schm SchM fr->schm SchM_Enter_Fr / SchM_Exit_Fr shared Módulos com recursos compartilhados (p. ex., PLL, mapeamento de memória) shared->fr Initialisierung vor Fr

Diagrama de contexto: o Fr situa-se entre o FrIf/EcuM e o hardware do CC e reporta a DEM, DET e SchM. Fontes: Fr-SWS p. 15, [SWS_Fr_00390], [SWS_Fr_00391]

Controle de POC: de Fr_Init até a comunicação síncrona

Cada CC executa a máquina de estados do Protocol Operation Control (POC). Suas transições são disparadas em parte por eventos de hardware, em parte por comandos CHI do host Fr-SWS p. 23. Apenas Fr_StartCommunication, Fr_HaltCommunication, Fr_AbortCommunication, Fr_SendWUP e Fr_ControllerInit têm permissão para alterar o estado POC. Os estados são mapeados por Fr_POCStateType [SWS_Fr_00505].

Fr_Init armazena apenas o endereço de configuração para chamadas posteriores e não impõe nenhuma pré-condição ao CC Fr-SWS p. 39. Fr_ControllerInit comuta o CC a partir de qualquer estado para POC:config e carrega os parâmetros de cluster e de nó, bem como os buffers. Em seguida, a função deixa o CC sem requisições de transmissão pendentes em POC:ready Fr-SWS p. 41. Fr_StartCommunication inicia o startup de forma assíncrona com o comando CHI RUN [SWS_Fr_00010]. Não é garantido que o CC atinja POC:normal active ou normal passive em seguida Fr-SWS p. 42. Interpretação: o chamador deve, portanto, monitorar o progresso via Fr_GetPOCStatus, que fornece o status como Fr_POCStatusType [SWS_Fr_00510]. Pergunta Q-aa60617897af9f9f (aberta) Fr_AllowColdstart é admissível em POC:ready ou POC:startup [SWS_Fr_00114]. Fr_AllSlots requer sincronia com o tempo global e comuta, a partir do próximo ciclo, da operação em key slots para a operação em all slots Fr-SWS p. 44.

Existem dois caminhos para a finalização. Fr_HaltCommunication emite DEFERRED_HALT; POC:halt só é atingido ao término do ciclo em andamento Fr-SWS p. 45. Em contrapartida, Fr_AbortCommunication aborta de forma síncrona com FREEZE e conduz a partir de qualquer estado para POC:halt [SWS_Fr_00011], Fr-SWS p. 47.

poc default_config POC:default config config POC:config default_config->config Fr_ControllerInit* ready POC:ready config->ready Fr_ControllerInit* ready->ready Fr_SetWakeupChannel (CONFIG … CONFIG_COMPLETE) wakeup POC:wakeup ready->wakeup Fr_SendWUP (WAKEUP) startup POC:startup ready->startup Fr_StartCommunication (RUN) wakeup->ready implicitamente após a conclusão normal_active POC:normal active startup->normal_active implicitamente em caso de sucesso normal_passive POC:normal passive startup->normal_passive implicitamente em caso de sucesso halt POC:halt normal_active->halt Fr_HaltCommunication (DEFERRED_HALT, Zyklusende) normal_passive->halt Fr_HaltCommunication (Annahme) halt->config Fr_ControllerInit* beliebig beliebiger Zustand beliebig->halt Fr_AbortCommunication (FREEZE)

Diagrama de estados: os estados POC do CC e os serviços Fr que os disparam; transições marcadas com * são executadas por uma única chamada de Fr_ControllerInit. Fontes: Fr-SWS p. 23, [SWS_Fr_00505], Fr-SWS p. 49

Inicialização e início da comunicaçãoEcuMFrIfFrFlexRay-CCUse Case: Inicialização do driver e do controladorFr_Init(Fr_ConfigPtr)Konfigurationsadresse speichernFr_ControllerInit(Fr_CtrlIdx)comutar para POC:configParâmetros de cluster/nó ePuffer konfigurierencomutar para POC:readyE_OKUse Case: KommunikationsstartoptKaltstart erlaubtFr_AllowColdstart(Fr_CtrlIdx)CHI ALLOW_COLDSTARTE_OKFr_StartCommunication(Fr_CtrlIdx)CHI RUNE_OK (asynchron)POC:startup – sucesso não garantidoloopbis POC:normal active/passive (Interpretation)Fr_GetPOCStatus(Fr_CtrlIdx, Fr_POCStatusPtr)vPOC lesenE_OK, Fr_POCStatusTypeFr_AllSlots(Fr_CtrlIdx)CHI ALL_SLOTS (a partir do próximo ciclo)E_OK

Diagrama de sequência: inicialização e início da comunicação em etapas; o startup roda de forma assíncrona no CC. Fontes: Fr-SWS p. 41, Fr-SWS p. 42, Fr-SWS p. 43

Wakeup através de um canal selecionado

Fr_SetWakeupChannel seleciona FR_CHANNEL_A ou FR_CHANNEL_B como canal de wakeup [SWS_Fr_00091]. Para isso, com o comando CHI CONFIG, o CC comuta brevemente para POC:config e, com CONFIG_COMPLETE, de volta para POC:ready Fr-SWS p. 49. Fr_SendWUP é permitido apenas em POC:ready e inicia a transmissão do padrão de wakeup com WAKEUP. O CC passa por POC:wakeup e retorna em seguida para POC:ready. Um padrão transmitido não garante que todos os nós do cluster acordem Fr-SWS p. 48.

O resultado é indicado por Fr_WakeupStatusType no status POC, por exemplo como FR_WAKEUP_TRANSMITTED, FR_WAKEUP_RECEIVED_WUP ou como caso de colisão [SWS_Fr_00508]. Esses valores são avaliados pelo FlexRay State Manager FrSM-SWS p. 19. Adicionalmente, Fr_GetWakeupRxStatus reporta de forma codificada em bits se um padrão de wakeup foi recebido no canal A (bit 0) ou no canal B (bit 1) [SWS_Fr_00587].

Definir canal de wakeup e enviar padrão de despertarFrIfFrFlexRay-CCUse Case: Wakeup-Kanal festlegenFr_SetWakeupChannel(Fr_CtrlIdx, FR_CHANNEL_A)CHI CONFIG (POC:config)Wakeup-Kanal konfigurierenCHI CONFIG_COMPLETE (POC:ready)E_OKUse Case: Weckmuster sendenFr_SendWUP(Fr_CtrlIdx)CHI WAKEUPE_OK (asynchron)POC:wakeup, danach wieder POC:readyUse Case: Verificar resultadoFr_GetPOCStatus(Fr_CtrlIdx, Fr_POCStatusPtr)WakeupStatus, z. B. FR_WAKEUP_TRANSMITTEDFr_GetWakeupRxStatus(Fr_CtrlIdx, Fr_WakeupRxStatusPtr)Empfangsindikatoren A/B lesenE_OK, Bit 0 = Kanal A, Bit 1 = Kanal B

Diagrama de sequência: primeiro o canal é configurado através de um breve desvio por CONFIG, depois o padrão de wakeup é transmitido e o status é consultado. Fontes: Fr-SWS p. 49, Fr-SWS p. 48, Fr-SWS p. 78

Caminho de dados da L-PDU: transmissão, confirmação, recepção

Os dados fluem como LSdu por meio de LPdus que são configuradas no FrIf e designadas de forma única via Fr_LPduIdx. Fr_TransmitTxLPdu entrega buffer e comprimento de forma assíncrona ao recurso de transmissão [SWS_Fr_00092]. Via Fr_SlotAssignmentPtr, o chamador obtém ciclo, ID do slot e canal (Fr_SlotAssignmentType, [SWS_Fr_91002]); se ele passar NULL_PTR, essa indicação é omitida Fr-SWS p. 53. O FrIf chama Fr_TransmitTxLPdu diretamente a partir de FrIf_Transmit e incrementa o TxConfCounter da PDU em caso de E_OK FrIf-SWS p. 106.

Em sua lista de jobs, o FrIf consulta Fr_CheckTxLPduStatus [SWS_Fr_00094]. Resultados possíveis são FR_TRANSMITTED, FR_TRANSMITTED_CONFLICT e FR_NOT_TRANSMITTED [SWS_Fr_00511]. Apenas no caso de FR_TRANSMITTED seguem-se TxConfirmations para as camadas superiores FrIf-SWS p. 38. Fr_CancelTxLPdu encerra uma requisição de transmissão pendente e retorna E_OK; se nenhuma estiver pendente, retorna E_NOT_OK Fr-SWS p. 54.

Transmissão e confirmação de transmissãoObere SchichtISRFrIfFrUse Case: Transmissão com acesso direto ao bufferFrIf_Transmit(TxPduId, PduInfoPtr)Fr_CtrlIdx, Fr_LPduIdx,Determinar Fr_LSduPtr e comprimentoFr_TransmitTxLPdu(Fr_CtrlIdx, Fr_LPduIdx,Fr_LSduPtr, Fr_LSduLength, Fr_SlotAssignmentPtr)E_OKoptE_OKIncrementar TxConfCounter da PDURetorno FrIf_TransmitUse Case: Confirmação de transmissão na lista de jobsFrIf_JobListExec_<Cluster>()Fr_CheckTxLPduStatus(Fr_CtrlIdx, Fr_LPduIdx,Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)Fr_TxLPduStatusTypeoptFR_TRANSMITTEDlooppor PDU no quadro com TxConfCounter > 0TxConfCounter verringern<UL_TxConfirmation>(PduId)

Diagrama de sequência: transmissão com acesso direto ao buffer; a confirmação segue posteriormente, desacoplada na lista de jobs. Fontes: FrIf-SWS p. 106, FrIf-SWS p. 112, [SWS_Fr_00094]

Fr_ReceiveRxLPdu copia dados úteis, comprimento e o status Fr_RxLPduStatusType de forma síncrona para os buffers do chamador [SWS_Fr_00093]. O valor FR_RECEIVED_MORE_DATA_AVAILABLE indica instâncias adicionais em uma FIFO de recepção [SWS_Fr_00512]. O Fr utiliza a FIFO de hardware se os critérios de filtragem configurados forem aplicáveis a ela. Cada chamada retira então o primeiro quadro válido; não existe uma API própria para FIFO Fr-SWS p. 22. Em ReceiveAndIndicate, o FrIf consulta, portanto, repetidamente até que FR_NOT_RECEIVED seja retornado ou FrIfRxComOpMaxLoop seja atingido FrIf-SWS p. 41.

Recepção com ReceiveAndIndicateISRFrIfFrObere SchichtFrIf_JobListExec_<Cluster>()Fr_CtrlIdx, Fr_LPduIdx, Zwischenpuffer festlegen;ComOpLoopCounter = 0loopComOpLoopCounter < FrIfRxComOpMaxLoopFr_ReceiveRxLPdu(Fr_CtrlIdx, Fr_LPduIdx, Fr_LSduPtr,Fr_LPduStatusPtr, Fr_LSduLengthPtr, Fr_SlotAssignmentPtr)Copiar LSdu do buffer de recepção ouda primeira entrada válida da FIFOE_OK, Fr_RxLPduStatusType, comprimentoaltFR_NOT_RECEIVEDCommunication Operation beendetFR_RECEIVED / FR_RECEIVED_MORE_DATA_AVAILABLEoptBus Mirroring aktivMirror_ReportFlexRayFrame() aufrufen<UL_RxIndication>(PduId, ...) por PDU no quadro

Diagrama de sequência: recepção em um laço limitado até que não haja mais dados pendentes. Fontes: FrIf-SWS p. 41, FrIf-SWS p. 115, [SWS_Fr_00512]

Configuração, referência de instância e reconfiguração de buffer

A configuração é dividida em duas partes: parâmetros de cluster residem no FrIf, parâmetros relativos ao controlador residem no Fr. Todas as especificações de transmissão e recepção (FrIfLPdu, FrIfFrameTriggering) estão apenas no FrIf Fr-SWS p. 25. Para cada controlador existe um contêiner FrController (1..*) com FrCtrlIdx e os parâmetros de protocolo FrP… Fr-SWS p. 98. Em R20-11, Fr_ConfigType é um tipo derivado de void para a configuração post-build específica da implementação [SWS_Fr_91001]. A passagem documental de R24-11, por outro lado, o lista como Structure Fr-SWS p. 34; para R20-11, aplica-se o requisito. Se múltiplos drivers FlexRay forem combinados, Fr_GeneralTypes.h pode existir apenas uma vez na árvore de código-fonte Fr-SWS p. 32. Fr_ReadCCConfig lê parâmetros individuais através de índices FR_CIDX_… [SWS_Fr_00651].

Recursos de LPdu podem ser reconfigurados em tempo de execução. Fr_PrepareLPdu configura o recurso associado (ID do slot, filtro de ciclo, comprimento, CRC do cabeçalho), desde que o gerador de configuração utilize a reconfiguração. A função pode ser desativada via FrPrepareLPduSupport Fr-SWS p. 61. O FrIf a chama como Communication Operation PREPARE_LPDU; isso consome tempo de execução, mesmo que o driver não execute reconfiguração FrIf-SWS p. 42. Fr_ReconfigLPdu redefine ID do frame, canal, filtro de ciclo, comprimento da carga útil e CRC do cabeçalho [SWS_Fr_00524]. Ele não recalcula o CRC, apenas verifica se está na faixa de 0 a 2047. Fr_DisableLPdu retira um recurso da operação de transmissão e recepção, mas apenas em LPdus dinamicamente reconfiguráveis Fr-SWS p. 65.

Tempo global, variáveis de status e temporizadores absolutos

Diversas consultas exigem sincronia com o tempo global do FlexRay. Fr_GetGlobalTime fornece ciclo e macrotick de forma consistente e pode ser chamado dentro de uma Exclusive Area Fr-SWS p. 67. Fr_GetNmVector não pode ser chamado no momento da atualização do vetor de NM Fr-SWS p. 68. Para diagnose, servem outras consultas:

  • Fr_GetChannelStatus: status de canal codificado em bits [SWS_Fr_00556]
  • Fr_GetClockCorrection: correção de taxa e de offset [SWS_Fr_00564]
  • Fr_GetNumOfStartupFrames: quantidade de startup frames [SWS_Fr_00547]
  • Fr_GetSyncFrameList: listas de sync frames, entradas não utilizadas preenchidas com 0 [SWS_Fr_00573]

Temporizadores absolutos são endereçados via Fr_AbsTimerIdx. Fr_SetAbsoluteTimer programa o ciclo e um offset de macrotick e requer sincronia no momento da ativação Fr-SWS p. 79. Fr_CancelAbsoluteTimer para o temporizador [SWS_Fr_00095]. Habilitação, bloqueio, confirmação e consulta de status controlam a linha de interrupção sem pré-condição do CC [SWS_Fr_00034], [SWS_Fr_00035], [SWS_Fr_00036], [SWS_Fr_00108].

Comportamento em caso de erro

Funções com Std_ReturnType retornam E_OK ou E_NOT_OK. Em caso de E_NOT_OK, os parâmetros de saída permanecem inalterados Fr-SWS p. 36. Se uma função detectar um erro de hardware do controlador, ela chama Dem_SetEventStatus(FR_E_CTRL_TESTRESULT, DEM_EVENT_STATUS_FAILED) e retorna E_NOT_OK Fr-SWS p. 43. Se a verificação de registradores em Fr_ControllerInit for bem-sucedida, o Fr reporta, por outro lado, PASS Fr-SWS p. 26. Essas passagens são provenientes de releases posteriores. Que o caminho do DEM também está previsto em R20-11 é sustentado por [SWS_Fr_00390]. Erros de protocolo no status de slot são reportados pelo Fr por LPdu como FR_E_LPDU_SLOTSTATUS [SWS_Fr_00600].

Se a detecção de erros de desenvolvimento estiver ativa, o Fr reporta, entre outros, os seguintes erros [SWS_Fr_91003]:

  • FR_E_INIT_FAILED: Fr não está inicializado
  • FR_E_INV_CTRL_IDX: índice de controlador inválido
  • FR_E_INV_CYCLE: ciclo superior a 63
  • FR_E_PARAM_POINTER: ponteiro inválido

Fr_GetSyncFrameList reporta FR_E_INV_FRAMELIST_SIZE se Fr_ListSize for maior que 15 [SWS_Fr_00667]. É considerado erro de tempo de execução FR_E_INV_POCSTATE: o CC não está no estado POC esperado [SWS_Fr_91004].

fehler start Dienstaufruf, z. B. Fr_AllowColdstart detaktiv Entwicklungsfehlererkennung aktiv? start->detaktiv init Fr initialisiert? detaktiv->init sim hw Executar comando CHI / acesso a registros detaktiv->hw não initerr Entwicklungsfehler melden (FR_E_INIT_FAILED) init->initerr não param Parâmetros válidos? init->param sim abbruch Cancelamento sem execução (interpretação) initerr->abbruch paramerr Entwicklungsfehler melden (z. B. FR_E_INV_CTRL_IDX, FR_E_PARAM_POINTER) param->paramerr não param->hw sim paramerr->abbruch hwerr Hardwarefehler erkannt? hw->hwerr dem Dem_SetEventStatus(FR_E_CTRL_TESTRESULT, DEM_EVENT_STATUS_FAILED) hwerr->dem sim ok E_OK, parâmetros de saída válidos hwerr->ok não nok E_NOT_OK, parâmetros de saída inalterados dem->nok

Diagrama de atividades: ordem de verificação de uma chamada de serviço e os caminhos de notificação para DET e DEM. Fontes: [SWS_Fr_91003], Fr-SWS p. 43, Fr-SWS p. 36

Evidências mais detalhadas

Guia gerado por IA com base nos requisitos e passagens documentais contidos no payload (release R20-11); suposições estão identificadas como interpretação. Permanece determinante a especificação AUTOSAR.

FlexRay Driver (Fr)

Provides hardware-dependent access to FlexRay communication controllers.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

função Fr_Init [SWS_Fr_00032] 📄 PDF

void Fr_Init (const Fr_ConfigType* Fr_ConfigPtr);

Initializes the Fr.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: f5aa6ccb591c Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona Fr_Init serve para a inicialização do driver FlexRay (Fr) de acordo com [SWS_Fr_00032]. Ela é declarada por meio do arquivo de cabeçalho Fr.h e possui o Service ID 0x1c [SWS_Fr_00032]. Como único parâmetro de entrada, a interface espera Fr_ConfigPtr do tipo const Fr_ConfigType* [SWS_Fr_00032]. Este ponteiro referencia uma estrutura de configuração dependente do driver, a qual fornece todas as informações necessárias para a subsequente operação do driver FlexRay [SWS_Fr_00032]. A função não possui parâmetros de entrada/saída nem de saída e não retorna nenhum valor (void) [SWS_Fr_00032].

Em relação à concorrência e restrições, Fr_Init é especificada como não reentrante (Non Reentrant) [SWS_Fr_00032]. Chamadas não devem, portanto, ocorrer de forma alguma em paralelo ou aninhadas. Como a estrutura de configuração passada contém todos os dados fundamentais para a operação subsequente, a inicialização provavelmente deve ocorrer de forma sequencial na fase de inicialização do sistema global, antes que outros serviços de módulos sejam chamados [SWS_Fr_00032]. Pergunta Q-a208c696fbb083d4 (aberta)

Um tratamento de erros por meio de códigos de erro específicos ou retornos de status não está previsto na definição do serviço [SWS_Fr_00032]. Requisitos adicionais, por exemplo sobre notificações ao DET ou DEM, não estão documentados no presente conjunto de dados.

Este texto foi gerado por uma IA com base na especificação.

Guia do implementador em breve (complexidade I1)

função Fr_ControllerInit [SWS_Fr_00017] 📄 PDF

Std_ReturnType Fr_ControllerInit (uint8 Fr_CtrlIdx);

Initialzes a F lex Ray CC.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 8b66fbe244aa Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona Fr_ControllerInit serve para inicializar um FlexRay Communication Controller (FlexRay CC) no contexto do driver FlexRay [SWS_Fr_00017]. Ela é declarada no arquivo de cabeçalho Fr.h e possui o ID de serviço 0x00 [SWS_Fr_00017]. O índice do controlador a ser inicializado é transmitido através do parâmetro de entrada Fr_CtrlIdx do tipo uint8 [SWS_Fr_00017].

Como valor de retorno, a função fornece o status Std_ReturnType [SWS_Fr_00017]:

  • E_OK: A chamada de API foi concluída com sucesso [SWS_Fr_00017].
  • E_NOT_OK: A chamada foi cancelada prematuramente devido a erros ocorridos [SWS_Fr_00017].

Códigos de erro detalhados, bem como notificações ao DET ou DEM, não estão listados no escopo da interface especificada [SWS_Fr_00017].

Em relação à concorrência, a função é classificada como não reentrante para a mesma unidade de hardware (Non Reentrant for the same device) [SWS_Fr_00017]. Portanto, uma chamada para o mesmo índice de controlador Fr_CtrlIdx não pode ocorrer simultaneamente; por outro lado, chamadas paralelas para diferentes controladores devem ser permitidas [SWS_Fr_00017]. Pergunta Q-5bbbba38e8530b43 (aberta) Como não estão definidos parâmetros de entrada e saída (inout/out), a inicialização ocorre de forma puramente baseada em estado no driver [SWS_Fr_00017].

Esta nota de uso foi gerada automaticamente com base na versão R20-11 da especificação AUTOSAR.

função Fr_StartCommunication [SWS_Fr_00010] 📄 PDF

Std_ReturnType Fr_StartCommunication (uint8 Fr_CtrlIdx);

Starts communication.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 46a36d4c38fd Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função Fr_StartCommunication serve para iniciar a comunicação FlexRay em um controlador especificado [SWS_Fr_00010]. A interface está disponível através do arquivo de cabeçalho Fr.h [SWS_Fr_00010].

usar

A chamada ocorre de forma assíncrona mediante a passagem do parâmetro Fr_CtrlIdx (service ID 0x03), que indica o índice do controlador de comunicação FlexRay no contexto do driver [SWS_Fr_00010]. Como valor de retorno, a função retorna um status do tipo Std_ReturnType [SWS_Fr_00010]:

  • E_OK: a chamada de API foi concluída com sucesso [SWS_Fr_00010]. Interpretação: devido à semântica assíncrona, isso deve significar a aceitação bem-sucedida do comando de inicialização, enquanto o estabelecimento real da conexão ocorre subsequentemente. Pergunta Q-fabca57ea7d32a05 (aberta)
  • E_NOT_OK: a chamada de API foi abortada em decorrência de erros [SWS_Fr_00010].

Simultaneidade e restrições

Para o mesmo controlador FlexRay, Fr_StartCommunication é especificada como não reentrante [SWS_Fr_00010]. Para instâncias diferentes de controlador, por outro lado, a chamada é reentrante. Erros específicos de desenvolvimento (DET), mensagens de erro (DEM) ou dependências adicionais não constam nos presentes dados de especificação.

Esta nota de utilização baseia-se exclusivamente nas informações da especificação AUTOSAR Classic Release R20-11.

Guia do implementador em breve (complexidade I1)

função Fr_AllowColdstart [SWS_Fr_00114] 📄 PDF

Std_ReturnType Fr_AllowColdstart (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'ALLOW_ COLDSTART'.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 483395af770f Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

A função Fr_AllowColdstart serve para chamar o comando de Controller-Host-Interface ALLOW_COLDSTART no FlexRay Communication Controller [SWS_Fr_00114]. A declaração é fornecida através do ficheiro de cabeçalho Fr.h; o serviço tem o Service-ID 0x23 [SWS_Fr_00114]. Através do parâmetro de passagem Fr_CtrlIdx é especificado o índice do controlador FlexRay a ser acedido dentro do controlador de dispositivo FlexRay [SWS_Fr_00114]. A chamada é executada de forma assíncrona [SWS_Fr_00114].

Tratamento de erros e valores de retorno

A função retorna um estado do tipo Std_ReturnType [SWS_Fr_00114]:

  • E_OK: A chamada de API foi concluída com sucesso [SWS_Fr_00114].
  • E_NOT_OK: a chamada de API foi abortada em decorrência de erros [SWS_Fr_00114].

Causas de erro específicas ou notificações para DEM ou DET não estão listadas separadamente para este serviço na especificação de funções [SWS_Fr_00114].

Simultaneidade e restrições

A interface é não reentrante para a mesma instância de controlador (Non Reentrant for the same device) [SWS_Fr_00114]. Chamadas com o mesmo parâmetro Fr_CtrlIdx não devem, portanto, ocorrer em paralelo ou de forma interruptiva [SWS_Fr_00114]. Interpretação: Devido à semântica de execução assíncrona, o valor de retorno E_OK presumivelmente apenas confirma a aceitação do comando CHI pelo controlador de dispositivo, enquanto a alteração de estado interna do controlador ocorre desfasada no tempo [SWS_Fr_00114]. Pergunta Q-e5c407f32c449510 (aberta)

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR para o Release R20-11.

Guia do implementador em breve (complexidade I1)

função Fr_AllSlots [SWS_Fr_00516] 📄 PDF

Std_ReturnType Fr_AllSlots (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'ALL_ SLOTS'.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 2807feb59753 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e funcionamento

A função Fr_AllSlots serve para o envio do comando CHI (Controller Host Interface) ALL_SLOTS ao FlexRay Communication Controller endereçado [SWS_Fr_00516]. Ela é disponibilizada por meio do cabeçalho Fr.h e possui o Service ID 0x24 [SWS_Fr_00516].

Como parâmetro de entrada, a função espera Fr_CtrlIdx, que indica o índice do controlador FlexRay afetado no contexto do driver FlexRay [SWS_Fr_00516]. A execução ocorre de forma assíncrona [SWS_Fr_00516]. O valor de retorno E_OK sinaliza que a chamada de API foi concluída com sucesso, enquanto E_NOT_OK indica um cancelamento devido a erros [SWS_Fr_00516]. Devido à semântica assíncrona, E_OK provavelmente confirma apenas o recebimento ou disparo bem-sucedido do comando CHI, e não a reação de hardware concluída do controlador (interpretação). Pergunta Q-c526e3b174a4b44a (aberta)

Tratamento de erros e simultaneidade

Se a execução falhar, a chamada é interrompida com o valor de retorno E_NOT_OK [SWS_Fr_00516]. Causas de erro concretas ou mensagens de DET/DEM não são mencionadas na especificação deste elemento.

Em relação à reentrância, Fr_AllSlots é especificada como não reentrante para o mesmo controlador (Non Reentrant for the same device) [SWS_Fr_00516]. Chamadas concorrentes para a mesma instância de controlador devem, portanto, ser evitadas por camadas superiores. Chamadas paralelas para instâncias de controladores diferentes, por outro lado, provavelmente são permitidas (interpretação). Pergunta (aberta)

Esta nota de uso foi criada de forma automatizada. Declarações técnicas baseiam-se exclusivamente no trecho de especificação AUTOSAR.

função Fr_HaltCommunication [SWS_Fr_00014] 📄 PDF

Std_ReturnType Fr_HaltCommunication (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'DEFERRED_ HALT'.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: ff4ce9c60f63 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função Fr_HaltCommunication serve para iniciar a interrupção da comunicação em um controlador de comunicação FlexRay, executando o comando de CHI do CC 'DEFERRED_HALT' [SWS_Fr_00014].

Utilização e parâmetros

A chamada ocorre de forma assíncrona e é disponibilizada através do cabeçalho Fr.h (ID de serviço 0x04) [SWS_Fr_00014]:

  • Fr_CtrlIdx (parâmetro de entrada): determina o índice do controlador de comunicação FlexRay a ser comandado dentro do driver FlexRay [SWS_Fr_00014].
  • Valor de retorno (Std_ReturnType): retorna E_OK se a chamada da função tiver sido concluída com sucesso, ou E_NOT_OK se a chamada tiver sido cancelada em decorrência de erros [SWS_Fr_00014].

Simultaneidade e restrições

Em relação ao contexto de chamada e à concorrência, Fr_HaltCommunication não é reentrante em relação ao mesmo dispositivo (Non Reentrant for the same device) [SWS_Fr_00014]. Consequentemente, nenhuma chamada concorrente ou sobreposta pode ocorrer para o mesmo índice de controlador. Por outro lado, chamadas para diferentes instâncias de controlador são permitidas.

Tratamento de erros

Se ocorrer um erro durante a chamada, a função cancela a execução e sinaliza isso através do valor de retorno E_NOT_OK [SWS_Fr_00014]. Mensagens de erro detalhadas não estão listadas no escopo da especificação para esta função.

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR.

função Fr_AbortCommunication [SWS_Fr_00011] 📄 PDF

Std_ReturnType Fr_AbortCommunication (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'FREEZE'.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9c861ab0356c Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona Fr_AbortCommunication interrompe a comunicação em andamento, executando o comando da interface host-controlador (comando de CHI) FREEZE no controlador de comunicação (CC) FlexRay especificado [SWS_Fr_00011].

Chamada e parâmetros

A chamada ocorre através do cabeçalho Fr.h, informando o índice do controlador Fr_CtrlIdx, que identifica univocamente o CC FlexRay de destino no contexto do driver FlexRay [SWS_Fr_00011]. Além disso, não existem parâmetros de entrada e saída.

Valores de retorno e tratamento de erros

A função retorna um status do tipo Std_ReturnType [SWS_Fr_00011]:

Simultaneidade e restrições

Em relação ao comportamento de concorrência, Fr_AbortCommunication é especificada como não reentrante para o mesmo controlador de comunicação (Non Reentrant for the same device) [SWS_Fr_00011]. Chamadas paralelas para a mesma instância de controlador devem ser evitadas pelo chamador.

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

função Fr_SendWUP [SWS_Fr_00009] 📄 PDF

Std_ReturnType Fr_SendWUP (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'WAKEUP'.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 3acd90d21e6a Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e semântica

A função Fr_SendWUP serve para desencadear um processo de wakeup no barramento FlexRay através do envio do comando CHI WAKEUP para o controlador de comunicação [SWS_Fr_00009]. Através do parâmetro Fr_CtrlIdx, é passado o índice do controlador de destino no contexto do driver [SWS_Fr_00009]. A chamada ocorre de forma assíncrona; a interface dispara o comando, enquanto a transmissão do padrão de wakeup é realizada subsequentemente pelo hardware [SWS_Fr_00009]. A declaração está disponível através de Fr.h e o serviço possui o service ID 0x06 [SWS_Fr_00009].

Tratamento de erros e valores de retorno

A função retorna um valor de status do tipo Std_ReturnType [SWS_Fr_00009]:

  • E_OK: a chamada de API foi executada com sucesso e o comando CHI foi enviado [SWS_Fr_00009].
  • E_NOT_OK: a chamada de API foi abortada devido a erros ocorridos [SWS_Fr_00009].

Simultaneidade e restrições

A função é especificada como não reentrante para o mesmo dispositivo (Non Reentrant for the same device) [SWS_Fr_00009]. Interpretação: isso deve significar que módulos de nível superior devem sincronizar chamadas simultâneas para a mesma instância de controlador, enquanto chamadas para diferentes instâncias de controlador podem ser executadas de forma concorrente. Pergunta Q-0e3b4e70a0755877 (aberta) Não são definidos parâmetros de entrada/saída nem parâmetros exclusivos de saída [SWS_Fr_00009].

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

função Fr_TransmitTxLPdu [SWS_Fr_00092] 📄 PDF

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

Transmits data on the Flex Ray network.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: ef89a1ec9558 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função Fr_TransmitTxLPdu serve para a transmissão de dados úteis através da rede FlexRay [SWS_Fr_00092]. Ela processa a solicitação de envio com semântica assíncrona e associa a LSdu a ser transmitida ao quadro FlexRay identificado por Fr_LPduIdx [SWS_Fr_00092].

Utilização e parâmetros

A chamada ocorre através do arquivo de cabeçalho Fr.h (ID de serviço 0x0b), especificando o índice do controlador Fr_CtrlIdx para o FlexRay Communication Controller bem como o índice de quadro unívoco Fr_LPduIdx [SWS_Fr_00092]. Através do ponteiro Fr_LSduPtr, é transmitida a LSdu de envio disponibilizada no buffer, cujo comprimento de dados em bytes é especificado através de Fr_LSduLength [SWS_Fr_00092]. Através do parâmetro de saída Fr_SlotAssignmentPtr, o chamador pode consultar o ciclo de envio real, o ID do slot e o canal FlexRay; se essa informação não for necessária, pode ser passado um NULL_PTR para isso [SWS_Fr_00092].

Valores de retorno e tratamento de erros

A função confirma a chamada com o tipo de retorno Std_ReturnType: o valor de retorno E_OK confirma a conclusão bem-sucedida da chamada da API, enquanto E_NOT_OK sinaliza um cancelamento devido a erros [SWS_Fr_00092]. Mensagens específicas de DET ou DEM não constam nos dados de especificação.

simultaneidade

Em relação à concorrência, Fr_TransmitTxLPdu é especificada como não reentrante para o mesmo dispositivo (Non Reentrant for the same device) [SWS_Fr_00092]. Chamadas de envio paralelas para o mesmo controlador FlexRay são, portanto, inadmissíveis.

Este texto foi criado por uma IA e baseia-se exclusivamente nos dados de especificação do AUTOSAR R20-11.

função Fr_CancelTxLPdu [SWS_Fr_00610] 📄 PDF

Std_ReturnType Fr_CancelTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 1b6a672c94da Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e semântica

A função síncrona Fr_CancelTxLPdu cancela a transmissão já pendente de uma L-PDU que se encontra em um recurso físico de transmissão do controlador (por exemplo, um buffer de transmissão) [SWS_Fr_00610]. A função está declarada no cabeçalho Fr.h e possui o ID de serviço 0x2d [SWS_Fr_00610].

Para a identificação da transmissão a ser cancelada, a interface espera dois parâmetros [SWS_Fr_00610]:

  • Fr_CtrlIdx: índice do FlexRay Communication Controller no contexto do driver FlexRay [SWS_Fr_00610].
  • Fr_LPduIdx: Índice unívoco para a identificação do respectivo frame FlexRay [SWS_Fr_00610].

Valores de retorno e tratamento de erros

A chamada de função retorna um valor de estado do tipo Std_ReturnType [SWS_Fr_00610]:

Códigos de erro específicos, entradas de DET ou DEM não estão documentados para esta função; na ocorrência de um erro, a função o sinaliza exclusivamente através do valor de retorno E_NOT_OK [SWS_Fr_00610].

Simultaneidade e restrições

Em relação ao comportamento de concorrência, Fr_CancelTxLPdu é especificada como não reentrante para o mesmo dispositivo (Non Reentrant for the same device) [SWS_Fr_00610]. Presumivelmente, isso significa que chamadas paralelas para a mesma instância de controlador devem ser sincronizadas no nível do chamador. Pergunta Q-ec480944eec04076 (aberta) Não há outros parâmetros de entrada ou saída [SWS_Fr_00610].

Esta nota de uso foi gerada automaticamente com base no estado da especificação AUTOSAR R20-11.

função Fr_ReceiveRxLPdu [SWS_Fr_00093] 📄 PDF

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

Service Fr_ReceiveRxLPdu.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 0fc629fa27e3 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona Fr_ReceiveRxLPdu serve para a receção de dados úteis a partir da rede FlexRay e está disponível através do cabeçalho Fr.h [SWS_Fr_00093].

Parâmetros e uso

Através dos parâmetros de entrada Fr_CtrlIdx e Fr_LPduIdx, são endereçados univocamente o respectivo controlador de comunicação do driver FlexRay e o quadro FlexRay a ser recebido [SWS_Fr_00093]. Os dados úteis e de estado são passados ao chamador através de múltiplos ponteiros:

  • Fr_LSduPtr: Ponteiro para o buffer no qual a L-SDU recebida deve ser armazenada.
  • Fr_LPduStatusPtr: Ponteiro para o local de memória para o status de receção da L-PDU.
  • Fr_LSduLengthPtr: Local de memória para o comprimento da L-SDU recebida em bytes, correspondente ao número de bytes copiados em Fr_LSduPtr.
  • Fr_SlotAssignmentPtr: Local de memória para ciclo, ID do slot e canal do quadro. Passar um NULL_PTR para isso sinaliza que o chamador não necessita dessas informações de alocação.

Simultaneidade e tratamento de erros

A interface é executada sincronamente, mas não é reentrante para o mesmo dispositivo [SWS_Fr_00093]. Uma operação de receção bem-sucedida é confirmada com E_OK, enquanto em caso de erros a chamada é cancelada e E_NOT_OK é retornado [SWS_Fr_00093]. Códigos de erro específicos de DET ou DEM não estão indicados nos dados de especificação da função.

Esta nota de utilização foi gerada automaticamente com base na especificação.

Guia do implementador em breve (complexidade I1)

função Fr_CheckTxLPduStatus [SWS_Fr_00094] 📄 PDF

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

Checks the transmit status of the LSdu.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: b48b77700fa6 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A interface síncrona Fr_CheckTxLPduStatus (ID de serviço 0x0d) serve, de acordo com [SWS_Fr_00094], para a verificação do status atual de transmissão de uma L-SDU ou de um quadro FlexRay no driver FlexRay. Ela é disponibilizada através do cabeçalho Fr.h.

Como parâmetros de entrada, a função requer o índice do controlador de comunicação FlexRay (Fr_CtrlIdx) bem como o índice Fr_LPduIdx, que identifica univocamente o quadro FlexRay a ser verificado no driver [SWS_Fr_00094]. O status de envio apurado da LPdu é gravado de volta através do parâmetro de saída Fr_TxLPduStatusPtr no endereço de memória passado [SWS_Fr_00094].

Adicionalmente, o parâmetro de saída Fr_SlotAssignmentPtr possibilita a determinação da alocação de slots: ele referencia um local de memória no qual são armazenados o ciclo real, o ID do slot e o canal do quadro endereçado [SWS_Fr_00094]. Se o chamador não necessitar dessas informações de alocação, a passagem de um NULL_PTR sinaliza que esses dados não precisam ser disponibilizados [SWS_Fr_00094].

A interface deve ser executada de forma síncrona e é especificada como não reentrante para o mesmo dispositivo (Non Reentrant for the same device) [SWS_Fr_00094]. Em caso de conclusão bem-sucedida, a chamada fornece o valor de retorno E_OK; no caso de erros ocorridos, a função é abortada e retorna E_NOT_OK [SWS_Fr_00094].

Este texto foi gerado por uma IA e baseia-se na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I1)

função Fr_PrepareLPdu [SWS_Fr_00107] 📄 PDF

Std_ReturnType Fr_PrepareLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Prepares a LPdu.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 942a5d73cf16 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e semântica

A função síncrona Fr_PrepareLPdu serve, de acordo com [SWS_Fr_00107], para a preparação de uma L-PDU (Prepares a LPdu) e é disponibilizada por meio do cabeçalho Fr.h. Como parâmetro de entrada, o serviço espera o índice de controlador Fr_CtrlIdx para endereçamento do FlexRay Communication Controller (CC) no contexto do driver, bem como Fr_LPduIdx para a identificação unívoca do respectivo frame FlexRay [SWS_Fr_00107]. Interpretação: a chamada provavelmente deve inicializar ou armar estruturas de buffer específicas do hardware para a subsequente operação de envio ou recepção do frame. Pergunta Q-c4375099d73dbea2 (aberta)

Simultaneidade e restrições

Em relação ao comportamento de concorrência, Fr_PrepareLPdu é especificada como não reentrante para a mesma unidade de hardware (Non Reentrant for the same device) [SWS_Fr_00107]. Uma chamada paralela ou de interrupção para o mesmo índice de controlador Fr_CtrlIdx deve ser obrigatoriamente evitada pelo chamador.

Valores de retorno e tratamento de erros

A função possui o Service ID 0x1f e reporta seu status por meio do tipo de retorno Std_ReturnType [SWS_Fr_00107]:

  • E_OK: A chamada de API foi concluída com sucesso [SWS_Fr_00107].
  • E_NOT_OK: a chamada de API foi cancelada prematuramente devido a erros ocorridos [SWS_Fr_00107]. Códigos de erro específicos de DET ou DEM não são definidos no presente trecho de especificação.

Este texto foi gerado por uma IA com base na especificação AUTOSAR CP R20-11.

função Fr_ReconfigLPdu [SWS_Fr_00524] 📄 PDF

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

Service Fr_ReconfigLPdu.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 2abd260e91ea Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e parâmetros

A função síncrona Fr_ReconfigLPdu permite a reconfiguração dinâmica de uma LPDU FlexRay em tempo de execução [SWS_Fr_00524]. Disponibilizada através do cabeçalho Fr.h, a chamada endereça através de Fr_CtrlIdx o respectivo controlador FlexRay e, através de Fr_LPduIdx, o identificador unívoco do frame AUTOSAR_SWS_FlexRayDriver p. 65.

Os seguintes parâmetros de destino são passados durante a reconfiguração [SWS_Fr_00524]:

  • Fr_FrameId e Fr_ChnlIdx: definição do novo ID de frame bem como do canal de comunicação.
  • Fr_CycleRepetition e Fr_CycleOffset: configuração da filtragem de ciclo para a LPDU.
  • Fr_PayloadLength e Fr_HeaderCRC: comprimento dos dados úteis em bytes, bem como o CRC de cabeçalho correspondente do frame.

Concorrência e valores de retorno

O serviço não é reentrante para o mesmo controlador (Non Reentrant for the same device) [SWS_Fr_00524]. Por outro lado, em chamadas para instâncias distintas de controladores FlexRay, presume-se que a reentrância esteja garantida (interpretação). Pergunta Q-85908ef4796c80c7 (aberta) Em caso de reconfiguração bem-sucedida, a chamada retorna E_OK; se a reconfiguração falhar devido a erros, é retornado E_NOT_OK AUTOSAR_SWS_FlexRayDriver p. 65.

Este texto foi criado por uma IA; a exatidão não pode ser garantida.

função Fr_DisableLPdu [SWS_Fr_00539] 📄 PDF

Std_ReturnType Fr_DisableLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 458329c58a82 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

A função síncrona do driver Fr_DisableLPdu serve para desativar o recurso de hardware de uma LPdu do FlexRay para a transmissão ou recepção ([SWS_Fr_00539]). A interface é disponibilizada por meio do arquivo de cabeçalho Fr.h e está associada ao Service ID 0x26 ([SWS_Fr_00539]).

Para a chamada da função, devem ser passados dois parâmetros obrigatórios ([SWS_Fr_00539]):

  • Fr_CtrlIdx: o índice do FlexRay Communication Controller dentro do contexto do driver.
  • Fr_LPduIdx: o índice unívoco para identificação do respectivo frame FlexRay ou da LPdu.

Como valor de retorno, a função fornece o status Std_ReturnType ([SWS_Fr_00539]). O valor E_OK sinaliza uma chamada finalizada com sucesso, enquanto E_NOT_OK é retornado caso a chamada tenha sido cancelada devido a erros.

Tratamento de erros

Na presente especificação, não são definidos códigos de erro específicos nem mensagens para DET ou DEM para este serviço; o comportamento de falha manifesta-se diretamente no valor de retorno E_NOT_OK ([SWS_Fr_00539]).

Simultaneidade e restrições

Em relação à reentrância, Fr_DisableLPdu é classificada como não reentrante para o mesmo dispositivo (Non Reentrant for the same device) ([SWS_Fr_00539]). Os chamadores devem, portanto, assegurar que chamadas simultâneas para o mesmo controlador sejam sincronizadas.

Este texto foi gerado por uma IA com base na especificação AUTOSAR CP R20-11.

função Fr_GetGlobalTime [SWS_Fr_00042] 📄 PDF

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

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

função Fr_GetNumStartupFrames [SWS_Fr_00547] 📄 PDF

Std_ReturnType Fr_GetNumOfStartupFrames (uint8 Fr_CtrlIdx, uint8* Fr_NumOfStartupFramesPtr);

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

função Fr_GetChannelStatus [SWS_Fr_00556] 📄 PDF

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

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

função Fr_GetClockCorrection [SWS_Fr_00564] 📄 PDF

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

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

função Fr_CancelAbsoluteTimer [SWS_Fr_00095] 📄 PDF

Std_ReturnType Fr_CancelAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Stops an absolute timer.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 1332ce8764d8 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona Fr_CancelAbsoluteTimer serve para a parada ordenada de um temporizador absoluto ativo em um FlexRay Communication Controller ([SWS_Fr_00095]). Ela é disponibilizada através do arquivo de cabeçalho Fr.h e possui o ID de serviço 0x13 ([SWS_Fr_00095]).

Parâmetros e valor de retorno

  • Fr_CtrlIdx: Passa o índice do FlexRay Communication Controller em questão no contexto do driver FlexRay ([SWS_Fr_00095]).
  • Fr_AbsTimerIdx: Determina o índice do temporizador absoluto a ser parado no contexto do controlador FlexRay selecionado ([SWS_Fr_00095]).
  • Valor de retorno: Fornece, através do tipo Std_ReturnType, o status E_OK em caso de execução bem-sucedida ou E_NOT_OK se a chamada tiver sido cancelada devido a erros ([SWS_Fr_00095]).

Simultaneidade e restrições

Em relação à concorrência, a interface é definida como não reentrante para o mesmo dispositivo ("Non Reentrant for the same device") ([SWS_Fr_00095]). As camadas chamadoras devem garantir que não ocorram acessos concorrentes ou interruptivos para o mesmo controlador. Interpretação: para controladores diferentes, por outro lado, a execução deve ser admissível de forma reentrante. Pergunta Q-01203b0b28193021 (aberta)

Esta nota de uso foi criada automaticamente com base na especificação do AUTOSAR R20-11.

função Fr_EnableAbsoluteTimerIRQ [SWS_Fr_00034] 📄 PDF

Std_ReturnType Fr_EnableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Service Fr_EnableAbsoluteTimerIRQ.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 7b32a9a85d27 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona Fr_EnableAbsoluteTimerIRQ serve para a ativação da linha de interrupção de um temporizador absoluto dentro de um FlexRay Communication Controller [SWS_Fr_00034]. O serviço é disponibilizado através do arquivo de cabeçalho Fr.h e possui o service ID 0x15 [SWS_Fr_00034].

Na chamada, a interface espera dois parâmetros de entrada [SWS_Fr_00034]:

  • Fr_CtrlIdx: índice do FlexRay Communication Controller no contexto do driver FlexRay [SWS_Fr_00034].
  • Fr_AbsTimerIdx: índice do temporizador absoluto no contexto do controlador FlexRay endereçado [SWS_Fr_00034].

O valor de retorno do tipo Std_ReturnType sinaliza o resultado da execução [SWS_Fr_00034]:

  • E_OK: A chamada de API foi concluída com sucesso [SWS_Fr_00034].
  • E_NOT_OK: a chamada da função foi abortada devido a erros [SWS_Fr_00034].

Em termos de concorrência, a função é especificada como não reentrante para o mesmo dispositivo («Non Reentrant for the same device») [SWS_Fr_00034]. Isto exige que chamadas simultâneas para a mesma instância de controlador devam ser obrigatoriamente evitadas; presume-se, contudo, que uma chamada paralela para diferentes instâncias de controlador seja admissível. Pergunta Q-d7e594a84357e129 (aberta) Códigos de falha específicos para falhas de desenvolvimento ou de produção (DET/DEM) não são listados na descrição da função; quaisquer falhas ocorridas levam diretamente ao retorno de E_NOT_OK [SWS_Fr_00034].

Esta nota de utilização foi gerada automaticamente com base na especificação SWS_Fr_00034.

função Fr_AckAbsoluteTimerIRQ [SWS_Fr_00036] 📄 PDF

Std_ReturnType Fr_AckAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Service Fr_AckAbsoluteTimerIRQ.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 042d5293cc25 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona Fr_AckAbsoluteTimerIRQ pertence ao módulo do driver FlexRay (Fr) na plataforma AUTOSAR Classic e serve para redefinir a condição de interrupção de um temporizador absoluto [SWS_Fr_00036]. A declaração da interface é disponibilizada através do arquivo de cabeçalho Fr.h e está associada ao ID de serviço hexadecimal 0x17 [SWS_Fr_00036].

Para o endereçamento unívoco do temporizador, a função espera dois parâmetros de entrada do tipo uint8, ao passo que não existem parâmetros de entrada/saída ou puramente de saída [SWS_Fr_00036]:

  • Fr_CtrlIdx: Transmite o índice do FlexRay Communication Controller (CC) dentro do contexto do driver FlexRay [SWS_Fr_00036].
  • Fr_AbsTimerIdx: Designa o índice do temporizador absoluto dentro do contexto do respectivo FlexRay Communication Controller [SWS_Fr_00036].

O resultado da execução da função é reportado através do valor de status do tipo Std_ReturnType. Se a chamada foi concluída com sucesso, a função retorna E_OK [SWS_Fr_00036]. Se ocorrerem erros durante a execução, a chamada de função é abortada prematuramente e retorna, em vez disso, E_NOT_OK [SWS_Fr_00036].

Em relação ao comportamento de concorrência, o serviço é classificado como não reentrante para o mesmo dispositivo (Non Reentrant for the same device) [SWS_Fr_00036]. Chamadas para a mesma instância de controlador devem, portanto, ocorrer de forma síncrona e não podem ser executadas concorrentemente de forma sobreposta [SWS_Fr_00036].

Esta nota de uso baseia-se na especificação SWS_Fr_00036 do driver FlexRay e foi criada automaticamente.

função Fr_DisableAbsoluteTimerIRQ [SWS_Fr_00035] 📄 PDF

Std_ReturnType Fr_DisableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Disables the in terrupt line of an absolute timer.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: d5655e373a1a Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona Fr_DisableAbsoluteTimerIRQ serve, no driver FlexRay, para desativar de forma direcionada a linha de interrupção de um temporizador absoluto [SWS_Fr_00035]. Como parâmetros de entrada, a interface espera o índice do controlador Fr_CtrlIdx para endereçar o respectivo controlador de comunicação (CC) FlexRay no contexto do driver, bem como Fr_AbsTimerIdx para identificar o temporizador absoluto dentro desse controlador [SWS_Fr_00035]. A declaração da função é disponibilizada através do arquivo de cabeçalho Fr.h [SWS_Fr_00035].

O resultado da execução é transmitido sincronamente ao chamador através do tipo de retorno Std_ReturnType [SWS_Fr_00035]. Se o serviço pôde ser terminado de forma adequada e bem-sucedida, ele retorna E_OK [SWS_Fr_00035]. Se, por outro lado, ocorrerem erros durante o processamento, a função cancela o processo e sinaliza isso pelo valor de retorno E_NOT_OK [SWS_Fr_00035]. Erros concretos de desenvolvimento ou de tempo de execução (DET/DEM) não estão indicados no elemento de especificação, de modo que os estados de erro devem ser primariamente reconhecidos e tratados com base no valor de retorno [SWS_Fr_00035].

Em relação à concorrência, Fr_DisableAbsoluteTimerIRQ é definida como não reentrante para o mesmo dispositivo (same device) [SWS_Fr_00035]. Portanto, múltiplas chamadas para o mesmo índice de controlador não devem ocorrer de forma concorrente e devem ser sincronizadas pelo chamador, ao passo que o acesso paralelo a diferentes controladores é permitido [SWS_Fr_00035].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R20-11.

função Fr_ReadCCConfig [SWS_Fr_00651] 📄 PDF

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

Service Fr_ReadCCConfig.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: d518f5d7267e Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona Fr_ReadCCConfig lê um parâmetro específico de configuração do protocolo FlexRay de um controlador diretamente da configuração de módulo do driver FlexRay [SWS_Fr_00651]. A interface é declarada através do cabeçalho Fr.h e possui o ID de serviço 0x2e [SWS_Fr_00651].

Parâmetros e valores de retorno

  • Fr_CtrlIdx: Determina o índice do FlexRay Communication Controller afetado no contexto do driver [SWS_Fr_00651].
  • Fr_ConfigParamIdx: Identifica o parâmetro a ser lido por meio de macros definidas no formato FR_CIDX_<config_parameter_name> [SWS_Fr_00651].
  • Fr_ConfigParamValuePtr: Ponteiro para o endereço de memória do tipo uint32, no qual o valor lido é gravado [SWS_Fr_00651].
  • Valor de retorno: Retorna E_OK em caso de execução bem-sucedida ou E_NOT_OK em caso de erro [SWS_Fr_00651].

Concorrência e comportamento em caso de erro

A função foi projetada para não ser reentrante para o mesmo controlador («Non Reentrant for the same device») [SWS_Fr_00651]. Chamadas simultâneas para diferentes instâncias de controladores são, portanto, provavelmente permitidas. Pergunta Q-b5e4172654514747 (aberta) Erros específicos de DET ou DEM não são mencionados na definição da interface; estados de erro levam ao cancelamento com o retorno de E_NOT_OK [SWS_Fr_00651]. Presumivelmente, o chamador deve garantir que Fr_ConfigParamValuePtr aponte para uma área de memória válida.

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

tipo Fr_ConfigType [SWS_Fr_91001] 📄 PDF

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

tipo Fr_SlotModeType [SWS_Fr_00506] 📄 PDF

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 71b66b82e47a Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo de enumeração Fr_SlotModeType faz parte da definição de interface do driver FlexRay no AUTOSAR Classic e é disponibilizado através do cabeçalho Fr_GeneralTypes.h [SWS_Fr_00506]. A definição do tipo referencia formalmente o tipo T_SlotMode da especificação do protocolo FlexRay, onde este é descrito no capítulo sobre o Protocol Operation Control (status do POC) [SWS_Fr_00506].

A enumeração especifica o estado do processamento de slots do controlador por meio de três valores fixamente definidos [SWS_Fr_00506]:

  • FR_SLOTMODE_KEYSLOT (valor 0x00): Mapeia o literal KEYSLOT da definição formal do tipo T_SlotMode [SWS_Fr_00506].
  • FR_SLOTMODE_ALL_PENDING (valor 0x01): Mapeia o literal ALL_PENDING da definição formal do tipo T_SlotMode [SWS_Fr_00506].
  • FR_SLOTMODE_ALL (valor 0x02): Mapeia o literal ALL da definição formal do tipo T_SlotMode [SWS_Fr_00506].

No uso com controladores que estão em conformidade com o padrão mais antigo FlexRay 2.1 Rev A, deve ser considerada uma nomenclatura divergente: em vez do literal KEYSLOT, surge aqui o literal SINGLESLOT [SWS_Fr_00506]. Interpretação: no nível do driver e do software, o tipo deve servir para determinar se o controlador FlexRay liberou atualmente apenas slots-chave (Key Slots) ou todos os slots para transmissão, ou se uma mudança correspondente está pendente. Pergunta Q-f926c41c8a5d3380 (aberta)

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo Fr_ErrorModeType [SWS_Fr_00507] 📄 PDF

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 0428cd81ff78 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O tipo de enumeração Fr_ErrorModeType mapeia os modos de erro do FlexRay Protocol Operation Control (POC) e é disponibilizado através do arquivo de cabeçalho Fr_GeneralTypes.h [SWS_Fr_00507]. A enumeração define os estados do mecanismo de monitoramento de erros do controlador de comunicação e referencia a definição formal do tipo T_ErrorMode no status do POC do FlexRay [SWS_Fr_00507].

O intervalo de valores compreende três estados, de acordo com [SWS_Fr_00507]:

  • FR_ERRORMODE_ACTIVE (0x00): Representa o literal ACTIVE da definição formal do tipo T_ErrorMode e identifica o estado livre de erros ou operação normal do controlador de comunicação.
  • FR_ERRORMODE_PASSIVE (0x01): Corresponde ao literal PASSIVE da definição formal do tipo T_ErrorMode, no qual foram registrados erros no barramento e a comunicação pode estar restrita.
  • FR_ERRORMODE_COMM_HALT (0x02): Mapeia o literal COMM_HALT da definição formal do tipo T_ErrorMode quando a comunicação do barramento foi interrompida devido a estados de erro graves.

Integração e condições de contorno

Interpretação: O tipo deve servir principalmente como valor de retorno ou parâmetro de status em funções de consulta do driver FlexRay, a fim de transmitir o estado do controlador a camadas de software de nível superior. Pergunta Q-e4d6ae534d1dfa2c (aberta) Como [SWS_Fr_00507] especifica exclusivamente a estrutura de dados, não existem tratamentos de erro próprios via DET ou DEM no nível do tipo, nem requisitos diretos de reentrância ou concorrência.

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo Fr_WakeupStatusType [SWS_Fr_00508] 📄 PDF

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 5640c2fecfca Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo de enumeração Fr_WakeupStatusType é disponibilizado através do arquivo de cabeçalho Fr_GeneralTypes.h e mapeia o status de despertar do driver FlexRay de acordo com a definição formal T_WakeupStatus do status do POC [SWS_Fr_00508].

Utilização e gama de valores

O tipo representa os vários estados e eventos durante um processo de despertar do FlexRay e compreende sete valores de enumeração específicos [SWS_Fr_00508]:

  • FR_WAKEUP_UNDEFINED (0x00): Corresponde ao literal UNDEFINED da definição formal do tipo [SWS_Fr_00508].
  • FR_WAKEUP_RECEIVED_HEADER (0x01): Identifica a receção de um cabeçalho de despertar (literal RECEIVED_HEADER) [SWS_Fr_00508].
  • FR_WAKEUP_RECEIVED_WUP (0x02): Representa o padrão de despertar recebido (literal RECEIVED_WUP) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_HEADER (0x03): Indica uma colisão em um cabeçalho recebido (literal COLLISION_HEADER) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_WUP (0x04): Sinaliza uma colisão durante um padrão de despertar (literal COLLISION_WUP) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_UNKNOWN (0x05): Descreve uma colisão com causa desconhecida (literal COLLISION_UNKNOWN) [SWS_Fr_00508].
  • FR_WAKEUP_TRANSMITTED (0x06): Confirma o envio bem-sucedido do sinal de despertar (literal TRANSMITTED) [SWS_Fr_00508].

Interação e restrições

Interpretação: O tipo deve servir primariamente como parâmetro de status de funções do driver para permitir aos módulos de nível superior um diagnóstico preciso do estado do canal e de despertar. Pergunta Q-48907418bc3729a1 (aberta) Como a especificação não define códigos de erro específicos ou restrições de concorrência para o próprio tipo, o uso está sujeito às convenções de chamada das respectivas funções de API que realizam a consulta [SWS_Fr_00508].

Esta nota de uso foi gerada automaticamente com base na especificação do AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I1)

tipo Fr_StartupStateType [SWS_Fr_00509] 📄 PDF

Type Fr_StartupStateType.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: a1f8765c7bfa Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo de enumeração Fr_StartupStateType é fornecido em conformidade com [SWS_Fr_00509] através do ficheiro de cabeçalho Fr_GeneralTypes.h e mapeia os estados de inicialização do controlador de protocolo FlexRay (estado POC) em valores padronizados. A definição refere-se à definição de tipo formal T_StartupState da secção 2.2.1.3 da especificação.

O intervalo de valores compreende onze estados discretos que mapeiam a sequência da inicialização do protocolo:

  • FR_STARTUP_UNDEFINED (0x00): Representa um estado de inicialização indefinido.
  • FR_STARTUP_COLDSTART_LISTEN (0x01) a FR_STARTUP_COLDSTART_GAP (0x09): Representam as fases do arranque a frio, incluindo a fase de escuta, verificação de consistência, resolução de colisões e adesão (Coldstart Join).
  • FR_STARTUP_INTEGRATION_LISTEN (0x06), FR_STARTUP_INITIALIZE_SCHEDULE (0x07) e FR_STARTUP_INTEGRATION_CONSISTENCY_CHECK (0x08): Representam etapas de integração e de inicialização no plano de temporização.
  • FR_STARTUP_EXTERNAL_STARTUP (0x0A): Representa a inicialização controlada externamente.

Os módulos de software integradores utilizam este tipo (interpretação: primariamente para consulta de estado ou monitorização da inicialização do controlador). Pergunta Q-7d07faa6c48d4e58 (aberta) Uma vez que Fr_StartupStateType é uma definição de tipo pura, não são disparados diretamente códigos de falha ou mensagens de falha; no entanto, as entidades avaliadoras devem ter em conta que valores fora do intervalo de 0x00 a 0x0A não estão especificados.

Este texto foi gerado por uma IA e serve como orientação. Apenas o texto da especificação AUTOSAR é vinculativo.

Guia do implementador em breve (complexidade I1)

tipo Fr_POCStatusType [SWS_Fr_00510] 📄 PDF

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 3280d7e2ba7e Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo de dados Fr_POCStatusType é especificado como uma estrutura de dados e é disponibilizado através do ficheiro de cabeçalho Fr_GeneralTypes.h [SWS_Fr_00510]. A definição formal remete para a descrição do tipo T_POCStatus na secção 2.2.1.3 (POC status) da especificação do protocolo FlexRay [SWS_Fr_00510].

Uso e construção da estrutura

A estrutura agrega o estado atual de operação e de protocolo do FlexRay Protocol Operation Control (POC) [SWS_Fr_00510]. É composta pelos seguintes elementos:

  • State (tipo Fr_POCStateType) e StartupState (tipo Fr_StartupStateType) para indicar o estado POC atual, bem como o estado de inicialização [SWS_Fr_00510].
  • ErrorMode (tipo Fr_ErrorModeType) e Freeze (tipo boolean) para assinalar o modo de erro e uma paragem do controlador [SWS_Fr_00510].
  • SlotMode (tipo Fr_SlotModeType) e WakeupStatus (tipo Fr_WakeupStatusType) para o modo de operação de slot e o estado de despertar [SWS_Fr_00510].
  • CHIHaltRequest, CHIReadyRequest bem como ColdstartNoise (respetivamente boolean) para sinalizar pedidos de interface do anfitrião ou ruído na linha durante o arranque a frio [SWS_Fr_00510].

Simultaneidade e integração

Interpretação: Como Fr_POCStatusType é uma estrutura de dados pura sem lógica funcional própria, deverá atuar primariamente como parâmetro de saída em consultas de estado do hardware FlexRay. Pergunta Q-960f2475ff1068fc (aberta) Caso múltiplas tarefas ou camadas de software acedam a instâncias desta estrutura, os chamadores devem assegurar de forma autónoma uma sincronização adequada, de modo a garantir uma leitura consistente dos subestados correlacionados [SWS_Fr_00510].

Esta nota de utilização foi gerada automaticamente com base no payload para SWS_Fr_00510.

Guia do implementador em breve (complexidade I1)

tipo Fr_TxLPduStatusType [SWS_Fr_00511] 📄 PDF

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 2ca1e4be5d96 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo de enumeração Fr_TxLPduStatusType serve, na plataforma AUTOSAR Classic, para determinar se uma LPdu FlexRay (Link Layer Protocol Data Unit) foi transmitida com sucesso ou não [SWS_Fr_00511]. A definição do tipo é disponibilizada para módulos de software através do arquivo de cabeçalho Fr_GeneralTypes.h [SWS_Fr_00511].

O intervalo de valores da enumeração compreende três estados de status inequívocos para processos de transmissão [SWS_Fr_00511]:

  • FR_TRANSMITTED (0x00): A LPdu foi transmitida com sucesso pelo barramento [SWS_Fr_00511].
  • FR_TRANSMITTED_CONFLICT (0x01): Durante a transmissão, ocorreu um conflito [SWS_Fr_00511].
  • FR_NOT_TRANSMITTED (0x02): A LPdu não foi transmitida [SWS_Fr_00511].

Em relação à interação e ao contexto de chamada, é provável que este valor de estado seja tipicamente utilizado por camadas superiores para consultar o estado do buffer de transmissão no driver FlexRay (interpretação). Pergunta Q-347a88512db1f006 (aberta) Códigos de erro específicos, rotinas de tratamento de erros bem como notificações DET ou DEM não estão previstos para este tipo de dados nas especificações, uma vez que se trata de uma mera declaração de tipo [SWS_Fr_00511].

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo Fr_RxLPduStatusType [SWS_Fr_00512] 📄 PDF

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 454416ec6a4f Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo de enumeração Fr_RxLPduStatusType faz parte do módulo AUTOSAR Classic Fr e é disponibilizado através do arquivo de cabeçalho Fr_GeneralTypes.h [SWS_Fr_00512]. Ele serve para determinar se uma L-PDU (PDU da camada de enlace FlexRay) foi recebida ou não [SWS_Fr_00512].

O tipo define três valores de estado discretos para a avaliação do estado de recepção [SWS_Fr_00512]:

  • FR_RECEIVED (0x00): A L-PDU foi recebida com sucesso [SWS_Fr_00512].
  • FR_NOT_RECEIVED (0x01): A L-PDU não foi recebida [SWS_Fr_00512].
  • FR_RECEIVED_MORE_DATA_AVAILABLE (0x02): A L-PDU foi recebida e estão disponíveis outras instâncias desta L-PDU, como ocorre no uso de FIFOs de recepção [SWS_Fr_00512].

Na operação de recepção através de estruturas de buffer, o tipo não apenas distingue a presença de dados recebidos, mas também indica, na operação com FIFO, a existência de outras instâncias [SWS_Fr_00512]. É provável que isso sinalize ao chamador que, após a leitura da instância atual, outros dados podem ser recuperados imediatamente da FIFO [SWS_Fr_00512]. Pergunta Q-0ab7cac72ff7f549 (aberta)

Esta nota de uso foi criada por uma IA e baseia-se na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo Fr_SlotAssignmentType [SWS_Fr_91002] 📄 PDF

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9bab6b29a274 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A estrutura Fr_SlotAssignmentType serve para o armazenamento de informações de associação de um frame FlexRay a um ciclo de comunicação e a um ID de slot [SWS_Fr_91002]. Ela está definida no cabeçalho Fr_GeneralTypes.h e reúne todos os parâmetros de endereçamento necessários para a transmissão ou recepção de um frame no canal FlexRay [SWS_Fr_91002].

A estrutura compreende os seguintes elementos [SWS_Fr_91002]:

  • Cycle (tipo uint8): Identifica o ciclo no qual o frame FlexRay é transmitido ou recebido [SWS_Fr_91002].
  • SlotId (tipo uint16): Designa o ID de slot unívoco do frame dentro do esquema de comunicação FlexRay [SWS_Fr_91002].
  • channelId (tipo Fr_ChannelType): Indica o canal FlexRay através do qual ocorre a transmissão ou a recepção [SWS_Fr_91002].

Como Fr_SlotAssignmentType representa uma estrutura de dados pura, ela não possui semântica de execução própria, como sincronicidade ou reentrância, e não dispara por si mesma mensagens de erro DET ou DEM [SWS_Fr_91002]. É provável que a consistência dos valores contidos para ciclo, slot e canal seja de responsabilidade das funções do driver que a utilizam (interpretação). Pergunta Q-77f88375e544e298 (aberta)

Este texto foi criado por uma IA e baseia-se exclusivamente nos dados de especificação do AUTOSAR Classic R20-11.

tipo Fr_ChannelType [SWS_Fr_00514] 📄 PDF

FlexRay channel identifier: FR_CHANNEL_A, FR_CHANNEL_B, or FR_CHANNEL_AB.

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

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

Inicialização e estado

Returns the version information of this module.

void Fr_GetVersionInfo (Std_VersionInfoType* VersioninfoPtr);
Fr_Init função

Initializes the Fr.

void Fr_Init (const Fr_ConfigType* Fr_ConfigPtr);

Serviços · Get…

Gets IRQ status of an absolute timer.

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

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

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

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

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

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

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

Gets the network management vector of the last communication cycle.

Std_ReturnType Fr_GetNmVector (uint8 Fr_CtrlIdx, uint8* Fr_NmVectorPtr);

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

Std_ReturnType Fr_GetNumOfStartupFrames (uint8 Fr_CtrlIdx, uint8* Fr_NumOfStartupFramesPtr);

Gets the POC status.

Std_ReturnType Fr_GetPOCStatus (uint8 Fr_CtrlIdx, Fr_POCStatusType* Fr_POCStatusPtr);

Service Fr_GetSyncFrameList.

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

Gets the wakeup received information from the Flex Ray controller.

Std_ReturnType Fr_GetWakeupRxStatus (uint8 Fr_CtrlIdx, uint8* Fr_WakeupRxStatusPtr);

Serviços · Cancel…

Stops an absolute timer.

Std_ReturnType Fr_CancelAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

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

Std_ReturnType Fr_CancelTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Serviços · Disable…

Disables the in terrupt line of an absolute timer.

Std_ReturnType Fr_DisableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

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

Std_ReturnType Fr_DisableLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Serviços · Set…

Sets the absolute Flex Ray timer.

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

Sets a wakeup channel.

Std_ReturnType Fr_SetWakeupChannel (uint8 Fr_CtrlIdx, Fr_ChannelType Fr_ChnlIdx);

Serviços · Outros

Invokes the CC CHI command 'FREEZE'.

Std_ReturnType Fr_AbortCommunication (uint8 Fr_CtrlIdx);

Service Fr_AckAbsoluteTimerIRQ.

Std_ReturnType Fr_AckAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Invokes the CC CHI command 'ALLOW_ COLDSTART'.

Std_ReturnType Fr_AllowColdstart (uint8 Fr_CtrlIdx);
Fr_AllSlots função

Invokes the CC CHI command 'ALL_ SLOTS'.

Std_ReturnType Fr_AllSlots (uint8 Fr_CtrlIdx);

Checks the transmit status of the LSdu.

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

Initialzes a F lex Ray CC.

Std_ReturnType Fr_ControllerInit (uint8 Fr_CtrlIdx);

Service Fr_EnableAbsoluteTimerIRQ.

Std_ReturnType Fr_EnableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Invokes the CC CHI command 'DEFERRED_ HALT'.

Std_ReturnType Fr_HaltCommunication (uint8 Fr_CtrlIdx);

Prepares a LPdu.

Std_ReturnType Fr_PrepareLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Service Fr_ReadCCConfig.

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

Service Fr_ReceiveRxLPdu.

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

Service Fr_ReconfigLPdu.

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

Invokes the CC CHI command 'WAKEUP'.

Std_ReturnType Fr_SendWUP (uint8 Fr_CtrlIdx);

Starts communication.

Std_ReturnType Fr_StartCommunication (uint8 Fr_CtrlIdx);

Transmits data on the Flex Ray network.

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

Tipos

FlexRay channel identifier: FR_CHANNEL_A, FR_CHANNEL_B, or FR_CHANNEL_AB.

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

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

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

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

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

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

Type Fr_StartupStateType.

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

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