DEENESPTFRRUARHIKOZHNL

LIN State Manager (LinSM)

ModulLinSM (LIN State Manager)
BSW-Modul-ID141
Standard-Header#include "LinSM.h"
SWS-SpezifikationAUTOSAR_SWS_LINStateManager.pdf
ClusterLIN

Guia do móduloGERADO POR IA

Controla o modo de comunicação, despertar, suspensão e alternância de tabelas de schedule para cada rede LIN.
GERADO POR IA não revisado Modelo: claude-opus-5-5 · Esforço: high · Temperatura: não controlável · Prompt: 4c8293bd0eb8 Procedência Perguntas em aberto (2)
Â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

Controla o modo de comunicação, despertar, suspensão e alternância de tabelas de schedule para cada rede LIN.

O LIN State Manager converte as solicitações de comunicação do ComM para cada rede LIN em chamadas ao LIN Interface. Ele reporta os estados resultantes LINSM_FULL_COM e LINSM_NO_COM ao ComM e ao BswM [SWS_LinSM_00126]. Ele inicia diretamente o despertar, a suspensão e, apenas no master, a mudança da tabela de schedule, monitorando as confirmações com temporizadores em LinSM_MainFunction. No slave, o master determina a suspensão: apenas LinSM_GotoSleepIndication aciona LinIf_GotoSleep [SWS_LinSM_00231]. Se uma transição falhar, o LinSM reporta novamente o estado anterior para que as camadas superiores permaneçam consistentes.

O LIN State Manager é o bus state manager para o LIN. Por meio dele, o ComM solicita a capacidade de comunicação de uma rede (SWS ComM p. 19). Ele recebe pedidos de modo via LinSM_RequestComMode [SWS_LinSM_00126]. Ele controla o LinIf e reporta estados ao ComM e ao BswM [SWS_LinSM_00229]. Qual driver LIN atende a uma rede permanece oculto atrás do LinIf (SWS LinSM p. 28).

kontext ComM ComM LinSM LinSM ComM->LinSM LinSM_RequestComMode LinSM_GetCurrentComMode BswM BswM BswM->LinSM LinSM_Init (Beispielregel) LinSM_ScheduleRequest SchM BSW-Scheduler (SchM) SchM->LinSM LinSM_MainFunction (periodisch) LinSM->ComM ComM_BusSM_ModeIndication ComM_BusSM_BusSleepMode LinSM->BswM BswM_LinSM_CurrentState BswM_LinSM_CurrentSchedule LinIf LinIf LinSM->LinIf LinIf_Wakeup / LinIf_GotoSleep LinIf_ScheduleRequest / LinIf_SetTrcvMode Det Det LinSM->Det Fehlermeldungen LinIf->LinSM LinSM_WakeupConfirmation LinSM_GotoSleepConfirmation LinSM_GotoSleepIndication LinSM_ScheduleRequestConfirmation Lin Driver LIN (um ou mais) LinIf->Lin Zuordnung Netzwerk zu Treiber

Diagrama de contexto: ComM e BswM controlam o LinSM, o LinSM controla o LinIf e o LinIf retorna respostas por meio de callbacks. Fontes: [SWS_LinSM_00229], [SWS_LinSM_00138], SWS LinSM p. 28

Após LinSM_Init, cada rede está em LINSM_NO_COM [SWS_LinSM_00155]. ComM e BswM não são notificados nesse processo (SWS LinSM p. 23). A comunicação só é permitida em LINSM_FULL_COM. Ao entrar, ComM e BswM recebem uma notificação, e o subestado LINSM_RUN_COMMUNICATION é introduzido [SWS_LinSM_00301]. Para o BswM, apenas LINSM_FULL_COM e LINSM_NO_COM são visíveis [SWS_LinSM_00220].

zustaende cluster_init LINSM_INIT (je LIN-Netzwerk) cluster_full LINSM_FULL_COM Start Systemstart UNINIT LINSM_UNINIT Start->UNINIT NO_COM LINSM_NO_COM (Bus still) UNINIT->NO_COM LinSM_Init (nenhuma notificação ao ComM/BswM) RUN LINSM_RUN_COMMUNICATION NO_COM->RUN LinSM_WakeupConfirmation(TRUE) Notificação de FULL_COM ao ComM e BswM GOTO LINSM_GOTO_SLEEP RUN->GOTO LinIf_GotoSleep retorna E_OK Master: ComM solicita NO_COM Slave: LinSM_GotoSleepIndication GOTO->NO_COM LinSM_GotoSleepConfirmation (independentemente de success) Notificação de NO_COM ao ComM e BswM

Diagrama de estados: Para cada rede, o LinSM alterna entre LINSM_NO_COM e LINSM_FULL_COM por meio de confirmação de despertar e suspensão. Fontes: [SWS_LinSM_00155], [SWS_LinSM_00301], SWS LinSM p. 20

O LinSM inicia o despertar e a suspensão diretamente na chamada. Ele monitora as confirmações do LinIf com temporizadores em LinSM_MainFunction [SWS_LinSM_00156] (SWS LinSM p. 28). No master, uma solicitação para COMM_NO_COMMUNICATION leva imediatamente a LinIf_GotoSleep [SWS_LinSM_00036]. No slave, ela é apenas armazenada [SWS_LinSM_00230]; somente LinSM_GotoSleepIndication aciona a suspensão [SWS_LinSM_00231]. Um temporizador silence-after-wakeup atrasa novas tentativas de despertar [SWS_LinSM_00237].

A mudança de schedule existe apenas no master [SWS_LinSM_00241]. O LinSM encaminha LinSM_ScheduleRequest diretamente para o LinIf e reporta o resultado via BswM_LinSM_CurrentSchedule (SWS LinSM p. 26). Para erros aplica-se o seguinte:

  • O LinSM reporta erros de desenvolvimento ao DET, com os códigos de [SWS_LinSM_00053].
  • A ausência de callback do LinIf é considerada como LINSM_E_CONFIRMATION_TIMEOUT [SWS_LinSM_00224].
  • Após uma transição malsucedida, o LinSM define novamente o estado anterior para que ComM e BswM fiquem informados de forma consistente [SWS_LinSM_00177].

