LIN State Manager (LinSM)
Manages state transitions of LIN networks.
Funktionen — Übersicht
void LinSM_Init (const LinSM_ConfigType* ConfigPtr);This function initializes the Lin SM.Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);The upper layer requests a schedule table to be changed on one LIN network.void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);-Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);Function to query the current communication mode.Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);Requesting of a communication mode.void LinSM_MainFunction (void);Periodic function that runs the timers of different request timeoutsvoid LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);The Lin If module will call this callback when the new requested schedule table is active.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.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.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.
Typen — Übersicht
enum LinSM_ModeTypeType used to report the current mode to the Bsw Mstruct LinSM_ConfigTypeData structure type for the post - build configuration parameters.
Funktionen & Typen — Detailansicht
função LinSM_Init [SWS_LinSM_00155] 📄 PDF
void LinSM_Init (const LinSM_ConfigType* ConfigPtr);
This function initializes the Lin SM.
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
ConfigPtrdo tipoconst 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.he contém o Service-ID0x01[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.
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_GetVersionInfo [SWS_LinSM_00117] 📄 PDF
void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);
-
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.
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
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.
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.
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 tipoNetworkHandleType([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.
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 tipoNetworkHandleType[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.
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 tipoNetworkHandleTypedesigna 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
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érico0x01): Sinaliza o estado de comunicação completa sem restrições (Full communication) [SWS_LinSM_00220].LINSM_NO_COM(valor numérico0x02): 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)
tipo LinSM_ConfigType [SWS_LinSM_00221] 📄 PDF
Data structure type for the post - build configuration parameters.
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
gemini-3.8-flash-low· 2026-10-13 · Original em alemão