DEENESPTFRRUARHIKOZHNL

LIN State Manager (LinSM)

ModulLinSM (LIN State Manager)
BSW-Modul-ID141
Standard-Header#include "LinSM.h"
SWS-SpezifikationAUTOSAR_SWS_LINStateManager.pdf
ClusterLIN

Руководство по модулюСОЗДАНО ИИ

Управляет режимом связи, пробуждением, переходом в режим сна и сменой расписаний для каждой LIN-сети.
СОЗДАНО ИИ не проверено Модель: claude-opus-5-5 · Усилие: high · Температура: не регулируется · Промпт: 4c8293bd0eb8 Происхождение Открытые вопросы (2)
Причинный якорь: R20-11 Действует с R20-11 Заново синтезировано для этой версии спецификации.
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Управляет режимом связи, пробуждением, переходом в режим сна и сменой расписаний для каждой LIN-сети.

LIN State Manager преобразует запросы на связь от ComM для каждой LIN-сети в вызовы LIN Interface. О полученных состояниях LINSM_FULL_COM и LINSM_NO_COM он сообщает в ComM и BswM [SWS_LinSM_00126]. Пробуждение, переход в режим сна и — только для ведущего узла (Master) — смену расписания он запускает напрямую и отслеживает подтверждения с помощью таймеров в LinSM_MainFunction. У ведомого узла (Slave) переход в режим сна определяет ведущий узел: только LinSM_GotoSleepIndication инициирует LinIf_GotoSleep [SWS_LinSM_00231]. Если переход завершается неудачей, LinSM повторно сообщает прежнее состояние для сохранения согласованности верхних уровней.

LIN State Manager представляет собой менеджер состояния шины для LIN. Через него ComM запрашивает готовность сети к передаче данных (SWS ComM с. 19). Запросы режимов он принимает через LinSM_RequestComMode [SWS_LinSM_00126]. Он управляет LinIf и сообщает о состояниях в ComM и BswM [SWS_LinSM_00229]. Какой именно драйвер LIN обслуживает сеть, остается скрытым за LinIf (SWS LinSM с. 28).

kontext ComM ComM LinSM LinSM ComM->LinSM LinSM_RequestComMode LinSM_GetCurrentComMode BswM BswM BswM->LinSM LinSM_Init (Beispielregel) LinSM_ScheduleRequest SchM BSW-Scheduler (SchM) SchM->LinSM LinSM_MainFunction (periodisch) LinSM->ComM ComM_BusSM_ModeIndication ComM_BusSM_BusSleepMode LinSM->BswM BswM_LinSM_CurrentState BswM_LinSM_CurrentSchedule LinIf LinIf LinSM->LinIf LinIf_Wakeup / LinIf_GotoSleep LinIf_ScheduleRequest / LinIf_SetTrcvMode Det Det LinSM->Det Fehlermeldungen LinIf->LinSM LinSM_WakeupConfirmation LinSM_GotoSleepConfirmation LinSM_GotoSleepIndication LinSM_ScheduleRequestConfirmation Lin LIN-драйвер (один или несколько) LinIf->Lin Zuordnung Netzwerk zu Treiber

Контекстная диаграмма: ComM и BswM управляют LinSM, LinSM управляет LinIf, а LinIf возвращает отклики через функции обратного вызова. Источники: [SWS_LinSM_00229], [SWS_LinSM_00138], SWS LinSM с. 28

Согласно LinSM_Init, каждая сеть находится в состоянии LINSM_NO_COM [SWS_LinSM_00155]. ComM и BswM при этом не уведомляются (SWS LinSM с. 23). Связь разрешена только в LINSM_FULL_COM. При входе ComM и BswM получают сообщение, и выполняется вход в подсостояние LINSM_RUN_COMMUNICATION [SWS_LinSM_00301]. Для BswM видны только LINSM_FULL_COM и LINSM_NO_COM [SWS_LinSM_00220].

zustaende cluster_init LINSM_INIT (je LIN-Netzwerk) cluster_full LINSM_FULL_COM Start Systemstart UNINIT LINSM_UNINIT Start->UNINIT NO_COM LINSM_NO_COM (Bus still) UNINIT->NO_COM LinSM_Init (без уведомления в ComM/BswM) RUN LINSM_RUN_COMMUNICATION NO_COM->RUN LinSM_WakeupConfirmation(TRUE) сообщение FULL_COM в ComM и BswM GOTO LINSM_GOTO_SLEEP RUN->GOTO LinIf_GotoSleep возвращает E_OK Master: ComM запрашивает NO_COM Slave: LinSM_GotoSleepIndication GOTO->NO_COM LinSM_GotoSleepConfirmation (независимо от success) сообщение NO_COM в ComM и BswM

Диаграмма состояний: для каждой сети LinSM переключается между LINSM_NO_COM и LINSM_FULL_COM по подтверждению пробуждения и сна. Источники: [SWS_LinSM_00155], [SWS_LinSM_00301], SWS LinSM с. 20

Пробуждение и переход в спящий режим LinSM запускает непосредственно при вызове. Подтверждения от LinIf он отслеживает с помощью таймеров в LinSM_MainFunction [SWS_LinSM_00156] (SWS LinSM с. 28). На ведущем узле запрос на COMM_NO_COMMUNICATION немедленно приводит к LinIf_GotoSleep [SWS_LinSM_00036]. На ведомом узле он только сохраняется [SWS_LinSM_00230]; лишь LinSM_GotoSleepIndication инициирует переход в режим сна [SWS_LinSM_00231]. Таймер Silence-after-Wakeup задерживает повторные попытки пробуждения [SWS_LinSM_00237].

