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
function LinSM_Init [SWS_LinSM_00155] 📄 PDF
void LinSM_Init (const LinSM_ConfigType* ConfigPtr);
This function initializes the Lin SM.
Die Funktion LinSM_Init dient der Initialisierung des Software-Moduls LIN State Manager (LinSM) in der AUTOSAR-Classic-Plattform [SWS_LinSM_00155].
Verwendung und Schnittstellenparameter:
- Aufrufsynchronisation: Die Ausführung der Initialisierungsfunktion ist als synchron (
Synchronous) spezifiziert [SWS_LinSM_00155]. - Eingangsparameter: Als einziger Parameter wird
ConfigPtrvom Typconst LinSM_ConfigType*übergeben [SWS_LinSM_00155]. Dieser fungiert als Zeiger auf die Post-Build-Konfigurationsdaten des LinSM [SWS_LinSM_00155]. - Weitere Parameter und Rückgabewert: Die Schnittstelle liefert keinen Rückgabewert (
void) zurück [SWS_LinSM_00155]. Zusätzliche Ein-/Ausgabeparameter oder reine Ausgabeparameter existieren nicht [SWS_LinSM_00155]. - Header-Datei und Service-Kennung: Die Deklaration wird über die Header-Datei
LinSM.hbereitgestellt und führt die Service-ID0x01[SWS_LinSM_00155].
Nebenläufigkeit und Einschränkungen:
Für die Ausführung von LinSM_Init ist festgelegt, dass die Funktion nicht reentrant (Non reentrant) ist [SWS_LinSM_00155]. Folglich darf der Aufruf weder parallel über mehrere Threads noch unterbrechend durch höher priorisierte Kontexte erfolgen [SWS_LinSM_00155].
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.
Implementer's Guide folgt (Komplexität I2)
function 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.
Verwendung
Die Funktion LinSM_ScheduleRequest wird von der oberen Schicht aufgerufen, um den Wechsel einer Schedule-Tabelle auf einem angegebenen LIN-Kanal anzufordern [SWS_LinSM_00113]. Die Schnittstelle ist in der Header-Datei LinSM.h definiert, besitzt die Service-ID 0x10 und arbeitet asynchron sowie reentrant [SWS_LinSM_00113]. Beim Aufruf werden der betroffene Kanal über den Parameter network (NetworkHandleType) und die gewünschte neue Tabelle über schedule (LinIf_SchHandleType) übergeben [SWS_LinSM_00113].
Fehlerbehandlung und Rückgabewerte
Wurde die Anforderung zur Tabellenumschaltung vom Modul angenommen, gibt die Funktion E_OK zurück [SWS_LinSM_00113]. Kann der Aufruf hingegen nicht ausgeführt werden – beispielsweise weil das Modul noch nicht initialisiert ist –, liefert die Funktion den Rückgabewert E_NOT_OK [SWS_LinSM_00113]. Spezifische Fehlercodes für DET oder DEM sind für diesen Service nicht aufgeführt.
Randbedingungen und Zusammenspiel
Die Bereitstellung der Funktion hängt maßgeblich vom Konfigurationsparameter LinSMNodeType ab: LinSM_ScheduleRequest steht ausschließlich dann zur Verfügung, wenn das Modul auf mindestens einem Kanal als LIN-Master-Knoten konfiguriert ist, und entfällt in reinen LIN-Slave-Konfigurationen [SWS_LinSM_00241]. In identischer Weise erfordert auch die zugehörige Bestätigungsfunktion LinSM_ScheduleRequestConfirmation eine Master-Knoten-Konfiguration [SWS_LinSM_00242]. Die Rückmeldung über den erfolgreich vollzogenen asynchronen Tabellenwechsel an die obere Schicht dürfte vermutlich über diese Bestätigungsfunktion erfolgen. Frage Q-34c3ec02381c72ca (offen)
Dieser Text wurde von einer KI erstellt; maßgeblich ist die AUTOSAR-Spezifikation.
Implementer's Guide folgt (Komplexität I1)
function LinSM_GetVersionInfo [SWS_LinSM_00117] 📄 PDF
void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);
-
function LinSM_GetCurrentComMode [SWS_LinSM_00122] 📄 PDF
Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);
Function to query the current communication mode.
function 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.
Verwendung und Aufrufkontext
Die in der Header-Datei LinSM.h deklarierte Funktion LinSM_RequestComMode (Service-ID 0x12) dient dem asynchronen Anfordern eines Kommunikationsmodus für ein übergebenes LIN-Netzwerk [SWS_LinSM_00126]. Über den Parameter network vom Typ NetworkHandleType wird der betreffende LIN-Kanal identifiziert, während mode vom Typ ComM_ModeType den gewünschten Kommunikationsmodus spezifiziert [SWS_LinSM_00126]. Der eigentliche Moduswechsel erfolgt nicht instantan; das LinSM benachrichtigt den Aufrufer erst, sobald die Modustransition erfolgreich abgeschlossen ist [SWS_LinSM_00126]. Interpretation: Als primärer Aufrufer dürfte der ComM fungieren, da die Modusumschaltung auf Kanalebene angefordert und quittiert wird. Frage Q-0fcce16df8a29149 (offen)
Rückgabewerte und Nebenläufigkeit
Die Schnittstelle ist als reentrant spezifiziert und liefert einen Statuswert vom Typ Std_ReturnType zurück [SWS_LinSM_00126]:
E_OK: Die Anforderung wurde erfolgreich vom LinSM akzeptiert [SWS_LinSM_00126].E_NOT_OK: Die Ausführung der Anforderung ist nicht möglich, beispielsweise wenn das LinSM-Modul noch nicht initialisiert ist [SWS_LinSM_00126].
Fehlerbehandlung und Zusammenspiel
Im Rahmen der Fehlerbehandlung ist ein Zusammenspiel mit dem LIN-Interface definiert: Falls der unterlagerte Aufruf von LinIf_GotoSleep den Rückgabewert E_NOT_OK liefert, muss LinSM_RequestComMode zwingend ebenfalls E_NOT_OK zurückgeben [SWS_LinSM_00177]. Wenn die Funktion mit E_NOT_OK zurückkehrt, muss im LinSM derselbe Zustand gesetzt bleiben bzw. werden, sodass die entsprechenden Rückmeldungen an ComM_BusSM_ModeIndication und BswM_LinSM_CurrentState erfolgen [SWS_LinSM_00177].
Dieser Text wurde automatisch generiert. Alle fachlichen Aussagen basieren ausschließlich auf den Spezifikationsdaten von AUTOSAR R20-11.
Implementer's Guide folgt (Komplexität I2)
function LinSM_MainFunction [SWS_LinSM_00156] 📄 PDF
void LinSM_MainFunction (void);
Periodic function that runs the timers of different request timeouts
Verwendung
Die Funktion LinSM_MainFunction fungiert als zentrale periodische Hauptfunktion des Moduls LIN State Manager (LinSM) innerhalb der AUTOSAR-Classic-Architektur [SWS_LinSM_00156]. Gemäß Spezifikation besitzt sie die Syntax void LinSM_MainFunction (void) und die hexadezimale Service-ID 0x30 [SWS_LinSM_00156]. Da sie weder Parameter übernimmt noch einen Rückgabewert liefert, arbeitet sie rein zustandsbasiert im Modul [SWS_LinSM_00156]. Ihre primäre funktionale Aufgabe ist das kontinuierliche Betreiben und Aktualisieren der internen Timer, welche für die Überwachung diverser Anforderungs-Timeouts (Request Timeouts) zuständig sind [SWS_LinSM_00156].
Aufrufkontext und Scheduling
Die Deklaration der Schnittstelle erfolgt über die Header-Datei SchM_LinSm.h [SWS_LinSM_00156]. Interpretation: Aufgrund dieser Einbindung in den Schedule Manager dürfte die Funktion zyklisch durch den BSW-Scheduler im Kontext einer Betriebssystem-Task aufgerufen werden. Frage Q-d83f7b3f0b251f4f (offen) Dieser regelmäßige Zyklus ist essenziell, damit anstehende Timeout-Bedingungen bei LIN-Kanal- und Zustandsanforderungen deterministisch erkannt und verarbeitet werden können. Spezifische Fehlerbehandlungen wie DET-Fehlercodes oder DEM-Ereignisse sowie formale Reentranz-Kriterien sind für diesen Service im vorliegenden Spezifikationsumfang nicht spezifiziert und entfallen daher.
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR R20-11 generiert.
Implementer's Guide folgt (Komplexität I1)
function 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.
Verwendung
Die Funktion LinSM_ScheduleRequestConfirmation dient als Callback-Schnittstelle des Moduls LinSM und besitzt die Service-ID 0x20 [SWS_LinSM_00129]. Sie ist über die Header-Datei LinSM.h verfügbar und wird vom LIN-Interface (LinIf) aufgerufen, sobald eine zuvor angeforderte neue Schedule-Tabelle auf dem LIN-Bus aktiv geworden ist [SWS_LinSM_00129].
Die Schnittstelle besitzt keinen Rückgabewert (void) und übergibt zwei Eingangsparameter an das LinSM [SWS_LinSM_00129]:
network(NetworkHandleType): Dient der eindeutigen Identifikation des betroffenen LIN-Kommunikationskanals [SWS_LinSM_00129].schedule(LinIf_SchHandleType): Übergibt den Bezeichner bzw. Zeiger auf die neu aktivierte Schedule-Tabelle [SWS_LinSM_00129].
Nebenläufigkeit und Zusammenspiel
Die Ausführung von LinSM_ScheduleRequestConfirmation ist als synchron und reentrant spezifiziert [SWS_LinSM_00129]. Ein- und Ausgabeparameter (inout oder out) sind nicht vorhanden [SWS_LinSM_00129]. Das Zusammenspiel erfolgt eng gekoppelt mit dem Modul LinIf, welches diese Callback-Funktion aufruft, um den Zustandswechsel der Schedule-Tabelle an den LinSM zu bestätigen [SWS_LinSM_00129]. Interpretation: Da LinIf als Aufrufer agiert, dürfte der Aufrufkontext an die Ablaufverarbeitung des LinIf-Treibers bzw. Interfaces gekoppelt sein. Frage Q-500d6a653bfbaac0 (offen)
Dieser Nutzungshinweis wurde automatisch auf Basis der AUTOSAR-Spezifikation erstellt.
Implementer's Guide folgt (Komplexität I1)
function 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.
Die Callback-Funktion LinSM_GotoSleepIndication ([SWS_LinSM_91000]) dient der Benachrichtigung des LIN State Managers über das Versetzen eines Kanals in den Ruhezustand. Der Aufruf erfolgt durch das LIN Interface (LinIf), sobald auf dem Netzwerk ein Go-to-Sleep-Befehl empfangen wird oder ein Bus-Idle-Timeout eintritt.
Verwendung und Aufrufkontext
Die Funktion wird synchron ausgeführt und besitzt keinen Rückgabewert ([SWS_LinSM_91000]). Sie wird über den Header LinSM.h bereitgestellt und führt die Service-ID 0x03. Ihr einziger Parameter dient der Kanalidentifikation:
Channel(In): Identifiziert den betroffenen LIN-Kanal über den TypNetworkHandleType([SWS_LinSM_91000]).
Es sind weder Ein-/Ausgangsparameter (inout) noch Ausgabeparameter (out) spezifiziert ([SWS_LinSM_91000]).
Nebenläufigkeit und Einschränkungen
Hinsichtlich der Nebenläufigkeit ist die Schnittstelle als reentrant definiert ([SWS_LinSM_91000]). Eine maßgebliche funktionale Einschränkung betrifft die Knoteneigenschaft: Der Callback ist ausschließlich für LIN-Slave-Knoten vorgesehen und anwendbar ([SWS_LinSM_91000]).
Dieser Nutzungshinweis basiert ausschließlich auf den Spezifikationsdaten aus AUTOSAR Release R20-11.
Implementer's Guide folgt (Komplexität I1)
function 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.
Die Callback-Funktion LinSM_GotoSleepConfirmation wird gemäß [SWS_LinSM_00135] vom LIN Interface (LinIf) aufgerufen, sobald ein Go-to-Sleep-Befehl auf dem LIN-Netzwerk übertragen wurde oder die Übertragung fehlgeschlagen ist.
Verwendung und Parameter
Der Callback besitzt die Service-ID 0x22, wird über den Header LinSM.h deklariert und besitzt keinen Rückgabewert [SWS_LinSM_00135]. Zur Identifikation und Statusübermittlung werden zwei Übergabeparameter genutzt:
network: Identifiziert den betroffenen LIN-Kanal über den TypNetworkHandleType[SWS_LinSM_00135].success: Gibt als boolescher Wert an, ob das Go-to-Sleep-Kommando erfolgreich auf dem Bus gesendet werden konnte (true) oder nicht (false) [SWS_LinSM_00135].
Ausführungskontext und Nebenläufigkeit
Die Spezifikation definiert den Aufruf als synchron und reentrant [SWS_LinSM_00135]. Interpretation: Das Modul LinSM dürfte anhand des Parameters success seinen internen Zustand für das jeweilige Netzwerk aktualisieren und feststellen, ob der Übergang in den Ruhezustand auf dem Bus bestätigt wurde. Frage Q-b5dfd51188b9ff0b (offen) Fehlerbehandlungen, Rückgabewerte oder spezifische DET- bzw. DEM-Meldungen sind für diese Schnittstelle im Payload nicht spezifiziert [SWS_LinSM_00135].
Dieser Text wurde von einer KI generiert; verbindlich ist ausschließlich die AUTOSAR-Spezifikation.
Implementer's Guide folgt (Komplexität I1)
function 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.
Die Callback-Funktion LinSM_WakeupConfirmation dient im LIN-State-Manager der Bestätigung für das Senden eines Aufwachsignals auf einem LIN-Netzwerk [SWS_LinSM_00132]. Sie wird vom LIN-Interface (LinIf) aufgerufen, sobald der Befehl zum Aussenden des Wakeup-Signals auf dem Netzwerk entweder erfolgreich oder nicht erfolgreich übertragen wurde [SWS_LinSM_00132].
Für den Aufrufkontext, die Nebenläufigkeit und die Parameterübergabe gelten die folgenden Spezifikationsmerkmale [SWS_LinSM_00132]:
- Synchronisationsverhalten und Reentranz: Die Ausführung der Funktion erfolgt synchron (Synchronous) und ist als reentrant (Reentrant) klassifiziert [SWS_LinSM_00132].
- Kanalidentifikation (
network): Der übergebene Eingangsparameter vom TypNetworkHandleTypebezeichnet den jeweiligen LIN-Kanal, auf dem der Sendevorgang stattfand [SWS_LinSM_00132]. - Erfolgsstatus (
success): Der boolesche Parameter gibt an, ob das Wakeup-Signal erfolgreich gesendet werden konnte (true) oder die Übertragung fehlgeschlagen ist (false) [SWS_LinSM_00132]. - Rückgabewert und Ein-/Ausgabeparameter: Die Funktion besitzt keinen Rückgabewert (
void) und definiert weder Ausgangs- noch Ein-/Ausgangsparameter [SWS_LinSM_00132].
Die Schnittstelle besitzt die Service-ID 0x21 und wird über die Header-Datei LinSM.h bereitgestellt [SWS_LinSM_00132]. Spezifische Fehlercodes sowie Anforderungen an eine Fehlerbehandlung über das Default Error Tracer (DET) oder das Diagnostic Event Manager (DEM) Modul werden im Spezifikationselement nicht vorgegeben [SWS_LinSM_00132].
Dieser Nutzungshinweis basiert auf der Spezifikation AUTOSAR Classic Release R20-11.
type LinSM_ModeType [SWS_LinSM_00220] 📄 PDF
Type used to report the current mode to the Bsw M
Der Datentyp LinSM_ModeType ist ein Standardtyp des LIN State Managers, der auf dem Basistyp uint8 aufbaut und über den Header LinSM.h zur Verfügung gestellt wird [SWS_LinSM_00220]. Die primäre Aufgabe dieses Typs besteht darin, den aktuellen Kommunikationsmodus eines LIN-Netzwerks an das BSW Mode Management (BswM) zu melden [SWS_LinSM_00220].
Für LinSM_ModeType sind zwei Zustände im Wertebereich spezifiziert [SWS_LinSM_00220]:
LINSM_FULL_COM(numerischer Wert0x01): Signalisiert den Zustand der uneingeschränkten Vollkommunikation (Full communication) [SWS_LinSM_00220].LINSM_NO_COM(numerischer Wert0x02): Kennzeichnet den Zustand ohne laufende Kommunikation (No communication) [SWS_LinSM_00220].
Hinsichtlich Fehlerbehandlung und Nebenläufigkeit enthält die Typdefinition keine eigenen Fehlercodes, DET-Meldungen oder DEM-Ereignisse, da es sich um eine elementare Typdeklaration handelt [SWS_LinSM_00220]. Interpretation: Die Übergabe von Werten dieses Typs an den BswM dürfte im Rahmen übergeordneter Zustandswechsel des LinSM erfolgen, wobei Aufrufer sicherstellen müssen, dass keine unzulässigen Werte außerhalb der definierten Zustände übermittelt werden. Frage Q-fe193732b8be2388 (offen)
Dieser Nutzungshinweis wurde durch eine KI erstellt.
Implementer's Guide folgt (Komplexität 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#d2671c47- Content hash
d2671c47- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINStateManager.pdf#nameddest=SWS_LinSM_00155
claude-opus-5-5· 2026-10-13