Papel entre ComM, BswM e LIN Interface

O LIN State Manager (LinSM) é o bus state manager para o LIN. Assim como nos outros bus state managers, o ComM solicita por meio dele a capacidade de comunicação de uma rede (SWS ComM p. 19). A interface de entrada central para isso é LinSM_RequestComMode [SWS_LinSM_00126]. O modo atual é fornecido por LinSM_GetCurrentComMode [SWS_LinSM_00122]. O LinSM opera exclusivamente em redes. Qual driver LIN atende a uma rede é ocultado pelo LinIf. Por isso, ECUs com múltiplos drivers LIN diferentes não afetam o LinSM (SWS LinSM p. 28).

As interfaces obrigatórias incluem LinIf_GotoSleep e LinIf_ScheduleRequest para baixo, bem como as notificações ComM_BusSM_ModeIndication, ComM_BusSM_BusSleepMode, BswM_LinSM_CurrentState e BswM_LinSM_CurrentSchedule para cima [SWS_LinSM_00229] (SWS LinSM p. 41). O LinSM chama LinIf_Wakeup durante o fluxo de despertar (SWS LinSM p. 27). Opcionalmente, ele utiliza Det_ReportError e LinIf_SetTrcvMode [SWS_LinSM_00138]. O LinIf responde por meio dos seguintes callbacks:

Os tipos importados, como ComM_ModeType, NetworkHandleType e LinIf_SchHandleType, são definidos por [SWS_LinSM_00219].

kontext ComM ComM LinSM LinSM ComM->LinSM LinSM_RequestComMode LinSM_GetCurrentComMode BswM BswM BswM->LinSM LinSM_Init (Beispielregel) LinSM_ScheduleRequest SchM BSW-Scheduler (SchM) SchM->LinSM LinSM_MainFunction (periodisch) LinSM->ComM ComM_BusSM_ModeIndication ComM_BusSM_BusSleepMode LinSM->BswM BswM_LinSM_CurrentState BswM_LinSM_CurrentSchedule LinIf LinIf LinSM->LinIf LinIf_Wakeup / LinIf_GotoSleep LinIf_ScheduleRequest / LinIf_SetTrcvMode Det Det LinSM->Det Fehlermeldungen LinIf->LinSM LinSM_WakeupConfirmation LinSM_GotoSleepConfirmation LinSM_GotoSleepIndication LinSM_ScheduleRequestConfirmation Lin Driver LIN (um ou mais) LinIf->Lin Zuordnung Netzwerk zu Treiber

Diagrama de contexto: O LinSM intermedeia entre ComM e BswM acima e o LinIf abaixo; os drivers LIN permanecem ocultos atrás do LinIf. Fontes: [SWS_LinSM_00126], [SWS_LinSM_00229], [SWS_LinSM_00138], [SWS_LinSM_00156], SWS LinSM p. 28, Mode-Management-Guide p. 54

Modelo de estados por rede LIN, inicialização e parte cíclica

Na inicialização, antes de qualquer chamada de API, o estado LINSM_UNINIT em todo o módulo está ativo (SWS LinSM p. 22). LinSM_Init é síncrona e não reentrante [SWS_LinSM_00155]. A função recebe um ponteiro para a configuração post-build do tipo específico da implementação LinSM_ConfigType [SWS_LinSM_00221]. Depois disso, cada rede está no subestado LINSM_NO_COM do superestado LINSM_INIT. LinSM_Init não reporta esta primeira transição nem ao ComM nem ao BswM, porque o ComM ainda não precisa estar inicializado neste momento (SWS LinSM p. 23). No exemplo do guia de Mode Management, uma regra do BswM chama LinSM_Init(null) após Lin_Init e LinIf_Init (Mode-Management-Guide p. 54).

Em LINSM_NO_COM o barramento permanece silencioso (SWS LinSM p. 23). Apenas em LINSM_FULL_COM é permitido comunicar no barramento, e cada rede atinge esse estado independentemente das outras. Ao entrar, ocorre o seguinte (SWS LinSM p. 23):

  • O ComM recebe uma notificação com COMM_FULL_COMMUNICATION, e o BswM uma notificação com LINSM_FULL_COM.
  • Se LinSMTransceiverPassiveMode estiver configurado, o LinSM comuta o transceptor para ativo via LinIf_SetTrcvMode.
  • O subestado LINSM_RUN_COMMUNICATION é introduzido [SWS_LinSM_00301].

O subestado temporário LINSM_GOTO_SLEEP faz a transição durante a espera pela confirmação de suspensão (SWS LinSM p. 20, SWS LinSM p. 21). Para o BswM, apenas dois valores de LinSM_ModeType são visíveis: LINSM_FULL_COM (0x01) e LINSM_NO_COM (0x02) [SWS_LinSM_00220].

O monitoramento temporal é executado em LinSM_MainFunction. Esta função periódica gerencia os temporizadores dos timeouts de solicitação [SWS_LinSM_00156]. Nela também operam os temporizadores de confirmação de despertar, com um temporizador dedicado para cada rede (SWS LinSM p. 28). Por outro lado, o LinSM inicia as ações de barramento propriamente ditas diretamente na chamada e não espera pelo próximo ciclo da main function [SWS_LinSM_00036] [SWS_LinSM_00231].

