DEENESPTFRRUARHIKOZHNL

LIN Driver (Lin)

ModulLin (LIN Driver)
BSW-Modul-ID82
Standard-Header#include "Lin.h"
SWS-SpezifikationAUTOSAR_SWS_LINDriver.pdf
ClusterLIN

模块指南人工智能生成

控制 LIN 硬件,并为 LIN Interface 提供针对每个通道的报文、睡眠状态和唤醒服务。
AI 生成 未审核 模型: claude-opus-5-5 · 推理强度: high · 温度: 不可控 · 提示词: ea366bb8619c 来源 未决问题(1)
因果锚点:R20-11 自 R20-11 起有效 为此规范版本重新合成。
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

控制 LIN 硬件,并为 LIN Interface 提供针对每个通道的报文、睡眠状态和唤醒服务。

LIN 驱动程序封装微控制器的 LIN 硬件,并为 LIN Interface 提供与通道相关的报文、睡眠状态和唤醒服务。主节点通道使用 Lin_SendFrame 异步触发报文,并通过 Lin_GetStatus 对其进行评估。从节点通道通过向 LIN Interface 发送指示来响应每个接收到的报头,然后发送、接收或忽略响应([SWS_Lin_00280])。哪些服务可用取决于所配置的节点类型;主节点服务仅在至少存在一个主节点通道时才提供([SWS_Lin_00287])。

LIN 驱动程序 Lin 是 LIN 协议栈的硬件驱动程序。它封装 LIN 控制器或 SCI/UART(SWS LIN Driver 第9页),并为 LIN Interface 提供与通道相关的报文、睡眠状态和唤醒服务。它固定需要 Dem_SetEventStatus、EcuM_SetWakeupEvent 和 LinIf_WakeupConfirmation([SWS_Lin_00234])。可选使用 DET、Icu 以及 LinIf 的从节点回调([SWS_Lin_00235])。

LinKontext LinIf LinIf (LIN Interface) Lin Lin (LIN-Treiber, MCAL) LinIf->Lin Lin_SendFrame, Lin_GetStatus (Master) Lin_GoToSleep(Internal), Lin_Wakeup(Internal) Lin_CheckWakeup EcuM EcuM Dem DEM Det DET (optional) Icu Icu (optional) Lin->LinIf LinIf_HeaderIndication, LinIf_RxIndication, LinIf_TxConfirmation, LinIf_LinErrorIndication (Slave) LinIf_WakeupConfirmation Lin->EcuM EcuM_SetWakeupEvent Lin->Dem Dem_SetEventStatus (LIN_E_TIMEOUT) Lin->Det Det_ReportError Lin->Icu Icu_Enable/DisableNotification HW LIN-Hardware-Unit (LIN-Controller / SCI/UART) Lin->HW Hardwarezugriff HW->Lin Interrupt Trcv Transceiver-IC HW->Trcv TxD / RxD Cluster LIN-Cluster Trcv->Cluster LIN-Bus

上下文图:Lin 位于 LinIf 与 LIN 硬件之间,并向 EcuM、LinIf、DEM 和 DET 报告唤醒与错误。来源:[SWS_Lin_00234]、[SWS_Lin_00235]

Lin_Init 将模块从 LIN_UNINIT 迁移至 LIN_INIT([SWS_Lin_00006]、SWS LIN Driver 第24页)。之后,每个通道在 LIN_CH_OPERATIONAL、LIN_CH_SLEEP_PENDING(仅主节点)和 LIN_CH_SLEEP 之间切换。为此提供了 Lin_GoToSleep、Lin_GoToSleepInternal、Lin_Wakeup 和 Lin_WakeupInternal([SWS_Lin_00166]、[SWS_Lin_00167]、[SWS_Lin_00169]、[SWS_Lin_00256])。

LinZustaende cluster_kanal 每个通道的通道状态(仅在 LIN_INIT 中) Reset Reset LIN_UNINIT LIN_UNINIT (不可用) Reset->LIN_UNINIT 复位后 LIN_INIT LIN_INIT (通道就绪) LIN_UNINIT->LIN_INIT Lin_Init LIN_CH_OPERATIONAL LIN_CH_OPERATIONAL (参与集群) LIN_CH_SLEEP_PENDING LIN_CH_SLEEP_PENDING (仅限 Master) LIN_CH_OPERATIONAL->LIN_CH_SLEEP_PENDING Lin_GoToSleep (Go-to-sleep-Kommando) LIN_CH_SLEEP LIN_CH_SLEEP (Wake-up-Erkennung aktiv) LIN_CH_OPERATIONAL->LIN_CH_SLEEP Lin_GoToSleepInternal LIN_CH_SLEEP_PENDING->LIN_CH_SLEEP Lin_GetStatus (Interpretation) LIN_CH_SLEEP->LIN_CH_OPERATIONAL Lin_Wakeup (带唤醒脉冲) LIN_CH_SLEEP->LIN_CH_OPERATIONAL Lin_WakeupInternal (不带唤醒脉冲)

状态图:模块状态和通道状态及其转换。Lin_GetStatus 完成进入 LIN_CH_SLEEP 的步骤,是对图表的一种解释。来源:SWS LIN Driver 第24页、[SWS_Lin_00166]

主节点和从节点通道的工作方式截然不同。主节点使用 Lin_SendFrame 异步触发报文,随后使用 Lin_GetStatus 查询结果([SWS_Lin_00191]、[SWS_Lin_00168])。仅当至少一个通道配置为主节点时,才提供这些服务([SWS_Lin_00287])。从节点通过 LinIf_HeaderIndication 报告每个报头([SWS_Lin_00280])。取决于 Drc,它随后发送、接收或忽略响应,并使用 LinIf_TxConfirmation 或 LinIf_RxIndication 结束响应([SWS_Lin_00282]、[SWS_Lin_00274]、[SWS_Lin_00275])。

