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
fonction LinSM_Init [SWS_LinSM_00155] 📄 PDF
void LinSM_Init (const LinSM_ConfigType* ConfigPtr);
This function initializes the Lin SM.
La fonction LinSM_Init sert à initialiser le module logiciel LIN State Manager (LinSM) dans la plateforme AUTOSAR Classic [SWS_LinSM_00155].
Utilisation et paramètres d'interface :
- Synchronisation d’appel : l’exécution de la fonction d’initialisation est spécifiée comme synchrone (
Synchronous) [SWS_LinSM_00155]. - Paramètre d’entrée :
ConfigPtrdu typeconst LinSM_ConfigType*est transmis comme unique paramètre [SWS_LinSM_00155]. Celui-ci fait office de pointeur vers les données de configuration post-build du LinSM [SWS_LinSM_00155]. - Autres paramètres et valeur de retour : l’interface ne renvoie aucune valeur de retour (
void) [SWS_LinSM_00155]. Aucun paramètre d’entrée/sortie supplémentaire ou paramètre de sortie pure n’existe [SWS_LinSM_00155]. - Fichier d’en-tête et identifiant de service : la déclaration est mise à disposition via le fichier d’en-tête
LinSM.het porte le Service-ID0x01[SWS_LinSM_00155].
Concurrence et restrictions :
Pour l’exécution de LinSM_Init, il est défini que la fonction n’est pas réentrante (Non reentrant) [SWS_LinSM_00155]. Par conséquent, l’appel ne doit s’effectuer ni en parallèle via plusieurs threads, ni de manière interruptive par des contextes de priorité supérieure [SWS_LinSM_00155].
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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.
Utilisation
La fonction LinSM_ScheduleRequest est appelée par la couche supérieure pour demander le changement d’une table de schedule sur un canal LIN indiqué [SWS_LinSM_00113]. L’interface est définie dans le fichier d’en-tête LinSM.h, possède le Service-ID 0x10 et fonctionne de manière asynchrone ainsi que réentrante [SWS_LinSM_00113]. Lors de l’appel, le canal concerné est transmis via le paramètre network (NetworkHandleType) et la nouvelle table souhaitée via schedule (LinIf_SchHandleType) [SWS_LinSM_00113].
Gestion des erreurs et valeurs de retour
Si la demande de commutation de table a été acceptée par le module, la fonction renvoie E_OK [SWS_LinSM_00113]. En revanche, si l’appel ne peut pas être exécuté — par exemple parce que le module n’est pas encore initialisé —, la fonction fournit la valeur de retour E_NOT_OK [SWS_LinSM_00113]. Aucun code d’erreur spécifique pour DET ou DEM n’est indiqué pour ce service.
Conditions aux limites et interactions
La mise à disposition de la fonction dépend de manière déterminante du paramètre de configuration LinSMNodeType : LinSM_ScheduleRequest n’est disponible que si le module est configuré sur au moins un canal en tant que nœud maître LIN, et est omise dans les configurations d’esclave LIN pur [SWS_LinSM_00241]. De manière identique, la fonction de confirmation associée LinSM_ScheduleRequestConfirmation requiert également une configuration de nœud maître [SWS_LinSM_00242]. Le retour d’information sur le changement asynchrone de table effectué avec succès vers la couche supérieure devrait vraisemblablement avoir lieu via cette fonction de confirmation. Question Q-34c3ec02381c72ca (ouverte)
Ce texte a été généré par une IA ; la spécification AUTOSAR fait foi.
Guide de l'implémenteur à venir (complexité I1)
fonction LinSM_GetVersionInfo [SWS_LinSM_00117] 📄 PDF
void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);
-
fonction LinSM_GetCurrentComMode [SWS_LinSM_00122] 📄 PDF
Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);
Function to query the current communication mode.
fonction 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.
Utilisation et contexte d'appel
La fonction LinSM_RequestComMode (ID de service 0x12), déclarée dans le fichier d'en-tête LinSM.h, sert à demander de manière asynchrone un mode de communication pour un réseau LIN transmis [SWS_LinSM_00126]. Le paramètre network de type NetworkHandleType identifie le canal LIN concerné, tandis que mode de type ComM_ModeType spécifie le mode de communication souhaité [SWS_LinSM_00126]. Le changement de mode effectif ne se produit pas instantanément ; le LinSM n'informe l'appelant que dès que la transition de mode s'est achevée avec succès [SWS_LinSM_00126]. Interprétation : le ComM devrait faire office d'appelant principal, étant donné que le changement de mode est demandé et acquitté au niveau du canal. Question Q-0fcce16df8a29149 (ouverte)
Valeurs de retour et concurrence
L'interface est spécifiée comme réentrante et renvoie une valeur d'état de type Std_ReturnType [SWS_LinSM_00126] :
E_OK: la demande a été acceptée avec succès par le LinSM [SWS_LinSM_00126].E_NOT_OK: l'exécution de la demande n'est pas possible, par exemple si le module LinSM n'est pas encore initialisé [SWS_LinSM_00126].
Traitement des erreurs et interaction
Dans le cadre du traitement des erreurs, une interaction avec l'interface LIN est définie : si l'appel sous-jacent de LinIf_GotoSleep renvoie la valeur de retour E_NOT_OK, LinSM_RequestComMode doit impérativement renvoyer également E_NOT_OK [SWS_LinSM_00177]. Lorsque la fonction retourne avec E_NOT_OK, le même état doit rester ou être défini dans le LinSM, de sorte que les retours correspondants soient effectués vers ComM_BusSM_ModeIndication et BswM_LinSM_CurrentState [SWS_LinSM_00177].
Ce texte a été généré automatiquement. Toutes les déclarations techniques reposent exclusivement sur les données de spécification d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction LinSM_MainFunction [SWS_LinSM_00156] 📄 PDF
void LinSM_MainFunction (void);
Periodic function that runs the timers of different request timeouts
Utilisation
La fonction LinSM_MainFunction sert de fonction principale périodique centrale du module LIN State Manager (LinSM) au sein de l’architecture AUTOSAR Classic [SWS_LinSM_00156]. Conformément à la spécification, elle possède la syntaxe void LinSM_MainFunction (void) et le Service-ID hexadécimal 0x30 [SWS_LinSM_00156]. Ne prenant aucun paramètre et ne fournissant aucune valeur de retour, elle opère de manière purement basée sur les états dans le module [SWS_LinSM_00156]. Sa tâche fonctionnelle principale est le fonctionnement et l’actualisation continus des temporisateurs internes, qui sont chargés de la surveillance de divers timeouts de requêtes (Request Timeouts) [SWS_LinSM_00156].
Contexte d’appel et ordonnancement
La déclaration de l’interface s’effectue via le fichier d’en-tête SchM_LinSm.h [SWS_LinSM_00156]. Interprétation : en raison de cette intégration dans le Schedule Manager, la fonction devrait être appelée cycliquement par le BSW Scheduler dans le contexte d’une tâche du système d’exploitation. Question Q-d83f7b3f0b251f4f (ouverte) Ce cycle régulier est essentiel afin que les conditions de timeout en attente lors de demandes de canal et d’état LIN puissent être détectées et traitées de manière déterministe. Les traitements d’erreur spécifiques tels que les codes d’erreur DET ou les événements DEM, ainsi que les critères formels de réentrance ne sont pas spécifiés pour ce service dans le présent périmètre de spécification et sont donc sans objet.
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
Utilisation
La fonction LinSM_ScheduleRequestConfirmation sert d’interface de rappel du module LinSM et possède le Service-ID 0x20 [SWS_LinSM_00129]. Elle est disponible via le fichier d’en-tête LinSM.h et est appelée par l’interface LIN (LinIf) dès qu’une nouvelle table de schedule préalablement demandée est devenue active sur le bus LIN [SWS_LinSM_00129].
L’interface ne possède pas de valeur de retour (void) et transmet deux paramètres d’entrée au LinSM [SWS_LinSM_00129] :
network(NetworkHandleType) : sert à l’identification univoque du canal de communication LIN concerné [SWS_LinSM_00129].schedule(LinIf_SchHandleType) : transmet l’identifiant ou le pointeur vers la table de schedule nouvellement activée [SWS_LinSM_00129].
Concurrence et interaction
L’exécution de LinSM_ScheduleRequestConfirmation est spécifiée comme synchrone et réentrante [SWS_LinSM_00129]. Aucun paramètre d’entrée et de sortie (inout ou out) n’est présent [SWS_LinSM_00129]. L’interaction s’effectue en étroit couplage avec le module LinIf, qui appelle cette fonction de rappel afin de confirmer le changement d’état de la table de schedule au LinSM [SWS_LinSM_00129]. Interprétation : LinIf agissant comme appelant, le contexte d’appel devrait être couplé au traitement séquentiel du pilote ou de l’interface LinIf. Question Q-500d6a653bfbaac0 (ouverte)
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR.
Guide de l'implémenteur à venir (complexité I1)
fonction 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 fonction de rappel LinSM_GotoSleepIndication ([SWS_LinSM_91000]) sert à notifier au LIN State Manager le passage d'un canal à l'état de repos. L'appel est effectué par le LIN Interface (LinIf) dès qu'une commande Go-to-Sleep est reçue sur le réseau ou qu'un timeout d'inactivité du bus (bus-idle) survient.
Utilisation et contexte d'appel
La fonction est exécutée de manière synchrone et ne possède pas de valeur de retour ([SWS_LinSM_91000]). Elle est fournie via l'en-tête LinSM.h et porte l'ID de service 0x03. Son unique paramètre sert à l'identification du canal :
Channel(In) : Identifie le canal LIN concerné via le typeNetworkHandleType([SWS_LinSM_91000]).
Aucun paramètre d'entrée/sortie (inout) ni paramètre de sortie (out) n'est spécifié ([SWS_LinSM_91000]).
Concurrence et restrictions
En ce qui concerne la concurrence, l'interface est définie comme réentrante ([SWS_LinSM_91000]). Une restriction fonctionnelle déterminante concerne la propriété du nœud : le callback est exclusivement prévu et applicable pour les nœuds esclaves LIN ([SWS_LinSM_91000]).
Cette note d'utilisation repose exclusivement sur les données de spécification issues d'AUTOSAR Release R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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 fonction de rappel LinSM_GotoSleepConfirmation est appelée conformément à [SWS_LinSM_00135] par l’interface LIN (LinIf) dès qu’une commande Go-to-Sleep a été transmise sur le réseau LIN ou que la transmission a échoué.
Utilisation et paramètres
Le rappel possède le Service-ID 0x22, est déclaré via l’en-tête LinSM.h et ne possède pas de valeur de retour [SWS_LinSM_00135]. Deux paramètres de transmission sont utilisés pour l’identification et la transmission d’état :
network: identifie le canal LIN concerné via le typeNetworkHandleType[SWS_LinSM_00135].success: indique, sous forme de valeur booléenne, si la commande Go-to-Sleep a pu être envoyée avec succès sur le bus (true) ou non (false) [SWS_LinSM_00135].
Contexte d’exécution et concurrence
La spécification définit l’appel comme synchrone et réentrant [SWS_LinSM_00135]. Interprétation : le module LinSM devrait mettre à jour son état interne pour le réseau respectif à l’aide du paramètre success et déterminer si la transition vers l’état de veille a été confirmée sur le bus. Question Q-b5dfd51188b9ff0b (ouverte) Aucun traitement d’erreur, valeur de retour ou message spécifique DET ou DEM n’est spécifié pour cette interface dans le payload [SWS_LinSM_00135].
Ce texte a été généré par une IA ; seule la spécification AUTOSAR fait foi.
Guide de l'implémenteur à venir (complexité I1)
fonction 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 fonction de rappel LinSM_WakeupConfirmation sert, dans le LIN State Manager, à confirmer l'envoi d'un signal de réveil sur un réseau LIN [SWS_LinSM_00132]. Elle est appelée par l'interface LIN (LinIf) dès que la commande d'émission du signal de réveil a été transmise sur le réseau, avec ou sans succès [SWS_LinSM_00132].
Pour le contexte d'appel, la concurrence et la transmission des paramètres, les caractéristiques de spécification suivantes s'appliquent [SWS_LinSM_00132] :
- Comportement de synchronisation et réentrance : L'exécution de la fonction s'effectue de manière synchrone (Synchronous) et est classée comme réentrante (Reentrant) [SWS_LinSM_00132].
- Identification du canal (
network) : Le paramètre d'entrée transmis de typeNetworkHandleTypedésigne le canal LIN respectif sur lequel l'opération d'émission a eu lieu [SWS_LinSM_00132]. - Statut de succès (
success) : Le paramètre booléen indique si le signal de réveil a pu être envoyé avec succès (true) ou si la transmission a échoué (false) [SWS_LinSM_00132]. - Valeur de retour et paramètres d'entrée/sortie : La fonction n'a pas de valeur de retour (
void) et ne définit ni paramètre de sortie, ni paramètre d'entrée/sortie [SWS_LinSM_00132].
L'interface possède l'ID de service 0x21 et est mise à disposition via le fichier d'en-tête LinSM.h [SWS_LinSM_00132]. Aucun code d'erreur spécifique ni exigence de traitement d'erreur via le module Default Error Tracer (DET) ou Diagnostic Event Manager (DEM) n'est prédéfini dans l'élément de spécification [SWS_LinSM_00132].
Cette note d'utilisation est basée sur la spécification AUTOSAR Classic Release R20-11.
type LinSM_ModeType [SWS_LinSM_00220] 📄 PDF
Type used to report the current mode to the Bsw M
Le type de données LinSM_ModeType est un type standard du LIN State Manager qui repose sur le type de base uint8 et est mis à disposition via l’en-tête LinSM.h [SWS_LinSM_00220]. La tâche principale de ce type consiste à signaler le mode de communication actuel d’un réseau LIN au BSW Mode Management (BswM) [SWS_LinSM_00220].
Deux états sont spécifiés dans la plage de valeurs pour LinSM_ModeType [SWS_LinSM_00220] :
LINSM_FULL_COM(valeur numérique0x01) : signale l’état de communication intégrale sans restriction (Full communication) [SWS_LinSM_00220].LINSM_NO_COM(valeur numérique0x02) : indique l’état sans communication en cours (No communication) [SWS_LinSM_00220].
En ce qui concerne le traitement des erreurs et la concurrence, la définition de type ne contient aucun code d’erreur propre, message DET ou événement DEM, car il s’agit d’une déclaration de type élémentaire [SWS_LinSM_00220]. Interprétation : la transmission de valeurs de ce type au BswM devrait intervenir dans le cadre de changements d’état de niveau supérieur du LinSM, les appelants devant s’assurer qu’aucune valeur non autorisée en dehors des états définis n’est transmise. Question Q-fe193732b8be2388 (ouverte)
Cette note d’utilisation a été générée par une IA.
Guide de l'implémenteur à venir (complexité I1)
type 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#99c8af6f- Content hash
99c8af6f- 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 allemand