DEENESPTFRRUARHIKOZHNL

LIN Interface (LinIf)

ModulLinIf (LIN Interface)
BSW-Modul-ID62
Standard-Header#include "LinIf.h"
SWS-SpezifikationAUTOSAR_SWS_LINInterface.pdf
ClusterLIN

Modul-GuideKI-GENERIERT

Vermittelt LIN-Frames zwischen oberen Schichten und LIN-Treiber und steuert Schedules, Schlaf, Wecken und LIN-TP.
KI-GENERIERT ungeprüft Modell: claude-opus-5-5 · Aufwand: high · Temperatur: nicht steuerbar · Prompt: 2c16f0f64a13 Herkunft Offene Fragen (2)
Kausaler Anker: R20-11 Gültig ab R20-11 Neu synthetisiert für diesen Spezifikationsstand.
KI-generiertclaude-opus-5-5 · 2026-10-13

Vermittelt LIN-Frames zwischen oberen Schichten und LIN-Treiber und steuert Schedules, Schlaf, Wecken und LIN-TP.

Das LIN Interface verbindet die oberen Kommunikationsmodule mit LIN-Treiber und Transceiver und enthält auch das LIN-Transportprotokoll. Als Master arbeitet ein Kanal Schedule-Tabellen ab, die über LinIf_ScheduleRequest gewählt werden [SWS_LinIf_00202]. Als Slave reagiert er dagegen nur auf die Header-Meldungen des Treibers [SWS_LinIf_91004]. Daneben steuert es je Kanal das Schlafen und Wecken, die Diagnose-Übertragung und im Slave die Node Configuration. Welche Dienste verfügbar sind, hängt vom konfigurierten Knotentyp der Kanäle ab.

Das LIN Interface (LinIf) vermittelt zwischen den oberen Kommunikationsmodulen und dem LIN-Treiber und enthält zugleich das LIN-Transportprotokoll [SWS_LinIf_00351]. Nach oben ruft es in R20-11 die konfigurierbaren Callouts <User_TriggerTransmit>, <User_TxConfirmation> und <User_RxIndication> auf [SWS_LinIf_00528] [SWS_LinIf_00529] [SWS_LinIf_00530]; Nutzer ist der PduR oder ein CDD. Moduswechsel meldet es über <User>_…Confirmation-Callouts an den LinSM zurück [SWS_LinIf_00521]. Nach unten nutzt es Lin und optional LinTrcv [SWS_LinIf_00359].

kontext Nutzer PduR / CDD (<User_…>-Callouts) LinIf LinIf (inkl. LinTp) Nutzer->LinIf LinIf_Transmit, LinTp_Transmit LinSM LinSM (<User>-Callouts) LinSM->LinIf LinIf_ScheduleRequest, LinIf_GotoSleep, LinIf_Wakeup BswM BswM Com Com EcuM EcuM EcuM->LinIf LinIf_CheckWakeup Mirror Mirror (Bus Mirroring) Det DET LinIf->Nutzer <User_TriggerTransmit>, <User_TxConfirmation>, <User_RxIndication> LinIf->LinSM <User>_ScheduleRequestConfirmation, <User>_GotoSleepConfirmation, <User>_WakeupConfirmation LinIf->BswM BswM_LinTp_RequestMode (LinTp_Mode) LinIf->Com Com_SendSignal (response_error) LinIf->Mirror Mirror_ReportLinFrame LinIf->Det Det_ReportError, Det_ReportRuntimeError Lin Lin (LIN-Treiber) LinIf->Lin Lin_SendFrame, Lin_GetStatus, Lin_GoToSleepInternal, Lin_Wakeup LinTrcv LinTrcv (optional) LinIf->LinTrcv Modus- und Weckdienste (LinTrcv_SetOpMode u. a.) Lin->LinIf LinIf_HeaderIndication, LinIf_RxIndication, LinIf_TxConfirmation, LinIf_LinErrorIndication, LinIf_WakeupConfirmation

Kontextdiagramm: LinIf zwischen Nutzern, LinSM, BswM, EcuM, Mirror sowie Lin und LinTrcv. Quellen: [SWS_LinIf_00360] [SWS_LinIf_00469]

Nach LinIf_Init [SWS_LinIf_00198] steht jeder Kanal in LINIF_CHANNEL_SLEEP. Frames verarbeitet LinIf nur in LINIF_CHANNEL_OPERATIONAL SWS LinIf S. 45. Die Arbeit erledigt je Kanal eine eigene MainFunction [SWS_LinIf_00384].

linif_zustand cluster_init LINIF_INIT (Unterzustände je Kanal) Reset Reset UNINIT LINIF_UNINIT Reset->UNINIT SLEEP LINIF_CHANNEL_SLEEP UNINIT->SLEEP LinIf_Init (ohne Go-to-sleep-Kommando) OP LINIF_CHANNEL_OPERATIONAL SLEEP->OP LinIf_Wakeup OP->SLEEP LinIf_GotoSleep (Slave: nach Go-to-sleep-Kommando oder Bus-Idle-Timeout)

Zustandsdiagramm: Die Initialisierung führt in den Schlafzustand; LinIf_Wakeup und LinIf_GotoSleep wechseln zwischen den Kanalzuständen. Quellen: SWS LinIf S. 45

Master und Slave arbeiten grundverschieden. Ein Master-Kanal arbeitet Schedule-Tabellen ab, gewählt über LinIf_ScheduleRequest mit Index 1..255; 0 steht für den NULL_SCHEDULE [SWS_LinIf_00197] [SWS_LinIf_00202]. LinIf_Transmit markiert dabei nur Sporadic Frames; die Daten holt LinIf erst beim fälligen Slot ab [SWS_LinIf_00706]. Ein Slave reagiert dagegen nur auf LinIf_HeaderIndication. Er entscheidet anhand der PID über Senden, Empfangen oder Ignorieren [SWS_LinIf_00738] [SWS_LinIf_00733] [SWS_LinIf_00748] und verwaltet das response_error-Signal selbstständig [SWS_LinIf_00763].

Ein Slave schläft nach einem Go-to-sleep-Kommando oder nach einem Bus-Idle-Timeout ein [SWS_LinIf_00750] [SWS_LinIf_00755]. Das Wecken bestätigt er erst mit dem ersten empfangenen Header [SWS_LinIf_00761]. Für die Diagnose schaltet LinTp im Master die Schedules über BswM_LinTp_RequestMode um [SWS_LinIf_00629]. Im Slave bedient LinIf die Node Configuration nach ISO 17987-3 [SWS_LinIf_00771]. Fehler meldet LinIf an den DET, etwa LINIF_E_RESPONSE [SWS_LinIf_00729]. TP-Übertragungen bricht es bei Timeouts mit E_NOT_OK ab [SWS_LinIf_00801] [SWS_LinIf_00806].

Rolle des LIN Interface zwischen Nutzern, Treiber und Transceiver

Das LIN Interface (LinIf) vermittelt zwischen den oberen Kommunikationsmodulen und dem LIN-Treiber. Es enthält zugleich das LIN-Transportprotokoll: Auch dessen Dienste wie LinTp_Init und LinTp_Transmit sind über LinIf.h verfügbar [SWS_LinIf_00350] [SWS_LinIf_00351]. Nach unten nutzt LinIf Treiberdienste wie Lin_GoToSleepInternal, Lin_Wakeup und Lin_WakeupInternal [SWS_LinIf_00359]. Optional kommt der LIN Transceiver Driver hinzu, dessen Modus- und Weckdienste LinIf für alle Transceiver auf eine einheitliche Schnittstelle abbildet SWS LinIf S. 24. Dazu reichen LinIf_SetTrcvMode, LinIf_GetTrcvMode, LinIf_GetTrcvWakeupReason und LinIf_SetTrcvWakeupMode die Aufrufe an den Transceiver-Treiber weiter [SWS_LinIf_00544] [SWS_LinIf_00545] [SWS_LinIf_00547] [SWS_LinIf_00550].

Nach oben ruft LinIf seine Nutzer über konfigurierbare Callouts auf: <User_TriggerTransmit>, <User_TxConfirmation> und <User_RxIndication> [SWS_LinIf_00528] [SWS_LinIf_00529] [SWS_LinIf_00530]. Nutzer ist entweder der PduR, dann ist PduR_LinIfTriggerTransmit einzutragen [SWS_LinIf_00722], oder ein CDD, dessen Callback-Header LinIf einbindet [SWS_LinIf_00669]. Moduswechsel meldet LinIf über <User>_ScheduleRequestConfirmation, <User>_GotoSleepConfirmation und <User>_WakeupConfirmation zurück [SWS_LinIf_00520] [SWS_LinIf_00521] [SWS_LinIf_00522]. Empfänger dieser Meldungen ist der LinSM SWS LinSM S. 24. Außerdem benötigt LinIf die Dienste BswM_LinTp_RequestMode, Com_SendSignal und Det_ReportError [SWS_LinIf_00360]. Ab R24-11 ersetzt der LSduR den PduR bzw. CDD als oberen Nutzer SWS LinIf S. 1. Für R20-11 gelten die <User_…>-Callouts.

Jeder Kanal ist entweder Master oder Slave. Slave-Dienste wie LinIf_HeaderIndication oder LinIf_GetConfiguredNAD existieren nur, wenn mindestens ein Slave-Kanal konfiguriert ist [SWS_LinIf_00863] [SWS_LinIf_00861]. LinIf_ScheduleRequest existiert nur bei mindestens einem Master-Kanal [SWS_LinIf_00858]. Die zyklische Verarbeitung läuft in LinIf_MainFunction_<LinIfChannel.ShortName> [SWS_LinIf_00384]. Diese Funktion existiert einmal je Kanal SWS LinIf S. 119 und wird mit der Periode LinIfMainFunctionPeriod aufgerufen. Im Master fragt sie den Schedule Table Manager ab, im Slave überwacht sie Zeitbedingungen SWS LinIf S. 45. Bus Mirroring wird je Kanal mit LinIf_EnableBusMirroring aktiviert; danach meldet LinIf empfangene und gesendete Frames an das Mirror-Modul [SWS_LinIf_00876] [SWS_LinIf_00838] [SWS_LinIf_00873].

kontext Nutzer PduR / CDD (<User_…>-Callouts) LinIf LinIf (inkl. LinTp) Nutzer->LinIf LinIf_Transmit, LinTp_Transmit LinSM LinSM (<User>-Callouts) LinSM->LinIf LinIf_ScheduleRequest, LinIf_GotoSleep, LinIf_Wakeup BswM BswM Com Com EcuM EcuM EcuM->LinIf LinIf_CheckWakeup Mirror Mirror (Bus Mirroring) Det DET LinIf->Nutzer <User_TriggerTransmit>, <User_TxConfirmation>, <User_RxIndication> LinIf->LinSM <User>_ScheduleRequestConfirmation, <User>_GotoSleepConfirmation, <User>_WakeupConfirmation LinIf->BswM BswM_LinTp_RequestMode (LinTp_Mode) LinIf->Com Com_SendSignal (response_error) LinIf->Mirror Mirror_ReportLinFrame LinIf->Det Det_ReportError, Det_ReportRuntimeError Lin Lin (LIN-Treiber) LinIf->Lin Lin_SendFrame, Lin_GetStatus, Lin_GoToSleepInternal, Lin_Wakeup LinTrcv LinTrcv (optional) LinIf->LinTrcv Modus- und Weckdienste (LinTrcv_SetOpMode u. a.) Lin->LinIf LinIf_HeaderIndication, LinIf_RxIndication, LinIf_TxConfirmation, LinIf_LinErrorIndication, LinIf_WakeupConfirmation