zustaende cluster_init LINSM_INIT (je LIN-Netzwerk) cluster_full LINSM_FULL_COM Start Systemstart UNINIT LINSM_UNINIT Start->UNINIT NO_COM LINSM_NO_COM (Bus still) UNINIT->NO_COM LinSM_Init (nenhuma notificação ao ComM/BswM) RUN LINSM_RUN_COMMUNICATION NO_COM->RUN LinSM_WakeupConfirmation(TRUE) Notificação de FULL_COM ao ComM e BswM GOTO LINSM_GOTO_SLEEP RUN->GOTO LinIf_GotoSleep retorna E_OK Master: ComM solicita NO_COM Slave: LinSM_GotoSleepIndication GOTO->NO_COM LinSM_GotoSleepConfirmation (independentemente de success) Notificação de NO_COM ao ComM e BswM

Diagrama de estados: Para cada rede, o LinSM alterna entre LINSM_NO_COM e LINSM_FULL_COM através de confirmação de despertar e suspensão; LINSM_GOTO_SLEEP é apenas um estado de espera. Fontes: [SWS_LinSM_00155], [SWS_LinSM_00301], SWS LinSM p. 20, SWS LinSM p. 21, SWS LinSM p. 24

Despertar: de LINSM_NO_COM para LINSM_FULL_COM

Uma rede LIN é acordada quando o ComM solicita comunicação completa via LinSM_RequestComMode. Se outro nó acordar o barramento, isso não é tratado pelo LinSM, mas sim pelo EcuM; esse caso também resulta em uma solicitação por parte do ComM (SWS LinSM p. 27). O LinSM chama então diretamente LinIf_Wakeup e reinicializa o contador para o número máximo de repetições. Se o LinIf já estiver acordado, ele ignora a chamada. Antes da chamada, o LinSM inicia o temporizador de confirmação de despertar para o canal com LinSMConfirmationTimeout. Esse valor deve ser 0 ou um múltiplo inteiro do período da main function (SWS LinSM p. 28).

Se LinSM_WakeupConfirmation reportar success = TRUE, a rede transita para LINSM_FULL_COM [SWS_LinSM_00132]. Em todos os outros casos, o LinSM define novamente o estado anterior à requisição, para que ComM e BswM recebam mesmo assim uma indicação de modo (SWS LinSM p. 27). No Slave, o LinIf só confirma quando recebe o primeiro cabeçalho LIN do Master. Se o Master não iniciar o scheduling, a confirmação não ocorre e o timeout do LinSM é acionado (SWS LinIf p. 52).

Wake-up de uma rede LIN (wake-up interno)ComMLinSMLinIfBswMLinSM_RequestComMode(network,COMM_FULL_COMMUNICATION)Iniciar temporizador de confirmação de wake-up(LinSMConfirmationTimeout)LinIf_Wakeup(Channel)diretamente, não na LinSM_MainFunctionE_OKE_OKMaster: confirmação após o envio do sinal de wake-upSlave: confirmação com o primeiro cabeçalho LIN recebidoaltsuccess = TRUELinSM_WakeupConfirmation(network, TRUE)Timer stoppenLINSM_FULL_COM / LINSM_RUN_COMMUNICATIONComM_BusSM_ModeIndication(network,COMM_FULL_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_FULL_COM)success = FALSELinSM_WakeupConfirmation(network, FALSE)Redefinir estado anterior à solicitaçãoComM_BusSM_ModeIndication(network, bisheriger Modus)BswM_LinSM_CurrentState(network, bisheriger Zustand)nenhuma confirmaçãoLinSM_MainFunction: Timer abgelaufenLINSM_E_CONFIRMATION_TIMEOUT

Diagrama de sequência: o LinSM acorda a rede imediatamente na chamada; no entanto, a mudança de estado só se segue com a confirmação assíncrona do LinIf. Fontes: [SWS_LinSM_00126], [SWS_LinSM_00132], [SWS_LinSM_00224], SWS LinSM p. 42, SWS LinSM p. 27

Um segundo limite temporal é o temporizador Silence-after-Wakeup com LinSMSilenceAfterWakeupTimeout [SWS_LinSM_00235]. Enquanto estiver em execução, o LinSM atrasa uma nova chamada de LinIf_Wakeup, mesmo que ComM solicite comunicação total [SWS_LinSM_00237]. Após a sua expiração, o LinSM reinicia o processo de wakeup, desde que ComM continue a solicitar COMM_FULL_COMMUNICATION [SWS_LinSM_00236]. A condição que inicia o temporizador consta de um requisito que não está disponível aqui. Portanto, não é descrita.

wakeup_entscheidung A ComM: LinSM_RequestComMode (COMM_FULL_COMMUNICATION) B Temporizador de Silence-after-Wakeup em execução? A->B C Atrasar LinIf_Wakeup até a expiração do temporizador B->C sim D Reiniciar contador de repetições Iniciar temporizador de confirmação de wake-up B->D não C->D Timer abgelaufen E LinIf_Wakeup(Channel) direkt aufrufen D->E F Retorno do LinIf? E->F G LINSM_FULL_COM Notificação ao ComM e BswM F->G WakeupConfirmation TRUE H Redefinir e notificar estado anterior à requisição F->H WakeupConfirmation FALSE I LinSM_MainFunction: Timer abgelaufen LINSM_E_CONFIRMATION_TIMEOUT F->I nenhuma confirmação J Timeout de Silence-after-Wakeup e COMM_FULL_COMMUNICATION ainda solicitado J->D Reiniciar processo de wake-up

Diagrama de atividades: uma requisição de comunicação total termina, dependendo da situação do temporizador e do feedback, em LINSM_FULL_COM, no estado anterior ou em um timeout de confirmação. Fontes: [SWS_LinSM_00237], [SWS_LinSM_00236], [SWS_LinSM_00224], SWS LinSM p. 27, SWS LinSM p. 28

Ir para o modo sleep: o Master solicita, o Slave segue o barramento

O fluxo de Goto-Sleep difere entre Master e Slave. Em ambos os casos, o LinSM reporta a entrada no modo No-Communication ao BswM e ao ComM, mesmo que tenha ocorrido um problema (SWS LinSM p. 24).