来自总线的唤醒由 Lin_CheckWakeup 检查并报告给 EcuM 和 LinIf([SWS_Lin_00160])。出现错误时,错误用法将报告给 DET,例如 LIN_E_UNINIT([SWS_Lin_00258])。硬件超时作为 LIN_E_TIMEOUT 报告给 DEM([SWS_Lin_00290])。主节点通道将总线错误作为状态返回,从节点通道则通过 LinIf_LinErrorIndication 报告总线错误([SWS_Lin_00233]、[SWS_Lin_00277])。

LIN 驱动程序的作用、系统边界和实例关联

LIN 驱动程序 Lin 封装微控制器的 LIN 硬件。它为 LIN Interface(LinIf)提供与通道相关的服务:发送和接收报文、使通道进入睡眠以及唤醒通道,以及检查唤醒。所有服务均可通过 Lin.h 获取([SWS_Lin_00191]、[SWS_Lin_00160])。规范中作为硬件提到了三种 LIN 硬件单元:功能完备的 LIN 控制器、简易 SCI/UART 和增强型 SCI/UART。它们分别通过收发器 IC 连接到 LIN 集群(SWS LIN Driver 第9页)。驱动程序本身不提供回调函数(SWS LIN Driver 第49页)。相反,它调用其周边环境的函数。

对外的强制接口为 Dem_SetEventStatus、EcuM_SetWakeupEvent 和 LinIf_WakeupConfirmation([SWS_Lin_00234])。驱动程序可选使用的接口除其他外包括:

  • Det_ReportError 和 EcuM_CheckWakeup,
  • Icu_EnableNotification 和 Icu_DisableNotification,
  • 用于从节点通道的回调 LinIf_HeaderIndication、LinIf_RxIndication 和 LinIf_LinErrorIndication([SWS_Lin_00235])。

诸如 NetworkHandleType、EcuM_WakeupSourceType 或 Std_ReturnType 等导入类型在 [SWS_Lin_00226] 中列出。

LinKontext LinIf LinIf (LIN Interface) Lin Lin (LIN-Treiber, MCAL) LinIf->Lin Lin_SendFrame, Lin_GetStatus (Master) Lin_GoToSleep(Internal), Lin_Wakeup(Internal) Lin_CheckWakeup EcuM EcuM Dem DEM Det DET (optional) Icu Icu (optional) Lin->LinIf LinIf_HeaderIndication, LinIf_RxIndication, LinIf_TxConfirmation, LinIf_LinErrorIndication (Slave) LinIf_WakeupConfirmation Lin->EcuM EcuM_SetWakeupEvent Lin->Dem Dem_SetEventStatus (LIN_E_TIMEOUT) Lin->Det Det_ReportError Lin->Icu Icu_Enable/DisableNotification HW LIN-Hardware-Unit (LIN-Controller / SCI/UART) Lin->HW Hardwarezugriff HW->Lin Interrupt Trcv Transceiver-IC HW->Trcv TxD / RxD Cluster LIN-Cluster Trcv->Cluster LIN-Bus

上下文图:Lin 位于 LinIf 与 LIN 硬件单元之间。驱动程序向 EcuM 和 LinIf 报告唤醒,向 DEM 和 DET 报告错误。来源:[SWS_Lin_00234]、[SWS_Lin_00235]、SWS LIN Driver 第9页

该驱动程序支持分区。它在每个分区中作为独立实例运行,且 API 调用仅影响发生该调用的分区([SWS_Lin_CONSTR_00270])。如果 LinEcucPartitionRef 引用了分区,则 LinChannelEcucPartitionRef 必须精确引用其中一个([SWS_Lin_CONSTR_00291])。通信通道的 LinChannel 和 LinTrcvChannel 必须引用同一分区([SWS_Lin_CONSTR_00279])。模块会拒绝实现不支持的分区分配([SWS_Lin_00269])。针对每个通道,除其他外还配置了波特率、通道 ID、LinChannelWakeupSupport 以及节点类型 LinNodeType。该容器描述源自后续 Release(SWS LIN Driver 第60页)。

从 Lin_Init 到睡眠状态的模块与通道状态

复位后,模块处于状态 LIN_UNINIT 且不可用。Lin_Init 将其转入 LIN_INIT;在其中每个可用通道均已准备好提供服务(SWS LIN Driver 第24页)。Lin_Init 接收指向 Lin_ConfigType 结构的指针。其内容特定于硬件;它包含驱动程序、硬件单元和通道的初始化数据([SWS_Lin_00006]、[SWS_Lin_00227])。运行环境中在运行时应对 Lin_Init 仅调用一次(SWS LIN Driver 第24页)。

在 LIN_INIT 内部,每个通道都有其自身的状态:

  • LIN_CH_OPERATIONAL:通道参与集群。
  • LIN_CH_SLEEP:唤醒检测处于激活状态,硬件视情况处于低功耗模式。
  • LIN_CH_SLEEP_PENDING:仅针对主节点通道,在 Lin_GoToSleep 之后。

证据:SWS LIN Driver 第24页、[SWS_Lin_00166]。Lin_GoToSleepInternal 将通道直接置为 LIN_CH_SLEEP([SWS_Lin_00167])。Lin_Wakeup 带有唤醒脉冲返回到 LIN_CH_OPERATIONAL,Lin_WakeupInternal 则不带脉冲([SWS_Lin_00169]、[SWS_Lin_00256])。

解释:从 LIN_CH_SLEEP_PENDING 到 LIN_CH_SLEEP 的转换大概由 Lin_GetStatus 完成。 问题 Q-bb592e1d2ab668f0 (未决)图表将 Lin_GetStatus 列为主节点部分的转换,且 LIN Interface 在检查 go-to-sleep 命令时期望返回值 LIN_CH_SLEEP(SWS LIN Interface 第56页)。