Kontextdiagramm: LinIf (mit LinTp) liegt zwischen Nutzern, Modusverwaltung und Diagnose-/Mirror-Diensten oben sowie Lin und LinTrcv unten. Quellen: [SWS_LinIf_00359] [SWS_LinIf_00360] [SWS_LinIf_00469] [SWS_LinIf_00872] SWS LinIf (Abb.) S. 17

Initialisierung und Zustandsmaschinen von Kanal und LinTp

LinIf_Init erhält einen Zeiger auf LinIf_ConfigType [SWS_LinIf_00198] [SWS_LinIf_00668] und führt das Modul von LINIF_UNINIT nach LINIF_INIT SWS LinIf S. 47. Jeder Kanal hat eine eigene Unter-Zustandsmaschine. Nach der Initialisierung steht er in LINIF_CHANNEL_SLEEP, ohne dass ein Go-to-sleep-Kommando gesendet wurde. Header und Responses verarbeitet LinIf nur in LINIF_CHANNEL_OPERATIONAL SWS LinIf S. 45. Master-Kanäle starten mit dem NULL_SCHEDULE SWS LinIf S. 90. Slave-Kanäle übernehmen initiale und konfigurierte NAD sowie die PIDs aus der Konfiguration [SWS_LinIf_00767] [SWS_LinIf_00768] und stellen die LIN Product Identification bereit [SWS_LinIf_00769].

linif_zustand cluster_init LINIF_INIT (Unterzustände je Kanal) Reset Reset UNINIT LINIF_UNINIT Reset->UNINIT SLEEP LINIF_CHANNEL_SLEEP UNINIT->SLEEP LinIf_Init (ohne Go-to-sleep-Kommando) OP LINIF_CHANNEL_OPERATIONAL SLEEP->OP LinIf_Wakeup OP->SLEEP LinIf_GotoSleep (Slave: nach Go-to-sleep-Kommando oder Bus-Idle-Timeout)

Zustandsdiagramm: Lebenszyklus von LinIf und Kanal-Unterzustände; die Initialisierung führt in den Schlafzustand, Wecken und Schlafen wechseln zwischen den Kanalzuständen. Quellen: SWS LinIf S. 45 [SWS_LinIf_00204] [SWS_LinIf_00205] [SWS_LinIf_00755]

Das Transportprotokoll hat je Kanal eine eigene Zustandsmaschine. LinTp_Init [SWS_LinIf_00350] setzt LINTP_INIT mit dem Unterzustand LINTP_CHANNEL_IDLE [SWS_LinIf_00710] SWS LinIf S. 99. Nach LINTP_CHANNEL_BUSY wechselt der Kanal, sobald ein FF oder SF als TP-Nachricht erkannt wird [SWS_LinIf_00322] [SWS_LinIf_00323] oder LinTp_Transmit aufgerufen wird SWS LinIf S. 108. LinTp_Shutdown [SWS_LinIf_00355] schließt alle offenen Verbindungen und setzt alle Kanäle auf LINTP_UNINIT SWS LinIf S. 102. Ob LinTp überhaupt enthalten ist, legt LinIfTpSupported zur Übersetzungszeit fest SWS LinIf S. 61.

lintp_zustand cluster_init LINTP_INIT (je Kanal) Reset Reset UNINIT LINTP_UNINIT Reset->UNINIT IDLE LINTP_CHANNEL_IDLE UNINIT->IDLE LinTp_Init IDLE->UNINIT LinTp_Shutdown BUSY LINTP_CHANNEL_BUSY IDLE->BUSY TP-Nachricht beginnt (LinTp_Transmit oder FF/SF erkannt) BUSY->UNINIT LinTp_Shutdown (Verbindungen schließen) BUSY->IDLE TP-Nachricht beendet

Zustandsdiagramm: LinTp-Kanal zwischen IDLE und BUSY innerhalb von LINTP_INIT. Quellen: SWS LinIf (Abb.) S. 43 [SWS_LinIf_00322] [SWS_LinIf_00710] [SWS_LinIf_00355]

Master-Kanal: Schedule-Tabellen bestimmen den Busverkehr

Im Master bildet die Schedule-Tabelle die Grundlage aller Kommunikation. Jeder Kanal besitzt einen leeren NULL_SCHEDULE, und die Abstände zwischen Frames sind Vielfache von LinIfMainFunctionPeriod SWS LinIf S. 44. LinIf_SchHandleType kodiert den NULL_SCHEDULE als 0x00 und die übrigen Tabellen als Index 1..255. Der Index ist je Kanal eindeutig, aber nicht je Steuergerät [SWS_LinIf_00197]. LinIf_ScheduleRequest arbeitet asynchron [SWS_LinIf_00202]; den vollzogenen Wechsel meldet <User>_ScheduleRequestConfirmation [SWS_LinIf_00520]. In der Konfiguration erhält jede Tabelle einen LinIfRunMode, nämlich RUN_CONTINUOUS oder RUN_ONCE ECUC-Parameter S. 265. Der Parameter Schedule wurde erst in R22-11 umbenannt SWS LinIf S. 1.

LinIf_Transmit [SWS_LinIf_00201] löst keine sofortige Sendung aus. Es markiert nur Sporadic Frames (Master) bzw. Event-triggered Frames (Slave) als anstehend SWS LinIf S. 79. Für andere Frames liefert es dennoch E_OK [SWS_LinIf_00700], während eines NULL_SCHEDULE dagegen E_NOT_OK [SWS_LinIf_00719]. Ist ein Sende-Slot fällig, holt LinIf die Daten über <User_TriggerTransmit> und übergibt sie mit Lin_SendFrame an den Treiber SWS LinIf S. 37. Liefert der Nutzer E_NOT_OK, entfällt der Frame [SWS_LinIf_00706]. Den Ausgang prüft LinIf mit Lin_GetStatus, frühestens nach der maximalen Frame-Länge und spätestens beim nächsten Tabelleneintrag SWS LinIf S. 35. LIN_TX_ERROR und LIN_TX_BUSY führen zu <User_TxConfirmation> mit E_NOT_OK [SWS_LinIf_00728], LIN_TX_OK führt zu E_OK SWS LinIf S. 40.

Frame-Übertragung im Master-KanalNutzer (PduR/CDD)LinIfLinBSW-TaskUse Case: Anmeldung (nur Sporadic Frame)LinIf_Transmit(TxPduId, PduInfoPtr)CheckId()SetFlag()E_OK (E_NOT_OK bei NULL_SCHEDULE)Use Case: Sende-Slot fälligLinIf_MainFunction_<LinIfChannel.ShortName>()<User_TriggerTransmit>(TxPduId, PduInfoPtr)E_OK / E_NOT_OKaltE_OKLin_SendFrame(...)E_NOT_OKFrame wird nicht gesendetUse Case: Statusprüfung nach maximaler Frame-LängeLinIf_MainFunction_<LinIfChannel.ShortName>()Lin_GetStatus(...)LIN_TX_OK / LIN_TX_BUSY / LIN_TX_ERROR<User_TxConfirmation>(TxPduId, result)E_OK bei LIN_TX_OK, sonst E_NOT_OK

Sequenzdiagramm: Anmeldung, slotgesteuertes Abholen der Daten und Statusauswertung beim Master-Senden. Quellen: [SWS_LinIf_00201] [SWS_LinIf_00706] [SWS_LinIf_00728] SWS LinIf S. 125 SWS PduR S. 107

Slave-Kanal: Reaktion auf die Header des Masters

Ein Slave kennt keinen Schedule. Er reagiert ausschließlich auf LinIf_HeaderIndication [SWS_LinIf_91004] SWS LinIf S. 39. LinIf wertet zunächst die PID aus:

Nach einem erfolgreichen Empfang ruft der Treiber LinIf_RxIndication auf, und LinIf reicht die Daten an <User_RxIndication> weiter [SWS_LinIf_91005] [SWS_LinIf_00734]. Nach einem erfolgreichen Senden ruft der Treiber LinIf_TxConfirmation auf, und LinIf bestätigt mit E_OK [SWS_LinIf_91006] [SWS_LinIf_00741]. Bei Event-triggered Frames steht die PID des zugehörigen Unconditional Frames im ersten Datenbyte [SWS_LinIf_00731]. Das Pending-Flag wird nach erfolgreicher Übertragung gelöscht [SWS_LinIf_00732].

Das response_error-Signal verwaltet LinIf je Slave-Kanal selbstständig [SWS_LinIf_00763] und aktualisiert es über Com_SendSignal [SWS_LinIf_00764]. Nach erfolgreicher Übertragung wird es gelöscht [SWS_LinIf_00747]. Jede Änderung kann optional über <User_ResponseErrorSignalChanged> gemeldet werden [SWS_LinIf_00765] [SWS_LinIf_00766]. NAD und PID-Liste lassen sich zur Laufzeit lesen und schreiben [SWS_LinIf_00829] [SWS_LinIf_00833] [SWS_LinIf_91002] [SWS_LinIf_91003]. Ausgenommen bleiben die PIDs von MRF und SRF [SWS_LinIf_00809] [SWS_LinIf_00824]. Typische Quelle dieser Werte ist der nichtflüchtige Speicher SWS LinIf S. 57.

Header-getriebene Frame-Verarbeitung im Slave-KanalLinController/UARTLinLinIfNutzer (PduR/CDD)Interrupt (Header empfangen)LinIf_HeaderIndication(Channel, PduPtr)EvaluatePID()altSende-Frame<User_TriggerTransmit>(TxPduId, PduInfoPtr)SduDataPtr = PduPtr->SduPtrE_OKCs, Dl setzenDrc = LIN_FRAMERESPONSE_TXEmpfangs-FrameCs, Dl setzenDrc = LIN_FRAMERESPONSE_RXirrelevant oder TriggerTransmit = E_NOT_OKDrc = LIN_FRAMERESPONSE_IGNOREE_OKInterrupt (Response abgeschlossen)altResponse gesendetLinIf_TxConfirmation(Channel)<User_TxConfirmation>(TxPduId, E_OK)Response empfangenLinIf_RxIndication(Channel, Lin_SduPtr)<User_RxIndication>(RxPduId, PduInfoPtr)Fehler erkanntLinIf_LinErrorIndication(Channel, ErrorStatus)

Sequenzdiagramm: Header-Auswertung im Slave mit Verzweigung nach Frame-Richtung sowie anschließender Bestätigung, Empfangsmeldung oder Fehlermeldung. Quellen: [SWS_LinIf_91004] [SWS_LinIf_00738] [SWS_LinIf_00733] [SWS_LinIf_00748] SWS LinIf S. 121 SWS LinIf (Abb.) S. 133

Schlafen und Wecken eines LIN-Kanals

Der Master sendet auf Anforderung ein Go-to-sleep-Kommando. Der Slave schläft ein, wenn er dieses Kommando empfängt oder der Bus inaktiv bleibt SWS LinIf S. 48. Als Go-to-sleep-Kommando gilt im Slave ein MRF mit NAD 0 [SWS_LinIf_00750]. Die Bus-Idle-Überwachung läuft im Zustand LINIF_CHANNEL_OPERATIONAL [SWS_LinIf_00751] [SWS_LinIf_00752] [SWS_LinIf_00753]. Jeder Treiber-Callback startet den Timer neu [SWS_LinIf_00754]. In beiden Fällen ruft LinIf <User>_GotoSleepIndication auf [SWS_LinIf_00756]. Ruft der Nutzer daraufhin LinIf_GotoSleep [SWS_LinIf_00204], folgt sofort Lin_GoToSleepInternal [SWS_LinIf_00757]. Danach löscht LinIf das Weckflag [SWS_LinIf_00758] und bestätigt mit TRUE [SWS_LinIf_00759]. Im Master versendet die MainFunction laut Schaubild das Kommando über Lin_GoToSleep und bestätigt nach der Statusprüfung SWS LinIf (Abb.) S. 93 [SWS_LinIf_00521].

