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
función LinSM_Init [SWS_LinSM_00155] 📄 PDF
void LinSM_Init (const LinSM_ConfigType* ConfigPtr);
This function initializes the Lin SM.
La función LinSM_Init sirve para inicializar el módulo de software LIN State Manager (LinSM) en la plataforma AUTOSAR Classic [SWS_LinSM_00155].
Uso y parámetros de la interfaz:
- Sincronización de llamadas: la ejecución de la función de inicialización está especificada como síncrona (
Synchronous) [SWS_LinSM_00155]. - Parámetros de entrada: como único parámetro se pasa
ConfigPtrde tipoconst LinSM_ConfigType*[SWS_LinSM_00155]. Este actúa como puntero a los datos de configuración post-build del LinSM [SWS_LinSM_00155]. - Otros parámetros y valor de retorno: la interfaz no devuelve ningún valor de retorno (
void) [SWS_LinSM_00155]. No existen parámetros adicionales de entrada/salida ni parámetros exclusivos de salida [SWS_LinSM_00155]. - Archivo de encabezado e identificador de servicio: la declaración se proporciona a través del archivo de encabezado
LinSM.hy lleva el Service ID0x01[SWS_LinSM_00155].
Concurrencia y restricciones:
Para la ejecución de LinSM_Init se establece que la función no es reentrante (Non reentrant) [SWS_LinSM_00155]. Por consiguiente, la llamada no se debe realizar ni en paralelo a través de múltiples hilos ni de forma interruptiva por contextos de mayor prioridad [SWS_LinSM_00155].
Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I2)
función 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
La capa superior llama a la función LinSM_ScheduleRequest para solicitar el cambio de una tabla de schedule en un canal LIN especificado [SWS_LinSM_00113]. La interfaz está definida en el archivo de encabezado LinSM.h, posee el Service ID 0x10 y opera de forma asíncrona y reentrante [SWS_LinSM_00113]. En la llamada se transfieren el canal afectado mediante el parámetro network (NetworkHandleType) y la nueva tabla deseada mediante schedule (LinIf_SchHandleType) [SWS_LinSM_00113].
Tratamiento de errores y valores de retorno
Si el módulo ha aceptado la solicitud de conmutación de tabla, la función devuelve E_OK [SWS_LinSM_00113]. En cambio, si la llamada no puede ejecutarse —por ejemplo, porque el módulo aún no está inicializado—, la función devuelve el valor de retorno E_NOT_OK [SWS_LinSM_00113]. No se indican códigos de error específicos para DET o DEM en este servicio.
Condiciones de contorno e interacción
La puesta a disposición de la función depende de forma determinante del parámetro de configuración LinSMNodeType: LinSM_ScheduleRequest solo está disponible si el módulo está configurado en al menos un canal como nodo LIN master, y se omite en configuraciones puras de LIN slave [SWS_LinSM_00241]. De idéntica manera, la correspondiente función de confirmación LinSM_ScheduleRequestConfirmation también requiere una configuración de nodo maestro [SWS_LinSM_00242]. Es de suponer que la confirmación a la capa superior sobre el cambio asíncrono de tabla completado con éxito se realiza a través de esta función de confirmación. Pregunta Q-34c3ec02381c72ca (abierta)
Este texto ha sido generado por una IA; el texto vinculante es la especificación AUTOSAR.
Guía del implementador pendiente (complejidad I1)
función LinSM_GetVersionInfo [SWS_LinSM_00117] 📄 PDF
void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);
-
función LinSM_GetCurrentComMode [SWS_LinSM_00122] 📄 PDF
Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);
Function to query the current communication mode.
función 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.
Uso y contexto de llamada
La función LinSM_RequestComMode declarada en el archivo de cabecera LinSM.h (Service-ID 0x12) sirve para solicitar de forma asíncrona un modo de comunicación para una red LIN pasada [SWS_LinSM_00126]. Mediante el parámetro network de tipo NetworkHandleType se identifica el canal LIN correspondiente, mientras que mode de tipo ComM_ModeType especifica el modo de comunicación deseado [SWS_LinSM_00126]. El cambio de modo propiamente dicho no se produce de forma instantánea; el LinSM notifica a quien llama solo cuando la transición de modo ha concluido con éxito [SWS_LinSM_00126]. Interpretación: es probable que el ComM actúe como llamador principal, ya que el cambio de modo se solicita y se confirma a nivel de canal. Pregunta Q-0fcce16df8a29149 (abierta)
Valores de retorno y concurrencia
La interfaz está especificada como reentrante y devuelve un valor de estado de tipo Std_ReturnType [SWS_LinSM_00126]:
E_OK: la solicitud ha sido aceptada con éxito por el LinSM [SWS_LinSM_00126].E_NOT_OK: la ejecución de la solicitud no es posible, por ejemplo, si el módulo LinSM aún no está inicializado [SWS_LinSM_00126].
Tratamiento de errores e interacción
En el marco del tratamiento de errores se define una interacción con la interfaz LIN: si la llamada subyacente de LinIf_GotoSleep devuelve el valor de retorno E_NOT_OK, LinSM_RequestComMode debe devolver obligatoriamente también E_NOT_OK [SWS_LinSM_00177]. Cuando la función retorna con E_NOT_OK, en el LinSM debe permanecer o establecerse el mismo estado, de modo que se produzcan las correspondientes confirmaciones a ComM_BusSM_ModeIndication y BswM_LinSM_CurrentState [SWS_LinSM_00177].
Este texto ha sido generado automáticamente. Todas las afirmaciones técnicas se basan exclusivamente en los datos de especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función LinSM_MainFunction [SWS_LinSM_00156] 📄 PDF
void LinSM_MainFunction (void);
Periodic function that runs the timers of different request timeouts
usar
La función LinSM_MainFunction actúa como función principal periódica central del módulo LIN State Manager (LinSM) dentro de la arquitectura AUTOSAR Classic [SWS_LinSM_00156]. Según la especificación, posee la sintaxis void LinSM_MainFunction (void) y el Service ID hexadecimal 0x30 [SWS_LinSM_00156]. Dado que no recibe parámetros ni devuelve un valor de retorno, opera puramente basada en estados dentro del módulo [SWS_LinSM_00156]. Su cometido funcional primario es la ejecución continua y la actualización de los temporizadores internos encargados de supervisar diversos timeouts de solicitud (request timeouts) [SWS_LinSM_00156].
Contexto de invocación y planificación
La declaración de la interfaz se realiza a través del archivo de encabezado SchM_LinSm.h [SWS_LinSM_00156]. Interpretación: debido a esta integración en el Schedule Manager, es probable que la función sea llamada cíclicamente por el BSW Scheduler en el contexto de una tarea del sistema operativo. Pregunta Q-d83f7b3f0b251f4f (abierta) Este ciclo periódico es esencial para poder detectar y procesar de forma determinista las condiciones de timeout pendientes en solicitudes de estado y de canal LIN. En el alcance de la especificación disponible no se especifican tratamientos de error particulares, tales como códigos de error DET o eventos DEM, ni criterios formales de reentrancia para este servicio, por lo que se omiten.
Esta nota de uso se ha generado automáticamente a partir de la especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función 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
La función LinSM_ScheduleRequestConfirmation actúa como interfaz de callback del módulo LinSM y posee el Service ID 0x20 [SWS_LinSM_00129]. Está disponible a través del archivo de encabezado LinSM.h y la LIN Interface (LinIf) la invoca en cuanto una nueva tabla de schedule solicitada previamente pasa a estar activa en el bus LIN [SWS_LinSM_00129].
La interfaz no tiene valor de retorno (void) y transfiere dos parámetros de entrada al LinSM [SWS_LinSM_00129]:
network(NetworkHandleType): sirve para la identificación unívoca del canal de comunicación LIN afectado [SWS_LinSM_00129].schedule(LinIf_SchHandleType): transfiere el identificador o puntero a la tabla de schedule recién activada [SWS_LinSM_00129].
Concurrencia e interacción
La ejecución de LinSM_ScheduleRequestConfirmation está especificada como síncrona y reentrante [SWS_LinSM_00129]. No existen parámetros de entrada y salida (inout o out) [SWS_LinSM_00129]. La interacción tiene lugar estrechamente vinculada con el módulo LinIf, el cual llama a esta función de callback para confirmar el cambio de estado de la tabla de schedule al LinSM [SWS_LinSM_00129]. Interpretación: dado que LinIf actúa como llamador, es de suponer que el contexto de invocación esté vinculado al procesamiento de ejecución del controlador o la interfaz LinIf. Pregunta Q-500d6a653bfbaac0 (abierta)
Esta nota de uso se ha elaborado automáticamente a partir de la especificación AUTOSAR.
Guía del implementador pendiente (complejidad I1)
función 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.
La función de callback LinSM_GotoSleepIndication ([SWS_LinSM_91000]) sirve para notificar al LIN State Manager sobre el paso de un canal al estado de reposo. La llamada la realiza la LIN Interface (LinIf) tan pronto como se recibe un comando de go-to-sleep en la red o se produce un timeout de bus idle.
Uso y contexto de llamada
La función se ejecuta sincrónicamente y no tiene valor de retorno ([SWS_LinSM_91000]). Se proporciona a través de la cabecera LinSM.h y tiene el Service-ID 0x03. Su único parámetro sirve para la identificación del canal:
Channel(In): identifica el canal LIN afectado mediante el tipoNetworkHandleType([SWS_LinSM_91000]).
No se especifican parámetros de entrada/salida (inout) ni parámetros de salida (out) ([SWS_LinSM_91000]).
Concurrencia y restricciones
En cuanto a la concurrencia, la interfaz está definida como reentrante ([SWS_LinSM_91000]). Una restricción funcional determinante concierne a la propiedad del nodo: el callback está previsto y es aplicable exclusivamente para nodos LIN slave ([SWS_LinSM_91000]).
Esta nota de uso se basa exclusivamente en los datos de especificación de AUTOSAR Release R20-11.
Guía del implementador pendiente (complejidad I1)
función 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.
La función de callback LinSM_GotoSleepConfirmation es llamada conforme a [SWS_LinSM_00135] por la LIN Interface (LinIf) en cuanto se ha transmitido un comando go-to-sleep en la red LIN o cuando la transmisión ha fallado.
Uso y parámetros
El callback posee el Service ID 0x22, se declara a través del encabezado LinSM.h y no tiene valor de retorno [SWS_LinSM_00135]. Para la identificación y la transmisión de estado se utilizan dos parámetros de transferencia:
network: identifica el canal LIN afectado mediante el tipoNetworkHandleType[SWS_LinSM_00135].success: indica como valor booleano si el comando go-to-sleep se ha podido enviar correctamente por el bus (true) o no (false) [SWS_LinSM_00135].
Contexto de ejecución y concurrencia
La especificación define la llamada como síncrona y reentrante [SWS_LinSM_00135]. Interpretación: es de prever que el módulo LinSM actualice su estado interno para la red respectiva a partir del parámetro success y determine si se ha confirmado en el bus la transición al estado de reposo. Pregunta Q-b5dfd51188b9ff0b (abierta) En el payload no se especifican tratamientos de error, valores de retorno ni mensajes específicos de DET o DEM para esta interfaz [SWS_LinSM_00135].
Este texto ha sido generado por una IA; únicamente es vinculante la especificación de AUTOSAR.
Guía del implementador pendiente (complejidad I1)
función 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.
La función de callback LinSM_WakeupConfirmation sirve en el LIN State Manager para confirmar el envío de una señal de wake-up en una red LIN [SWS_LinSM_00132]. Es llamada por la interfaz LIN (LinIf) en cuanto el comando para enviar la señal de wake-up se ha transmitido en la red con o sin éxito [SWS_LinSM_00132].
Para el contexto de llamada, la concurrencia y el paso de parámetros se aplican las siguientes características de especificación [SWS_LinSM_00132]:
- Comportamiento de sincronización y reentrancia: la ejecución de la función es síncrona (Synchronous) y está clasificada como reentrante (Reentrant) [SWS_LinSM_00132].
- Identificación del canal (
network): el parámetro de entrada pasado de tipoNetworkHandleTypedesigna el respectivo canal LIN en el que tuvo lugar el proceso de transmisión [SWS_LinSM_00132]. - Estado de éxito (
success): el parámetro booleano indica si la señal de wake-up se pudo enviar con éxito (true) o si la transmisión falló (false) [SWS_LinSM_00132]. - Valor de retorno y parámetros de entrada/salida: la función no tiene valor de retorno (
void) y no define parámetros de salida ni de entrada/salida [SWS_LinSM_00132].
La interfaz tiene el Service-ID 0x21 y se proporciona a través del archivo de cabecera LinSM.h [SWS_LinSM_00132]. En el elemento de especificación no se prescriben códigos de error específicos ni requisitos para el tratamiento de errores a través del módulo Default Error Tracer (DET) o Diagnostic Event Manager (DEM) [SWS_LinSM_00132].
Esta nota de uso se basa en la especificación AUTOSAR Classic Release R20-11.
tipo LinSM_ModeType [SWS_LinSM_00220] 📄 PDF
Type used to report the current mode to the Bsw M
El tipo de datos LinSM_ModeType es un tipo estándar del LIN State Manager que se basa en el tipo básico uint8 y se proporciona a través del encabezado LinSM.h [SWS_LinSM_00220]. El cometido principal de este tipo consiste en notificar el modo de comunicación actual de una red LIN al BSW Mode Management (BswM) [SWS_LinSM_00220].
Para LinSM_ModeType se especifican dos estados dentro del rango de valores [SWS_LinSM_00220]:
LINSM_FULL_COM(valor numérico0x01): señala el estado de comunicación completa sin restricciones (Full communication) [SWS_LinSM_00220].LINSM_NO_COM(valor numérico0x02): identifica el estado sin comunicación en curso (No communication) [SWS_LinSM_00220].
En cuanto al tratamiento de errores y la concurrencia, la definición de tipo no contiene códigos de error propios, mensajes DET ni eventos DEM, ya que se trata de una declaración elemental de tipos [SWS_LinSM_00220]. Interpretación: es de suponer que la transferencia de valores de este tipo al BswM se lleve a cabo en el marco de cambios de estado de nivel superior del LinSM, debiendo los llamadores asegurarse de que no se transmitan valores inadmisibles fuera de los estados definidos. Pregunta Q-fe193732b8be2388 (abierta)
Esta nota de uso ha sido generada por una IA.
Guía del implementador pendiente (complejidad 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#21c5f82b- Content hash
21c5f82b- 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 en alemán