Para o Master aplica-se:

  • Se ComM solicitar COMM_NO_COMMUNICATION em LINSM_FULL_COM, o LinSM chama LinIf_GotoSleep, que envia o comando Goto-Sleep [SWS_LinSM_10208].
  • A chamada ocorre diretamente [SWS_LinSM_00036]. Em todos os outros casos, ela é omitida [SWS_LinSM_10209].
  • A chamada só é permitida no subestado LINSM_RUN_COMMUNICATION (SWS LinSM p. 24).
  • Se LinIf_GotoSleep retornar E_NOT_OK, LinSM_RequestComMode também retorna E_NOT_OK. O estado anterior é definido novamente para que ComM e BswM recebam uma indicação [SWS_LinSM_00177].

Em seguida, o LinIf chama LinSM_GotoSleepConfirmation [SWS_LinSM_00135]. Se o LinSM estiver então em LINSM_FULL_COM/LINSM_GOTO_SLEEP, ele transita para LINSM_NO_COM, independentemente do parâmetro success. Em qualquer outro estado, ele ignora a confirmação (SWS LinSM p. 24). O diagrama da especificação inicia um temporizador antes de LinIf_GotoSleep e para-o após a confirmação (SWS LinSM p. 47).

Entrada em sleep de uma rede LIN (master)ComMLinSMLinIfBswMLinSM_RequestComMode(network,COMM_NO_COMMUNICATION)apenas em LINSM_FULL_COM / LINSM_RUN_COMMUNICATIONchamada direta, não na LinSM_MainFunctionstart_timer()LinIf_GotoSleep(Channel)altLinIf_GotoSleep = E_OKE_OKUnterzustand LINSM_GOTO_SLEEPE_OKLinSM_GotoSleepConfirmation(network, success)stop_timer()LINSM_NO_COM (independentemente de success)ComM_BusSM_ModeIndication(network,COMM_NO_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_NO_COM)LinIf_GotoSleep = E_NOT_OKE_NOT_OKbisherigen Zustand erneut setzenE_NOT_OKComM_BusSM_ModeIndication(network,COMM_FULL_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_FULL_COM)

Diagrama de sequência: no Master, o ComM dispara o processo de sleep; LINSM_NO_COM só é atingido com a confirmação de sleep, e um E_NOT_OK de LinIf_GotoSleep leva à nova notificação do estado anterior. Fontes: [SWS_LinSM_00036], [SWS_LinSM_00177], [SWS_LinSM_00135], SWS LinSM p. 47, SWS LinSM p. 24

No Slave, o Master decide sobre a transição para sleep. Se ComM solicitar COMM_NO_COMMUNICATION em LINSM_FULL_COM, o LinSM apenas armazena a solicitação e retorna E_OK [SWS_LinSM_00230]. O LinIf reporta LinSM_GotoSleepIndication quando um comando Goto-Sleep foi recebido ou quando ocorreu um timeout de bus idle [SWS_LinSM_91000]. Só então o LinSM chama diretamente LinIf_GotoSleep [SWS_LinSM_00231]. Como o processo prossegue depende da solicitação armazenada:

  • Se COMM_NO_COMMUNICATION estiver solicitado e LinIf_GotoSleep retornar E_OK, o ComM toma conhecimento do evento de bus sleep através de ComM_BusSM_BusSleepMode [SWS_LinSM_00233].
  • Se comunicação total estiver solicitada, o LinSM reinicia o processo de wakeup após a confirmação de sleep [SWS_LinSM_00234].

No LinIf, o fluxo do Slave coloca o controlador e, se suportado, o transceptor em modo sleep (SWS LinIf p. 137).

Entrada em sleep de uma rede LIN (slave)ComMLinSMLinIfBswMUse Case: Solicitação de sleep do ComMLinSM_RequestComMode(network,COMM_NO_COMMUNICATION)angeforderten Modus speichern,nenhuma ação adicionalE_OKUse Case: BusereignisLinSM_GotoSleepIndication(Channel)Goto-Sleep-Kommando empfangenou timeout de bus-idlestart_timer()LinIf_GotoSleep(Channel)diretamente, não na LinSM_MainFunctionE_OKaltangefordert: COMM_NO_COMMUNICATIONComM_BusSM_BusSleepMode(Channel)LinSM_GotoSleepConfirmation(network, success)stop_timer()LINSM_NO_COMComM_BusSM_ModeIndication(network,COMM_NO_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_NO_COM)angefordert: COMM_FULL_COMMUNICATIONLinSM_GotoSleepConfirmation(network, success)LINSM_NO_COM, notificação ao ComM e BswMkein Bus-Sleep-Ereignis an ComMReiniciar processo de wake-up (LinIf_Wakeup)

Diagrama de sequência: no Slave, a solicitação de sleep do ComM é apenas armazenada; o processo de sleep é disparado pela indicação do LinIf. Fontes: [SWS_LinSM_00230], [SWS_LinSM_00231], [SWS_LinSM_00233], [SWS_LinSM_00234], SWS LinSM p. 48, SWS LinSM p. 24

Trocar tabelas de schedule (apenas Master)

LinSM_ScheduleRequest [SWS_LinSM_00113] só existe se pelo menos um canal estiver configurado como Master [SWS_LinSM_00241]. O mesmo se aplica ao callback LinSM_ScheduleRequestConfirmation [SWS_LinSM_00242]. A função assíncrona encaminha a requisição diretamente para LinIf_ScheduleRequest, sem passar pela Main Function. Ela devolve o valor de retorno desta ao chamador (SWS LinSM p. 26). O chamador é o BswM. Ele utiliza LinSMScheduleIndex como referência simbólica cujo valor deve corresponder ao valor no LinIf (SWS LinSM p. 52). As trocas de schedule de diagnóstico do protocolo de transporte LIN também ocorrem via BswM e LinSM_ScheduleRequest (SWS LinIf p. 142).