Übergang in den Schlafzustand (Slave-Kanal)LinLinIfLinTrcvLinIf User (LinSM)altGo-to-sleep-Kommando empfangenLinIf_RxIndication(Channel, Lin_SduPtr)MRF mit NAD = 0Bus-Idle-TimeoutBus-Idle-Timer abgelaufen<User>_GotoSleepIndication()LinIf_GotoSleep(Channel)Lin_GoToSleepInternal(Channel)sofort, nicht erst in der MainFunctionWeckflag des Kanals löschen<User>_GotoSleepConfirmation(channel, TRUE)E_OKoptTransceiver-Treiber unterstütztLinIf_SetTrcvMode(LINTRCV_TRCV_MODE_SLEEP)LinTrcv_SetOpMode(LINTRCV_TRCV_MODE_SLEEP)

Sequenzdiagramm: Übergang eines Slave-Kanals in den Schlafzustand nach Go-to-sleep-Kommando oder Bus-Idle-Timeout. Quellen: [SWS_LinIf_00750] [SWS_LinIf_00755] [SWS_LinIf_00756] [SWS_LinIf_00757] [SWS_LinIf_00759] SWS LinIf S. 137

Wecken geht entweder vom Nutzer über LinIf_Wakeup aus oder von einem erkannten Bus-Wakeup. Einen Bus-Wakeup prüft LinIf über LinIf_CheckWakeup SWS LinIf S. 51. LinIf_CheckWakeup [SWS_LinIf_00378] ruft dazu Lin_CheckWakeup oder LinTrcv_CheckWakeup auf SWS LinIf S. 112. Die Treiber melden einen erkannten Wakeup über LinIf_WakeupConfirmation [SWS_LinIf_00715], worauf LinIf das Weckflag des Kanals setzt SWS LinIf S. 98. LinIf_Wakeup [SWS_LinIf_00205] verhält sich je nach Zustand unterschiedlich. Auf einem wachen Kanal simuliert es Erfolg. Auf einem schlafenden Kanal ohne Weckflag ruft es Lin_Wakeup auf SWS LinIf S. 89. Ist das Weckflag gesetzt, dürfte Lin_WakeupInternal den Kanal ohne Weckpuls aktivieren [SWS_LinIf_00359]. Frage Q-2efc22e03c8e284e (offen)

Die Bestätigung kommt im Master aus der MainFunction SWS LinIf (Abb.) S. 87. Im Slave kommt sie mit dem ersten empfangenen Header [SWS_LinIf_00761]. Vor einer Rückgabe von E_NOT_OK meldet LinIf FALSE [SWS_LinIf_00762]. Sendet der Master keine Header, bleibt die Bestätigung aus, und der LinSM läuft in einen Timeout SWS LinIf S. 52. Trifft während des Einschlafens eine Weckanforderung ein, bleibt der Master operativ SWS LinIf S. 56. Der Slave startet in diesem Fall das Wecken neu SWS LinIf S. 53.

Wakeup-Prüfung und WeckanforderungEcuMLinIf User (LinSM)LinIfLin / LinTrcvBSW-TaskUse Case: Bus-Wakeup (falls aufgetreten)LinIf_CheckWakeup(WakeupSource)Lin_CheckWakeup / LinTrcv_CheckWakeupLinIf_WakeupConfirmation(WakeupSource)Weckflag des Kanals setzenUse Case: WeckanforderungLinIf_Wakeup(Channel)altKanal schläft, Weckflag nicht gesetztLin_Wakeup(Channel)Kanal schläft, Weckflag gesetzt (Annahme)Lin_WakeupInternal(Channel)Kanal ist wachkein Treiberaufruf, Erfolg simulierenE_OKVor E_NOT_OK ruft LinIf<User>_WakeupConfirmation(channel, FALSE)altMasterLinIf_MainFunction_<LinIfChannel.ShortName>()<User>_WakeupConfirmation(channel, TRUE)SlaveLinIf_HeaderIndication(Channel, PduPtr)erster Header nach LinIf_Wakeup<User>_WakeupConfirmation(channel, TRUE)

Sequenzdiagramm: Wakeup-Prüfung über EcuM, Weckanforderung durch den Nutzer und knotenabhängige Bestätigung. Quellen: [SWS_LinIf_00378] [SWS_LinIf_00715] [SWS_LinIf_00205] [SWS_LinIf_00761] [SWS_LinIf_00762] SWS EcuM S. 182

Diagnose: LIN TP und Node Configuration

Im Master steuert LinTp die Schedule-Tabellen über BswM_LinTp_RequestMode mit LinTp_Mode [SWS_LinIf_00629], sofern LinTpScheduleChangeDiag aktiv ist. Bei LinTp_Transmit [SWS_LinIf_00351] fordert LinTp den Diagnose-Request-Schedule an. Nach dem physischen Request folgt der Diagnose-Response-Schedule, nach der Response der applikative Schedule SWS LinIf S. 62. Nach einem funktionalen Request kehrt der Kanal zum vorherigen Schedule zurück [SWS_LinIf_00707]. PduR_LinTpTxConfirmation folgt erst nach dem Ende des Schedule-Wechsels [SWS_LinIf_00702]. Ein neuer physischer Request beendet die laufende TP-Abwicklung [SWS_LinIf_00708]. LinTp_ChangeParameter [SWS_LinIf_00501] ist nur ein Platzhalter und lehnt jede Änderung ab SWS LinIf S. 103.

LIN-TP-Senden im Master mit Schedule-UmschaltungPduRLinIf (LinTp)BswMLinSMBSW-TaskLinTp_Transmit(TxPduId, PduInfoPtr)optLinTpScheduleChangeDiag = TRUEBswM_LinTp_RequestMode(Network, LINTP_DIAG_REQUEST)LinSM_ScheduleRequest(...)LinIf_ScheduleRequest(Channel, Schedule)E_OK (E_NOT_OK, falls der Schedule-Wechsel abgelehnt wurde)loopje MRF (SF, FF, CF)LinIf_MainFunction_<LinIfChannel.ShortName>()PduR_LinTpCopyTxData(...)MRF senden (wie normale Frame-Übertragung)optphysischer Request, Schedule-Wechsel aktiviertBswM_LinTp_RequestMode(Network, LINTP_DIAG_RESPONSE)PduR_LinTpTxConfirmation(id, result)nach Abschluss des Schedule-Wechsels

Sequenzdiagramm: TP-Senden im Master mit Schedule-Umschaltung über BswM und LinSM. Quellen: [SWS_LinIf_00351] [SWS_LinIf_00702] [SWS_LinIf_00878] SWS LinIf (Abb.) S. 90 SWS LinIf S. 139

Für den Empfang muss LinIf jederzeit bereit sein. Ein FF oder SF startet die Übernahme mit PduR_LinTpStartOfReception. Dabei ordnet LinIf die NAD einer N-SDU-Id zu und kopiert jeden Frame mit PduR_LinTpCopyRxData SWS LinIf S. 67. Im Slave teilen sich Transportschicht und Node Configuration die Frames MRF und SRF SWS LinIf S. 54. LinIf wertet deshalb NAD, PCI und SID jedes MRF aus [SWS_LinIf_00771] und verteilt es entsprechend [SWS_LinIf_00772] [SWS_LinIf_00773] [SWS_LinIf_00774]. Einen SRF-Header bedient der Node-Configuration-Handler, wenn eine Antwort aussteht; sonst geht er an die Transportschicht [SWS_LinIf_00775] [SWS_LinIf_00776]. Unterstützt werden folgende Dienste:

Positive Antworten gehen beim nächsten SRF-Header hinaus [SWS_LinIf_00780].

nodecfg mrf MRF empfangen (LinIf_RxIndication) eval NAD, PCI und SID auswerten mrf->eval pci PCI gültig? eval->pci ign1 Frame ignorieren pci->ign1 nein func funktionale NAD 0x7E mit Node-Configuration-Anfrage? pci->func ja ign2 Anfrage ignorieren func->ign2 ja own adressiert den eigenen Knoten? func->own nein fremd Node-Configuration-Handler und Transportschicht informieren; ausstehende Antwort abbrechen own->fremd nein nc gültige Node-Configuration- Anfrage? own->nc ja srf nächster SRF-Header: Antwort ausstehend? fremd->srf acc Anfrage annehmen, N_As-Timer starten, Transportschicht informieren nc->acc ja tp MRF an Transportschicht weiterleiten nc->tp nein acc->srf tp->srf resp Antwort durch Node-Configuration-Handler senden srf->resp ja tpsrf SRF-Header an Transportschicht srf->tpsrf nein

Aktivitätsdiagramm: Verteilung empfangener MRF und SRF-Header im Slave auf Node-Configuration-Handler und Transportschicht. Interpretation: Die Reihenfolge der Prüfungen ist zur Darstellung gewählt. Quellen: [SWS_LinIf_00771] [SWS_LinIf_00772] [SWS_LinIf_00774] [SWS_LinIf_00788] [SWS_LinIf_00790] [SWS_LinIf_00776] SWS LinIf S. 59

Verhalten im Fehlerfall

Entwicklungsfehler meldet LinIf an den DET, unter anderem mit LINIF_E_UNINIT, LINIF_E_NONEXISTENT_CHANNEL, LINIF_E_PARAMETER, LINIF_E_PARAM_POINTER und LINIF_E_SCHEDULE_REQUEST_ERROR [SWS_LinIf_00376]. Die Callbacks prüfen Kanal und Zeiger [SWS_LinIf_00843] [SWS_LinIf_00844]. Unerwartete Aufrufe von LinIf_RxIndication oder LinIf_TxConfirmation ohne vorherigen Header ignoriert LinIf [SWS_LinIf_00848] [SWS_LinIf_00852].

Als Laufzeitfehler kennt LinIf LINIF_E_RESPONSE und LINIF_E_NC_NO_RESPONSE [SWS_LinIf_00729]. Ruft der Treiber im Slave LinIf_LinErrorIndication auf, gilt der Frame als verloren. LinIf meldet dann LINIF_E_RESPONSE, außer bei LIN_ERR_HEADER [SWS_LinIf_00735] [SWS_LinIf_00743]. Zusätzlich bestätigt es den Sendeversuch mit E_NOT_OK [SWS_LinIf_00742] und setzt bei Response-Fehlern das response_error-Signal [SWS_LinIf_00736] [SWS_LinIf_00744]. Ein neuer Header, während noch eine Response erwartet wird, macht den alten Frame ungültig [SWS_LinIf_00846]. Bei aktivem Mirroring meldet LinIf solche Fehler mit umgesetztem Statuscode [SWS_LinIf_00869] [SWS_LinIf_00870].

LinTp überwacht drei Zeitgrenzen und bricht beim Überschreiten mit E_NOT_OK an den PduR ab:

Auch bei Pufferproblemen bricht LinTp ab [SWS_LinIf_00676] [SWS_LinIf_00677]. Im Master geschieht das erst nach der Rückkehr zum applikativen Schedule [SWS_LinIf_00792] [SWS_LinIf_00879]. Reicht der Puffer nur knapp nicht aus, hält der Master die SRF-Header zurück [SWS_LinIf_00679] SWS LinIf S. 65. Alternativ wiederholt LinIf den Kopierversuch mit Länge 0, bis Platz frei ist oder der nächste CF eintrifft [SWS_LinIf_00793] [SWS_LinIf_00795]. Mit E_NOT_OK abgebrochen wird ferner bei falscher NAD [SWS_LinIf_00655], falscher Sequenznummer [SWS_LinIf_00081], einem FF oder SF nach einem CF [SWS_LinIf_00653] und einem Fehler auf der SRF-Response [SWS_LinIf_00796]. Bei einem P2-Timeout fordert LinIf den applikativen Schedule an [SWS_LinIf_00877]. Lehnt LinIf_ScheduleRequest den Wechsel ab, liefert LinTp_Transmit E_NOT_OK [SWS_LinIf_00878].