Смена расписания возможна только на ведущем узле [SWS_LinSM_00241]. LinSM напрямую передает LinSM_ScheduleRequest в LinIf и сообщает о результате через BswM_LinSM_CurrentSchedule (SWS LinSM с. 26). В отношении ошибок действует следующее:

  • Об ошибках разработки LinSM сообщает в DET, используя коды из [SWS_LinSM_00053].
  • Отсутствие вызова функции обратного вызова от LinIf считается LINSM_E_CONFIRMATION_TIMEOUT [SWS_LinSM_00224].
  • После неудавшегося перехода LinSM повторно устанавливает прежнее состояние, чтобы ComM и BswM были проинформированы согласованно [SWS_LinSM_00177].

Роль между ComM, BswM и LIN Interface

LIN State Manager (LinSM) является менеджером состояния шины для LIN. Как и в случае с другими менеджерами состояния шин, ComM запрашивает через него готовность сети к передаче данных (SWS ComM с. 19). Центральным входным интерфейсом для этого является LinSM_RequestComMode [SWS_LinSM_00126]. Текущий режим возвращает LinSM_GetCurrentComMode [SWS_LinSM_00122]. LinSM работает исключительно с сетями. То, какой именно LIN-драйвер обслуживает сеть, скрыто за LinIf. Поэтому электронные блоки управления (ECU) с несколькими различными LIN-драйверами не затрагивают LinSM (SWS LinSM с. 28).

К обязательным интерфейсам относятся LinIf_GotoSleep и LinIf_ScheduleRequest вниз по стеку, а также сообщения ComM_BusSM_ModeIndication, ComM_BusSM_BusSleepMode, BswM_LinSM_CurrentState и BswM_LinSM_CurrentSchedule вверх по стеку [SWS_LinSM_00229] (SWS LinSM с. 41). LinIf_Wakeup LinSM вызывает в процессе пробуждения (SWS LinSM с. 27). Опционально он использует Det_ReportError и LinIf_SetTrcvMode [SWS_LinSM_00138]. LinIf возвращает отклики через следующие функции обратного вызова:

Импортируемые типы, такие как ComM_ModeType, NetworkHandleType и LinIf_SchHandleType, определяет [SWS_LinSM_00219].

kontext ComM ComM LinSM LinSM ComM->LinSM LinSM_RequestComMode LinSM_GetCurrentComMode BswM BswM BswM->LinSM LinSM_Init (Beispielregel) LinSM_ScheduleRequest SchM BSW-Scheduler (SchM) SchM->LinSM LinSM_MainFunction (periodisch) LinSM->ComM ComM_BusSM_ModeIndication ComM_BusSM_BusSleepMode LinSM->BswM BswM_LinSM_CurrentState BswM_LinSM_CurrentSchedule LinIf LinIf LinSM->LinIf LinIf_Wakeup / LinIf_GotoSleep LinIf_ScheduleRequest / LinIf_SetTrcvMode Det Det LinSM->Det Fehlermeldungen LinIf->LinSM LinSM_WakeupConfirmation LinSM_GotoSleepConfirmation LinSM_GotoSleepIndication LinSM_ScheduleRequestConfirmation Lin LIN-драйвер (один или несколько) LinIf->Lin Zuordnung Netzwerk zu Treiber

Контекстная диаграмма: LinSM является посредником между ComM и BswM сверху и LinIf снизу; драйверы LIN остаются скрытыми за LinIf. Источники: [SWS_LinSM_00126], [SWS_LinSM_00229], [SWS_LinSM_00138], [SWS_LinSM_00156], SWS LinSM с. 28, Mode-Management-Guide с. 54

Модель состояний для отдельной LIN-сети, инициализация и циклическая часть

При запуске перед любым вызовом API активно общемодульное состояние LINSM_UNINIT (SWS LinSM с. 22). LinSM_Init является синхронной и нереентерабельной [SWS_LinSM_00155]. Функция принимает указатель на конфигурацию Post-Build зависимого от реализации типа LinSM_ConfigType [SWS_LinSM_00221]. После этого каждая сеть находится в подсостоянии LINSM_NO_COM суперсостояния LINSM_INIT. Об этом первом переходе LinSM_Init не сообщает ни в ComM, ни в BswM, так как ComM к этому моменту еще не обязательно инициализирован (SWS LinSM с. 23). В примере из руководства по управлению режимами (Mode Management Guide) правило BswM вызывает LinSM_Init(null) после Lin_Init и LinIf_Init (Mode-Management-Guide с. 54).

В LINSM_NO_COM шина остается неактивной (SWS LinSM с. 23). Связь по шине разрешена только в LINSM_FULL_COM, и каждая сеть достигает этого состояния независимо от других. При входе происходит следующее (SWS LinSM с. 23):

  • ComM получает сообщение с COMM_FULL_COMMUNICATION, а BswM — сообщение с LINSM_FULL_COM.
  • Если сконфигурирован LinSMTransceiverPassiveMode, LinSM переводит трансивер в активное состояние с помощью LinIf_SetTrcvMode.
  • Выполняется вход в подсостояние LINSM_RUN_COMMUNICATION [SWS_LinSM_00301].

Временное подсостояние LINSM_GOTO_SLEEP перекрывает ожидание подтверждения перехода в режим сна (SWS LinSM с. 20, SWS LinSM с. 21). Для BswM видимы только два значения LinSM_ModeType: LINSM_FULL_COM (0x01) и LINSM_NO_COM (0x02) [SWS_LinSM_00220].

Контроль тайм-аутов выполняется в LinSM_MainFunction. Эта периодическая функция обслуживает таймеры тайм-аутов запросов [SWS_LinSM_00156]. В ней же отрабатывают таймеры подтверждения пробуждения с отдельным таймером для каждой сети (SWS LinSM с. 28). Напротив, фактические действия на шине LinSM запускает непосредственно при вызове, не ожидая следующего цикла основной функции (Main Function) [SWS_LinSM_00036] [SWS_LinSM_00231].