LinZustaende cluster_kanal 每个通道的通道状态(仅在 LIN_INIT 中) Reset Reset LIN_UNINIT LIN_UNINIT (不可用) Reset->LIN_UNINIT 复位后 LIN_INIT LIN_INIT (通道就绪) LIN_UNINIT->LIN_INIT Lin_Init LIN_CH_OPERATIONAL LIN_CH_OPERATIONAL (参与集群) LIN_CH_SLEEP_PENDING LIN_CH_SLEEP_PENDING (仅限 Master) LIN_CH_OPERATIONAL->LIN_CH_SLEEP_PENDING Lin_GoToSleep (Go-to-sleep-Kommando) LIN_CH_SLEEP LIN_CH_SLEEP (Wake-up-Erkennung aktiv) LIN_CH_OPERATIONAL->LIN_CH_SLEEP Lin_GoToSleepInternal LIN_CH_SLEEP_PENDING->LIN_CH_SLEEP Lin_GetStatus (Interpretation) LIN_CH_SLEEP->LIN_CH_OPERATIONAL Lin_Wakeup (带唤醒脉冲) LIN_CH_SLEEP->LIN_CH_OPERATIONAL Lin_WakeupInternal (不带唤醒脉冲)

状态图:Lin_Init 将模块从 LIN_UNINIT 提升至 LIN_INIT。在其中,每个通道通过睡眠和唤醒服务在运行和睡眠之间切换;通过 Lin_GetStatus 的转换属于解释。来源:SWS LIN Driver 第24页、[SWS_Lin_00166]、[SWS_Lin_00167]、[SWS_Lin_00169]、[SWS_Lin_00256]

通过 Lin_PduType 的报文描述与数据映射

在 LinIf 与驱动程序之间,Lin_PduType 用于描述报文。该结构包含 Pid、校验和模型 Cs、响应方向 Drc、数据长度 Dl 以及数据指针 SduPtr([SWS_Lin_00232])。元素类型:

  • Lin_FramePidType:带两个奇偶校验位的标识符 0…0x3F,取值范围 0…0xFE([SWS_Lin_00228])。
  • Lin_FrameDlType:1…8 个数据字节([SWS_Lin_00231])。
  • Lin_FrameCsModelType:LIN_ENHANCED_CS 或 LIN_CLASSIC_CS([SWS_Lin_00229])。驱动程序必须能够计算这两种校验和([SWS_Lin_00019])。

Lin_FrameResponseType 确定节点如何处理响应([SWS_Lin_00230]):自行发送响应(LIN_FRAMERESPONSE_TX)、接收相关的外部响应(LIN_FRAMERESPONSE_RX)或忽略响应(LIN_FRAMERESPONSE_IGNORE)。在内存中,最先传输的字节位于元素 0 中,最后传输的字节位于元素 n-1 中(SWS LIN Driver 第30页)。如果硬件无法对字节进行缓冲(例如在简易 UART 的情况下),驱动程序将提供临时缓冲区。带回读检查的发送以及接收均以非阻塞方式运行(SWS LIN Driver 第28页)。

主节点通道:Lin_SendFrame 与状态查询

在主节点通道上,LinIf 使用异步 Lin_SendFrame 触发每个报文。该服务发送 LIN 报头,并视情况发送响应([SWS_Lin_00191])。这适用于调度表的接收、发送以及从节点到从节点(Slave-to-Slave)条目(SWS LIN Interface 第34页、SWS LIN Interface 第37页、SWS LIN Interface 第40页)。

LinIf 使用同步 Lin_GetStatus 查询结果:最早在最大报文长度之后,最迟在下一个到期的调度条目时(SWS LIN Interface 第35页、[SWS_Lin_00168])。该服务返回 Lin_StatusType,例如 LIN_TX_OK、LIN_TX_BUSY、LIN_RX_OK、LIN_RX_BUSY 或 LIN_RX_NO_RESPONSE。通过 Lin_SduPtr,它还返回指向影子或硬件接收缓冲区的指针([SWS_Lin_00233])。

接收到的数据保持一致,直到成功接收到下一个报文或通道状态发生变化。完整的接收处理可以位于 Lin_GetStatus 中(SWS LIN Driver 第30页)。对于事件触发报文(Event-triggered Frame),适用以下规则(SWS LIN Interface 第127页、SWS LIN Interface 第129页):

  • LIN_RX_NO_RESPONSE 不将 LinIf 视为错误。
  • LIN_RX_ERROR 被视为冲突,并导致切换到冲突解决调度表。

仅当至少一个通道通过 LinNodeType 配置为主节点时,才提供 Lin_SendFrame、Lin_GoToSleep 和 Lin_GetStatus([SWS_Lin_00287]、[SWS_Lin_00288]、[SWS_Lin_00289])。在 R20-11 中,这些服务被指定为不可重入([SWS_Lin_00168])。较后版本允许针对不同通道的可重入性(SWS LIN Driver 第48页);对于 R20-11,该需求有效。

Master 通道上的帧处理BSW-Task (zyklisch)LinIfLinObere SchichtUse Case: 调度表条目到期LinIf_MainFunction_<ChannelId>()RequestFrame()Lin_SendFrame(Channel, PduInfoPtr)E_OK异步:Header 和 Response非阻塞运行Use Case: 从最大帧长度起进行状态检查loop只要帧仍在运行,每次 MainFunction 调用时执行LinIf_MainFunction_<ChannelId>()Lin_GetStatus(Channel, &Lin_SduPtr)LIN_TX_BUSY / LIN_RX_BUSYaltLIN_RX_OK通过 Lin_SduPtr 接收数据 (CopyBuffer)Rx-IndicationLIN_TX_OKTx-Confirmation (E_OK)LIN_RX_NO_RESPONSE (Event-triggered Frame)kein Kommunikationsfehler,无动作LIN_RX_ERROR (Event-triggered Frame)ChangeToCollisionResolvingSchedule()

时序图:主节点使用 Lin_SendFrame 异步触发报文,并在后续 MainFunction 调用中通过 Lin_GetStatus 评估结果。来源:[SWS_Lin_00191]、[SWS_Lin_00168]、SWS LIN Interface 第128页、SWS LIN Interface 第129页、SWS LIN Interface 第40页

从节点通道:报头驱动的响应处理