In der Node Configuration bricht LinIf eine ausstehende Antwort ab, wenn N_As abläuft [SWS_LinIf_00785] [SWS_LinIf_00786], wenn eine unbekannte NAD eintrifft [SWS_LinIf_00787] oder wenn eine neue gültige Anfrage kommt [SWS_LinIf_00789]. Ein gestörtes MRF lässt die ausstehende Antwort dagegen bestehen [SWS_LinIf_00791]. Die Extended Production Errors für LinTp-Timeouts und abgelehnte Schedule-Wechsel kamen erst mit R23-11 hinzu; für R20-11 gelten sie nicht SWS LinIf S. 1 SWS LinIf S. 74.

Weiterführende Detailbelege

KI-generierter Leitfaden auf Basis der im Payload enthaltenen Spezifikationsauszüge für R20-11. Verbindlich sind die verlinkten Requirements. Dokumentstellen aus späteren Releases sind nur ergänzend herangezogen, und Abweichungen sind benannt.

LIN Interface (LinIf)

Abstracts LIN hardware and manages schedule tables and frame transmission.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

function LinIf_Init [SWS_LinIf_00198] 📄 PDF

void LinIf_Init (const LinIf_ConfigType* ConfigPtr);

Initializes the LIN Interface.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 5afc2b05c058 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion LinIf_Init dient der Initialisierung des LIN-Interface gemäß [SWS_LinIf_00198]. Die Schnittstelle besitzt die Service-ID 0x01, ist über die Header-Datei LinIf.h verfügbar und wird synchron ausgeführt.

Aufrufkontext und Parameter

Die Funktion erwartet als einzigen Parameter ConfigPtr (const LinIf_ConfigType*), welcher als Zeiger auf die Konfiguration des LIN-Interface dient [SWS_LinIf_00198]. Sie besitzt keinen Rückgabewert und verfügt über keine Ein-/Ausgangs- oder reinen Ausgangsparameter.

Initialisierungsabläufe und Zusammenspiel

Im Rahmen der Initialisierung nimmt das LIN-Interface spezifische Einstellungen für Slave-Knoten vor:

  • Gemäß [SWS_LinIf_00767] initialisiert das Modul in LinIf_Init die initiale Knotenadresse (initial NAD) und die konfigurierte Knotenadresse (configured NAD) des Slave-Knotens anhand der Konfigurationsparameter LinIfInitialNAD und LinIfConfiguredNAD.
  • Gemäß [SWS_LinIf_00768] initialisiert das Modul in LinIf_Init die konfigurierten PIDs des Slave-Knotens aus den Konfigurationsdaten über die Konfigurationsparameter LinIfFrameId.

Nebenläufigkeit und Einschränkungen

Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_LinIf_00198]. Ein nebenläufiger oder überlappender Aufruf ist daher unzulässig. Spezifische Fehlercodes oder DET-Meldungen sind im bereitgestellten Spezifikationsumfang für diesen Dienst nicht ausgewiesen.

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function LinIf_Transmit [SWS_LinIf_00201] 📄 PDF

Std_ReturnType LinIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Re quests transmission of a PDU.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 26fe69f012f5 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die in LinIf.h deklarierte Funktion LinIf_Transmit (Service-ID 0x49) dient der synchronen Anforderung zur Übertragung einer PDU [SWS_LinIf_00201]. Als Eingangsparameter erwartet sie TxPduId zur eindeutigen Identifikation der zu sendenden PDU sowie den Zeiger PduInfoPtr auf eine PduInfoType-Struktur, die neben der Datenlänge und den eigentlichen Nutzdaten auch Metadaten referenzieren kann [SWS_LinIf_00201]. Zusätzliche Ein-/Ausgangs- oder Ausgabeparameter existieren nicht [SWS_LinIf_00201].

Rückgabewerte und Verhaltensanforderungen

Als Rückgabewert liefert der Dienst den Status Std_ReturnType [SWS_LinIf_00201]:

  • E_OK: Die Übertragungsanforderung wurde durch das LIN-Interface erfolgreich angenommen [SWS_LinIf_00201].
  • E_NOT_OK: Die Anforderung zur Übertragung konnte nicht angenommen werden [SWS_LinIf_00201].

Das Zusammenspiel mit den Frame-Typen wird durch [SWS_LinIf_00700] präzisiert: Bei initialisiertem LIN-Interface gibt LinIf_Transmit auch dann E_OK zurück, wenn die PDU zu einem nicht-sporadischen Frame auf einem LIN-Master-Knoten oder zu einem nicht-ereignisgesteuerten Frame auf einem LIN-Slave-Knoten gehört.

Nebenläufigkeit

In Bezug auf die Ausführungsumgebung ist LinIf_Transmit reentrant für unterschiedliche PDU-IDs, darf jedoch für dieselbe TxPduId nicht zeitgleich bzw. nebenläufig aufgerufen werden [SWS_LinIf_00201].

Dieser Nutzungshinweis wurde automatisch auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function LinIf_ScheduleRequest [SWS_LinIf_00202] 📄 PDF

Std_ReturnType LinIf_ScheduleRequest (NetworkHandleType Channel, LinIf_SchHandleType Schedule);

Requests a schedule table to be executed. Only used for LIN master nodes.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7aff69ddc1f7 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion LinIf_ScheduleRequest dient ausschließlich auf LIN-Master-Knoten dazu, die Ausführung einer vorgegebenen Schedule-Tabelle anzufordern [SWS_LinIf_00202]. Der Aufruf wird asynchron verarbeitet und ist reentrant ausgelegt [SWS_LinIf_00202].

Parameter und Rückgabewerte

Über den Parameter Channel wird der betroffene LIN-Kanalindex übergeben, während Schedule die Identifikation der neu auszuführenden Schedule-Tabelle festlegt [SWS_LinIf_00202]. Die Funktion liefert den Status als Std_ReturnType zurück:

Fehlerbedingungen und Einschränkungen

Ein Rückgabewert von E_NOT_OK tritt gemäß Spezifikation in folgenden Fehlerfällen auf [SWS_LinIf_00202]:

  • Das LIN-Interface ist noch nicht initialisiert.
  • Der referenzierte Kanal existiert nicht bzw. der übergebene Index liegt außerhalb des Wertebereichs.
  • Die referenzierte Schedule-Tabelle existiert nicht bzw. deren Kennung ist ungültig.
  • Der aktuelle Zustand ist Sleep.

Zusammenspiel

Das Scheitern einer Schedule-Anforderung wirkt sich auf übergeordnete Transportabläufe aus: Wird im Rahmen eines LinTp_Transmit-Aufrufs über BswM_LinTp_RequestMode ein Schedule-Wechsel via LinIf_ScheduleRequest initiiert, muss LinTp_Transmit zwingend E_NOT_OK zurückgeben, wenn LinIf_ScheduleRequest mit E_NOT_OK antwortet [SWS_LinIf_00878].

Dieser Nutzungshinweis basiert ausschließlich auf den Spezifikationsdaten von AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I1)

function LinIf_GotoSleep [SWS_LinIf_00204] 📄 PDF

Std_ReturnType LinIf_GotoSleep (NetworkHandleType Channel);

Initiates a transition into the Sleep Mode on the selected channel.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e5eedba11183 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Funktion LinIf_GotoSleep (Service-ID 0x06, deklariert in LinIf.h) initiiert den Übergang in den Sleep-Modus auf dem spezifizierten LIN-Kanal [SWS_LinIf_00204]. Der Aufruf erfolgt asynchron und übernimmt als Eingangsparameter Channel vom Typ NetworkHandleType die Kennung des betreffenden Kanals [SWS_LinIf_00204].

Rückgabewerte und Fehlerbehandlung

Als Rückgabewert liefert der Dienst den Typ Std_ReturnType mit folgenden Bedeutungen [SWS_LinIf_00204]:

  • E_OK: Die Anforderung zum Wechsel in den Sleep-Modus wurde erfolgreich akzeptiert, der Zustandsübergang in den Sleep-Modus läuft bereits oder der Controller befindet sich bereits im Sleep-Zustand [SWS_LinIf_00204].
  • E_NOT_OK: Die Anforderung wurde nicht akzeptiert. Mögliche Ursachen hierfür sind ein noch nicht initialisiertes LIN-Interface oder ein nicht existierender bzw. außerhalb des gültigen Wertebereichs liegender Kanalbezeichner [SWS_LinIf_00204].

Nebenläufigkeit und Systemzusammenspiel

Die Schnittstelle ist als nicht reentrant (Non Reentrant) definiert [SWS_LinIf_00204]. Wird LinIf_GotoSleep aufgerufen, muss das LIN-Interface unmittelbar die Funktion Lin_GotoSleepInternal aufrufen und darf nicht bis zum nächsten Zyklus der Hauptfunktion warten [SWS_LinIf_00757].

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation R20-11 erstellt.

Implementer's Guide folgt (Komplexität I1)

function LinIf_Wakeup [SWS_LinIf_00205] 📄 PDF

Std_ReturnType LinIf_Wakeup (NetworkHandleType Channel);

Initiates the wake up process.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: dd3e56a193fd Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die reentrante Funktion LinIf_Wakeup stößt den asynchronen Aufwachprozess für den durch den Parameter Channel identifizierten LIN-Kanal an [SWS_LinIf_00205]. Sie steht über den Header LinIf.h zur Verfügung [SWS_LinIf_00205].

Der Rückgabewert Std_ReturnType gibt Aufschluss über die Annahme der Anforderung [SWS_LinIf_00205]:

  • E_OK signalisiert, dass die Aufweckanforderung akzeptiert wurde oder sich der Controller bereits nicht mehr im Schlafzustand befindet [SWS_LinIf_00205].
  • E_NOT_OK wird zurückgegeben, wenn das LIN Interface nicht initialisiert ist, die übergebene Kanal-ID außerhalb des gültigen Bereichs liegt oder die unterlagerten Treiberaufrufe Lin_Wakeup bzw. Lin_WakeupInternal mit E_NOT_OK fehlschlagen [SWS_LinIf_00205].

Das Zusammenspiel mit dem Benutzer erfolgt über die Rückmeldefunktion <User>_WakeupConfirmation:

  • Im Fehlerfall ruft das LIN Interface vor der Rückgabe von E_NOT_OK zwingend <User>_WakeupConfirmation(FALSE) auf [SWS_LinIf_00762].
  • Bei erfolgreicher Annahme (E_OK) bestätigt das LIN Interface das Aufwachen asynchron: Erst wenn nachfolgend zum ersten Mal die Funktion LinIf_HeaderIndication aufgerufen wird, setzt das Modul den Aufruf <User>_WakeupConfirmation(TRUE) ab [SWS_LinIf_00761].

Dieser Text wurde automatisch generiert. Er basiert auf den Anforderungen der AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

function LinIf_SetTrcvMode [SWS_LinIf_00544] 📄 PDF

Std_ReturnType LinIf_SetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType TransceiverMode);

Set the given LIN transceiver to the given mode.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: cb7567440122 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone und reentrante Funktion LinIf_SetTrcvMode (Service-ID 0x08) dient dem Umschalten des angegebenen LIN-Transceivers in den angeforderten Betriebsmodus [SWS_LinIf_00544]. Die Schnittstelle ist über die Header-Datei LinIf.h verfügbar [SWS_LinIf_00544].

Parameter und Rückgabewerte

Der Aufruf erfordert zwei Eingabeparameter [SWS_LinIf_00544]:

  • Channel (NetworkHandleType): Identifiziert den zu steuernden LIN-Kanal [SWS_LinIf_00544].
  • TransceiverMode (LinTrcv_TrcvModeType): Bestimmt den angeforderten Zustandsübergang des Transceivers [SWS_LinIf_00544].