zustaende cluster_init LINSM_INIT (je LIN-Netzwerk) cluster_full LINSM_FULL_COM Start Systemstart UNINIT LINSM_UNINIT Start->UNINIT NO_COM LINSM_NO_COM (Bus still) UNINIT->NO_COM LinSM_Init (без уведомления в ComM/BswM) RUN LINSM_RUN_COMMUNICATION NO_COM->RUN LinSM_WakeupConfirmation(TRUE) сообщение FULL_COM в ComM и BswM GOTO LINSM_GOTO_SLEEP RUN->GOTO LinIf_GotoSleep возвращает E_OK Master: ComM запрашивает NO_COM Slave: LinSM_GotoSleepIndication GOTO->NO_COM LinSM_GotoSleepConfirmation (независимо от success) сообщение NO_COM в ComM и BswM

Диаграмма состояний: для каждой сети LinSM переключается между LINSM_NO_COM и LINSM_FULL_COM по подтверждению пробуждения и сна; LINSM_GOTO_SLEEP является лишь состоянием ожидания. Источники: [SWS_LinSM_00155], [SWS_LinSM_00301], SWS LinSM с. 20, SWS LinSM с. 21, SWS LinSM с. 24

Пробуждение: от LINSM_NO_COM к LINSM_FULL_COM

LIN-сеть пробуждается, когда ComM запрашивает полную связь через LinSM_RequestComMode. Если шину пробуждает другой узел, это обрабатывает не LinSM, а EcuM; этот случай также приводит к запросу со стороны ComM (SWS LinSM с. 27). Затем LinSM напрямую вызывает LinIf_Wakeup и сбрасывает счетчик максимального количества повторов. Если LinIf уже находится в активном состоянии, он игнорирует вызов. Перед вызовом LinSM запускает для канала таймер подтверждения пробуждения со значением LinSMConfirmationTimeout. Это значение должно быть равно 0 или целому кратному периоду основной функции (SWS LinSM с. 28).

Если LinSM_WakeupConfirmation возвращает success = TRUE, сеть переходит в LINSM_FULL_COM [SWS_LinSM_00132]. Во всех остальных случаях LinSM повторно выставляет состояние, предшествовавшее запросу, чтобы ComM и BswM все равно получили индикацию режима (SWS LinSM с. 27). На ведомом узле LinIf выполняет подтверждение только тогда, когда принимает первый LIN-заголовок от ведущего узла. Если ведущий узел не начинает диспетчеризацию расписания, подтверждение отсутствует и срабатывает тайм-аут LinSM (SWS LinIf с. 52).

Пробуждение сети LIN (внутреннее пробуждение)ComMLinSMLinIfBswMLinSM_RequestComMode(network,COMM_FULL_COMMUNICATION)Запустить таймер подтверждения пробуждения(LinSMConfirmationTimeout)LinIf_Wakeup(Channel)напрямую, не в LinSM_MainFunctionE_OKE_OKMaster: подтверждение после отправки сигнала пробужденияSlave: подтверждение с первым принятым LIN-заголовкомaltsuccess = TRUELinSM_WakeupConfirmation(network, TRUE)Timer stoppenLINSM_FULL_COM / LINSM_RUN_COMMUNICATIONComM_BusSM_ModeIndication(network,COMM_FULL_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_FULL_COM)success = FALSELinSM_WakeupConfirmation(network, FALSE)Снова установить состояние, предшествовавшее запросуComM_BusSM_ModeIndication(network, bisheriger Modus)BswM_LinSM_CurrentState(network, bisheriger Zustand)нет подтвержденияLinSM_MainFunction: Timer abgelaufenLINSM_E_CONFIRMATION_TIMEOUT

Диаграмма последовательности: LinSM пробуждает сеть непосредственно при вызове, однако изменение состояния происходит только после асинхронного подтверждения от LinIf. Источники: [SWS_LinSM_00126], [SWS_LinSM_00132], [SWS_LinSM_00224], SWS LinSM с. 42, SWS LinSM с. 27

Второй временной границей является таймер Silence-after-Wakeup с LinSMSilenceAfterWakeupTimeout [SWS_LinSM_00235]. Пока он работает, LinSM откладывает новый вызов LinIf_Wakeup, даже если ComM запрашивает полную связь [SWS_LinSM_00237]. После его истечения LinSM перезапускает процесс пробуждения, если ComM по-прежнему запрашивает COMM_FULL_COMMUNICATION [SWS_LinSM_00236]. Условие, запускающее таймер, содержится в требовании, которое здесь отсутствует. Поэтому оно не описывается.

wakeup_entscheidung A ComM: LinSM_RequestComMode (COMM_FULL_COMMUNICATION) B Таймер Silence-after-Wakeup работает? A->B C Отложить LinIf_Wakeup до истечения таймера B->C да D Сбросить счетчик повторов, запустить таймер подтверждения пробуждения B->D нет C->D Timer abgelaufen E LinIf_Wakeup(Channel) direkt aufrufen D->E F Ответ от LinIf? E->F G LINSM_FULL_COM, уведомление в ComM и BswM F->G WakeupConfirmation TRUE H Снова установить и передать состояние, которое было до запроса F->H WakeupConfirmation FALSE I LinSM_MainFunction: Timer abgelaufen LINSM_E_CONFIRMATION_TIMEOUT F->I нет подтверждения J Таймаут Silence-after-Wakeup и COMM_FULL_COMMUNICATION по-прежнему запрошен J->D Перезапустить процесс пробуждения