从节点通道在 LIN_CH_OPERATIONAL 中必须能够随时接收报头([SWS_Lin_00272])。针对每个报头,驱动程序调用 LinIf_HeaderIndication。此时 PduPtr->Pid 包含接收到的 PID,且 PduPtr->SduPtr 指向其硬件或影子缓冲区([SWS_Lin_00280])。如果硬件无法识别无效 PID,驱动程序将未经检查直接传递 PID([SWS_Lin_00271])。在返回 E_OK 后,它评估 PduPtr->Drc([SWS_Lin_00282]):

  • 在 LIN_FRAMERESPONSE_TX 时,它使用 Cs、Dl 和 SduPtr 来发送响应([SWS_Lin_00283])。
  • 在 LIN_FRAMERESPONSE_RX 时,它使用 Cs 和 Dl 配置接收([SWS_Lin_00284])。

如果 LinIf_HeaderIndication 返回 E_NOT_OK 或 Drc 等于 LIN_FRAMERESPONSE_IGNORE,驱动程序将忽略响应([SWS_Lin_00286])。在下一个报头之前,它不报告任何内容([SWS_Lin_00276])。成功接收到的响应直接通过 LinIf_RxIndication 传递,已发送的响应通过 LinIf_TxConfirmation 确认([SWS_Lin_00274]、[SWS_Lin_00275])。每个相关响应必须在报告下一个报头之前通过这些回调之一或通过 LinIf_LinErrorIndication 完成([SWS_Lin_00285])。接收图表区分了两种硬件变体:硬件 LIN 控制器和简易 UART(其中驱动程序通过中断将每个字节复制到缓冲区中)(SWS LIN Driver 第57页)。

Slave 通道上的 Header 和 Response 处理LinController/UARTLinLinIfObere SchichtUse Case: Header-Empfang in LIN_CH_OPERATIONALInterrupt (Header empfangen)LinIf_HeaderIndication(Channel, PduPtr)PduPtr->Pid, PduPtr->SduPtr gesetztEvaluatePID()optSende-FrameTriggerTransmit (Daten in SduPtr-Puffer)SetPduPtrValues() (Drc, Cs, Dl)E_OK / E_NOT_OKPduPtr->Drc auswertenaltE_OK 且 Drc = LIN_FRAMERESPONSE_TX使用 Cs、Dl、SduPtr 发送 ResponseInterrupt (Response gesendet)LinIf_TxConfirmation()Tx-ConfirmationE_OK 且 Drc = LIN_FRAMERESPONSE_RX使用 Cs、Dl 配置接收Interrupt (Response empfangen)LinIf_RxIndication(Channel, Lin_SduPtr)Rx-Indication (CopyBuffer)E_NOT_OK 或 Drc = LIN_FRAMERESPONSE_IGNOREResponse ignorieren;在下一个 Header 之前无通知发送/接收时发生总线错误:中止并LinIf_LinErrorIndication(Channel, ErrorStatus)

时序图:在从节点通道上,每个报头触发对 LinIf 的指示。取决于 Drc,驱动程序发送、接收或忽略响应。来源:[SWS_Lin_00280]、[SWS_Lin_00282]、[SWS_Lin_00283]、[SWS_Lin_00284]、[SWS_Lin_00286]、[SWS_Lin_00274]、[SWS_Lin_00275]、SWS LIN Interface 第121页、SWS LIN Interface 第132页

睡眠、唤醒与唤醒检测

仅主节点可以发送 go-to-sleep 命令。Lin_GoToSleep 按照 LIN 2.1 异步发送该命令,且即使在传输错误时也将通道置为 LIN_CH_SLEEP_PENDING。如果配置了 LinChannelWakeupSupport,该服务还会激活总线监控([SWS_Lin_00166]、SWS LIN Driver 第43页)。对于从节点,Lin_GoToSleep 不适用;它们使用 Lin_GoToSleepInternal(SWS LIN Driver 第31页)。该服务同步设置 LIN_CH_SLEEP,激活唤醒检测,并可选地将硬件置于低功耗模式([SWS_Lin_00167]、SWS LIN Driver 第44页)。每个通道独立于其余通道接受睡眠请求(SWS LIN Driver 第31页)。

提供了两个用于唤醒的服务。Lin_Wakeup 向总线发送唤醒脉冲,Lin_WakeupInternal 在不发送脉冲的情况下使通道投入运行([SWS_Lin_00169]、[SWS_Lin_00262])。来自总线的唤醒由 Lin_CheckWakeup 检查。如果该服务检测到事件(例如持续的低 RxD 电平),它将立即通过 EcuM_SetWakeupEvent 报告给 EcuM,并通过 LinIf_WakeupConfirmation 报告给 LinIf([SWS_Lin_00160]、SWS LIN Driver 第42页)。LinIf_CheckWakeup 根据唤醒源决定是调用 Lin_CheckWakeup 还是 LinTrcv_CheckWakeup(SWS LIN Interface 第112页)。LIN 不需要唤醒验证(SWS EcuM 第173页)。

检查来自 LIN 总线的唤醒LIN-Hardware (Controller/Transceiver)EcuMLinIfLinKanal in LIN_CH_SLEEP,总线监测激活 (LinChannelWakeupSupport)唤醒事件(中断或轮询)LinIf_CheckWakeup(WakeupSource)Lin_CheckWakeup(Channel)(源自 LIN 控制器;否则为 LinTrcv_CheckWakeup)Wake-up auswerten(z. B. RxD dauerhaft low)optWake-up erkanntEcuM_SetWakeupEvent()LinIf_WakeupConfirmation()E_OK / E_NOT_OKE_OK / E_NOT_OKLIN 不需要唤醒验证

时序图:来自总线的唤醒经由 EcuM 和 LinIf_CheckWakeup 传递给 Lin_CheckWakeup。驱动程序将检测到的事件上报给 EcuM 和 LinIf。来源:[SWS_Lin_00160]、[SWS_Lin_00234]、SWS LIN Driver 第42页、SWS LIN Interface 第112页、SWS EcuM 第147页

发生错误时的行为