Der Rückgabewert vom Typ Std_ReturnType signalisiert das Ergebnis des Umschaltvorgangs [SWS_LinIf_00544]:

  • E_OK: Wird zurückgegeben, wenn der Transceiver-Zustand erfolgreich in den angeforderten Modus gewechselt wurde [SWS_LinIf_00544].
  • E_NOT_OK: Signalisiert, dass die Zustandsänderung fehlgeschlagen ist oder mindestens ein Parameter außerhalb des zulässigen Bereichs liegt. Der vorherige Zustand des Transceivers bleibt unverändert [SWS_LinIf_00544].

Ausführung und Fehlerverhalten

Die Funktion wird synchron ausgeführt und ist als reentrant spezifiziert [SWS_LinIf_00544]. Spezifische DET- oder DEM-Fehlermeldungen sind im Spezifikationselement nicht separat aufgeführt; ein Fehlschlagen der Modusänderung oder unzulässige Parameterwerte führen unmittelbar zum Rückgabewert E_NOT_OK [SWS_LinIf_00544].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR CP R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function LinIf_GetTrcvMode [SWS_LinIf_00545] 📄 PDF

Std_ReturnType LinIf_GetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType* TransceiverModePtr);

Returns the actual sta te of a LIN Transceiver Driver.

function LinIf_GetTrcvWakeupReason [SWS_LinIf_00547] 📄 PDF

Std_ReturnType LinIf_GetTrcvWakeupReason (NetworkHandleType Channel, LinTrcv_TrcvWakeupReasonType* TrcvWuReasonPtr);

Returns the reason for the wake up that has been detected by the LIN Transceiver Driver.

function LinIf_SetTrcvWakeupMode [SWS_LinIf_00550] 📄 PDF

Std_ReturnType LinIf_SetTrcvWakeupMode (NetworkHandleType Channel, LinTrcv_TrcvWakeupModeType LinTrcvWakeupMode);

This API enables, disables and cl ears the notification for wakeup events on the addressed network

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: aabbd5422a4f Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone und reentrante Funktion LinIf_SetTrcvWakeupMode dient dazu, Benachrichtigungen für Wakeup-Ereignisse auf dem angegebenen LIN-Kanal zu aktivieren, zu deaktivieren oder zurückzusetzen [SWS_LinIf_00550]. Die Deklaration wird über den Header LinIf.h bereitgestellt und besitzt die Service-ID 0x0b [SWS_LinIf_00550].

Die Schnittstelle erwartet zwei Eingangsparameter [SWS_LinIf_00550]:

  • Channel: Eindeutige Kennung des anzusprechenden LIN-Netzwerks bzw. -Kanals vom Typ NetworkHandleType [SWS_LinIf_00550].
  • LinTrcvWakeupMode: Angeforderter Wakeup-Modus des Transceivers vom Typ LinTrcv_TrcvWakeupModeType [SWS_LinIf_00550].

Als Rückgabewert liefert die Funktion den Status Std_ReturnType [SWS_LinIf_00550]:

  • E_OK: Der Aufruf des API-Dienstes des LIN-Transceiver-Treibers war erfolgreich und lieferte E_OK zurück [SWS_LinIf_00550].
  • E_NOT_OK: Der API-Dienst des LIN-Transceiver-Treibers schlug fehl (Rückgabe E_NOT_OK) oder mindestens einer der übergebenen Parameter für Kanal oder Modus ist ungültig [SWS_LinIf_00550].

Hinsichtlich des Zusammenspiels delegiert die Funktion die Anforderung an den LIN-Transceiver-Treiber; vermutlich bildet das LinIf hierbei eine vermittelnde Schnittstelle zwischen oberen Schichten und der Transceiver-Hardware [SWS_LinIf_00550]. Frage Q-07b525a14a2c5fcd (offen) Da der Dienst als reentrant spezifiziert ist, darf er parallel für unterschiedliche oder denselben Kanal ausgeführt werden [SWS_LinIf_00550].

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Maßgeblich sind die offiziellen Spezifikationsdokumente von AUTOSAR.

Implementer's Guide folgt (Komplexität I1)

function LinIf_GetPIDTable [SWS_LinIf_91002] 📄 PDF

Std_ReturnType LinIf_GetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8* PidBufferLength);

Retrieves all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.

function LinIf_SetPIDTable [SWS_LinIf_91003] 📄 PDF

Std_ReturnType LinIf_SetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8 PidBufferLength);

Sets all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.

function LinTp_Init [SWS_LinIf_00350] 📄 PDF

void LinTp_Init (const LinTp_ConfigType* ConfigPtr);

Initializes the LIN Transport Layer.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 24052c633b39 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die Funktion LinTp_Init dient der Initialisierung der Transportschicht des LIN-Protokolls ([SWS_LinIf_00350]). Gemäß Spezifikation [SWS_LinIf_00350] arbeitet der Funktionsaufruf synchron.

Die Funktionssignatur lautet void LinTp_Init (const LinTp_ConfigType* ConfigPtr). Über den Eingangsparameter wird die Konfiguration übergeben:

  • ConfigPtr (in): Zeiger auf die Konfigurationsdaten der LIN-Transportschicht vom Typ LinTp_ConfigType ([SWS_LinIf_00350]).

Die Funktion liefert keinen Rückgabewert (void) und definiert weder Ausgangs- noch Ein-/Ausgangsparameter ([SWS_LinIf_00350]). Sie besitzt die hexadezimale Service-ID 0x40 und wird über die Header-Datei LinIf.h bereitgestellt ([SWS_LinIf_00350]).

Fehlerbehandlung

Das Requirement [SWS_LinIf_00350] definiert für diese Funktion keine spezifischen Fehlercodes, DET-Meldungen oder DEM-Ereignisse. Es erfolgt keine Rückgabe eines Fehlerstatus an den Aufrufer ([SWS_LinIf_00350]).

Nebenläufigkeit und Einschränkungen

Die Funktion LinTp_Init ist explizit als nicht-reentrant (Non Reentrant) klassifiziert ([SWS_LinIf_00350]). Sie darf folglich nicht nebenläufig aus mehreren Threads, Tasks oder Unterbrechungsroutinen aufgerufen werden. Interpretation: Der Aufruf dürfte typischerweise zentral im Rahmen der Initialisierungssequenz der Basissoftware erfolgen, bevor nachfolgende Kommunikationsanforderungen verarbeitet werden können. Frage Q-6e391bdf8abb1a09 (offen)

Zusammenspiel

Für LinTp_Init sind im vorliegenden Auszug keine direkten Verknüpfungen zu weiteren Spezifikationsanforderungen oder Nachbarfunktionen aufgeführt ([SWS_LinIf_00350]). Das Modul LinIf stellt die Deklaration zur Verfügung ([SWS_LinIf_00350]).

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR Classic Release R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function LinTp_Transmit [SWS_LinIf_00351] 📄 PDF

Std_ReturnType LinTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Requests transmission of a PDU.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 444966ee5f38 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion LinTp_Transmit dient dem Anfordern einer PDU-Übertragung über das LIN-Transport-Protokoll ([SWS_LinIf_00351]). Als Übergabeparameter erwartet sie den PDU-Identifikator TxPduId sowie den Zeiger PduInfoPtr, der die Datenlänge sowie Zeiger auf die PDU-Daten und Metadaten bereitstellt ([SWS_LinIf_00351]). Der Rückgabewert ist E_OK bei erfolgreicher Annahme der Sendeanforderung und E_NOT_OK im Fall einer Ablehnung ([SWS_LinIf_00351]).

Das Laufzeitverhalten und das Zusammenspiel mit dem LIN Interface unterliegen folgenden Vorgaben:

  • Schedule-Anforderung: Schlägt der im Rahmen des Aufrufs über BswM_LinTp_RequestMode veranlasste Schedule-Wechsel bei LinIf_ScheduleRequest fehl und liefert E_NOT_OK, muss auch LinTp_Transmit direkt mit E_NOT_OK antworten ([SWS_LinIf_00878]).
  • Bestätigung: Nur wenn LinTp_Transmit erfolgreich war (Rückgabewert E_OK), ruft das LIN Interface nach erfolgreichem oder fehlgeschlagenem Schedule-Table-Wechsel die Funktion PduR_LinTpTxConfirmation mit positivem oder negativem Ergebnis auf ([SWS_LinIf_00702]). Bei abgewiesenem Sendeauftrag unterbleibt dieser Aufruf vollständig ([SWS_LinIf_00702]).
  • Unterbrechung laufender Vorgänge: Wird während des Wartens auf eine physikalische Antwort oder während des Antwortempfangs ein neuer physikalischer Request über LinTp_Transmit ausgelöst, bricht das LIN Interface die laufende TP-Behandlung samt Empfang sowie N_Cr- und P2-Timeout-Überwachung ab und akzeptiert den neuen Request ([SWS_LinIf_00708]).

Hinsichtlich der Nebenläufigkeit ist LinTp_Transmit für unterschiedliche TxPduId reentrant, darf jedoch für dieselbe TxPduId nicht nebenläufig ausgeführt werden ([SWS_LinIf_00351]).

Dieser Nutzungshinweis basiert auf der Spezifikation AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I1)

function LinTp_Shutdown [SWS_LinIf_00355] 📄 PDF

void LinTp_Shutdown (void);

Shutdowns the LIN TP.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a1aa6e2da5f3 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion LinTp_Shutdown dient dem kontrollierten Herunterfahren des LIN-Transportprotokolls ([SWS_LinIf_00355]). Über ihren Aufruf wird der Betrieb der LIN-TP-Komponente beendet ([SWS_LinIf_00355]). Die Funktionsdeklaration ist über die Header-Datei LinIf.h verfügbar ([SWS_LinIf_00355]).

Für die Verwendung und Ausführung gelten die folgenden Spezifikationsmerkmale ([SWS_LinIf_00355]):

  • Parameter und Rückgabewert: Die Funktion besitzt keine Eingabe-, Ein-/Ausgabe- oder Ausgabeparameter (void) und liefert keinen Rückgabewert (void) zurück ([SWS_LinIf_00355]).
  • Dienstidentifikation: Der Service ist unter der Service-ID 0x43 definiert ([SWS_LinIf_00355]).
  • Synchronizität: Der Aufruf wird synchron abgearbeitet ([SWS_LinIf_00355]).
  • Reentranz: Die Funktion ist nicht reentrant (Non Reentrant) ([SWS_LinIf_00355]). Nebenläufige oder verschachtelte Aufrufe aus verschiedenen Kontexten sind nicht zulässig.

Spezifische Fehlercodes, Rückmeldungen an das Development Error Tracer (DET) oder Sonderbehandlungen bei Fehlern sind für diese Funktion in den Quellen nicht beschrieben ([SWS_LinIf_00355]). Ebenso fehlen Angaben zu verwandten Requirements oder dem exakten Aufrufer; vermutlich erfolgt der Aufruf im Rahmen der sequenziellen Deinitialisierung des Kommunikationsstapels durch ein übergeordnetes BSW-Zustandsmanagement. Frage Q-e25a3c9531527c4f (offen)

Dieser Nutzungshinweis wurde automatisiert erstellt. Er basiert ausschließlich auf den Spezifikationsangaben des AUTOSAR-Elements im Release R20-11.

Implementer's Guide folgt (Komplexität I1)

function LinTp_ChangeParameter [SWS_LinIf_00501] 📄 PDF

Std_ReturnType LinTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);

Request to change a specific transport protocol parameter (e.g. block size).

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 17541ee3b055 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Semantik