O LinSM reporta o resultado através de BswM_LinSM_CurrentSchedule (SWS BswM p. 80). Qual schedule é reportado depende do decurso (SWS LinSM p. 26):

  • Se LinSM_ScheduleRequestConfirmation [SWS_LinSM_00129] confirmar antes da expiração do temporizador, o LinSM reporta o novo schedule.
  • Se o temporizador tiver expirado, ele reporta o schedule inalterado.
  • Se LinIf_ScheduleRequest retornar E_NOT_OK, ele reporta o schedule anterior na próxima chamada da Main Function.
  • Ele também reporta uma troca sem solicitação prévia, como a mudança para o schedule NULL realizada pelo LinIf durante a transição para sleep.
Troca da schedule table (apenas master)BswMLinSMLinIfLinSM_ScheduleRequest(network, schedule)start_timer()LinIf_ScheduleRequest(Channel, schedule)diretamente, não na LinSM_MainFunctionaltE_OK, confirmação antes da expiração do temporizadorE_OKE_OK (weitergereicht)LinSM_ScheduleRequestConfirmation(network, schedule)stop_timer()BswM_LinSM_CurrentSchedule(network, neuer Schedule)E_OK, Timer abgelaufenE_OKE_OK (weitergereicht)LinSM_MainFunction: Timer abgelaufenBswM_LinSM_CurrentSchedule(network, schedule inalterada)LinIf_ScheduleRequest = E_NOT_OKE_NOT_OKE_NOT_OK (weitergereicht)próxima chamada de LinSM_MainFunctionBswM_LinSM_CurrentSchedule(network, alter Schedule)

Diagrama de sequência: a troca de schedule é repassada diretamente e monitorada por temporizador; em qualquer desfecho, o BswM toma conhecimento do schedule efetivamente válido. Fontes: [SWS_LinSM_00113], [SWS_LinSM_00129], [SWS_LinSM_00156], SWS LinSM p. 26, SWS LinSM p. 48

Tipo de nó, configuração e diferenças em relação a releases posteriores

O parâmetro LinSMNodeType define se o comportamento de Master ou Slave se aplica a um canal. Disso depende se LinSM_ScheduleRequest, LinSM_ScheduleRequestConfirmation e LinSM_GotoSleepIndication estão disponíveis [SWS_LinSM_00241] [SWS_LinSM_00242] [SWS_LinSM_00243]. Os parâmetros temporais mais importantes são LinSMConfirmationTimeout (SWS LinSM p. 28) e LinSMSilenceAfterWakeupTimeout [SWS_LinSM_00235]. Os contêineres LinSMSchedule referenciam schedules da configuração do LinIf (SWS LinSM p. 52). As verificações de DET dependem de LinSMDevErrorDetect [SWS_LinSM_00239].

Muitas passagens do documento provêm de releases posteriores. Para o R20-11, os Requirements são determinantes e, em alguns pontos, divergem:

Comportamento em caso de erro

[SWS_LinSM_00053] define os erros de desenvolvimento:

  • LINSM_E_UNINIT (0x00)
  • LINSM_E_NONEXISTENT_NETWORK (0x20)
  • LINSM_E_PARAMETER (0x30)
  • LINSM_E_PARAM_POINTER (0x40)
  • LINSM_E_INIT_FAILED (0x50)

Com LinSMDevErrorDetect ativo, os callbacks verificam a rede e a inicialização, como por exemplo LinSM_GotoSleepIndication [SWS_LinSM_00239] [SWS_LinSM_00240]. Os callbacks não possuem valor de retorno, portanto a ação limita-se à notificação DET (SWS LinSM p. 40, SWS LinSM p. 39). APIs com Std_ReturnType retornam adicionalmente E_NOT_OK, por exemplo em caso de rede, modo ou schedule inválidos ou no estado LINSM_UNINIT (SWS LinSM p. 36, SWS LinSM p. 34). Interpretação: estas verificações provêm de versões a partir do R24-11 e devem ser aplicáveis com teor idêntico para o R20-11. Chama a atenção o fato de a versão posterior exigir E_NOT_OK em caso de ponteiro NULL também para a API void LinSM_GetVersionInfo [SWS_LinSM_00117] (SWS LinSM p. 34). Pergunta Q-6b2d75dd286bdcb4 (aberta)

Como erro de runtime, está previsto LINSM_E_CONFIRMATION_TIMEOUT (0x00) para a ausência de callbacks do LinIf [SWS_LinSM_00224]. Presumivelmente, ele é reportado através de Det_ReportRuntimeError, que versões posteriores listam como interface obrigatória (SWS LinSM p. 41). Pergunta Q-06b13a07d0d60152 (aberta) Funcionalmente, o LinSM garante que ComM e BswM vejam sempre um estado consistente:

  • Após um wakeup com falha, ele define e reporta novamente o estado anterior (SWS LinSM p. 27).
  • Em caso de E_NOT_OK de LinIf_GotoSleep, aplica-se o mesmo [SWS_LinSM_00177].
  • Uma confirmação de sleep leva a LINSM_NO_COM mesmo com success = FALSE (SWS LinSM p. 24).
  • Em caso de troca de schedule malsucedida, o BswM recebe o schedule anterior ou inalterado (SWS LinSM p. 26).

Evidências mais detalhadas

Guia de módulo gerado por IA com base nos requisitos normativos para R20-11 e nas passagens de documento e diagramas associados, que provêm parcialmente de outros releases. Declarações identificadas como interpretação não possuem comprovação normativa. Apenas a especificação AUTOSAR é vinculativa.

LIN State Manager (LinSM)

Manages state transitions of LIN networks.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

função LinSM_Init [SWS_LinSM_00155] 📄 PDF