在开发错误检测使能时,各服务向 DET 上报错误使用([SWS_Lin_00258]、[SWS_Lin_00259]、[SWS_Lin_00260];针对 Lin_Wakeup 类似 SWS LIN Driver 第45页):

  • 初始化前调用时报 LIN_E_UNINIT,
  • 通道无效或未激活时报 LIN_E_INVALID_CHANNEL,
  • 在 LIN_CH_SLEEP 之外发生唤醒时报 LIN_E_STATE_TRANSITION。

Lin_GetVersionInfo 通过 LIN_E_PARAM_POINTER 上报 NULL 指针([SWS_Lin_00161]、SWS LIN Driver 第41页)。在 DET 禁用时,Lin_CheckWakeup 针对无效通道返回 E_NOT_OK(SWS LIN Driver 第42页)。通常,E_NOT_OK 和 LIN_NOT_OK 表示发生了开发错误或生产错误([SWS_Lin_00191]、[SWS_Lin_00233])。

LIN_E_TIMEOUT 被指定为生产错误。若在更改硬件控制寄存器后必须等待状态切换,则由一个可配置的超时来保障该等待。若超时到期,则上报该错误([SWS_Lin_00290])。该上报经由 Dem_SetEventStatus([SWS_Lin_00234])发送至 LinDemEventParameterRefs 中引用的事件(SWS LIN Driver 第65页)。

驱动程序根据节点类型以不同方式上报通信错误。Master 通道将其作为 Lin_GetStatus 的状态返回([SWS_Lin_00233]):

  • 头中出现回读错误、奇偶校验错误或总线错误时报 LIN_TX_HEADER_ERROR,
  • 响应传输错误时报 LIN_TX_ERROR,
  • 出现成帧错误、溢出错误或校验和错误以及响应过短时报 LIN_RX_ERROR。

Slave 通道中止帧处理,并携带 Lin_SlaveErrorType 调用 LinIf_LinErrorIndication([SWS_Lin_00277]、[SWS_Lin_91140])。在等待头期间出现的无效总线事件,它们作为 LIN_ERR_HEADER 上报([SWS_Lin_00281])。

LinFehlerpfade start LIN 驱动中的错误事件 art 错误类型? start->art dev 开发错误 (仅在启用 DET 检测时) art->dev API 误用 hw 修改硬件控制寄存器后 等待超时 art->hw Hardwarefehler com 总线上的通信错误 art->com Busfehler det Det_ReportError: LIN_E_UNINIT / LIN_E_INVALID_CHANNEL / LIN_E_STATE_TRANSITION / LIN_E_PARAM_POINTER dev->det ret 返回 E_NOT_OK 或 LIN_NOT_OK det->ret dem Dem_SetEventStatus: LIN_E_TIMEOUT hw->dem dem->ret typ 通道的节点类型? com->typ master Master:Lin_GetStatus 时的错误状态 (LIN_TX_HEADER_ERROR、LIN_TX_ERROR、LIN_RX_ERROR) typ->master Master slave Slave: aktuelle Frame-Bearbeitung abbrechen typ->slave Slave sind LinIf_LinErrorIndication(Channel, Lin_SlaveErrorType) z. B. LIN_ERR_HEADER, LIN_ERR_RESP_CHKSUM, LIN_ERR_NO_RESP slave->sind

活动图:开发错误发送至 DET,硬件超时发送至 DEM。总线通信错误由 Master 通道作为状态上报,由 Slave 通道作为错误指示上报。来源:[SWS_Lin_00258]、[SWS_Lin_00290]、[SWS_Lin_00233]、[SWS_Lin_00277]、[SWS_Lin_00281]、[SWS_Lin_00235]

进一步详细证据

AI 生成的指南。它完全基于所提供的凭据;个别文档出处来自后续版本。R20-11 的需求具有规范性。标为解读的陈述未经直接证实。

LIN Driver (Lin)

Controls hardware LIN controllers on the ECU.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

函数 Lin_Init [SWS_Lin_00006] 📄 PDF

void Lin_Init (const Lin_ConfigType* Config);

Initializes the LIN module.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 2e00d30976de 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Lin_Init 用于根据规范 [SWS_Lin_00006] 初始化 AUTOSAR Classic 平台的 LIN 驱动模块。该接口通过头文件 Lin.h 提供,并在内部通过服务 ID 0x00 进行寻址 [SWS_Lin_00006]。

对于该函数的使用和调用,适用以下参数和接口条件:

  • 输入参数:作为唯一的传入参数,期望 Config [SWS_Lin_00006]。此处是指向类型为 const Lin_ConfigType* 的 LIN 驱动程序配置数据集的指针 [SWS_Lin_00006]。该接口既未规定输入/输出参数,也未规定纯输出参数 [SWS_Lin_00006]。
  • 返回值:该函数不返回任何返回值(void)[SWS_Lin_00006]。
  • 执行语义:处理完全同步进行(Synchronous),因此驱动程序的初始化步骤直接在函数调用期间执行完毕 [SWS_Lin_00006]。

关于调用上下文和并发性,规定 Lin_Init 为不可重入(Non Reentrant)[SWS_Lin_00006]。解释:由于该函数对 LIN 驱动模块进行基本初始化并且被设计为不可重入,因此通常应在整个系统的启动阶段、在调用 LIN 驱动程序的其他服务之前被调用。 问题 Q-d535602a0d4708ce (未决)在此过程中,来自不同执行上下文的并发或多次调用推测是不允许的。

本文由 AI 基于 AUTOSAR R20-11 规范生成。

实现者指南即将推出(复杂度 I1)

函数 Lin_CheckWakeup [SWS_Lin_00160] 📄 PDF

Std_ReturnType Lin_CheckWakeup (uint8 Channel);

This function checks if a wakeup has occurred on the addressed LIN channel.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 706d1bc705a9 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Lin_CheckWakeup 用于检查寻址的 LIN 通道上是否发生了唤醒事件 [SWS_Lin_00160]。该接口通过头文件 Lin.h 提供,并具有服务 ID 0x0a [SWS_Lin_00160]。为了标识通道,该函数接收数据类型为 uint8 的参数 Channel [SWS_Lin_00160]。该接口未规定其他输入或输出参数 [SWS_Lin_00160]。