Die synchrone Funktion LinTp_ChangeParameter dient dazu, einen spezifischen Parameter des Transportprotokolls für eine bestimmte PDU zur Laufzeit anzupassen [SWS_LinIf_00501]. Als Parameter werden die PDU-Kennung (id), der Bezeichner des zu ändernden Transportprotokoll-Parameters (parameter, beispielsweise die Blockgröße) sowie der neue Zielwert (value) übergeben [SWS_LinIf_00501]. Die Deklaration wird über den Header LinIf.h bereitgestellt [SWS_LinIf_00501].

Rückgabewerte und Verhalten im Fehlerfall

Die Funktion signalisiert das Ergebnis der Anfrage unmittelbar über ihren Rückgabewert vom Typ Std_ReturnType [SWS_LinIf_00501]:

  • E_OK: Der angeforderte Parameter wurde erfolgreich auf den neuen Wert umgestellt [SWS_LinIf_00501].
  • E_NOT_OK: Die Änderung wurde vom LIN-Transportprotokoll abgewiesen [SWS_LinIf_00501]. Dies dürfte typischerweise eintreten, wenn der Parameter ungültig ist oder eine laufende Übertragung die Modifikation verhindert. Frage Q-84aaf28c12dee2e9 (offen)

Nebenläufigkeit und Einschränkungen

Gemäß Spezifikation ist LinTp_ChangeParameter als nicht reentrant (Non Reentrant) eingestuft [SWS_LinIf_00501]. Ein nebenläufiger oder verschachtelter Aufruf für denselben oder parallele Kontexte ist daher unzulässig und muss durch den Aufrufer verhindert werden. Der synchrone Ablauf blockiert den Aufrufer bis zur Entscheidung über die Übernahme des Parameterwerts [SWS_LinIf_00501].

Dieser Text wurde von einer KI erstellt und basiert ausschließlich auf den Spezifikationsdaten von AUTOSAR R20-11.

function LinIf_CheckWakeup [SWS_LinIf_00378] 📄 PDF

Std_ReturnType LinIf_CheckWakeup (EcuM_WakeupSourceType WakeupSource);

Will be called when the Ecu M has been notified about a wakeup on a specific LIN channel.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a8f712a4612b Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die synchrone Funktion LinIf_CheckWakeup wird aufgerufen, sobald das Modul EcuM über ein Wakeup-Ereignis auf einem bestimmten LIN-Kanal benachrichtigt wurde [SWS_LinIf_00378]. Der Aufruf erfolgt mit dem Eingangsparameter WakeupSource vom Typ EcuM_WakeupSourceType [SWS_LinIf_00378]. Dieser Parameter spezifiziert das Quellgerät, welches das Weckereignis initiiert hat, wobei es sich um einen LIN-Controller oder einen LIN-Transceiver handeln kann [SWS_LinIf_00378].

Fehlerbehandlung und Rückgabewerte

Als Rückgabewert liefert die Funktion einen Status vom Typ Std_ReturnType [SWS_LinIf_00378]:

  • E_OK: Während der Ausführung der Schnittstelle ist kein Fehler aufgetreten [SWS_LinIf_00378].
  • E_NOT_OK: Bei der Ausführung der Schnittstelle ist ein Fehler aufgetreten oder es wurde ein ungültiger Wert für WakeupSource übergeben [SWS_LinIf_00378].

Nebenläufigkeit und Integration

Die Schnittstelle ist als reentrant spezifiziert, besitzt die Service-ID 0x60 und wird über die Header-Datei LinIf.h bereitgestellt [SWS_LinIf_00378]. Sie verbindet die Aufweck-Verarbeitung des EcuM direkt mit den Kanälen der LIN-Schnittstelle [SWS_LinIf_00378].

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.

function LinIf_EnableBusMirroring [SWS_LinIf_00876] 📄 PDF

Std_ReturnType LinIf_EnableBusMirroring (NetworkHandleType Channel, boolean MirroringActive);

Enables or disables mirroring for a LIN channel.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 78f53a1bd6f3 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone und reentrante Funktion LinIf_EnableBusMirroring aktiviert oder deaktiviert das Bus-Mirroring für einen einzelnen LIN-Kanal [SWS_LinIf_00876]. Sie steht über den Header LinIf.h zur Verfügung und kann entfallen, wenn das Bus-Mirroring über den Konfigurationsparameter LinIfBusMirroringSupport nicht aktiviert ist [SWS_LinIf_00875]. Als Aufrufer dürfte typischerweise das Mirror-Modul fungieren. Frage Q-1703af5207cb7ade (offen)

Über den Parameter Channel wird der betroffene LIN-Kanal übergeben, während MirroringActive den Modus steuert [SWS_LinIf_00876]: Bei Übergabe von TRUE wird das Mirroring aktiviert, bei FALSE deaktiviert [SWS_LinIf_00876]. Als Rückgabewert liefert die Funktion E_OK, wenn der Mirroring-Modus erfolgreich geändert wurde, oder E_NOT_OK, falls ein ungültiger Kanal angegeben wurde oder das Mirroring global deaktiviert ist [SWS_LinIf_00876]. Spezifische DET- oder DEM-Fehlermeldungen sind in der Funktionsdefinition nicht ausgewiesen [SWS_LinIf_00876].

Ist das Bus-Mirroring global über LinIfBusMirroringSupported sowie für den jeweiligen Kanal aktiviert, leitet das LIN-Interface relevante Ereignisse an Mirror_ReportLinFrame weiter:

  • Empfangene Frames bei LinIf_RxIndication mit Status LIN_RX_OK und Zeiger auf die Nutzdaten [SWS_LinIf_00838] sowie beim Auslesen des LIN-Treiberstatus für Rx-Slots [SWS_LinIf_00873].
  • Gesendete Frames bei LinIf_TxConfirmation mit Status LIN_TX_OK und Zeiger auf die übertragenen Daten [SWS_LinIf_00839] sowie beim Auslesen des LIN-Treiberstatus für Tx-Slots [SWS_LinIf_00874].
  • Fehlerbenachrichtigungen bei LinIf_LinErrorIndication für alle Fehlercodes außer LIN_ERR_HEADER mit Fehlerstatus und NULL-Zeiger als Dateninhalt [SWS_LinIf_00869].

Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function LinIf_WakeupConfirmation [SWS_LinIf_00715] 📄 PDF

void LinIf_WakeupConfirmation (EcuM_WakeupSourceType WakeupSource);

The LIN Driver or LIN Transceiver Driver will call this function to report the wake up source after the successful wakeup detection during Check Wakeup or after power on by bus.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ec4ca05f8c6e Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion LinIf_WakeupConfirmation dient dazu, das erfolgreiche Erkennen eines Weckereignisses an das LIN-Interface zu melden [SWS_LinIf_00715].

Aufruf und Parameter

Der Aufruf erfolgt durch den LIN-Treiber (LIN Driver) oder den LIN-Transceiver-Treiber (LIN Transceiver Driver), nachdem eine erfolgreiche Weckerkennung während Check Wakeup oder nach einem Einschalten über den Bus (power on by bus) stattgefunden hat [SWS_LinIf_00715]. Als Übergabeparameter wird WakeupSource vom Typ EcuM_WakeupSourceType übergeben, welcher das Quellgerät angibt, das das Weckereignis initiiert hat (LIN-Controller oder LIN-Transceiver) [SWS_LinIf_00715].

Ausführungseigenschaften und Schnittstelle

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation generiert.

function LinIf_HeaderIndication [SWS_LinIf_91004] 📄 PDF

Std_ReturnType LinIf_HeaderIndication (NetworkHandleType Channel, Lin_PduType* PduPtr);

The LIN Driver will call this function to report a received LIN header. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 19187e1b092a Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Callback-Funktion LinIf_HeaderIndication wird synchron vom LIN-Treiber aufgerufen, um den Empfang eines LIN-Headers auf einem Slave-Kanal zu melden [SWS_LinIf_91004]. Sie steht ausschließlich zur Verfügung, wenn das Steuergerät über mindestens einen konfigurierten LIN-Slave-Kanal verfügt [SWS_LinIf_91004]. Die Funktion ist reentrant für unterschiedliche Kanäle, darf jedoch für denselben Kanal nicht nebenläufig aufgerufen werden [SWS_LinIf_91004].

Über den Inout-Parameter PduPtr übergibt der Treiber den empfangenen Identifier (PID) sowie den Zeiger auf den SDU-Datenpuffer [SWS_LinIf_91004]. Das LinIf wertet die PID aus und steuert die Reaktion des Slave-Knotens:

  • Empfangsrahmen: Gehört die PID zu einem konfigurierten Empfangsrahmen, setzt das LinIf vor der Rückkehr die Prüfsummenart PduPtr->Cs, die Datenlänge PduPtr->Dl und weist PduPtr->Drc den Wert LIN_FRAMERESPONSE_RX zu [SWS_LinIf_00733].
  • Sederahmen: Handelt es sich um einen Sederahmen, fordert das LinIf die Nutzdaten via <User_TriggerTransmit> an [SWS_LinIf_00738]. Bei erfolgreicher Bereitstellung (Rückgabewert E_OK oder SRF-Daten durch Node Configuration Handler / Transportprotokoll) werden Prüfsumme und Länge konfiguriert sowie PduPtr->Drc auf LIN_FRAMERESPONSE_TX gesetzt [SWS_LinIf_00739]. Schlägt die Abfrage mit E_NOT_OK fehl, wird PduPtr->Drc auf LIN_FRAMERESPONSE_IGNORE gesetzt [SWS_LinIf_00740].
  • Irrelevante Rahmen: Ist der Rahmen für den Slave nicht relevant, setzt das LinIf PduPtr->Drc ebenfalls auf LIN_FRAMERESPONSE_IGNORE [SWS_LinIf_00748].

Zusätzlich lädt jeder Aufruf den laufenden Bus-Idle-Timer neu [SWS_LinIf_00754]. Erfolgt der Aufruf erstmals nach einem erfolgreichen LinIf_Wakeup, wird <User>_WakeupConfirmation(TRUE) ausgelöst [SWS_LinIf_00761]. Beim Empfang eines SRF-Headers startet das LinIf zudem den N_As-Timer für Consecutive Frames (CF) [SWS_LinIf_00800]. Als Rückgabewert signalisiert E_OK die Annahme der Anfrage, während E_NOT_OK Entwicklungs- oder Produktionsfehler anzeigt [SWS_LinIf_91004].

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

function LinIf_RxIndication [SWS_LinIf_91005] 📄 PDF

void LinIf_RxIndication (NetworkHandleType Channel, uint8* Lin_SduPtr);

The LIN Driver will call this function to report a successfully received response and provides the reception data to the LIN Interface. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 6091ff4a3b4f Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Callback-Funktion LinIf_RxIndication wird synchron vom LIN-Treiber aufgerufen, um dem LIN-Interface den erfolgreichen Empfang einer Response inklusive der Empfangsdaten mitzuteilen [SWS_LinIf_91005]. Die Funktion steht ausschließlich auf Steuergeräten mit mindestens einem konfigurierten LIN-Slave-Kanal zur Verfügung [SWS_LinIf_91005].

Hinsichtlich Parametrierung und Nebenläufigkeit gelten folgende Bedingungen:

  • Parameter: Übergeben werden die Kanalidentifikation Channel sowie der Zeiger Lin_SduPtr auf einen Shadow-Buffer oder den speicherabgebildeten Empfangspuffer der LIN-Hardware [SWS_LinIf_91005]. Dieser Zeiger ist nur bei tatsächlich empfangener Response gültig [SWS_LinIf_91005].
  • Rückgabewert: Die Funktion besitzt keinen Rückgabewert (void) [SWS_LinIf_91005].
  • Reentranz: Die Schnittstelle ist reentrant für unterschiedliche LIN-Kanäle, jedoch nicht reentrant für denselben Kanal [SWS_LinIf_91005].