void LinSM_Init (const LinSM_ConfigType* ConfigPtr);

This function initializes the Lin SM.

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

A função LinSM_Init serve para a inicialização do módulo de software LIN State Manager (LinSM) na plataforma AUTOSAR Classic [SWS_LinSM_00155].

Uso e parâmetros da interface:

  • Sincronização de chamada: A execução da função de inicialização está especificada como síncrona (Synchronous) [SWS_LinSM_00155].
  • Parâmetros de entrada: Como único parâmetro é transmitido ConfigPtr do tipo const LinSM_ConfigType* [SWS_LinSM_00155]. Este funciona como ponteiro para os dados de configuração post-build do LinSM [SWS_LinSM_00155].
  • Outros parâmetros e valor de retorno: A interface não devolve qualquer valor de retorno (void) [SWS_LinSM_00155]. Não existem parâmetros adicionais de entrada/saída ou puramente de saída [SWS_LinSM_00155].
  • Ficheiro de cabeçalho e identificação do serviço: A declaração é disponibilizada através do ficheiro de cabeçalho LinSM.h e contém o Service-ID 0x01 [SWS_LinSM_00155].

Simultaneidade e restrições:

Para a execução de LinSM_Init está determinado que a função não é reentrante (Non reentrant) [SWS_LinSM_00155]. Consequentemente, a chamada não pode ocorrer em paralelo através de múltiplas threads nem de forma interruptiva por contextos de prioridade mais alta [SWS_LinSM_00155].

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

Guia do implementador em breve (complexidade I2)

função LinSM_ScheduleRequest [SWS_LinSM_00113] 📄 PDF

Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);

The upper layer requests a schedule table to be changed on one LIN network.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: f2deb9e24090 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 LinSM_ScheduleRequest é chamada pela camada superior para solicitar a mudança de uma tabela de escalonamento num canal LIN indicado [SWS_LinSM_00113]. A interface está definida no ficheiro de cabeçalho LinSM.h, possui o Service-ID 0x10 e opera de forma assíncrona, bem como reentrante [SWS_LinSM_00113]. Na chamada, o canal afetado é transmitido através do parâmetro network (NetworkHandleType) e a nova tabela pretendida através de schedule (LinIf_SchHandleType) [SWS_LinSM_00113].

Tratamento de erros e valores de retorno

Se o pedido de comutação de tabela tiver sido aceite pelo módulo, a função devolve E_OK [SWS_LinSM_00113]. Se, pelo contrário, a chamada não puder ser executada – por exemplo, porque o módulo ainda não está inicializado –, a função devolve o valor de retorno E_NOT_OK [SWS_LinSM_00113]. Códigos de erro específicos para DET ou DEM não estão listados para este serviço.

Condições de enquadramento e interação

A disponibilização da função depende fundamentalmente do parâmetro de configuração LinSMNodeType: LinSM_ScheduleRequest está disponível exclusivamente quando o módulo está configurado em pelo menos um canal como nó mestre LIN, sendo omitida em configurações puras de nós escravos LIN [SWS_LinSM_00241]. De forma idêntica, também a função de confirmação associada LinSM_ScheduleRequestConfirmation requer uma configuração de nó mestre [SWS_LinSM_00242]. A confirmação sobre a mudança assíncrona de tabela concluída com sucesso para a camada superior deverá presumivelmente ocorrer através desta função de confirmação. Pergunta Q-34c3ec02381c72ca (aberta)

Este texto foi gerado por uma IA; prevalece a especificação AUTOSAR.

Guia do implementador em breve (complexidade I1)

função LinSM_GetCurrentComMode [SWS_LinSM_00122] 📄 PDF

Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);

Function to query the current communication mode.

função LinSM_RequestComMode [SWS_LinSM_00126] 📄 PDF

Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);

Requesting of a communication mode. The mode switch will not be made instant. The Lin SM will notify the caller when mode transition is made.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 64785219821f 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 contexto de chamada

A função LinSM_RequestComMode declarada no arquivo de cabeçalho LinSM.h (ID de serviço 0x12) serve para solicitar assincronamente um modo de comunicação para uma rede LIN informada [SWS_LinSM_00126]. Por meio do parâmetro network do tipo NetworkHandleType, o canal LIN em questão é identificado, enquanto mode do tipo ComM_ModeType especifica o modo de comunicação desejado [SWS_LinSM_00126]. A mudança de modo propriamente dita não ocorre instantaneamente; o LinSM notifica o chamador apenas assim que a transição de modo for concluída com sucesso [SWS_LinSM_00126]. Interpretação: supõe-se que o ComM atue como o chamador primário, uma vez que a comutação de modo é solicitada e confirmada no nível de canal. Pergunta Q-0fcce16df8a29149 (aberta)

Valores de retorno e concorrência

A interface é especificada como reentrante e retorna um valor de status do tipo Std_ReturnType [SWS_LinSM_00126]:

  • E_OK: a solicitação foi aceita com sucesso pelo LinSM [SWS_LinSM_00126].
  • E_NOT_OK: a execução da solicitação não é possível, por exemplo, se o módulo LinSM ainda não estiver inicializado [SWS_LinSM_00126].

Tratamento de erros e interação

No âmbito do tratamento de erros, define-se uma interação com o LIN Interface: caso a chamada subjacente de LinIf_GotoSleep retorne o valor E_NOT_OK, LinSM_RequestComMode deve obrigatoriamente retornar também E_NOT_OK [SWS_LinSM_00177]. Quando a função retornar com E_NOT_OK, o mesmo estado deve permanecer ou ser definido no LinSM, de modo que os feedbacks correspondentes para ComM_BusSM_ModeIndication e BswM_LinSM_CurrentState ocorram [SWS_LinSM_00177].

Este texto foi gerado automaticamente. Todas as afirmações técnicas baseiam-se exclusivamente nos dados de especificação do AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função LinSM_MainFunction [SWS_LinSM_00156] 📄 PDF