执行结果通过返回类型 Std_ReturnType 同步返回 [SWS_Lin_00160]。状态值 E_OK 表示在 API 调用执行期间未发生错误 [SWS_Lin_00160]。相反,如果在执行期间发生错误,该服务将返回返回值 E_NOT_OK [SWS_Lin_00160]。源资料中未针对此元素指定特定的错误码以及向 DET 或 DEM 发送的通知。

关于并发行为,Lin_CheckWakeup 被定义为不可重入(Non Reentrant)[SWS_Lin_00160]。因此,调用方必须确保按序调用且不发生并发执行。由于规范中未更详细地定义确切的调用上下文,调用推测可能由诸如唤醒管理或 ECU State Manager 等上层软件层发起。 问题 Q-40221056a2e2c042 (未决)

本文字由人工智能生成;所有陈述均源自 AUTOSAR 标准的规定。

函数 Lin_SendFrame [SWS_Lin_00191] 📄 PDF

Std_ReturnType Lin_SendFrame (uint8 Channel, const Lin_PduType* PduInfoPtr);

Sends a LIN header and a LIN response, if necessary. The direction of the frame response (master response, slave response, slave - to - slave communication) is provided by the Pdu Info Ptr. Only used for LIN master nodes.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: fb92456f64e2 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 Lin_SendFrame 用于发送 LIN Header 以及在需要时发送关联的 LIN Response,且仅用于 LIN 主节点 [SWS_Lin_00191]。通过指针 PduInfoPtr 确定帧 Response 的传输方向,该方向可以映射主节点响应、从节点响应或从节点到从节点的通信 [SWS_Lin_00191]。

调用和参数:该函数的执行为异步方式 [SWS_Lin_00191]。调用时将传递以下输入参数:

  • Channel:将要寻址的 LIN 通道指定为 uint8 [SWS_Lin_00191]。
  • PduInfoPtr:指向类型为 Lin_PduType 的结构的指针,该结构包含受保护标识符(PID)、校验和模型(Checksum Model)、Response 类型、数据长度(Dl)以及指向 SDU 的数据指针 [SWS_Lin_00191]。

返回值和错误行为:该函数返回返回类型 Std_ReturnType [SWS_Lin_00191]:

  • E_OK:发送请求已成功接收并被接受进行异步执行 [SWS_Lin_00191]。
  • E_NOT_OK:发送请求被拒绝,因为存在开发错误(Development Error)或生产错误(Production Error)[SWS_Lin_00191]。

并发与集成:该接口被指定为不可重入(Non Reentrant),因此必须避免在同一通道上发生并发调用 [SWS_Lin_00191]。该函数具有服务 ID 0x04,并通过头文件 Lin.h 包含 [SWS_Lin_00191]。

本使用说明基于 AUTOSAR 规范 R20-11 自动生成。

函数 Lin_GoToSleep [SWS_Lin_00166] 📄 PDF

Std_ReturnType Lin_GoToSleep (uint8 Channel);

The service instructs the driver to transmit a go - to - sleep - command on the addressed LIN channel. Only used for LIN master nodes.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: e15a8b1ff51c 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

功能与调用上下文

函数 Lin_GoToSleep 指示 LIN 驱动程序在寻址的 LIN 通道上发送 Go-to-Sleep 命令 [SWS_Lin_00166]。该驱动程序服务具有服务 ID 0x06,并通过头文件 Lin.h 提供 [SWS_Lin_00166]。对于调用者而言,该服务的执行是异步的 [SWS_Lin_00166]。函数声明为 Std_ReturnType Lin_GoToSleep (uint8 Channel) [SWS_Lin_00166]。

参数与返回值

传入的唯一传递参数是 uint8 类型的 Channel,用于标识要寻址的 LIN 通道 [SWS_Lin_00166]。不存在额外的输入或输出参数 [SWS_Lin_00166]。

Std_ReturnType 类型的返回值提供有关请求接受情况的信息 [SWS_Lin_00166]:

  • E_OK:Go-to-Sleep 命令已被驱动程序成功接受 [SWS_Lin_00166]。
  • E_NOT_OK:命令未被接受,因为发生了开发错误或生产错误 [SWS_Lin_00166]。

限制与并发性

关于并发性,该函数被声明为不可重入的(Non Reentrant)[SWS_Lin_00166]。作为一项重要的功能限制,Lin_GoToSleep 仅适用于 LIN 主节点 [SWS_Lin_00166]。

本使用说明基于 AUTOSAR 规范 R20-11 自动生成。

函数 Lin_GoToSleepInternal [SWS_Lin_00167] 📄 PDF

Std_ReturnType Lin_GoToSleepInternal (uint8 Channel);

Sets the channel state to LIN_ CH_ SLEEP, enables the wake - up detection and optionally sets the LIN hardware unit to reduced power operation mode (if supported by HW).

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: dd333dd75b58 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Lin_GoToSleepInternal 将寻址的 LIN 通道状态设置为 LIN_CH_SLEEP,激活唤醒检测,并在硬件支持的情况下可选地将 LIN 硬件单元置于降低能耗的节能模式 [SWS_Lin_00167]。对所需 LIN 通道的寻址通过 uint8 类型的输入参数 Channel 进行,同时没有其他输入或输出参数 [SWS_Lin_00167]。

执行结果通过 Std_ReturnType 类型的返回值同步指示 [SWS_Lin_00167]:

  • E_OK:置于休眠模式的命令已被成功接受 [SWS_Lin_00167]。
  • E_NOT_OK:该命令被拒绝,因为发生了开发错误或生产错误 [SWS_Lin_00167]。

关于并发性和调用上下文,Lin_GoToSleepInternal 被指定为不可重入的(Non Reentrant)[SWS_Lin_00167]。因此调用软件单元必须确保调用按顺序进行,而不发生并发叠加。该函数在服务 ID 0x09 下定义,并通过头文件 Lin.h 提供 [SWS_Lin_00167]。

本使用说明基于规范自动生成。

实现者指南即将推出(复杂度 I1)

函数 Lin_Wakeup [SWS_Lin_00169] 📄 PDF