Диаграмма деятельности: запрос на полную связь завершается переходом в LINSM_FULL_COM, возвратом к прежнему состоянию или тайм-аутом подтверждения в зависимости от состояния таймеров и полученного отклика. Источники: [SWS_LinSM_00237], [SWS_LinSM_00236], [SWS_LinSM_00224], SWS LinSM с. 27, SWS LinSM с. 28

Переход в спящий режим: ведущий узел запрашивает, ведомый следует за шиной

Процесс Goto-Sleep различается для ведущего и ведомого узлов. В обоих случаях LinSM сообщает о входе в режим отсутствия связи (No-Communication) в BswM и ComM, даже если возникла проблема (SWS LinSM с. 24).

Для ведущего узла действует следующее:

  • Если ComM запрашивает COMM_NO_COMMUNICATION в состоянии LINSM_FULL_COM, LinSM вызывает LinIf_GotoSleep, который отправляет команду Goto-Sleep [SWS_LinSM_10208].
  • Вызов выполняется напрямую [SWS_LinSM_00036]. Во всех остальных случаях он не осуществляется [SWS_LinSM_10209].
  • Вызов разрешен только в подсостоянии LINSM_RUN_COMMUNICATION (SWS LinSM с. 24).
  • Если LinIf_GotoSleep возвращает E_NOT_OK, то и LinSM_RequestComMode возвращает E_NOT_OK. Прежнее состояние устанавливается повторно, чтобы ComM и BswM получили индикацию [SWS_LinSM_00177].

После этого LinIf вызывает LinSM_GotoSleepConfirmation [SWS_LinSM_00135]. Если LinSM при этом находится в LINSM_FULL_COM/LINSM_GOTO_SLEEP, он переходит в LINSM_NO_COM независимо от параметра success. В любом другом состоянии он игнорирует подтверждение (SWS LinSM с. 24). На схеме спецификации таймер запускается перед LinIf_GotoSleep и останавливается после подтверждения (SWS LinSM с. 47).

Переход сети LIN в режим сна (Master)ComMLinSMLinIfBswMLinSM_RequestComMode(network,COMM_NO_COMMUNICATION)только в LINSM_FULL_COM / LINSM_RUN_COMMUNICATIONпрямой вызов, не в LinSM_MainFunctionstart_timer()LinIf_GotoSleep(Channel)altLinIf_GotoSleep = E_OKE_OKUnterzustand LINSM_GOTO_SLEEPE_OKLinSM_GotoSleepConfirmation(network, success)stop_timer()LINSM_NO_COM (независимо от success)ComM_BusSM_ModeIndication(network,COMM_NO_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_NO_COM)LinIf_GotoSleep = E_NOT_OKE_NOT_OKbisherigen Zustand erneut setzenE_NOT_OKComM_BusSM_ModeIndication(network,COMM_FULL_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_FULL_COM)

Диаграмма последовательности: на ведущем узле переход в режим сна инициируется ComM; LINSM_NO_COM достигается только с подтверждением сна, возвращение E_NOT_OK от LinIf_GotoSleep приводит к повторному сообщению о старом состоянии. Источники: [SWS_LinSM_00036], [SWS_LinSM_00177], [SWS_LinSM_00135], SWS LinSM с. 47, SWS LinSM с. 24

На ведомом узле решение о переходе в режим сна принимает ведущий узел. Если ComM запрашивает COMM_NO_COMMUNICATION в LINSM_FULL_COM, LinSM только сохраняет запрос и возвращает E_OK [SWS_LinSM_00230]. LinIf сигнализирует LinSM_GotoSleepIndication, когда получена команда Goto-Sleep или истек тайм-аут неактивности шины (Bus-Idle-Timeout) [SWS_LinSM_91000]. Только после этого LinSM напрямую вызывает LinIf_GotoSleep [SWS_LinSM_00231]. Дальнейшие действия зависят от сохраненного запроса:

  • Если запрошен режим COMM_NO_COMMUNICATION и LinIf_GotoSleep возвращает E_OK, ComM узнает о событии перехода шины в режим сна через ComM_BusSM_BusSleepMode [SWS_LinSM_00233].
  • Если запрошена полная связь, LinSM перезапускает процесс пробуждения после подтверждения сна [SWS_LinSM_00234].

В LinIf процесс для ведомого узла переводит контроллер и, если поддерживается, трансивер в спящий режим (SWS LinIf с. 137).

Переход сети LIN в режим сна (Slave)ComMLinSMLinIfBswMUse Case: Запрос на переход в режим сна от ComMLinSM_RequestComMode(network,COMM_NO_COMMUNICATION)angeforderten Modus speichern,никаких дальнейших действийE_OKUse Case: BusereignisLinSM_GotoSleepIndication(Channel)Goto-Sleep-Kommando empfangenили таймаут бездействия шиныstart_timer()LinIf_GotoSleep(Channel)напрямую, не в LinSM_MainFunctionE_OKaltangefordert: COMM_NO_COMMUNICATIONComM_BusSM_BusSleepMode(Channel)LinSM_GotoSleepConfirmation(network, success)stop_timer()LINSM_NO_COMComM_BusSM_ModeIndication(network,COMM_NO_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_NO_COM)angefordert: COMM_FULL_COMMUNICATIONLinSM_GotoSleepConfirmation(network, success)LINSM_NO_COM, уведомление в ComM и BswMkein Bus-Sleep-Ereignis an ComMПерезапустить процесс пробуждения (LinIf_Wakeup)

Диаграмма последовательности: на ведомом узле запрос на переход в режим сна от ComM только сохраняется, а непосредственный переход в спящий режим запускается по индикации от LinIf. Источники: [SWS_LinSM_00230], [SWS_LinSM_00231], [SWS_LinSM_00233], [SWS_LinSM_00234], SWS LinSM с. 48, SWS LinSM с. 24