void LinSM_MainFunction (void);

Periodic function that runs the timers of different request timeouts

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: ca2058e9ab04 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 LinSM_MainFunction atua como função principal periódica central do módulo LIN State Manager (LinSM) dentro da arquitetura AUTOSAR Classic [SWS_LinSM_00156]. De acordo com a especificação, possui a sintaxe void LinSM_MainFunction (void) e o Service-ID hexadecimal 0x30 [SWS_LinSM_00156]. Dado que não recebe parâmetros nem fornece um valor de retorno, opera puramente com base em estados no módulo [SWS_LinSM_00156]. A sua tarefa funcional primária é a operação contínua e atualização dos temporizadores internos, que são responsáveis pela monitorização de diversos timeouts de pedidos (Request Timeouts) [SWS_LinSM_00156].

Contexto de chamada e escalonamento

A declaração da interface ocorre através do ficheiro de cabeçalho SchM_LinSm.h [SWS_LinSM_00156]. Interpretação: Devido a esta integração no Schedule Manager, a função deverá ser chamada ciclicamente pelo escalonador BSW no contexto de uma tarefa do sistema operativo. Pergunta Q-d83f7b3f0b251f4f (aberta) Este ciclo regular é essencial para que condições de timeout pendentes em solicitações de canal e de estado LIN possam ser reconhecidas e processadas de forma determinística. Tratamentos de erro específicos, tais como códigos de erro DET ou eventos DEM, bem como critérios formais de reentrância, não estão especificados para este serviço no presente âmbito de especificação e, portanto, não se aplicam.

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

Guia do implementador em breve (complexidade I1)

função LinSM_ScheduleRequestConfirmation [SWS_LinSM_00129] 📄 PDF

void LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);

The Lin If module will call this callback when the new requested schedule table is active.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 966015905644 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 LinSM_ScheduleRequestConfirmation serve como interface de callback do módulo LinSM e possui o Service-ID 0x20 [SWS_LinSM_00129]. Está disponível através do ficheiro de cabeçalho LinSM.h e é chamada pela interface LIN (LinIf) assim que uma nova tabela de escalonamento previamente solicitada se tornar ativa no barramento LIN [SWS_LinSM_00129].

A interface não possui valor de retorno (void) e transmite dois parâmetros de entrada para o LinSM [SWS_LinSM_00129]:

  • network (NetworkHandleType): Serve para a identificação unívoca do canal de comunicação LIN afetado [SWS_LinSM_00129].
  • schedule (LinIf_SchHandleType): Transmite o identificador ou ponteiro para a tabela de escalonamento recém-ativada [SWS_LinSM_00129].

Concorrência e interação

A execução de LinSM_ScheduleRequestConfirmation está especificada como síncrona e reentrante [SWS_LinSM_00129]. Parâmetros de entrada e de saída (inout ou out) não existem [SWS_LinSM_00129]. A interação ocorre estreitamente acoplada com o módulo LinIf, que chama esta função de callback para confirmar a mudança de estado da tabela de escalonamento ao LinSM [SWS_LinSM_00129]. Interpretação: Como o LinIf atua como chamador, o contexto de chamada deverá estar acoplado ao processamento de fluxo do driver ou interface LinIf. Pergunta Q-500d6a653bfbaac0 (aberta)

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

Guia do implementador em breve (complexidade I1)

função LinSM_GotoSleepIndication [SWS_LinSM_91000] 📄 PDF

void LinSM_GotoSleepIndication (NetworkHandleType Channel);

The Lin If will call this callback when the go to sleep command is received on the network or a bus idle timeout occurs. Only applicable for LIN slave nodes.

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

A função de callback LinSM_GotoSleepIndication ([SWS_LinSM_91000]) serve para notificar o LIN State Manager sobre a transição de um canal para o estado de repouso. A chamada é feita pelo LIN Interface (LinIf) assim que um comando go-to-sleep é recebido na rede ou ocorre um timeout de barramento ocioso.

Utilização e contexto de chamada

A função é executada de forma síncrona e não possui valor de retorno ([SWS_LinSM_91000]). Ela é disponibilizada por meio do cabeçalho LinSM.h e possui o ID de serviço 0x03. Seu único parâmetro serve para a identificação do canal:

  • Channel (In): identifica o canal LIN afetado por meio do tipo NetworkHandleType ([SWS_LinSM_91000]).

Não estão especificados parâmetros de entrada/saída (inout) nem parâmetros de saída (out) ([SWS_LinSM_91000]).

Simultaneidade e restrições

Em relação à concorrência, a interface é definida como reentrante ([SWS_LinSM_91000]). Uma restrição funcional significativa diz respeito à propriedade do nó: o callback é previsto e aplicável exclusivamente para nós LIN slave ([SWS_LinSM_91000]).

Esta nota de uso baseia-se exclusivamente nos dados de especificação do AUTOSAR Release R20-11.

Guia do implementador em breve (complexidade I1)

função LinSM_GotoSleepConfirmation [SWS_LinSM_00135] 📄 PDF

void LinSM_GotoSleepConfirmation (NetworkHandleType network, boolean success);

The Lin If will call this callback when the go to sleep command is sent successfully or not sent successfully on the network.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: cf9e1845fe84 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 de callback LinSM_GotoSleepConfirmation é chamada de acordo com [SWS_LinSM_00135] pelo LIN Interface (LinIf) assim que um comando Go-to-Sleep tiver sido transmitido na rede LIN ou se a transmissão tiver falhado.

Utilização e parâmetros

O callback possui o Service-ID 0x22, é declarado através do cabeçalho LinSM.h e não possui valor de retorno [SWS_LinSM_00135]. Para identificação e transmissão de estado são utilizados dois parâmetros de passagem:

  • network: Identifica o canal LIN afetado através do tipo NetworkHandleType [SWS_LinSM_00135].
  • success: Indica, como valor booleano, se o comando Go-to-Sleep pôde ser enviado com sucesso no barramento (true) ou não (false) [SWS_LinSM_00135].