Std_ReturnType Lin_Wakeup (uint8 Channel);

Generates a wake up pulse and sets the channel state to LIN_ CH_ OPERATIONAL.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 6a03f55b81c5 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

函数 Lin_Wakeup 属于 AUTOSAR Classic 平台的驱动程序模块 Lin [SWS_Lin_00169]。其目的在于在寻址的总线通道上生成唤醒脉冲(Wake-up Pulse),并将通道状态直接转换为 LIN_CH_OPERATIONAL [SWS_Lin_00169]。该接口通过头文件 Lin.h 提供,服务 ID 为 0x07,签名为 Std_ReturnType Lin_Wakeup (uint8 Channel) [SWS_Lin_00169]。

作为输入参数,该函数接收 uint8 类型的 Channel,由此指定要控制的 LIN 通道 [SWS_Lin_00169]。不存在输入/输出参数或纯输出参数 [SWS_Lin_00169]。执行行为是异步的(Asynchronous);因此从该函数返回仅确认任务的接受,而物理唤醒脉冲随后在总线上生成 [SWS_Lin_00169]。

返回值与错误处理

任务接受的结果通过返回类型 Std_ReturnType 报告 [SWS_Lin_00169]:

  • E_OK:唤醒请求已被 LIN 驱动程序接受并正在处理 [SWS_Lin_00169]。
  • E_NOT_OK:该请求被拒绝,因为发生了开发错误或生产错误 [SWS_Lin_00169]。

并发性与限制

根据规范,该函数被归类为不可重入的(Non Reentrant)[SWS_Lin_00169]。因此,不得针对同一驱动程序实例从不同的执行上下文以中断或并发方式进行调用。调用组件必须确保相应的同步。

本使用说明基于 AUTOSAR Classic R20-11 规范自动生成。

实现者指南即将推出(复杂度 I1)

函数 Lin_WakeupInternal [SWS_Lin_00256] 📄 PDF

Std_ReturnType Lin_WakeupInternal (uint8 Channel);

Sets the channel state to LIN_ CH_ OPERATIONAL without generating a wake up pulse.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 5812acd7bb93 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

通过头文件 Lin.h 提供的函数 Lin_WakeupInternal 将 LIN 通道异步置于运行状态 LIN_CH_OPERATIONAL,而不会在物理 LIN 总线上输出唤醒脉冲 [SWS_Lin_00256]。它处理上层 LIN 接口的内部唤醒请求,在这些请求中不得发送总线唤醒信号 [SWS_Lin_00262]。通过类型为 uint8 的参数 Channel 进行调用。如果唤醒请求被接受,该函数返回 E_OK;如果请求被拒绝或存在开发/生产错误,则返回 E_NOT_OK [SWS_Lin_00256]。

关于调用上下文和并发性,Lin_WakeupInternal 为不可重入(Non Reentrant)[SWS_Lin_00256]。作为严格的时序条件,寻址通道的状态机在调用时必须处于空闲状态 LIN_CH_SLEEP [SWS_Lin_00260]。

在启用开发错误检测时,该模块监视以下错误条件并报告相应的开发错误:

  • LIN_E_UNINIT:在 LIN 驱动模块初始化之前调用该函数 [SWS_Lin_00258]。
  • LIN_E_INVALID_CHANNEL:传递的通道参数无效或寻址的通道处于非激活状态 [SWS_Lin_00259]。
  • LIN_E_STATE_TRANSITION:存在不允许的状态转换,因为 LIN 通道未处于状态 LIN_CH_SLEEP [SWS_Lin_00260]。

此使用说明是根据规范要求自动生成的。

实现者指南即将推出(复杂度 I1)

类型 Lin_ConfigType [SWS_Lin_00227] 📄 PDF

This is the type of the external data structure containing the overall initialization data for the LIN driver and the SFR settings affecting the LIN channels. A pointe r to such a structure is provided to the LIN driver initialization routine for configuration of the driver, LIN hardware unit and LIN hardware channels.

类型 Lin_FramePidType [SWS_Lin_00228] 📄 PDF

Represents all valid protected identifier used by Lin_ Send Frame().

类型 Lin_FrameCsModelType [SWS_Lin_00229] 📄 PDF

This type is used to specify the Checksum model to be used for the LIN Frame.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: e48ff51e4fe8 来源 未决问题(2)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

根据 [SWS_Lin_00229],枚举类型 Lin_FrameCsModelType 用于确定单个 LIN 帧所使用的校验和模型。类型定义默认通过头文件 Lin_GeneralTypes.h 提供 [SWS_Lin_00229]。

根据 [SWS_Lin_00229],有两个值可供配置:

  • LIN_ENHANCED_CS:选择增强校验和模型(Enhanced checksum model)[SWS_Lin_00229]。
  • LIN_CLASSIC_CS:选择经典校验和模型(Classic checksum model)[SWS_Lin_00229]。

作为纯数据类型,Lin_FrameCsModelType 本身未定义函数接口、返回值或 DET/DEM 错误消息 [SWS_Lin_00229]。其使用主要可能作为参数或元素出现在模块 Lin 中的配置和帧描述符内(解释),以告知驱动程序在传输或接收时应根据哪种算法验证帧校验和。 问题 Q-6d3354059d0641df (未决)因此,针对无效值的错误处理推测必须在处理该数据的驱动程序 API 或模块配置层级进行拦截(解释)。 问题 Q-06e26f4bcff1e520 (未决)

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 I1)

类型 Lin_FrameResponseType [SWS_Lin_00230] 📄 PDF

Thi s type is used to specify whether the frame processor is required to transmit the response part of the LIN frame.

类型 Lin_PduType [SWS_Lin_00232] 📄 PDF

This Type is used to provide PID, checksum model, data length and SDU pointer from the LIN Interface to the LIN driver.

类型 Lin_StatusType [SWS_Lin_00233] 📄 PDF

LIN operation states for a LIN channel or frame, as returned by the API service Lin_ Get Status().

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 7c3f3f6172fb 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