Смена расписаний (только Master)

LinSM_ScheduleRequest [SWS_LinSM_00113] существует только в том случае, если хотя бы один канал сконфигурирован как ведущий (Master) [SWS_LinSM_00241]. То же самое относится к функции обратного вызова LinSM_ScheduleRequestConfirmation [SWS_LinSM_00242]. Асинхронная функция напрямую передает запрос в LinIf_ScheduleRequest в обход основной функции (Main Function). Ее возвращаемое значение она возвращает вызывающей стороне (SWS LinSM с. 26). Вызывающей стороной является BswM. Он использует LinSMScheduleIndex в качестве символьной ссылки, значение которой должно соответствовать значению в LinIf (SWS LinSM с. 52). Переключения диагностических расписаний транспортного протокола LIN также осуществляются через BswM и LinSM_ScheduleRequest (SWS LinIf с. 142).

Результат LinSM передает через BswM_LinSM_CurrentSchedule (SWS BswM с. 80). Какое именно расписание передается, зависит от хода выполнения (SWS LinSM с. 26):

  • Если LinSM_ScheduleRequestConfirmation подтверждает [SWS_LinSM_00129] до истечения таймера, LinSM передает новое расписание.
  • Если таймер истек, он передает неизмененное расписание.
  • Если LinIf_ScheduleRequest возвращает E_NOT_OK, при следующем вызове main-функции он передает старое расписание.
  • Он также сообщает о переключении без предварительного запроса, например о переключении на NULL-расписание, которое LinIf выполняет при переходе в режим сна.
Смена таблицы расписания (только Master)BswMLinSMLinIfLinSM_ScheduleRequest(network, schedule)start_timer()LinIf_ScheduleRequest(Channel, schedule)напрямую, не в LinSM_MainFunctionaltE_OK, подтверждение до истечения таймераE_OKE_OK (weitergereicht)LinSM_ScheduleRequestConfirmation(network, schedule)stop_timer()BswM_LinSM_CurrentSchedule(network, neuer Schedule)E_OK, Timer abgelaufenE_OKE_OK (weitergereicht)LinSM_MainFunction: Timer abgelaufenBswM_LinSM_CurrentSchedule(network, неизмененное расписание)LinIf_ScheduleRequest = E_NOT_OKE_NOT_OKE_NOT_OK (weitergereicht)следующий вызов LinSM_MainFunctionBswM_LinSM_CurrentSchedule(network, alter Schedule)

Диаграмма последовательности: смена расписания передается напрямую и контролируется по времени; BswM при любом исходе получает фактически действующее расписание. Источники: [SWS_LinSM_00113], [SWS_LinSM_00129], [SWS_LinSM_00156], SWS LinSM с. 26, SWS LinSM с. 48

Тип узла, конфигурация и отличия от более поздних релизов

Параметр LinSMNodeType определяет, действует ли для канала поведение Master или Slave. От этого зависит, доступны ли LinSM_ScheduleRequest, LinSM_ScheduleRequestConfirmation и LinSM_GotoSleepIndication [SWS_LinSM_00241] [SWS_LinSM_00242] [SWS_LinSM_00243]. Важнейшими временными параметрами являются LinSMConfirmationTimeout (SWS LinSM с. 28) и LinSMSilenceAfterWakeupTimeout [SWS_LinSM_00235]. Контейнеры LinSMSchedule ссылаются на расписания из конфигурации LinIf (SWS LinSM с. 52). Проверки DET привязаны к LinSMDevErrorDetect [SWS_LinSM_00239].

Многие фрагменты документации взяты из более поздних релизов. Для R20-11 определяющими являются требования, и в некоторых местах они расходятся:

  • Второй параметр LinSM_ScheduleRequest в R20-11 называется schedule и описывается как «Pointer to the new Schedule table», хотя его тип — LinIf_SchHandleType [SWS_LinSM_00113]. В R22-11 он был переименован (SWS LinSM с. 1, Release Overview с. 50); в R24-11 он называется ScheduleTableIdx (SWS LinSM с. 34).
  • В R20-11 LinSM_GetCurrentComMode имеет Service-ID 0x11 [SWS_LinSM_00122], а LinSM_RequestComMode — Service-ID 0x12 [SWS_LinSM_00126]. В более поздних редакциях указаны 0x41 и 0x40, и ревходимость допускается только для различных сетей (SWS LinSM с. 35, SWS LinSM с. 36).
  • Функции обратного вызова ComM в R20-11 называются ComM_BusSM_… [SWS_LinSM_00233], а в R25-11 — ComM_<Bus>SM_… (SWS LinSM с. 41).

Поведение при ошибке

Ошибки разработки определяет [SWS_LinSM_00053]:

  • LINSM_E_UNINIT (0x00)
  • LINSM_E_NONEXISTENT_NETWORK (0x20)
  • LINSM_E_PARAMETER (0x30)
  • LINSM_E_PARAM_POINTER (0x40)
  • LINSM_E_INIT_FAILED (0x50)

При активном LinSMDevErrorDetect функции обратного вызова проверяют сеть и инициализацию, как, например, LinSM_GotoSleepIndication [SWS_LinSM_00239] [SWS_LinSM_00240]. Функции обратного вызова не имеют возвращаемого значения, поэтому обработка ограничивается сообщением DET (SWS LinSM с. 40, SWS LinSM с. 39). API с Std_ReturnType дополнительно возвращают E_NOT_OK, например при некорректной сети, режиме или расписании либо в состоянии LINSM_UNINIT (SWS LinSM с. 36, SWS LinSM с. 34). Интерпретация: эти проверки происходят из редакций начиная с R24-11 и, вероятно, по содержанию аналогично применимы к R20-11. Примечательно, что более поздняя редакция требует E_NOT_OK при передаче NULL-указателя также и для API void LinSM_GetVersionInfo [SWS_LinSM_00117] (SWS LinSM с. 34). Вопрос Q-6b2d75dd286bdcb4 (открытый)