Im Zusammenspiel mit dem Modulverhalten stößt der Aufruf mehrere koordinierende Aktionen an:

  • Weiterleitung der empfangenen Nutzdaten und der Nutzdatenlänge an die übergeordnete Schicht über <User_RxIndication> [SWS_LinIf_00734].
  • Prüfung auf Sleep-Kommandos: Handelt es sich um einen Master Request Frame (MRF) mit dem NAD 0, erkennt das LIN-Interface ein Go-to-Sleep-Kommando und leitet den Übergang in den Sleep-Modus ein [SWS_LinIf_00750].
  • Timer-Steuerung: Bei jedem Aufruf wird der Bus-Idle-Timer neu geladen [SWS_LinIf_00754]. Zudem steuert der Aufruf bei MRF-Frames (FF, CF) den N_Cr-Timer (Start/Neustart bei FF und CF vor dem letzten Frame, Stopp beim letzten CF) [SWS_LinIf_00805].
  • Bus-Mirroring: Ist das Mirroring global und für den Kanal aktiviert, meldet das LIN-Interface den Frame mit dem Status LIN_RX_OK via Mirror_ReportLinFrame() weiter [SWS_LinIf_00838].

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function LinIf_TxConfirmation [SWS_LinIf_91006] 📄 PDF

void LinIf_TxConfirmation (NetworkHandleType Channel);

The LIN Driver will call this function to report a successfully transmitted response. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4b5b40f235ec Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Callback-Funktion LinIf_TxConfirmation (Service-ID 0x7a, deklariert in LinIf.h) wird vom LIN-Treiber aufgerufen, um die erfolgreiche Übertragung einer Antwort (Response) auf dem angegebenen Kanal zu bestätigen [SWS_LinIf_91006]. Die Funktion besitzt keinen Rückgabewert und ist ausschließlich für Steuergeräte mit mindestens einem konfigurierten LIN-Slave-Kanal vorgesehen [SWS_LinIf_91006].

Beim Eintreffen der Bestätigung führt das LIN-Interface mehrere Folgeverarbeitungen aus:

  • Oberschicht-Benachrichtigung: Das Modul leitet das Sendeereignis über die Callback-Funktion <User_TxConfirmation> mit dem Rückgabewert E_OK an die übergeordnete Schicht weiter [SWS_LinIf_00741].
  • Fehlerstatus: Falls der erfolgreich gesendete Frame das Fehlersignal response_error beinhaltet, setzt das LIN-Interface dieses Signal zurück [SWS_LinIf_00747].
  • Busruheüberwachung: Jeder Aufruf von LinIf_TxConfirmation lädt den laufenden Bus-Idle-Timer des Kanals neu [SWS_LinIf_00754].
  • Transportprotokoll (LinTp): Bestätigt der Treiber die Antwort auf einen SRF-Header (Slave Response Frame), stoppt das Interface den Überwachungstimer N_As [SWS_LinIf_00800].
  • Bus Mirroring: Ist das Spiegeln global über LinIfBusMirroringSupported konfiguriert und per LinIf_EnableBusMirroring() aktiviert, meldet das Interface den Rahmen mit dem Status LIN_TX_OK und Zeiger auf die Sendedaten an Mirror_ReportLinFrame() [SWS_LinIf_00839].

Bezüglich der Nebenläufigkeit ist LinIf_TxConfirmation für unterschiedliche LIN-Kanäle reentrant ausgelegt, darf jedoch für denselben Kanal nicht reentrant aufgerufen werden [SWS_LinIf_91006].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function LinIf_LinErrorIndication [SWS_LinIf_91007] 📄 PDF

void LinIf_LinErrorIndication (NetworkHandleType Channel, Lin_SlaveErrorType ErrorStatus);

The LIN Driver will call this function to report a detected error event during header or response processing. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: d5f182fa17f5 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die synchrone Funktion LinIf_LinErrorIndication wird vom LIN-Treiber aufgerufen, um aufgetretene Fehler während der Verarbeitung von Header oder Response zu melden [SWS_LinIf_91007]. Sie ist ausschließlich für LIN-Slave-Knoten vorgesehen und setzt voraus, dass das Steuergerät über mindestens einen konfigurierten LIN-Slave-Kanal verfügt [SWS_LinIf_91007]. Als Parameter werden die Kanalidentifikation Channel sowie der aufgetretene Fehlerstatus ErrorStatus vom Typ Lin_SlaveErrorType übergeben [SWS_LinIf_91007].

Fehlerbehandlung und Nebenläufigkeit

Die Funktion ist reentrant für unterschiedliche Kanäle, darf jedoch für denselben Kanal nicht nebenläufig aufgerufen werden [SWS_LinIf_91007]. Beim Aufruf betrachtet das LIN-Interface die Antwort bzw. den übertragenen Frame als verloren und meldet den Laufzeitfehler LINIF_E_RESPONSE an den Default Error Tracer (DET), es sei denn, der gemeldete Fehlerstatus lautet LIN_ERR_HEADER [SWS_LinIf_00735], [SWS_LinIf_00743].

Zusammenspiel und Bus-Überwachung

Unabhängig vom übergebenen Fehlercode lädt das LIN-Interface bei jedem Aufruf von LinIf_LinErrorIndication den laufenden Bus-Idle-Timer neu [SWS_LinIf_00754]. Tritt ein Fehler bei einer SRF-Response nach Empfang eines SRF-Headers auf, bricht das LIN-Interface die Übertragung ab und meldet dies der oberen Schicht über PduR_LinTpTxConfirmation mit dem Ergebnis E_NOT_OK [SWS_LinIf_00796].

Ist Bus-Mirroring über LinIfBusMirroringSupported global aktiv und für den Kanal eingeschaltet, leitet das LIN-Interface Fehler ungleich LIN_ERR_HEADER über Mirror_ReportLinFrame() mit einem NULL-Zeiger für den Dateninhalt weiter [SWS_LinIf_00869]. Hierbei werden die Treiberfehlercodes zuvor in entsprechende Statuswerte des Typs Lin_StatusType übersetzt [SWS_LinIf_00870].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

function <User_TriggerTransmit> [SWS_LinIf_00528] 📄 PDF

Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without ch anging Pdu Info Ptr.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f12957ea5e9a Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die konfigurierbare Schnittstelle <User_TriggerTransmit> dient dem synchronen Abruf von SDU-Daten aus einem überlagerten Modul für eine anstehende Übertragung [SWS_LinIf_00528].

Über den Parameter TxPduId wird die angeforderte SDU identifiziert, während PduInfoPtr als Zeiger auf eine Struktur mit dem Zielpuffer (SduDataPtr) und der verfügbaren Puffergröße (SduLength) übergeben wird [SWS_LinIf_00528]. Das aufgerufene überlagerte Modul prüft innerhalb dieser API, ob die bereitstehenden Daten in die gemeldete Puffergröße passen [SWS_LinIf_00528]. Ist ausreichend Platz vorhanden, kopiert das Modul seine Daten nach SduDataPtr, aktualisiert SduLength mit der Anzahl der tatsächlich kopierten Bytes und signalisiert den Erfolg mit dem Rückgabewert E_OK [SWS_LinIf_00528].

Reicht die Puffergröße hingegen nicht aus, werden keine SDU-Daten kopiert und das Modul gibt E_NOT_OK zurück, ohne PduInfoPtr zu verändern [SWS_LinIf_00528]. Bei einem Rückgabewert von E_NOT_OK darf der Aufrufer PduInfoPtr keinesfalls verwenden, da dieser auf ungültige Daten verweisen oder ein NULL-Zeiger sein kann [SWS_LinIf_00528].

Hinsichtlich der Nebenläufigkeit ist die Funktion reentrant für unterschiedliche PDU-IDs, jedoch nicht reentrant für dieselbe PDU-ID [SWS_LinIf_00528].

Dieser Nutzungshinweis basiert auf der AUTOSAR-Spezifikation SWS_LinIf_00528.

function <User_TxConfirmation> [SWS_LinIf_00529] 📄 PDF

void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 37f6ac5aed5e Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die konfigurierbare Callback-Funktion <User_TxConfirmation> wird vom unterlagerten Kommunikationsschnittstellenmodul aufgerufen, um einer oberen Schicht die Übertragung einer PDU oder das Fehlschlagen der Übertragung zu bestätigen [SWS_LinIf_00529]. Der Aufruf erfolgt synchron und liefert keinen Rückgabewert zurück [SWS_LinIf_00529].

Parameter und Semantik

  • TxPduId (In): Bezeichnet die Kennung der übertragenen PDU vom Typ PduIdType [SWS_LinIf_00529].
  • result (In): Meldet den Erfolgsstatus der Übertragung als Std_ReturnType mit den Werten E_OK bei erfolgreicher PDU-Übertragung oder E_NOT_OK bei fehlgeschlagener Übertragung [SWS_LinIf_00529].

Nebenläufigkeit und Fehlerbehandlung

Hinsichtlich der Reentranz ist die Funktion für unterschiedliche PDU-IDs reentrant ausgelegt, darf jedoch für dieselbe PDU-ID nicht reentrant aufgerufen werden [SWS_LinIf_00529]. Das Modul spezifiziert für diese Schnittstelle keine gesonderten Fehlercodes oder DET- bzw. DEM-Meldungen; das Fehlschlagen einer Übertragung wird stattdessen über den Parameterwert E_NOT_OK angezeigt [SWS_LinIf_00529]. Der tatsächliche Funktionsbezeichner dürfte integrationsspezifisch je nach konfigurierter Benutzerschicht festgelegt werden, da der Dienst als konfigurierbar angegeben ist [SWS_LinIf_00529]. Frage Q-35de931161f26cb8 (offen)

Dieser Text wurde von einer KI auf Basis der Spezifikation generiert.

function <User_RxIndication> [SWS_LinIf_00530] 📄 PDF

void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Indication of a received PDU from a lower layer communication interface module.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: efc39fd11ced Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Callback-Funktion <User_RxIndication> dient der Signalisierung einer empfangenen PDU von einem unterlagerten Kommunikationsschnittstellenmodul an die übergeordnete Schicht [SWS_LinIf_00530]. Der Aufruf erfolgt mit synchroner Semantik und besitzt keinen Rückgabewert [SWS_LinIf_00530].

Parameter und Schnittstellenspezifikation

Die Funktion übergibt zwei Eingangsparameter an den oberen Layer [SWS_LinIf_00530]:

  • RxPduId: Bezeichner der empfangenen PDU vom Typ PduIdType [SWS_LinIf_00530].
  • PduInfoPtr: Zeiger auf eine Struktur vom Typ PduInfoType, welche die Länge der Nutzdaten (SduLength), einen Zeiger auf den Puffer mit den Nutzdaten (SduDataPtr) sowie zugehörige Metadaten zur PDU bereitstellt [SWS_LinIf_00530].

Weder Ein-/Ausgangsparameter noch reine Ausgangsparameter sind für diese Schnittstelle vorgesehen [SWS_LinIf_00530].

Nebenläufigkeit und Konfiguration

Bezüglich der Reentranz ist die Funktion für unterschiedliche PDU-IDs reentrant ausgelegt, für identische PDU-IDs hingegen explizit als nicht reentrant spezifiziert [SWS_LinIf_00530]. Aufrufer müssen daher sicherstellen, dass für dieselbe RxPduId keine überlappenden Aufrufe stattfinden. Die Funktion ist als konfigurierbare Schnittstelle deklariert [SWS_LinIf_00530]; der konkrete Funktionsname der oberen Schicht dürfte somit über die Modulkonfiguration festgelegt werden. Frage Q-94175e8cd86775b6 (offen)

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation SWS_LinIf_00530 generiert.

function <User_ResponseErrorSignalChanged> [SWS_LinIf_00856] 📄 PDF

void <User_ResponseErrorSignalChanged> (NetworkHandleType Channel, boolean RespErrSigValue);