Contexto de execução e concorrência

A especificação define a chamada como síncrona e reentrante [SWS_LinSM_00135]. Interpretação: O módulo LinSM deverá atualizar com base no parâmetro success o seu estado interno para a respetiva rede e determinar se a transição para o estado de repouso foi confirmada no barramento. Pergunta Q-b5dfd51188b9ff0b (aberta) Tratamentos de erro, valores de retorno ou mensagens DET ou DEM específicas não estão especificados para esta interface no payload [SWS_LinSM_00135].

Este texto foi gerado por uma IA; vinculativa é exclusivamente a especificação AUTOSAR.

Guia do implementador em breve (complexidade I1)

função LinSM_WakeupConfirmation [SWS_LinSM_00132] 📄 PDF

void LinSM_WakeupConfirmation (NetworkHandleType network, boolean success);

The Lin If will call this callback when the wake up signal command is sent not successfully/ successfully on the network.

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

A função de callback LinSM_WakeupConfirmation serve no LIN State Manager para confirmar o envio de um sinal de wakeup em uma rede LIN [SWS_LinSM_00132]. Ela é chamada pelo LIN Interface (LinIf) assim que o comando para enviar o sinal de wakeup na rede tiver sido transmitido com ou sem sucesso [SWS_LinSM_00132].

Para o contexto de chamada, a concorrência e a passagem de parâmetros, aplicam-se as seguintes características de especificação [SWS_LinSM_00132]:

  • Comportamento de sincronização e reentrância: a execução da função ocorre de forma síncrona (Synchronous) e é classificada como reentrante (Reentrant) [SWS_LinSM_00132].
  • Identificação do canal (network): o parâmetro de entrada passado do tipo NetworkHandleType designa o respectivo canal LIN no qual o processo de envio ocorreu [SWS_LinSM_00132].
  • Status de sucesso (success): o parâmetro booleano indica se o sinal de wakeup pôde ser enviado com sucesso (true) ou se a transmissão falhou (false) [SWS_LinSM_00132].
  • Valor de retorno e parâmetros de entrada/saída: a função não possui valor de retorno (void) e não define parâmetros de saída nem de entrada/saída [SWS_LinSM_00132].

A interface possui o ID de serviço 0x21 e é disponibilizada por meio do arquivo de cabeçalho LinSM.h [SWS_LinSM_00132]. Códigos de erro específicos e requisitos para um tratamento de erros por meio do módulo Default Error Tracer (DET) ou Diagnostic Event Manager (DEM) não são especificados no elemento de especificação [SWS_LinSM_00132].

Esta nota de utilização baseia-se na especificação AUTOSAR Classic Release R20-11.

tipo LinSM_ModeType [SWS_LinSM_00220] 📄 PDF

Type used to report the current mode to the Bsw M

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 939c0e58134f 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 LinSM_ModeType é um tipo padrão do LIN State Manager, que se baseia no tipo de base uint8 e é disponibilizado através do cabeçalho LinSM.h [SWS_LinSM_00220]. A tarefa primária deste tipo consiste em reportar o modo de comunicação atual de uma rede LIN ao BSW Mode Management (BswM) [SWS_LinSM_00220].

Para LinSM_ModeType estão especificados dois estados no intervalo de valores [SWS_LinSM_00220]:

  • LINSM_FULL_COM (valor numérico 0x01): Sinaliza o estado de comunicação completa sem restrições (Full communication) [SWS_LinSM_00220].
  • LINSM_NO_COM (valor numérico 0x02): Identifica o estado sem comunicação em curso (No communication) [SWS_LinSM_00220].

No que diz respeito ao tratamento de erros e à concorrência, a definição de tipo não contém quaisquer códigos de erro próprios, mensagens DET ou eventos DEM, uma vez que se trata de uma declaração de tipo elementar [SWS_LinSM_00220]. Interpretação: A transmissão de valores deste tipo ao BswM deverá ocorrer no âmbito de mudanças de estado de nível superior do LinSM, devendo os chamadores assegurar que não sejam transmitidos valores não permitidos fora dos estados definidos. Pergunta Q-fe193732b8be2388 (aberta)

Esta nota de utilização foi criada por uma IA.

Guia do implementador em breve (complexidade I1)

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

Record
AUTOSAR/AP/record/CP_MOD_LinSM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_LinSM@rel:R20-11#36ab0250
Content hash
36ab0250
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINStateManager.pdf#nameddest=SWS_LinSM_00155

Inicialização e estado

-

void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);
LinSM_Init função

This function initializes the Lin SM.

void LinSM_Init (const LinSM_ConfigType* ConfigPtr);

Serviços

Function to query the current communication mode.

Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);

The Lin If will call this callback when the go to sleep command is sent successfully or not sent successfully on the network.

void LinSM_GotoSleepConfirmation (NetworkHandleType network, boolean success);

The Lin If will call this callback when the go to sleep command is received on the network or a bus idle timeout occurs. Only applicable for LIN slave nodes.

void LinSM_GotoSleepIndication (NetworkHandleType Channel);

Requesting of a communication mode. The mode switch will not be made instant. The Lin SM will notify the caller when mode transition is made.

Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);

The upper layer requests a schedule table to be changed on one LIN network.

Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);

The Lin If module will call this callback when the new requested schedule table is active.

void LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);

The Lin If will call this callback when the wake up signal command is sent not successfully/ successfully on the network.

void LinSM_WakeupConfirmation (NetworkHandleType network, boolean success);

Cíclico

Periodic function that runs the timers of different request timeouts

void LinSM_MainFunction (void);

Tipos

Data structure type for the post - build configuration parameters.

Type used to report the current mode to the Bsw M