В качестве ошибки времени выполнения предусмотрен LINSM_E_CONFIRMATION_TIMEOUT (0x00) на случай отсутствия обратных вызовов от LinIf [SWS_LinSM_00224]. Предположительно, о ней сообщается через Det_ReportRuntimeError, который в более поздних редакциях значится как обязательный интерфейс (SWS LinSM с. 41). Вопрос Q-06b13a07d0d60152 (открытый) Функционально LinSM гарантирует, что ComM и BswM всегда видят согласованное состояние:

  • После неудавшегося пробуждения он повторно устанавливает и сообщает прежнее состояние (SWS LinSM с. 27).
  • При возврате E_NOT_OK от LinIf_GotoSleep действует то же самое [SWS_LinSM_00177].
  • Подтверждение перехода в режим сна даже при success = FALSE приводит к состоянию LINSM_NO_COM (SWS LinSM с. 24).
  • При неудачной смене расписания BswM получает старое или неизмененное расписание (SWS LinSM с. 26).

Дальнейшие подробные доказательства

Сгенерированное ИИ руководство по модулю на базе нормативных требований для R20-11 и соответствующих фрагментов документации и диаграмм, которые частично взяты из других релизов. Утверждения, обозначенные как интерпретация, нормативно не подтверждены. Обязательную силу имеет исключительно спецификация AUTOSAR.

LIN State Manager (LinSM)

Manages state transitions of LIN networks.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

функция LinSM_Init [SWS_LinSM_00155] 📄 PDF

void LinSM_Init (const LinSM_ConfigType* ConfigPtr);

This function initializes the Lin SM.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 18f94187e199 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция LinSM_Init служит для инициализации программного модуля LIN State Manager (LinSM) в платформе AUTOSAR Classic [SWS_LinSM_00155].

Использование и параметры интерфейса:

  • Синхронизация вызова: выполнение функции инициализации специфицировано как синхронное (Synchronous) [SWS_LinSM_00155].
  • Входные параметры: в качестве единственного параметра передается ConfigPtr типа const LinSM_ConfigType* [SWS_LinSM_00155]. Он выступает в роли указателя на конфигурационные данные post-build для LinSM [SWS_LinSM_00155].
  • Другие параметры и возвращаемое значение: интерфейс не возвращает значения (void) [SWS_LinSM_00155]. Дополнительные входные/выходные параметры или чисто выходные параметры отсутствуют [SWS_LinSM_00155].
  • Заголовочный файл и идентификатор сервиса: объявление предоставляется через заголовочный файл LinSM.h и содержит идентификатор сервиса 0x01 [SWS_LinSM_00155].

Параллелизм и ограничения:

Для выполнения LinSM_Init определено, что функция является неревентрантной (Non reentrant) [SWS_LinSM_00155]. Следовательно, вызов не должен выполняться ни параллельно из нескольких потоков, ни с прерыванием более приоритетными контекстами [SWS_LinSM_00155].

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR CP R20-11.

Руководство разработчика реализации в подготовке (сложность I2)

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: f2deb9e24090 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Функция LinSM_ScheduleRequest вызывается верхним уровнем для запроса смены таблицы расписания на указанном канале LIN [SWS_LinSM_00113]. Интерфейс определен в заголовочном файле LinSM.h, имеет идентификатор сервиса 0x10 и работает асинхронно, а также ревентрантно [SWS_LinSM_00113]. При вызове соответствующий канал передается через параметр network (NetworkHandleType), а требуемая новая таблица — через schedule (LinIf_SchHandleType) [SWS_LinSM_00113].

Обработка ошибок и возвращаемые значения

Если запрос на переключение таблицы был принят модулем, функция возвращает E_OK [SWS_LinSM_00113]. Если же вызов не может быть выполнен — например, из-за того, что модуль еще не инициализирован, — функция возвращает значение E_NOT_OK [SWS_LinSM_00113]. Специфические коды ошибок для DET или DEM для этого сервиса не приведены.

Граничные условия и взаимодействие

Предоставление функции существенно зависит от конфигурационного параметра LinSMNodeType: LinSM_ScheduleRequest доступна исключительно тогда, когда модуль сконфигурирован как мастер-узел LIN хотя бы на одном канале, и опускается в конфигурациях только с LIN-слейвами [SWS_LinSM_00241]. Точно так же соответствующая функция подтверждения LinSM_ScheduleRequestConfirmation требует конфигурации мастер-узла [SWS_LinSM_00242]. Уведомление верхнего уровня об успешно выполненной асинхронной смене таблицы, предположительно, осуществляется через эту функцию подтверждения. Вопрос Q-34c3ec02381c72ca (открытый)

Этот текст был создан ИИ; определяющей является спецификация AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I1)

функция LinSM_GetCurrentComMode [SWS_LinSM_00122] 📄 PDF

Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);

Function to query the current communication mode.

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 64785219821f Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и контекст вызова

Объявленная в заголовочном файле LinSM.h функция LinSM_RequestComMode (Service-ID 0x12) служит для асинхронного запроса режима связи для переданной LIN-сети [SWS_LinSM_00126]. Через параметр network типа NetworkHandleType идентифицируется соответствующий LIN-канал, тогда как mode типа ComM_ModeType специфицирует желаемый режим связи [SWS_LinSM_00126]. Фактическая смена режима происходит не мгновенно; LinSM уведомляет вызывающую сторону только после того, как переход режима успешно завершен [SWS_LinSM_00126]. Интерпретация: в качестве основного вызывающего компонента, вероятно, выступает ComM, поскольку переключение режима запрашивается и квитируется на уровне канала. Вопрос Q-0fcce16df8a29149 (открытый)