Notifies the change of the response error signal with the new value. Only applicable for LIN slave nodes. AUTOSAR CP R20 - of Document ID : AUTOSAR_ SWS_ LINInterface

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7b27a8f9e901 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Schnittstelle <User_ResponseErrorSignalChanged> dient im Modul LinIf als Benachrichtigungsfunktion, um eine Wertänderung des Response-Error-Signals mit dem neuen Signalwert zu melden [SWS_LinIf_00856]. Der Aufruf erfolgt synchron und besitzt die Service-ID 0x74 [SWS_LinIf_00856]. Weder Ein-/Ausgangsparameter noch ein Rückgabewert sind vorgesehen; die Signatur ist mit dem Rückgabetyp void definiert [SWS_LinIf_00856].

Als Übergabeparameter erwartet die Funktion zwei reine Eingangswerte [SWS_LinIf_00856]:

  • Channel (Typ NetworkHandleType): Eindeutige Identifikation des betroffenen LIN-Kanals [SWS_LinIf_00856].
  • RespErrSigValue (Typ boolean): Aktueller Wert des Response-Error-Signals. Der Parameter ist true, wenn das Signal auf 1 gesetzt ist, andernfalls false [SWS_LinIf_00856].

Hinsichtlich der Nebenläufigkeit und des Aufrufkontextes ist festgelegt, dass die Funktion reentrant für unterschiedliche Kanäle ist, jedoch nicht reentrant für denselben Kanal aufgerufen werden darf [SWS_LinIf_00856]. Eine funktionale Randbedingung besteht darin, dass dieser Benachrichtigungsdienst ausschließlich für LIN-Slave-Knoten anwendbar ist [SWS_LinIf_00856]. Bereitgestellt wird die Deklaration über die Header-Datei LinIf_Externals.h [SWS_LinIf_00856].

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR R20-11 generiert.

function <User_SaveConfigurationRequest> [SWS_LinIf_00857] 📄 PDF

boolean <User_SaveConfigurationRequest> (NetworkHandleType Channel);

Notifies the reception of a Save Configuration request. Only applicable for LIN slave nodes.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f9fc99467908 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Callback-Funktion <User_SaveConfigurationRequest> (Service-ID 0x75) benachrichtigt eine übergeordnete Schicht über den Empfang eines „Save Configuration“-Requests und ist in LinIf_Externals.h deklariert [SWS_LinIf_00857]. Diese Schnittstelle ist ausschließlich für LIN-Slave-Knoten anwendbar [SWS_LinIf_00857].

Der Aufruf erfolgt synchron und ist als reentrant spezifiziert [SWS_LinIf_00857]:

  • Parameter: Über den Eingangsparameter Channel vom Typ NetworkHandleType wird der betroffene LIN-Kanal übergeben [SWS_LinIf_00857]. Zusätzliche Ein- oder Ausgangsparameter existieren nicht [SWS_LinIf_00857].
  • Rückgabewert: Die Funktion liefert einen Wert vom Typ boolean zurück [SWS_LinIf_00857]. Der Rückgabewert TRUE signalisiert, dass eine positive Antwort auf den LIN-Bus gesendet werden soll, während FALSE die Übertragung jeglicher Antwort unterbindet [SWS_LinIf_00857].

Hinsichtlich der Fehlerbehandlung definiert die Spezifikation weder spezifische Fehlercodes noch DET- oder DEM-Meldungen [SWS_LinIf_00857]. Das Verhalten im Fehler- oder Ablehnungsfall wird direkt über den booleschen Rückgabewert gesteuert, indem durch FALSE das Senden einer Antwort verhindert wird [SWS_LinIf_00857]. Da der Aufruf als reentrant klassifiziert ist, dürfte die Funktion für den nebenläufigen Aufruf auf unterschiedlichen Kanälen ausgelegt sein [SWS_LinIf_00857]. Frage Q-84432030c1aff644 (offen)

Dieser Text wurde durch eine KI auf Basis der Spezifikation von AUTOSAR R20-11 generiert.

type LinIf_SchHandleType [SWS_LinIf_00197] 📄 PDF

Index of the schedule table that is selectable and followed by LIN Interface. Value is unique per LIN c hannel/ controller, but not per ECU. The number of schedule tables is limited to 255

type LinIf_ConfigType [SWS_LinIf_00668] 📄 PDF

A pointer to an instance of this structure will be used in the initialization of the LIN Interface. The outline of the structure is defined in chapter 10 Configuration Specification.

type LinTp_ConfigType [SWS_LinIf_00426] 📄 PDF

This is the base type for the configuration of the LIN Transport Protocol A pointer to an instance of this structure will be used in the initialization of the LIN Transport Protocol. The outline of the structure is defined in chapter 10 Configuration Specification

type LinTp_Mode [SWS_LinIf_00629] 📄 PDF

This type denotes which Schedule table can be requested by LIN TP during diagnostic session

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 237979748ffe Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Aufzählungstyp LinTp_Mode ist in der Header-Datei LinIf.h definiert und legt fest, welcher Schedule-Tabellen-Modus während einer Diagnosesitzung durch das LIN-Transport-Protokoll (LIN TP) angefordert werden kann [SWS_LinIf_00629].

Der Wertebereich umfasst drei Enumerations-Literale zur Steuerung des Schedule-Wechsels auf dem LIN-Bus [SWS_LinIf_00629]:

  • LINTP_APPLICATIVE_SCHEDULE: Wählt die applikative Schedule-Tabelle für den regulären Botschaftsverkehr aus [SWS_LinIf_00629].
  • LINTP_DIAG_REQUEST: Wählt die Master-Request-Schedule-Tabelle zur Übertragung von Diagnoseanforderungen aus [SWS_LinIf_00629].
  • LINTP_DIAG_RESPONSE: Wählt die Slave-Response-Schedule-Tabelle zum Empfang von Diagnoseantworten aus [SWS_LinIf_00629].

Hinsichtlich des Zusammenspiels dient der Typ der Umschaltung zwischen Diagnoseübertragungen und regulärer Applikationskommunikation innerhalb des LIN-Interface [SWS_LinIf_00629]. Spezifische Aufrufkontexte, Reentranz-Eigenschaften oder Fehlerbehandlungen (wie DET- oder DEM-Meldungen) sind für diesen reinen Datentyp in den Quellen nicht angegeben; vermutlich wird der Typ als Funktionsparameter bei Steuerungsaufrufen durch das LIN-Transport-Protokoll an das LIN-Interface übergeben. Frage Q-1bf7553401882471 (offen)

Dieser Text wurde von einer KI erstellt und basiert ausschließlich auf den Spezifikationen des AUTOSAR-Releases R20-11.

Implementer's Guide folgt (Komplexität I1)

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

Record
AUTOSAR/AP/record/CP_MOD_LinIf
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_LinIf@rel:R20-11#f55de959
Content hash
f55de959
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINInterface.pdf#nameddest=SWS_LinIf_00198

Initialisierung und Status

Returns the version information of this module.

void LinIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
LinIf_Init function

Initializes the LIN Interface.

void LinIf_Init (const LinIf_ConfigType* ConfigPtr);

Returns the version information of this module.

void LinTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
LinTp_Init function

Initializes the LIN Transport Layer.

void LinTp_Init (const LinTp_ConfigType* ConfigPtr);

Dienste · Get…

Reports the current configured NAD. Only applicable for LIN slave nodes.

Std_ReturnType LinIf_GetConfiguredNAD (NetworkHandleType Channel, uint8* Nad);

Retrieves all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.

Std_ReturnType LinIf_GetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8* PidBufferLength);

Returns the actual sta te of a LIN Transceiver Driver.

Std_ReturnType LinIf_GetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType* TransceiverModePtr);

Returns the reason for the wake up that has been detected by the LIN Transceiver Driver.

Std_ReturnType LinIf_GetTrcvWakeupReason (NetworkHandleType Channel, LinTrcv_TrcvWakeupReasonType* TrcvWuReasonPtr);

Dienste · Set…

Sets the current configured NAD. Only applicable for LIN slave nodes.

Std_ReturnType LinIf_SetConfiguredNAD (NetworkHandleType Channel, uint8 Nad);

Sets all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.

Std_ReturnType LinIf_SetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8 PidBufferLength);

Set the given LIN transceiver to the given mode.

Std_ReturnType LinIf_SetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType TransceiverMode);

This API enables, disables and cl ears the notification for wakeup events on the addressed network

Std_ReturnType LinIf_SetTrcvWakeupMode (NetworkHandleType Channel, LinTrcv_TrcvWakeupModeType LinTrcvWakeupMode);

Dienste · Weitere

Will be called when the Ecu M has been notified about a wakeup on a specific LIN channel.

Std_ReturnType LinIf_CheckWakeup (EcuM_WakeupSourceType WakeupSource);

Enables or disables mirroring for a LIN channel.

Std_ReturnType LinIf_EnableBusMirroring (NetworkHandleType Channel, boolean MirroringActive);

Initiates a transition into the Sleep Mode on the selected channel.

Std_ReturnType LinIf_GotoSleep (NetworkHandleType Channel);

The LIN Driver will call this function to report a received LIN header. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

Std_ReturnType LinIf_HeaderIndication (NetworkHandleType Channel, Lin_PduType* PduPtr);

The LIN Driver will call this function to report a detected error event during header or response processing. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

void LinIf_LinErrorIndication (NetworkHandleType Channel, Lin_SlaveErrorType ErrorStatus);

Requests a schedule table to be executed. Only used for LIN master nodes.

Std_ReturnType LinIf_ScheduleRequest (NetworkHandleType Channel, LinIf_SchHandleType Schedule);

Re quests transmission of a PDU.

Std_ReturnType LinIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
LinIf_Wakeup function

Initiates the wake up process.

Std_ReturnType LinIf_Wakeup (NetworkHandleType Channel);

The LIN Driver or LIN Transceiver Driver will call this function to report the wake up source after the successful wakeup detection during Check Wakeup or after power on by bus.

void LinIf_WakeupConfirmation (EcuM_WakeupSourceType WakeupSource);

Request to change a specific transport protocol parameter (e.g. block size).

Std_ReturnType LinTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);

Shutdowns the LIN TP.

void LinTp_Shutdown (void);

Requests transmission of a PDU.

Std_ReturnType LinTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Callbacks

The LIN Driver will call this function to report a successfully received response and provides the reception data to the LIN Interface. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

void LinIf_RxIndication (NetworkHandleType Channel, uint8* Lin_SduPtr);

The LIN Driver will call this function to report a successfully transmitted response. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

void LinIf_TxConfirmation (NetworkHandleType Channel);

Callouts und erwartete Schnittstellen

Notifies the change of the response error signal with the new value. Only applicable for LIN slave nodes. AUTOSAR CP R20 - of Document ID : AUTOSAR_ SWS_ LINInterface

void <User_ResponseErrorSignalChanged> (NetworkHandleType Channel, boolean RespErrSigValue);

Indication of a received PDU from a lower layer communication interface module.

void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Notifies the reception of a Save Configuration request. Only applicable for LIN slave nodes.

boolean <User_SaveConfigurationRequest> (NetworkHandleType Channel);

Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without ch anging Pdu Info Ptr.

Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);

Typen

A pointer to an instance of this structure will be used in the initialization of the LIN Interface. The outline of the structure is defined in chapter 10 Configuration Specification.

Index of the schedule table that is selectable and followed by LIN Interface. Value is unique per LIN c hannel/ controller, but not per ECU. The number of schedule tables is limited to 255

This is the base type for the configuration of the LIN Transport Protocol A pointer to an instance of this structure will be used in the initialization of the LIN Transport Protocol. The outline of the structure is defined in chapter 10 Configuration Specification

This type denotes which Schedule table can be requested by LIN TP during diagnostic session