枚举类型 Lin_StatusType 通过 Lin_GeneralTypes.h 提供,并定义了作为 API 服务 Lin_GetStatus() 的返回值报告的 LIN 通道和 LIN 帧的运行及传输状态 [SWS_Lin_00233]。

状态值分为通道状态和帧操作值 [SWS_Lin_00233]:

  • 通道状态:LIN_OPERATIONAL 表示正常运行模式,在此模式下 LIN 通道准备好传输下一个报头,并且不存在先前帧的数据(例如在初始化之后)。相比之下,LIN_CH_SLEEP 代表通道的休眠状态,在此状态下从节点的唤醒检测已激活 [SWS_Lin_00233]。
  • 正在进行的传输:LIN_TX_BUSY 标识正在进行的报头或响应发送。LIN_RX_BUSY 指示正在进行的接收过程,在此过程中已至少接收到一个响应字节,但尚未收到最终的校验和字节 [SWS_Lin_00233]。
  • 成功完成:LIN_TX_OK 确认传输成功,而 LIN_RX_OK 表示完整响应的无误接收 [SWS_Lin_00233]。
  • 错误状态与超时:LIN_NOT_OK 指示开发错误或生产错误。对于发送操作,该类型区分 LIN_TX_HEADER_ERROR(由于数据不匹配、标识符奇偶校验错误或物理总线错误导致的报头发送错误)和 LIN_TX_ERROR(由于数据不匹配或总线错误导致的响应传输错误)。在接收端,LIN_RX_ERROR 标识接收错误,例如帧错误、溢出错误、校验和错误或不完整的响应;LIN_RX_NO_RESPONSE 报告完全未收到响应字节 [SWS_Lin_00233]。

此使用说明基于 AUTOSAR CP R20-11 规范自动生成。

实现者指南即将推出(复杂度 I1)

类型 Lin_SlaveErrorType [SWS_Lin_91140] 📄 PDF

This type represents the slave error types that are detected during header reception and response transmission / reception.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 34669dffb4d6 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

枚举类型 Lin_SlaveErrorType 表示在接收报头期间以及在传输或接收响应期间检测到的 LIN 从节点的特定错误类型 [SWS_Lin_91140]。类型定义通过头文件 Lin_GeneralTypes.h 提供 [SWS_Lin_91140]。

错误状态与取值范围

该枚举涵盖了 LIN 通信不同阶段的错误 [SWS_Lin_91140]:

  • LIN_ERR_HEADER:指示在接收 LIN 报头时发生错误 [SWS_Lin_91140]。
  • LIN_ERR_RESP_STOPBIT:显示响应中的帧错误或停止位错误 [SWS_Lin_91140]。
  • LIN_ERR_RESP_CHKSUM:标识接收到的响应的校验和错误 [SWS_Lin_91140]。
  • LIN_ERR_RESP_DATABIT:报告响应中发送的数据位的位监控错误 [SWS_Lin_91140]。
  • LIN_ERR_NO_RESP:指出未收到对报头的响应 [SWS_Lin_91140]。
  • LIN_ERR_INC_RESP:在接收或传输了不完整的响应时发生 [SWS_Lin_91140]。

使用与限制

Interpretation: 由于本规范摘录中未包含具体的函数签名,该类型很可能用作向上一级模块(如 LIN 接口)发出通知中的返回值或状态参数。 问题 Q-6a9c54976345ca2b (未决)有关可重入性、调用上下文或同步与异步执行的更多详细信息未包含在摘录中。

本使用说明是基于 AUTOSAR R20-11 的规范自动生成的。

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

Record
AUTOSAR/AP/record/CP_MOD_Lin
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Lin@rel:R20-11#b625dcd8
Content hash
b625dcd8
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINDriver.pdf#nameddest=SWS_Lin_00006

初始化与状态

Service Lin_GetStatus.

Lin_StatusType Lin_GetStatus (uint8 Channel, const uint8* * Lin_SduPtr);

Returns the version information of this module.

void Lin_GetVersionInfo (Std_VersionInfoType* versioninfo);
Lin_Init 函数

Initializes the LIN module.

void Lin_Init (const Lin_ConfigType* Config);

服务

This function checks if a wakeup has occurred on the addressed LIN channel.

Std_ReturnType Lin_CheckWakeup (uint8 Channel);

The service instructs the driver to transmit a go - to - sleep - command on the addressed LIN channel. Only used for LIN master nodes.

Std_ReturnType Lin_GoToSleep (uint8 Channel);

Sets the channel state to LIN_ CH_ SLEEP, enables the wake - up detection and optionally sets the LIN hardware unit to reduced power operation mode (if supported by HW).

Std_ReturnType Lin_GoToSleepInternal (uint8 Channel);

Sends a LIN header and a LIN response, if necessary. The direction of the frame response (master response, slave response, slave - to - slave communication) is provided by the Pdu Info Ptr. Only used for LIN master nodes.

Std_ReturnType Lin_SendFrame (uint8 Channel, const Lin_PduType* PduInfoPtr);
Lin_Wakeup 函数

Generates a wake up pulse and sets the channel state to LIN_ CH_ OPERATIONAL.

Std_ReturnType Lin_Wakeup (uint8 Channel);

Sets the channel state to LIN_ CH_ OPERATIONAL without generating a wake up pulse.

Std_ReturnType Lin_WakeupInternal (uint8 Channel);

类型

This is the type of the external data structure containing the overall initialization data for the LIN driver and the SFR settings affecting the LIN channels. A pointe r to such a structure is provided to the LIN driver initialization routine for configuration of the driver, LIN hardware unit and LIN hardware channels.

This type is used to specify the Checksum model to be used for the LIN Frame.

This type is used to specify the number of SDU data bytes to copy.

Represents all valid protected identifier used by Lin_ Send Frame().

Thi s type is used to specify whether the frame processor is required to transmit the response part of the LIN frame.

This Type is used to provide PID, checksum model, data length and SDU pointer from the LIN Interface to the LIN driver.

This type represents the slave error types that are detected during header reception and response transmission / reception.

LIN operation states for a LIN channel or frame, as returned by the API service Lin_ Get Status().