Возвращаемые значения и параллелизм

Интерфейс специфицирован как реентерабельный и возвращает значение статуса типа Std_ReturnType [SWS_LinSM_00126]:

  • E_OK: запрос успешно принят модулем LinSM [SWS_LinSM_00126].
  • E_NOT_OK: выполнение запроса невозможно, например, если модуль LinSM еще не инициализирован [SWS_LinSM_00126].

Обработка ошибок и взаимодействие

В рамках обработки ошибок определено взаимодействие с LIN-интерфейсом: если нижележащий вызов LinIf_GotoSleep возвращает значение E_NOT_OK, LinSM_RequestComMode обязательно должна также возвращать E_NOT_OK [SWS_LinSM_00177]. Если функция возвращает E_NOT_OK, в LinSM должно оставаться или устанавливаться то же самое состояние, обеспечивая передачу соответствующих уведомлений в ComM_BusSM_ModeIndication и BswM_LinSM_CurrentState [SWS_LinSM_00177].

Этот текст сгенерирован автоматически. Все технические утверждения основаны исключительно на данных спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I2)

функция LinSM_MainFunction [SWS_LinSM_00156] 📄 PDF

void LinSM_MainFunction (void);

Periodic function that runs the timers of different request timeouts

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: ca2058e9ab04 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Функция LinSM_MainFunction выступает в качестве центральной периодической главной функции модуля LIN State Manager (LinSM) в рамках архитектуры AUTOSAR Classic [SWS_LinSM_00156]. Согласно спецификации она имеет синтаксис void LinSM_MainFunction (void) и шестнадцатеричный идентификатор сервиса 0x30 [SWS_LinSM_00156]. Поскольку она не принимает параметров и не возвращает значения, она работает в модуле исключительно на основе состояний [SWS_LinSM_00156]. Ее основной функциональной задачей является непрерывное поддержание работы и обновление внутренних таймеров, отвечающих за контроль различных таймаутов запросов (Request Timeouts) [SWS_LinSM_00156].

Контекст вызова и диспетчеризация

Объявление интерфейса осуществляется через заголовочный файл SchM_LinSm.h [SWS_LinSM_00156]. Интерпретация: из-за этой интеграции в диспетчер расписания (Schedule Manager) функция, вероятно, циклически вызывается планировщиком BSW (BSW Scheduler) в контексте задачи операционной системы. Вопрос Q-d83f7b3f0b251f4f (открытый) Этот регулярный цикл критически важен для детерминированного распознавания и обработки возникающих условий таймаута при запросах каналов и состояний LIN. Специфические механизмы обработки ошибок, такие как коды ошибок DET или события DEM, а также формальные критерии ревентрантности для данного сервиса в настоящем объеме спецификации не специфицированы и поэтому отсутствуют.

Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 966015905644 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Функция LinSM_ScheduleRequestConfirmation служит callback-интерфейсом модуля LinSM и имеет идентификатор сервиса 0x20 [SWS_LinSM_00129]. Она доступна через заголовочный файл LinSM.h и вызывается интерфейсом LIN (LinIf), как только ранее запрошенная новая таблица расписания активируется на шине LIN [SWS_LinSM_00129].

Интерфейс не имеет возвращаемого значения (void) и передает два входных параметра в LinSM [SWS_LinSM_00129]:

  • network (NetworkHandleType): служит для однозначной идентификации соответствующего коммуникационного канала LIN [SWS_LinSM_00129].
  • schedule (LinIf_SchHandleType): передает идентификатор или указатель на вновь активированную таблицу расписания [SWS_LinSM_00129].

Параллелизм и взаимодействие

Выполнение LinSM_ScheduleRequestConfirmation специфицировано как синхронное и ревентрантное [SWS_LinSM_00129]. Входные и выходные параметры (inout или out) отсутствуют [SWS_LinSM_00129]. Взаимодействие осуществляется в тесной связке с модулем LinIf, который вызывает эту callback-функцию для подтверждения смены состояния таблицы расписания в LinSM [SWS_LinSM_00129]. Интерпретация: поскольку LinIf действует как вызывающая сторона, контекст вызова, вероятно, привязан к процессу обработки в драйвере или интерфейсе LinIf. Вопрос Q-500d6a653bfbaac0 (открытый)

Данное указание по использованию было создано автоматически на основе спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I1)

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: f0a8b1578ff8 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция обратного вызова LinSM_GotoSleepIndication ([SWS_LinSM_91000]) служит для уведомления LIN State Manager о переводе канала в состояние покоя. Вызов осуществляется через LIN Interface (LinIf), как только в сети принимается команда Go-to-Sleep или наступает тайм-аут Bus-Idle.

Использование и контекст вызова

Функция выполняется синхронно и не имеет возвращаемого значения ([SWS_LinSM_91000]). Она предоставляется через заголовочный файл LinSM.h и имеет идентификатор сервиса Service-ID 0x03. Ее единственный параметр служит для идентификации канала:

  • Channel (In): идентифицирует соответствующий LIN-канал через тип NetworkHandleType ([SWS_LinSM_91000]).

Не специфицированы ни входные/выходные параметры (inout), ни выходные параметры (out) ([SWS_LinSM_91000]).

Параллелизм и ограничения

В отношении параллелизма интерфейс определен как реентерабельный ([SWS_LinSM_91000]). Существенное функциональное ограничение касается роли узла: данный callback предназначен и применим исключительно для slave-узлов LIN ([SWS_LinSM_91000]).

Это указание по использованию основано исключительно на данных спецификации релиза AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: cf9e1845fe84 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Callback-функция LinSM_GotoSleepConfirmation в соответствии с [SWS_LinSM_00135] вызывается интерфейсом LIN (LinIf), как только команда Go-to-Sleep была передана в сети LIN или передача завершилась сбоем.

Использование и параметры

Callback имеет идентификатор сервиса 0x22, объявляется через заголовочный файл LinSM.h и не имеет возвращаемого значения [SWS_LinSM_00135]. Для идентификации и передачи статуса используются два передаваемых параметра:

  • network: идентифицирует соответствующий канал LIN через тип NetworkHandleType [SWS_LinSM_00135].
  • success: указывает в виде логического значения, удалось ли успешно отправить команду Go-to-Sleep на шине (true) или нет (false) [SWS_LinSM_00135].

Контекст выполнения и параллелизм

Спецификация определяет вызов как синхронный и ревентрантный [SWS_LinSM_00135]. Интерпретация: модуль LinSM, вероятно, на основе параметра success обновляет свое внутреннее состояние для соответствующей сети и определяет, был ли подтвержден переход в состояние покоя на шине. Вопрос Q-b5dfd51188b9ff0b (открытый) Обработка ошибок, возвращаемые значения или специфические сообщения DET либо DEM для этого интерфейса в полезной нагрузке не специфицированы [SWS_LinSM_00135].

Этот текст был сгенерирован ИИ; обязательной является исключительно спецификация AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I1)

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 3915bb7b7db1 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция обратного вызова LinSM_WakeupConfirmation служит в LIN State Manager для подтверждения отправки сигнала пробуждения в сети LIN [SWS_LinSM_00132]. Она вызывается LIN-интерфейсом (LinIf), как только команда на передачу сигнала Wakeup в сети передана успешно либо неуспешно [SWS_LinSM_00132].

Для контекста вызова, параллелизма и передачи параметров действуют следующие характеристики спецификации [SWS_LinSM_00132]:

  • Поведение синхронизации и реентерабельность: выполнение функции является синхронным (Synchronous) и классифицируется как реентерабельное (Reentrant) [SWS_LinSM_00132].
  • Идентификация канала (network): переданный входной параметр типа NetworkHandleType обозначает соответствующий LIN-канал, на котором выполнялась операция отправки [SWS_LinSM_00132].
  • Статус успеха (success): логический параметр указывает, удалось ли успешно отправить сигнал Wakeup (true) или передача завершилась сбоем (false) [SWS_LinSM_00132].
  • Возвращаемое значение и входные/выходные параметры: функция не имеет возвращаемого значения (void) и не определяет ни выходных, ни входных/выходных параметров [SWS_LinSM_00132].

Интерфейс имеет Service-ID 0x21 и предоставляется через заголовочный файл LinSM.h [SWS_LinSM_00132]. Специфические коды ошибок, а также требования к обработке ошибок через модуль Default Error Tracer (DET) или Diagnostic Event Manager (DEM) в элементе спецификации не задаются [SWS_LinSM_00132].

Это указание по использованию основано на спецификации AUTOSAR Classic Release R20-11.

тип LinSM_ModeType [SWS_LinSM_00220] 📄 PDF

Type used to report the current mode to the Bsw M

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 939c0e58134f Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Тип данных LinSM_ModeType является стандартным типом LIN State Manager, который базируется на базовом типе uint8 и предоставляется через заголовочный файл LinSM.h [SWS_LinSM_00220]. Основная задача этого типа заключается в передаче текущего режима связи сети LIN в BSW Mode Management (BswM) [SWS_LinSM_00220].

Для LinSM_ModeType в диапазоне значений специфицированы два состояния [SWS_LinSM_00220]:

  • LINSM_FULL_COM (числовое значение 0x01): сигнализирует о состоянии неограниченной полной связи (Full communication) [SWS_LinSM_00220].
  • LINSM_NO_COM (числовое значение 0x02): обозначает состояние без текущей связи (No communication) [SWS_LinSM_00220].

Что касается обработки ошибок и параллелизма, определение типа не содержит собственных кодов ошибок, сообщений DET или событий DEM, поскольку представляет собой элементарное объявление типа [SWS_LinSM_00220]. Интерпретация: передача значений этого типа в BswM, вероятно, происходит в рамках вышестоящих смен состояний LinSM, при этом вызывающие компоненты должны гарантировать, что недопустимые значения вне определенных состояний передаваться не будут. Вопрос Q-fe193732b8be2388 (открытый)

Данное указание по использованию было создано ИИ.

Руководство разработчика реализации в подготовке (сложность I1)

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#45de1dc9
Content hash
45de1dc9
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINStateManager.pdf#nameddest=SWS_LinSM_00155

Карта тем

Подробный вид

Выберите элемент в оглавлении.

Инициализация и состояние

LinSM_GetVersionInfo функция

-

void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);
LinSM_Init функция

This function initializes the Lin SM.

void LinSM_Init (const LinSM_ConfigType* ConfigPtr);

Сервисы

Function to query the current communication mode.

Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);

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_GotoSleepConfirmation (NetworkHandleType network, boolean success);

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.

void LinSM_GotoSleepIndication (NetworkHandleType Channel);
LinSM_RequestComMode функция

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.

Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);
LinSM_ScheduleRequest функция

The upper layer requests a schedule table to be changed on one LIN network.

Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);

The Lin If module will call this callback when the new requested schedule table is active.

void LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);

The Lin If will call this callback when the wake up signal command is sent not successfully/ successfully on the network.

void LinSM_WakeupConfirmation (NetworkHandleType network, boolean success);

Циклические

LinSM_MainFunction функция

Periodic function that runs the timers of different request timeouts

void LinSM_MainFunction (void);

Типы

Data structure type for the post - build configuration parameters.

Type used to report the current mode to the Bsw M