DEENESPTFRRUARHIKOZHNL

Diagnostic Log and Trace (DLT)

ModulDlt (Diagnostic Log and Trace)
BSW-Modul-ID55
Standard-Header#include "Dlt.h"
SWS-SpezifikationAUTOSAR_SWS_DiagnosticLogAndTrace.pdf
ClusterDiagnostic Services

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

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

Собирает, фильтрует и буферизует сообщения журналов и трассировки от SW-C и BSW и передает их внешним инструментам.

Модуль Dlt собирает сообщения журналов и трассировки от SW-C, модулей BSW, DET и хуков RTE-VFB. Он фильтрует их по уровню логирования и состоянию трассировки, связывает с каналами LogChannel и буферизует. Отправка выполняется развязано через циклическую функцию Dlt_TxFunction и PduR [SWS_Dlt_00241]. Внешние клиенты могут изменять фильтры и привязки каналов во время выполнения; зарегистрированные SW-C получают об этом уведомления. Важнейшее граничное условие: до Dlt_Init и до истечения опциональной задержки запуска сообщения только буферизуются [SWS_Dlt_00005].

Модуль Dlt является центральной точкой сбора сообщений журналов и трассировки на блоке управления (ECU). SW-C (через порты RTE) и модули BSW передают сообщения через Dlt_SendLogMessage и Dlt_SendTraceMessage [SWS_Dlt_00241] [SWS_Dlt_00243]. Ошибки DET поступают через Dlt_DetForwardErrorTrace [SWS_Dlt_00430], а коммуникация SW-C — через сгенерированные хуки VFB-трассировки RTE [SWS_Dlt_00027]. Единственным потребителем является PduR с PduR_DltTransmit [SWS_Dlt_00762]. Каждое сообщение идентифицируется кортежем из ApplicationId и ContextId размером по 4 байта каждый; значение 0x00000000 служит подстановочным знаком (wildcard) [SWS_Dlt_00226] [SWS_Dlt_00227].

kontext swc SW-C rte RTE (Ports, VFB-Hooks) swc->rte Dlt_SendLogMessage Dlt_RegisterContext dlt Dlt rte->dlt Port-Aufrufe VFB-Trace-Hooks bsw BSW-Module bsw->dlt Dlt_SendLogMessage Dlt_SendTraceMessage det DET (Fan-out) det->dlt Dlt_DetForwardErrorTrace ecum EcuM ecum->dlt Dlt_Init schm SchM schm->dlt Dlt_TxFunction dlt->rte LogLevelChangedNotification Dlt_InjectCall_<SESSION> nvm NvM dlt->nvm NvM_ReadBlock NvM_WriteBlock zeit Gpt / StbM (Zeitstempel) dlt->zeit Gpt_GetTimeElapsed StbM_GetCurrentTime pdur PduR dlt->pdur PduR_DltTransmit pdur->dlt Dlt_RxIndication Dlt_TxConfirmation client Externer Dlt-Client pdur->client Dlt-Nachrichten client->pdur Steuernachrichten

Контекстная диаграмма: источники, вспомогательные службы (NvM, Gpt/StbM, SchM) и PduR в качестве приемника вокруг Dlt. Источники: [SWS_Dlt_00762], [SWS_Dlt_00763], [SWS_Dlt_91005].

Уже до инициализации Dlt буферизует входящие сообщения [SWS_Dlt_00003]. Их обработка начинается только после того, как отработала Dlt_Init и истек опциональный таймер задержки запуска [SWS_Dlt_00005]. При поддержке NvRAM функция Dlt_Init восстанавливает конфигурацию времени выполнения с помощью NvM_ReadBlock [SWS_Dlt_00453]. Сохранение выполняется только по явному запросу через Dlt_StoreConfiguration [SWS_Dlt_00078].

В контексте вызова Dlt выполняет фильтрацию, выбор канала, проверку длины и сохранение в буфере. Отправка производится развязано из циклической функции Dlt_TxFunction, включая повторные попытки после отрицательного подтверждения SWS DLT с. 92 [SWS_Dlt_91005].

Отправка сообщения Dlt через LogChannelDlt-Nutzer (SW-C/RTE/Det)DltGptSchMPduRUse Case: Прием в контексте вызова (синхронно)Dlt_SendLogMessage / Dlt_SendTraceMessage /Dlt_DetForwardErrorTraceNachrichtenfilterung,LogChannel-Schwelle anwendenВыбрать целевые LogChannels,Проверка длиныZeitstempel holen (Gpt_GetTimeElapsed)verstrichene Zeitin LogChannel-Puffer ablegenStd_ReturnTypeUse Case: Entkoppelter VersandDlt_TxFunction()loopв соответствии с формированием трафика (Traffic Shaping)Dlt-Header zusammensetzen,Увеличить счетчик передачPduR_DltTransmit(DltTxPduId, ...)Dlt_TxConfirmation(TxPduId, result)altE_OK или попытки исчерпаныУдалить сообщение из буфераE_NOT_OK, повторная попытка разрешенаСохранить сообщение для повторной отправки

Диаграмма последовательности: синхронный вызов отправки завершается помещением в буфер. Dlt_TxFunction выполняет отправку, подтверждение и повторную попытку. Источники: SWS DLT с. 92, [SWS_Dlt_91005], [SWS_Dlt_00273].

Внешние клиенты управляют уровнем логирования, состоянием трассировки и порогами LogChannel с помощью управляющих сообщений, поступающих через Dlt_RxIndication [SWS_Dlt_00272]. Те же параметры доступны и через API, например Dlt_SetLogLevel [SWS_Dlt_00252]. Чтобы Dlt мог информировать зарегистрированные SW-C через LogLevelChangedNotification, они предварительно регистрируют свои контексты с помощью Dlt_RegisterContext [SWS_Dlt_00245] [SWS_Dlt_00496].

В случае ошибки вызовы отправки возвращают DLT_E_MSG_TOO_LARGE, DLT_E_NO_BUFFER или DLT_E_UNKNOWN_SESSION_ID [SWS_Dlt_00495]. При переполнении буфера сообщение отбрасывается, устанавливается флаг переполнения и в соответствии с конфигурацией отправляется BufferOverflowNotification SWS DLT с. 32.

Роль и границы системы: центральная точка сбора данных журналов и трассировки

Модуль Diagnostic Log and Trace (Dlt) принимает сообщения журналов и трассировки от программных компонентов (SW-C) и базового программного обеспечения (BSW). Он фильтрует и буферизует их и передает как Dlt-сообщения внешнему инструменту. Оба интерфейса отправки Dlt_SendLogMessage и Dlt_SendTraceMessage явно предназначены как для модулей BSW, так и для SW-C [SWS_Dlt_00241] [SWS_Dlt_00243]. Источником тракта данных является SW-C или модуль BSW, а приемником — PDU Router SWS DLT с. 26. Для этого Dlt обязательно требует PduR_DltTransmit [SWS_Dlt_00762]. Формат сообщений, команды и протокол взаимодействия с внешним клиентом определяются не SWS, а спецификацией протокола SWS DLT с. 9.

Помимо явных вызовов существуют фиксированные поставщики данных:

  • DET: сообщения об ошибках поступают в Dlt через функцию разветвления Dlt_DetForwardErrorTrace [SWS_Dlt_00430] [SWS_Dlt_00432]. Они содержат ApplicationID «DET» и ContextId «STD» [SWS_Dlt_00376].
  • DEM: сообщения журнала о событиях DEM используют «DEM», «STD0» и MessageID 0x00000001 [SWS_Dlt_00377].
  • RTE: неявно перенаправляет коммуникацию SW-C в качестве VFB-трассировки [SWS_Dlt_00276] [SWS_Dlt_00284].

Временные метки Dlt получает от Gpt или StbM, а за персистентность отвечает NvM [SWS_Dlt_00763]. Функция Dlt_DetForwardErrorTrace входила в API в R20-11, но была удалена в R25-11 SWS DLT с. 1.

kontext swc SW-C rte RTE (Ports, VFB-Hooks) swc->rte Dlt_SendLogMessage Dlt_RegisterContext dlt Dlt rte->dlt Port-Aufrufe VFB-Trace-Hooks bsw BSW-Module bsw->dlt Dlt_SendLogMessage Dlt_SendTraceMessage det DET (Fan-out) det->dlt Dlt_DetForwardErrorTrace ecum EcuM ecum->dlt Dlt_Init schm SchM schm->dlt Dlt_TxFunction dlt->rte LogLevelChangedNotification Dlt_InjectCall_<SESSION> nvm NvM dlt->nvm NvM_ReadBlock NvM_WriteBlock zeit Gpt / StbM (Zeitstempel) dlt->zeit Gpt_GetTimeElapsed StbM_GetCurrentTime pdur PduR dlt->pdur PduR_DltTransmit pdur->dlt Dlt_RxIndication Dlt_TxConfirmation client Externer Dlt-Client pdur->client Dlt-Nachrichten client->pdur Steuernachrichten

Контекстная диаграмма: Dlt находится между источниками сообщений (SW-C через RTE, BSW, DET) и PduR как единственным приемником. NvM, Gpt/StbM и SchM являются вспомогательными службами. Источники: [SWS_Dlt_00762], [SWS_Dlt_00763], [SWS_Dlt_00430], [SWS_Dlt_91005], SWS DLT с. 26.

От запуска к работе: буферизация до инициализации, Dlt_Init и персистентность

SW-C и модули BSW могут вести логирование еще до инициализации Dlt. Поэтому Dlt должен буферизовать данные из Dlt_SendLogMessage и Dlt_SendTraceMessage уже до инициализации [SWS_Dlt_00003]. В штатном режиме буферизованные данные обрабатываются только при выполнении двух условий: отработала Dlt_Init и истек опциональный таймер DltGeneralStartUpDelayTimer [SWS_Dlt_00005]. Этот таймер запускается при вызове Dlt_Init, если он сконфигурирован SWS DLT с. 25.

lebenszyklus start uninit Не инициализирован Вызовы отправки буферизуются start->uninit uninit->uninit Dlt_SendLogMessage / Dlt_SendTraceMessage verzoegerung Инициализирован Идет задержка запуска (буферизация продолжается) uninit->verzoegerung Dlt_Init [DltGeneralStartUpDelayTimer konfiguriert] betrieb Работа Содержимое буфера и новые сообщения обрабатываются uninit->betrieb Dlt_Init [нет таймера задержки запуска] verzoegerung->betrieb Timer abgelaufen

Диаграмма состояний: до инициализации и при необходимости до окончания задержки запуска сообщения только буферизуются, а обрабатываются только после этого. Источники: [SWS_Dlt_00003], [SWS_Dlt_00005], SWS DLT с. 25.

Dlt_Init является синхронной и нереентерабельной. Функция ожидает указатель на Dlt_ConfigType, содержимое которого зависит от реализации [SWS_Dlt_00239] [SWS_Dlt_00437]. Поскольку Dlt использует NvM, инициализация должна происходить на позднем этапе запуска и после NvM [SWS_Dlt_00239]. Если DltGeneralNvRAMSupport = TRUE, Dlt действует следующим образом:

  • Считывает значения времени выполнения в Dlt_Init через NvM_ReadBlock [SWS_Dlt_00453].
  • Проверяет валидность блоков [SWS_Dlt_00449].
  • Использует сохраненную конфигурацию в качестве начальных значений [SWS_Dlt_00350].

Без поддержки NvRAM действует статическая конфигурация SWS DLT с. 25. Согласно схеме, вызывающей стороной является EcuM SWS DLT с. 159.

Инициализация модуля DltEcuMDltNvMGptDlt_Init(config)altDltGeneralNvRAMSupport == TRUENvM_ReadBlock(BlockId, NvM_DstPtr)Проверить действительность NV-блоков,gespeicherte Werte als StartwerteDltGeneralNvRAMSupport == FALSEstatische Konfiguration ladenoptDltGeneralStartUpDelayTimer konfiguriertGpt_StartTimer(Channel, Value)Возврат (синхронный)После Init и истечения времени задержки запуска:gepufferte Nachrichten verarbeiten

Диаграмма последовательности: EcuM синхронно вызывает Dlt_Init. Dlt загружает конфигурацию в зависимости от DltGeneralNvRAMSupport из NvM или статически и опционально запускает таймер задержки запуска. Источники: [SWS_Dlt_00239], [SWS_Dlt_00453], [SWS_Dlt_00005], SWS DLT с. 159, CP SWS DLT с. 90.

Модель сообщений: идентификаторы, уровни логирования и типы трассировки

Каждое сообщение журнала содержит структуру Dlt_MessageLogInfoType с пятью полями: argCount, logLevel, options, contextId и appId [SWS_Dlt_00236]. Сообщения трассировки используют Dlt_MessageTraceInfoType, которая вместо уровня логирования содержит поле traceInfo [SWS_Dlt_00237]. ApplicationId и ContextId представляют собой массивы из 4 байт; 0x00000000 служит подстановочным знаком (wildcard) [SWS_Dlt_00226] [SWS_Dlt_00227]. Application ID — это короткое имя SW-C. Context ID группирует ее сообщения по функциональности EXP LSA с. 159. Битовое поле Dlt_MessageOptionsType кодирует в бите 0 подробный режим (verbose), а в битах 1–3 — тип сообщения [SWS_Dlt_00229].

ТипЦенностиОбоснование
Dlt_MessageTypeDLT_TYPE_LOG, DLT_TYPE_APP_TRACE, DLT_TYPE_NW_TRACE, DLT_TYPE_CONTROL[SWS_Dlt_00224]
Dlt_MessageLogLevelTypeот DLT_LOG_OFF (0x00) до DLT_LOG_VERBOSE (0x06)[SWS_Dlt_00230]
Dlt_MessageTraceTypeDLT_TRACE_VARIABLE, DLT_TRACE_FUNCTION_IN, DLT_TRACE_FUNCTION_OUT, DLT_TRACE_STATE, DLT_TRACE_VFB[SWS_Dlt_00231]
Dlt_MessageNetworkTraceInfoTypeот DLT_NW_TRACE_IPC до DLT_NW_TRACE_SOMEIP[SWS_Dlt_00233]

В неподробном режиме (non-verbose) уникальный Message ID идентифицирует статическую часть сообщения [SWS_Dlt_00228]. Идентификаторы 0x00000001 (DEM), 0x00000002 (DET) и 0x00000003 (Trace) зарезервированы и недоступны для использования SW-C [SWS_Dlt_00031]. В физическом потоке данных Message ID следует непосредственно за заголовком, после чего передаются нестатические данные PRS DLT с. 23. Поле заголовка MTIN формируется на основе уровня логирования или типа трассировки в зависимости от типа сообщения MSTP PRS DLT с. 24.

Тракт отправки: фильтрация, выбор LogChannel, буферизация и Dlt_TxFunction

Вызовы отправки являются синхронными и реентерабельными. Они принимают sessionId, структуру с метаданными и полезные данные вместе с длиной [SWS_Dlt_00241] [SWS_Dlt_00243]. Схема R20-11 демонстрирует последовательность действий в контексте вызова:

  1. Фильтрация сообщений
  2. Применение порога LogChannel
  3. Выбор целевых LogChannel
  4. Проверка длины
  5. Сохранение сообщения в буфере LogChannel

Непосредственную отправку лишь позже выполняет Dlt_TxFunction SWS DLT с. 92. Следующие отдельные шаги подробно сформулированы в фрагментах спецификации версии R23-11 и соответствуют этой схеме. Временную метку Dlt запрашивает только в том случае, если это сконфигурировано: через Gpt_GetTimeElapsed или через StbM_GetCurrentTime [SWS_Dlt_00654] [SWS_Dlt_00655].

Определение каналов LogChannel выполняется в три этапа SWS DLT с. 32:

  1. Каналы, привязка которых в точности соответствует кортежу ApplicationId/ContextId.
  2. Каналы с подходящим ApplicationId и подстановочным ContextId.
  3. Если список остается пустым — канал LogChannel по умолчанию.

Привязки можно изменять во время выполнения с помощью Dlt_SetLogChannelAssignment [SWS_Dlt_00751]. Сообщение отбрасывается только тогда, когда для всех назначенных каналов оно превышает DltLogChannelMaxMessageLength SWS DLT с. 31. В противном случае оно копируется в буферы всех каналов, для которых его длина является допустимой SWS DLT с. 32.

kanalwahl start filter Filter bestanden? (Log-Level/Trace-Status, LogChannel-Schwelle) start->filter verworfen дальнейшая обработка не выполняется filter->verworfen нет exakt Собрать каналы с точно совпадающим кортежем ApplicationId/ContextId filter->exakt да wildcard Дополнить каналами с подходящим ApplicationId и групповым символом ContextId exakt->wildcard leer Liste leer? wildcard->leer default Default-LogChannel (DltDefaultLogChannelRef) leer->default да laenge Длина <= DltLogChannelMaxMessageLength как минимум для одного канала? leer->laenge нет default->laenge zulang verwerfen, DLT_E_MSG_TOO_LARGE laenge->zulang нет kopie скопировать в буфер всех каналов, для которых подходит длина laenge->kopie да platz Platz in keinem zugeordneten Puffer? kopie->platz keinpuffer отбросить, DLT_E_NO_BUFFER, установить флаг переполнения platz->keinpuffer да ok gepuffert, Versand durch Dlt_TxFunction platz->ok нет

Диаграмма деятельности: сообщение проходит фильтрацию, трехэтапный выбор канала, проверку длины и сохранение в буфере. Любое ветвление может привести к отбрасыванию с собственным возвращаемым значением. Источники: SWS DLT с. 31, SWS DLT с. 32, [SWS_Dlt_00495], [SWS_Dlt_00751].

Отправка через PduR развязана с вызовом отправки и выполняется в контексте Dlt_TxFunction [SWS_Dlt_91005]. Заголовок собирается перед PduR_DltTransmit, и для каждого сообщения ведется счетчик передач с SWS DLT с. 35. Сообщение удаляется из буфера в трех случаях SWS DLT с. 38:

  • PduR_DltTransmit возвращает E_NOT_OK.
  • Поступает положительное подтверждение отправки.
  • Поступает отрицательное подтверждение и превышено DltLogChannelMaxNumOfRetries.

Нижний уровень отправляет сигналы через следующие функции обратного вызова:

Отправка сообщения Dlt через LogChannelDlt-Nutzer (SW-C/RTE/Det)DltGptSchMPduRUse Case: Прием в контексте вызова (синхронно)Dlt_SendLogMessage / Dlt_SendTraceMessage /Dlt_DetForwardErrorTraceNachrichtenfilterung,LogChannel-Schwelle anwendenВыбрать целевые LogChannels,Проверка длиныZeitstempel holen (Gpt_GetTimeElapsed)verstrichene Zeitin LogChannel-Puffer ablegenStd_ReturnTypeUse Case: Entkoppelter VersandDlt_TxFunction()loopв соответствии с формированием трафика (Traffic Shaping)Dlt-Header zusammensetzen,Увеличить счетчик передачPduR_DltTransmit(DltTxPduId, ...)Dlt_TxConfirmation(TxPduId, result)altE_OK или попытки исчерпаныУдалить сообщение из буфераE_NOT_OK, повторная попытка разрешенаСохранить сообщение для повторной отправки

Диаграмма последовательности: синхронный вызов отправки завершается сохранением в буфере. Непосредственную отправку, подтверждения и повторные попытки выполняет циклическая функция Dlt_TxFunction. Источники: SWS DLT с. 92, [SWS_Dlt_91005], [SWS_Dlt_00273], SWS DLT с. 35, SWS DLT с. 38.

VFB-трассировка через сгенерированные хук-функции RTE

VFB-трассировка означает: RTE неявно передает коммуникацию SW-C модулю Dlt без выполнения вызова самим SW-C SWS DLT с. 23. Для этого Dlt реализует хук-функции для каждого сконфигурированного события, описываемого записью BswModuleEntry с коротким именем «Rte_Dlt…» [SWS_Dlt_00027]. Прототип предоставляет описание RTE [SWS_Dlt_00335]. Dlt_SendTraceMessage представляет собой интерфейс SW-C. Поэтому хуки вызывают эквивалентную внутреннюю функцию [SWS_Dlt_00285], причем в неподробном режиме (non-verbose) [SWS_Dlt_00277] и со всеми аргументами в качестве полезных данных [SWS_Dlt_00278].

Для хуков действуют дополнительные правила:

  • Каждая хук-функция получает собственный ContextId. При очень большом количестве сигналов события допускается объединять [SWS_Dlt_00279].
  • Перед отправкой каждый хук проверяет состояние трассировки своего ContextId [SWS_Dlt_00281].
  • Сообщение содержит DLT_TYPE_APP_TRACE с DLT_TRACE_VFB [SWS_Dlt_00484] и ApplicationID «VFBT» SWS DLT с. 23.
  • Состояние трассировки хуков изменяется через отдельную функцию, согласованную с LogTraceSessionControl [SWS_Dlt_00283].

Интерпретация: поскольку внутренняя функция соответствует Dlt_SendTraceMessage, сообщения VFB, по всей вероятности, проходят тот же буферизованный тракт отправки, что и явные сообщения трассировки [SWS_Dlt_00285]. Вопрос Q-cb77a5e7bde21b01 (открытый)

Трассировка VFB через hook-функцию RTESW-CRTEDltSchMPduRКоммуникация через VFBRte_Dlt...-Hookfunktion(Argumente)optСтатус трассировки ContextId активенinternes Dlt_SendTraceMessage (non-verbose),DLT_TYPE_APP_TRACE / DLT_TRACE_VFBvermutlich: Filter, Kanalwahl, PufferungВозвратDlt_TxFunction()PduR_DltTransmit(...)Interpretation: gleicher gepufferter Sendepfadкак явные сообщения трассировки

Диаграмма последовательности: хук RTE отправляет неподробное сообщение трассировки с DLT_TRACE_VFB только при активном состоянии трассировки. Использование общего тракта отправки является интерпретацией. Источники: [SWS_Dlt_00027], [SWS_Dlt_00281], [SWS_Dlt_00285], [SWS_Dlt_00484], SWS DLT с. 33.

Сессии, регистрация и управление во время выполнения внешними клиентами

SW-C подключаются для каждой конфигурационной записи через следующие порты:

Значения аргументов, определяемые портом, служат в качестве SessionId [SWS_Dlt_00022]. Они начинаются с 0x1000; модули BSW используют свой ID модуля [SWS_Dlt_00023]. Для каждого порта они уникальны и следуют без пропусков [SWS_Dlt_00332]. Их типом является Dlt_SessionIDType (uint32) [SWS_Dlt_00225]. Если SW-C инстанцируется многократно, каждый экземпляр получает собственную сессию EXP LSA с. 159.

С помощью Dlt_RegisterContext модуль регистрирует свой кортеж ApplicationId/ContextId вместе с описаниями в [SWS_Dlt_00245]. Dlt запоминает, через какой порт был зарегистрирован кортеж [SWS_Dlt_00021]. При остановке модуль вызывает Dlt_UnregisterContext [SWS_Dlt_00769]. Регистрация преследует одну цель: благодаря ей Dlt знает, какой SW-C необходимо уведомить при изменении уровней логирования или состояния трассировки SWS DLT с. 20. Для этого служат LogLevelChangedNotification и TraceStatusChangedNotification [SWS_Dlt_00496].

Управляющие сообщения внешнего клиента поступают в Dlt через PduR. При одиночных PDU они приходят через Dlt_RxIndication [SWS_Dlt_00272]. Через TP они поступают с помощью Dlt_StartOfReception, Dlt_CopyRxData и Dlt_TpRxIndication [SWS_Dlt_91006] [SWS_Dlt_91008] [SWS_Dlt_91007]. Затем Dlt обновляет фильтр, опционально уведомляет зарегистрированный SW-C и отправляет ответ через PduR_DltTransmit SWS DLT с. 93.

Регистрация и внешняя команда SetLogLevelSW-CDltPduRExterner Dlt-ClientUse Case: Registrierungloopje SW-C-KontextDlt_RegisterContext(sessionId, appId, contextId, ...)Сохранить кортеж и портE_OKUse Case: Steuerkommando SetLogLevelDlt-SteuernachrichtDlt_RxIndication(RxPduId, PduInfoPtr)Log-Level-Filter aktualisierenoptLogLevelChange-Benachrichtigungregistrierte SW-C nachschlagenLogLevelChangedNotification(appId, contextId, logLevel)PduR_DltTransmit (Antwort)Ответ на управляющее сообщение

Диаграмма последовательности: SW-C регистрируют свои контексты. Внешняя команда SetLogLevel обновляет фильтр, опционально инициирует уведомление и получает ответ через PduR. Источники: SWS DLT с. 93, [SWS_Dlt_00245], [SWS_Dlt_00272], [SWS_Dlt_00496].

Те же управляющие величины доступны в виде API:

По сравнению с более поздними релизами имеются различия:

  • В R20-11 Dlt_GetDefaultTraceStatus имеет параметр logChannelName. В R25-11 он отсутствует SWS DLT с. 56.
  • Dlt_AssignmentOperation кодирует в R20-11 DLT_ASSIGN_ADD = 0x01 и DLT_ASSIGN_REMOVE = 0x02 [SWS_Dlt_00730]. В R25-11 для REMOVE используется значение 0x00 SWS DLT с. 87. Для R20-11 действует данное требование.

Персистентность: Dlt_StoreConfiguration копирует текущую конфигурацию с помощью NvM_WriteBlock [SWS_Dlt_00736]. Это происходит только в том случае, если DltGeneralNvRAMSupport активен и сохранение было явно запрошено [SWS_Dlt_00078] [SWS_Dlt_00451]. Dlt_ResetToFactoryDefault сбрасывает уровень логирования и статус трассировки к сохраненным значениям по умолчанию. При поддержке NvRAM функция также удаляет сохраненные значения [SWS_Dlt_00739]. Через Dlt_InjectCall_<SESSION> Dlt может асинхронно внедрять специфичные для приложения вызовы в SW-C [SWS_Dlt_00259] [SWS_Dlt_00498].

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

Коды ошибок интерфейса SW-C определены в интерфейсе DltSwcMessageService [SWS_Dlt_00495]. Дополнительно фрагменты документа описывают поведение на пути отправки.

  • Слишком длинное сообщение: возврат DLT_E_MSG_TOO_LARGE, если сообщение слишком длинное для всех назначенных LogChannel [SWS_Dlt_00495] SWS DLT с. 31.
  • Переполнение буфера: возврат DLT_E_NO_BUFFER. Сообщение отбрасывается, устанавливается флаг переполнения и в соответствии с конфигурацией отправляется BufferOverflowNotification. Dlt_TxFunction проверяет флаг и время дебаунса SWS DLT с. 32 SWS DLT с. 95.
  • Неизвестная сессия или ошибка регистрации: DLT_E_UNKNOWN_SESSION_ID, DLT_E_CONTEXT_ALREADY_REG и DLT_E_CONTEXT_NOT_YET_REG [SWS_Dlt_00495] [SWS_Dlt_00769].
  • Временная метка недоступна: временная метка устанавливается в 0x00000000 SWS DLT с. 30.
  • Ошибка передачи: отрицательное значение Dlt_TxConfirmation инициирует повторные попытки до достижения DltLogChannelMaxNumOfRetries. Если PduR_DltTransmit возвращает E_NOT_OK, сообщение удаляется [SWS_Dlt_00273] SWS DLT с. 38.
  • Управляющие команды: на неизвестный кортеж при SetLogLevel возвращается ответ с DLT_E_ERROR SWS DLT с. 39. API конфигурации сообщают об E_NOT_OK [SWS_Dlt_00252].
  • Персистентность: Dlt_StoreConfiguration в R20-11 поддерживает возвращаемые значения E_OK, E_NOT_OK и DLT_E_NOT_SUPPORTED [SWS_Dlt_00736]. Значение DLT_E_ERROR было добавлено только в R24-11 SWS DLT с. 1.
  • Ошибки разработки и времени выполнения:
    • Ошибки разработки: DLT_E_PARAM, DLT_E_PARAM_POINTER, DLT_E_INIT_FAILED, DLT_E_REGISTRATION [SWS_Dlt_00727]
    • Ошибки времени выполнения: DLT_E_SKIPPED_TRANSMISSION, DLT_E_DEPRECATED_PARAMETER, DLT_E_MULTIPLE_REQUESTS [SWS_Dlt_00728]

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

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

Diagnostic Log and Trace (DLT)

The DLT module collects log messages and trace points and formats them into standardized DLT frames for external tooling.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

функция Dlt_Init [SWS_Dlt_00239] 📄 PDF

void Dlt_Init (const Dlt_ConfigType* config);

Dlt is using the NVRam Manager and is to be initialized very late in the ECU startup phase. The Dlt_ Init() function should be called after the NVRam Manager is initialized.

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

Синхронная и нереентерабельная функция Dlt_Init (идентификатор сервиса 0x01, доступна через заголовочный файл Dlt.h) инициализирует модуль Diagnostic Log and Trace (DLT) на платформе Classic [SWS_Dlt_00239]. Через параметр config она принимает указатель на структуру конфигурации конкретного модуля типа Dlt_ConfigType и не возвращает никакого значения [SWS_Dlt_00239].

Для контекста вызова и временного взаимодействия с другими BSW-модулями действуют специфические граничные условия:

  • Порядок инициализации: модуль DLT использует NVRam Manager и должен инициализироваться на очень позднем этапе запуска электронного блока управления [SWS_Dlt_00239]. Вызов функции Dlt_Init должен обязательно происходить только после полной инициализации NVRam Manager [SWS_Dlt_00239].
  • Энергонезависимые данные: если параметр конфигурации DltGeneralNvRAMSupport установлен в TRUE, модуль DLT в Dlt_Init использует интерфейс NvM_ReadBlock менеджера NVRAM для восстановления постоянных значений необходимых переменных [SWS_Dlt_00453].
  • Обработка буфера: как только модуль инициализирован с помощью Dlt_Init и истек опциональный таймер DltGeneralStartUpDelayTimer, все буферизованные к этому моменту данные Log and Trace обрабатываются и отправляются в соответствии со спецификацией [SWS_Dlt_00005].

Поскольку функция специфицирована как нереентерабельная, вызывающий контекст должен гарантировать, что повторный вход в Dlt_Init во время выполнения параллельно или с прерыванием не происходит [SWS_Dlt_00239].

Этот текст был сгенерирован системой ИИ на основе спецификации AUTOSAR R20-11.

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

функция Dlt_SendTraceMessage [SWS_Dlt_00243] 📄 PDF

Std_ReturnType Dlt_SendTraceMessage (Dlt_SessionIDType sessionId, const Dlt_MessageTraceInfoType* traceInfo, const uint8* traceData, uint16 traceDataLength);

The service represents the interface to be used by basic software modules or by software components to trace parameters.

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

Синхронная и реэнтрантная функция Dlt_SendTraceMessage служит модулям базового программного обеспечения (BSW), а также программным компонентам (SW-C) для передачи параметров трассировки в модуль Dlt [SWS_Dlt_00243].

Параметры и контекст вызова

При вызове через sessionId передаются идентификатор модуля или порта, через traceInfo — метаданные для фильтрации сообщений, а через traceData — буфер полезных данных вместе с указанием длины traceDataLength [SWS_Dlt_00243]. Модуль может буферизовать сообщения трассировки даже в том случае, если Dlt ещё не был инициализирован [SWS_Dlt_00003].

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

Служба сигнализирует о статусе через специфические возвращаемые значения [SWS_Dlt_00243]:

  • E_OK: операция успешно выполнена.
  • DLT_E_MSG_TOO_LARGE: сообщение превышает допустимый размер всех назначенных каналов журналирования.
  • DLT_E_NO_BUFFER: недостаточно памяти буфера; сообщение не может быть сохранено в промежуточный буфер хотя бы для одного канала журналирования.
  • DLT_E_UNKNOWN_SESSION_ID: переданный sessionId неизвестен модулю.

Взаимодействие с hook-функциями

Поскольку Dlt_SendTraceMessage специфицирована как интерфейс для SW-C, для сгенерированных hook-функций существует эквивалентная внутренняя реализация [SWS_Dlt_00285], которая отправляет сообщения трассировки в режиме non-verbose [SWS_Dlt_00277].

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.

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

функция Dlt_SendLogMessage [SWS_Dlt_00241] 📄 PDF

Std_ReturnType Dlt_SendLogMessage (Dlt_SessionIDType sessionId, const Dlt_MessageLogInfoType* logInfo, const uint8* logData, uint16 logDataLength);

The service represents the interface to be used by basic software modules or by software component to send Log Messages.

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

Синхронная и реэнтрантная функция Dlt_SendLogMessage (идентификатор службы 0x03) служит модулям базового программного обеспечения (BSW), а также программным компонентам (SW-C) в качестве стандартизированного интерфейса для отправки сообщений журнала [SWS_Dlt_00241]. Вызов осуществляется через заголовочный файл Dlt.h, и благодаря реэнтрантности функция рассчитана на параллельное использование [SWS_Dlt_00241].

При вызове функции требуются четыре входных параметра, тогда как выходные параметры не используются [SWS_Dlt_00241]:

  • sessionId: представляет идентификатор сессии. Для SW-C этот параметр невидим в качестве значения аргумента, связанного с портом, тогда как модули BSW напрямую передают свой номер модуля.
  • logInfo: указатель на константную структуру, содержащую релевантные метаданные для фильтрации сообщения журнала.
  • logData: указатель на массив байтов с регистрируемыми данными, образующий фактическую полезную нагрузку (payload) сообщения.
  • logDataLength: числовая длина буфера данных logData.

Обработка ошибок выполняется непосредственно через возвращаемое значение типа Std_ReturnType, которое указывает на успешность операции или специфические состояния ошибок [SWS_Dlt_00241]:

  • DLT_OK: сообщение журнала успешно принято и обработано.
  • DLT_E_MSG_TOO_LARGE: сообщение превышает максимально допустимый размер буфера для всех назначенных каналов журналирования.
  • DLT_E_NO_BUFFER: сообщение не удалось поместить в промежуточный буфер ни на одном из назначенных каналов журналирования.
  • DLT_E_UNKNOWN_SESSION_ID: переданный идентификатор сессии недействителен или неизвестен модулю.

Данное указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR.

функция Dlt_UnregisterContext [SWS_Dlt_00769] 📄 PDF

Std_ReturnType Dlt_UnregisterContext (Dlt_SessionIDType sessionId, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId);

The service has to be called when a software module is going to be stopped. Available vi a Dlt.h

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

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

Синхронная функция Dlt_UnregisterContext (идентификатор службы 0x16) предоставляется через заголовочный файл Dlt.h и должна вызываться при останове программного модуля [SWS_Dlt_00769]. Она служит для отмены регистрации ранее зарегистрированного контекста приложения.

Функция ожидает три входных параметра [SWS_Dlt_00769]:

  • sessionId: номер модуля; соответствует идентификатору модуля (Modul-ID) внутри BSW или заданному для конкретного порта значению аргумента внутри программного компонента (SW-C) [SWS_Dlt_00769].
  • appId: идентификатор вышестоящего приложения (Application ID) [SWS_Dlt_00769].
  • contextId: идентификатор контекста, регистрация которого отменяется (Context ID) [SWS_Dlt_00769].

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

Возвращаемое значение типа Std_ReturnType предоставляет информацию о результате выполнения [SWS_Dlt_00769]:

  • E_OK: запрошенная операция успешно завершена [SWS_Dlt_00769].
  • DLT_E_CONTEXT_NOT_YET_REG: контекст программного модуля предварительно не был зарегистрирован [SWS_Dlt_00769].
  • DLT_E_UNKNOWN_SESSION_ID: переданный идентификатор сессии (Session-ID) неизвестен [SWS_Dlt_00769].

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

Функция специфицирована как реентрабельная и ведет себя синхронно [SWS_Dlt_00769]. Вызывающие модули должны убедиться, что переданный идентификатор сессии действителен и контекст перед завершением действительно был зарегистрирован, чтобы избежать ошибок при дерегистрации [SWS_Dlt_00769].

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

функция Dlt_DetForwardErrorTrace [SWS_Dlt_00432] 📄 PDF

void Dlt_DetForwardErrorTrace (uint16 moduleId, uint8 instanceId, uint8 apiId, uint8 errorId);

Service to fo rward error reports from Det to Dlt.

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

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

Синхронный интерфейс Dlt_DetForwardErrorTrace с Service-ID 0x07 служит для перенаправления зарегистрированных ошибок разработки из Default Error Tracer (DET) в модуль Dlt [SWS_Dlt_00432]. Модуль Dlt предоставляет этот сервис для обеспечения требуемой возможности разветвления (Fan-Out) сообщений об ошибках DET [SWS_Dlt_00430]. Объявление этой C-функции подключено через заголовочный файл Dlt_Det.h [SWS_Dlt_00432].

Параметры и спецификация интерфейса

Функция принимает четыре обязательных входных параметра и не определяет ни возвращаемых значений, ни выходных параметров [SWS_Dlt_00432]:

  • moduleId: ID вызывающего программного модуля, в котором произошла ошибка.
  • instanceId: идентификатор индексного экземпляра модуля (нумерация начинается с 0; модули с одиночным экземпляром передают 0).
  • apiId: идентификатор затронутого сервиса API (определен в спецификации вызывающего модуля).
  • errorId: идентификатор обнаруженной ошибки разработки (определен в спецификации вызывающего модуля).

Параллелизм и обработка ошибок

Выполнение происходит синхронно с вызывающей регистрацией ошибок. Являясь неревходабельной функцией (Non Reentrant), интерфейс строго требует предотвращения конкурирующего выполнения на стороне вызывающего объекта [SWS_Dlt_00432]. Специфические коды ошибок, обратная связь по ошибкам или отдельные сообщения DET либо DEM для этого сервиса в спецификации не предусмотрены [SWS_Dlt_00432].

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

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

функция Dlt_SetLogLevel [SWS_Dlt_00252] 📄 PDF

Std_ReturnType Dlt_SetLogLevel (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, Dlt_MessageLogLevelType newLogLevel);

This service is used to change the Log Level for the given tuple of Application ID/ Context ID.

функция Dlt_SetTraceStatus [SWS_Dlt_00254] 📄 PDF

Std_ReturnType Dlt_SetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean newTraceStatus);

The service Dlt_ Set Trace Status sets the trace status for a specific tuple of Application ID and Context ID.

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

Синхронная функция Dlt_SetTraceStatus служит для установки статуса трассировки для определенного кортежа из Application-ID и Context-ID [SWS_Dlt_00254]. Она определена в заголовочном файле Dlt.h и имеет Service-ID 0x09 [SWS_Dlt_00254].

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

Для вызова требуются три входных параметра [SWS_Dlt_00254]:

  • appId: ID программного компонента (тип Dlt_ApplicationIDType).
  • contextId: ID контекста (тип Dlt_ContextIDType).
  • newTraceStatus: вновь устанавливаемый статус трассировки как логическое значение (тип boolean).

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

Функция синхронно возвращает статус типа Std_ReturnType [SWS_Dlt_00254]:

  • E_OK: ошибка не возникла, и статус был успешно применен.
  • E_NOT_OK: статус трассировки изменить не удалось. Специфические сообщения об ошибках DET в спецификации функции не указаны (интерпретация: ошибка, вероятно, имеет место при недопустимых идентификаторах или некорректном состоянии модуля). Вопрос Q-77e190707462c8f1 (открытый)

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

Интерфейс специфицирован как нереентерабельный (Non Reentrant) [SWS_Dlt_00254]. Поэтому он не должен выполняться параллельно или с прерыванием без надлежащей синхронизации со стороны вызывающей стороны.

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

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

функция Dlt_GetLogInfo [SWS_Dlt_00732] 📄 PDF

Std_ReturnType Dlt_GetLogInfo (uint8 options, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, uint8* status, Dlt_LogInfoType* logInfo);

Called to request information about registered Application Ids, their Context Ids and the corresponding log level.

функция Dlt_GetDefaultLogLevel [SWS_Dlt_00733] 📄 PDF

Std_ReturnType Dlt_GetDefaultLogLevel (Dlt_MessageLogLevelType* defaultLogLevel);

Returns the Default Log Level currently used by the Dlt module. The returned Log Level might differ from the one which is stored no n volatile.

функция Dlt_StoreConfiguration [SWS_Dlt_00736] 📄 PDF

Std_ReturnType Dlt_StoreConfiguration (void);

Copies the current Dlt configuration to Nv RAM by calling Nv M_ Write Block().

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

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

Функция Dlt_StoreConfiguration ([SWS_Dlt_00736]) служит для сохранения текущей конфигурации Dlt в энергонезависимую память (NVRAM). Сохранение выполняется внутренне через синхронный вызов интерфейса NvM_WriteBlock() менеджера NVRAM ([SWS_Dlt_00736]). API предоставляется через заголовочный файл Dlt.h с Service-ID 0x1a.

Функция имеет сигнатуру Std_ReturnType Dlt_StoreConfiguration(void) и не обрабатывает ни входные, ни выходные, ни входные/выходные параметры ([SWS_Dlt_00736]).

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

Будучи синхронной службой, функция непосредственно возвращает вызывающей стороне код состояния типа Std_ReturnType ([SWS_Dlt_00736]):

  • E_OK: конфигурация безошибочно передана в NVRAM ([SWS_Dlt_00736]).
  • E_NOT_OK: при сохранении конфигурации Dlt произошла ошибка ([SWS_Dlt_00736]).
  • DLT_E_NOT_SUPPORTED: служба сохранения конфигурации не поддерживается модулем ([SWS_Dlt_00736]).

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

Согласно [SWS_Dlt_00736], Dlt_StoreConfiguration специфицирована как нереентерабельная (Non Reentrant). Поэтому функция не должна выполняться параллельно из различных задач или контекстов, так что на стороне вызывающего объекта необходимо обеспечить последовательное выполнение.

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

функция Dlt_ResetToFactoryDefault [SWS_Dlt_00739] 📄 PDF

Std_ReturnType Dlt_ResetToFactoryDefault (void);

The service Dlt_ Reset To Factory Default sets the Log Level and Trace Status back to the pers istently stored default values. If the feature Nv MRAM support is enabled, all stored Dlt values in the Nv M are deleted.

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

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

Синхронная функция Dlt_ResetToFactoryDefault предоставляется через заголовочный файл Dlt.h и не принимает входных параметров [SWS_Dlt_00739]. Ее основное назначение — сброс конфигурации времени выполнения Dlt: она сбрасывает уровень логирования и статус трассировки на постоянно сохраненные значения по умолчанию [SWS_Dlt_00739]. Если в модуле Dlt дополнительно активирована поддержка NVRAM, вызов приводит к полному удалению всех значений Dlt, сохраненных в NvM [SWS_Dlt_00739].

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

Результат операции синхронно сигнализируется через возвращаемое значение типа Std_ReturnType [SWS_Dlt_00739]:

  • E_OK: конфигурация успешно сброшена на значения по умолчанию [SWS_Dlt_00739].
  • E_NOT_OK: сброс конфигурации завершился сбоем [SWS_Dlt_00739].

Специфические сообщения об ошибках DET или DEM для этой службы в рамках данной спецификации не определены.

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

Функция специфицирована как нереентерабельная (Non Reentrant) (Service-ID 0x06) [SWS_Dlt_00739]. Параллельный или прерывающий вызов из различных задач или контекстов поэтому недопустим и должен предотвращаться вызывающей стороной.

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

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

функция Dlt_SetDefaultLogLevel [SWS_Dlt_00740] 📄 PDF

Std_ReturnType Dlt_SetDefaultLogLevel (Dlt_MessageLogLevelType newLogLevel);

Called to modify the pass through range for Log Messages for all not explicit set Context Ids.

функция Dlt_GetTraceStatus [SWS_Dlt_00750] 📄 PDF

Std_ReturnType Dlt_GetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean* traceStatus);

Returns the current Trace Status for a given tuple Application Id/ Context Id.

функция Dlt_RxIndication [SWS_Dlt_00272] 📄 PDF

void Dlt_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

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

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

Функция Dlt_RxIndication служит для индикации принятого PDU из нижележащего модуля коммуникационного интерфейса в модуль DLT [SWS_Dlt_00272]. Она доступна через заголовочный файл Dlt.h и имеет Service-ID 0x42 [SWS_Dlt_00272].

Вызов выполняется с синхронной семантикой и не имеет возвращаемого значения (void) [SWS_Dlt_00272]. В функцию передаются два входных параметра:

  • RxPduId: идентификатор принятого PDU (типа PduIdType) [SWS_Dlt_00272].
  • PduInfoPtr: указатель на структуру типа PduInfoType. Она содержит длину принятого PDU (SduLength), указатель на буфер с полезными данными PDU (SduDataPtr), а также соответствующие метаданные PDU [SWS_Dlt_00272].

Что касается параллелизма и контекста выполнения, функция является ревходабельной для различных PDU-ID, однако неревходабельна для одного и того же PDU-ID [SWS_Dlt_00272]. Следовательно, вызывающий нижележащий модуль не должен допускать параллельной обработки одного и того же RxPduId, тогда как параллельные вызовы с различными PDU-ID разрешены [SWS_Dlt_00272].

Этот текст сгенерирован ИИ на основе спецификации.

функция Dlt_TriggerTransmit [SWS_Dlt_00754] 📄 PDF

Std_ReturnType Dlt_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer 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 changing Pdu Info Ptr.

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

Синхронная функция Dlt_TriggerTransmit служит согласно [SWS_Dlt_00754] для копирования данных SDU по запросу нижележащего уровня в предоставленный буфер. Она объявлена в Dlt.h и имеет идентификатор службы 0x41.

При вызове передаются следующие параметры:

  • TxPduId: идентификатор SDU, передача которой запрашивается.
  • PduInfoPtr: указатель на структуру типа PduInfoType. Вызывающая сторона передает через SduDataPtr целевой буфер, а через SduLength — максимально доступный размер буфера.

Внутри функции модуль согласно [SWS_Dlt_00754] проверяет, помещаются ли доступные данные в переданный размер буфера:

  • Если данные помещаются, функция копирует полезные данные в SduDataPtr, обновляет SduLength количеством фактически скопированных байтов и возвращает E_OK.
  • Если буфера недостаточно, функция возвращает E_NOT_OK без модификации PduInfoPtr.

Если возвращается E_NOT_OK, данные SDU скопированы не были. Вызывающая сторона в этом случае не должна далее использовать PduInfoPtr, так как он может указывать на недействительные данные или являться указателем NULL [SWS_Dlt_00754].

С точки зрения параллелизма функция Dlt_TriggerTransmit реентрабельна для различных идентификаторов PDU (PDU-ID), но не реентрабельна для одного и того же TxPduId [SWS_Dlt_00754].

Этот текст был сгенерирован автоматически. Все данные основаны на указанных спецификациях AUTOSAR.

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

функция Dlt_TxConfirmation [SWS_Dlt_00273] 📄 PDF

void Dlt_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.

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

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

Функция Dlt_TxConfirmation служит интерфейсом подтверждения нижележащего уровня коммуникации (lower layer communication interface module) для модуля Diagnostic Log and Trace (DLT) [SWS_Dlt_00273]. Она синхронно информирует модуль DLT о том, была ли ранее запрошенная PDU успешно передана или же передача завершилась сбоем [SWS_Dlt_00273]. Функция имеет Service-ID 0x40 и предоставляется через заголовочный файл Dlt.h [SWS_Dlt_00273].

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

  • TxPduId: идентификатор переданной PDU типа PduIdType.
  • result: статус передачи типа Std_ReturnType; при этом E_OK сигнализирует об успешной передаче, а E_NOT_OK — о сбое передачи PDU.

Обработка ошибок и параллелизм

Явная обработка ошибок с возвращаемыми значениями ошибок или специальными сообщениями DET либо DEM для этого вызова не специфицирована; о сбое процесса отправки модулю DLT сообщается исключительно через значение параметра result = E_NOT_OK [SWS_Dlt_00273].

Для выполнения действует дифференцированное условие реентерабельности: Dlt_TxConfirmation реентерабельна для различных PDU-ID, однако нереентерабельна для одного и того же PDU-ID [SWS_Dlt_00273]. Поэтому вызывающие драйверы или интерфейсы должны гарантировать исключение одновременных вызовов с идентичным TxPduId, тогда как подтверждения для различных PDU могут поступать параллельно.

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

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

функция Dlt_TpTxConfirmation [SWS_Dlt_00756] 📄 PDF

void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result);

This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was succe ssful or not.

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

Функция Dlt_TpTxConfirmation служит в качестве синхронной функции подтверждения модуля Dlt после отправки транспортной I-PDU [SWS_Dlt_00756]. Она доступна через заголовочный файл Dlt.h с идентификатором службы 0x48 [SWS_Dlt_00756].

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

Вызов выполняется после того, как I-PDU была передана по соответствующей сети [SWS_Dlt_00756]. Функция имеет сигнатуру void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result) и не возвращает значения [SWS_Dlt_00756]:

  • id (входной параметр, тип PduIdType): однозначная идентификация переданной I-PDU [SWS_Dlt_00756].
  • result (входной параметр, тип Std_ReturnType): указывает статус передачи и показывает, была ли отправка I-PDU успешной или завершилась сбоем [SWS_Dlt_00756].

Параллелизм и обработка ошибок

Спецификация определяет Dlt_TpTxConfirmation как синхронную и реентрабельную (Reentrant) [SWS_Dlt_00756]. Специфические коды ошибок DET или DEM для этой службы не определены; обработка ошибок применительно к процессу отправки опирается на анализ параметра result [SWS_Dlt_00756]. В системном контексте вызов, как правило, инициируется нижележащим транспортным уровнем после завершения передачи PDU. Вопрос Q-0e5ab7c285316701 (открытый)

Этот текст был сгенерирован системой ИИ на основе спецификации AUTOSAR R20-11.

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

функция Dlt_CopyTxData [SWS_Dlt_00516] 📄 PDF

BufReq_ReturnType Dlt_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

Service Dlt_CopyTxData.

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

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

Синхронная и ревходабельная функция Dlt_CopyTxData служит для извлечения передаваемых данных сегмента I-PDU (N-PDU) из модуля Dlt [SWS_Dlt_00516]. Через id указывается передаваемый I-PDU, тогда как info предоставляет целевой буфер (SduDataPtr) и требуемую длину в байтах (SduLength) [SWS_Dlt_00516]. Передача SduLength = 0 (при которой SduDataPtr может быть передан как NULL_PTR) позволяет передавать чисто изменения статуса через retry или запрашивать оставшийся объем данных в буфере передачи [SWS_Dlt_00516]. Через выходной параметр availableDataPtr функция сообщает об оставшемся доступном объеме данных в Tx-буфере, что, например, позволяет TP-модулям с динамической длиной полезных данных (таким как FrIsoTp) определять размер последующих сегментов [SWS_Dlt_00516].

Подтверждение и устранение ошибок

Через указатель retry управляется квитирование или повторная передача [SWS_Dlt_00516]:

  • Если retry является NULL_PTR, скопированные данные разрешается отбросить из буфера непосредственно после операции копирования [SWS_Dlt_00516].
  • Если TpDataState указывает на значение TP_CONFPENDING, ранее скопированные данные должны оставаться в буфере для возможного устранения ошибок [SWS_Dlt_00516].
  • При TP_DATACONF все переданные до вызова данные считаются подтвержденными и могут быть освобождены [SWS_Dlt_00516].
  • При TP_DATARETRY модуль снова начинает копирование с байтового смещения, переданного в TxTpDataCnt [SWS_Dlt_00516].

Возвращаемые значения и граничные условия

Результат запроса сообщается как BufReq_ReturnType [SWS_Dlt_00516]:

  • BUFREQ_OK: данные были полностью скопированы в целевой буфер в соответствии с запросом [SWS_Dlt_00516].
  • BUFREQ_E_BUSY: запрашиваемый объем данных недоступен; данные не были скопированы, последующая повторная попытка разрешена [SWS_Dlt_00516].
  • BUFREQ_E_NOT_OK: запрос завершился сбоем; данные не были скопированы [SWS_Dlt_00516].

Интерфейс доступен через Dlt.h и спроектирован как ревходабельный [SWS_Dlt_00516]. Контекст вызова, как правило, находится в нижележащем модуле транспортного протокола во время сегментированной передачи. Вопрос Q-a81c439e73e0acc0 (открытый)

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

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

функция Dlt_StartReception [SWS_Dlt_91006] 📄 PDF

BufReq_ReturnType Dlt_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

This function is called at the start of receiving an N -

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

Синхронная и реентрабельная функция Dlt_StartReception вызывается в начале приема N-SDU, которая может приниматься в виде одиночного кадра (SF) или фрагментированно через несколько N-PDU [SWS_Dlt_91006]. Она служит для инициализации транспортного соединения в модуле Dlt и предоставления доступного буфера приема [SWS_Dlt_91006].

Через параметр id идентифицируется принятая I-PDU, в то время как info передает полезные данные и метаданные первого кадра либо установлен в NULL_PTR, если отсутствуют как данные, так и метаданные [SWS_Dlt_91006]. Через TpSduLength передается общая длина N-SDU; если функция вызывается с длиной 0, она возвращает текущий максимально доступный размер буфера через bufferSizePtr [SWS_Dlt_91006]. Транспортный протокол использует значение из bufferSizePtr для вычисления размера блока (Block Size, BS) [SWS_Dlt_91006].

Если соединение принимается, функция возвращает BUFREQ_OK; если для запрошенного размера недостаточно буфера, bufferSizePtr сигнализирует о размере буфера 0 для продолжения приема [SWS_Dlt_91006]. При отклонении соединения BUFREQ_E_NOT_OK прерывает прием, а при недостатке общего объема памяти сообщается BUFREQ_E_OVFL; в обоих случаях ошибки bufferSizePtr остается без изменений [SWS_Dlt_91006].

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

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

функция Dlt_TpRxIndication [SWS_Dlt_91007] 📄 PDF

void Dlt_TpRxIndication (PduIdType id, Std_ReturnType result);

Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.

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

Функция Dlt_TpRxIndication служит синхронной индикацией приема после того, как I-PDU была принята через TP-API [SWS_Dlt_91007]. Она объявлена в заголовочном файле Dlt.h и имеет идентификатор службы 0x45 [SWS_Dlt_91007].

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

Передача в модуль DLT осуществляется через два входных параметра, при этом функция не возвращает значения [SWS_Dlt_91007]:

  • id (тип PduIdType): обозначает идентификацию принятой I-PDU [SWS_Dlt_91007].
  • result (тип Std_ReturnType): указывает результат приема и показывает, была ли передача успешной [SWS_Dlt_91007].

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

Интерфейс определен как синхронный и реентрабельный [SWS_Dlt_91007]. Входных/выходных, а также чисто выходных параметров не существует [SWS_Dlt_91007].

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

Результат транспортировки сигнализируется модулю DLT исключительно через аргумент result; специфические коды ошибок, сообщения DET или DEM не специфицированы [SWS_Dlt_91007].

Интерпретация: вызов, по всей вероятности, осуществляется нижележащим компонентом транспортного протокола, как только сообщение DLT поступило полностью или передача прерывается [SWS_Dlt_91007]. Вопрос Q-7d9c8564a2404acf (открытый)

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

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

функция Dlt_CopyRxData [SWS_Dlt_91008] 📄 PDF

BufReq_ReturnType Dlt_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

Service Dlt_CopyRxData.

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

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

Синхронная функция Dlt_CopyRxData вызывается для передачи принятых данных сегмента I-PDU (N-PDU) на верхний уровень [SWS_Dlt_91008]. Каждый вызов предоставляет очередную часть данных I-PDU, при этом оставшийся размер буфера записывается по адресу памяти, на который ссылается bufferSizePtr [SWS_Dlt_91008]. Объявление доступно через заголовочный файл Dlt.h [SWS_Dlt_91008].

Параметры и запрос буфера

Через входной параметр id идентифицируется принятая I-PDU [SWS_Dlt_91008]. Указатель info предоставляет через SduDataPtr исходный буфер, а также через SduLength количество копируемых байтов [SWS_Dlt_91008]. Если SduLength передается со значением 0, вызов служит исключительно для запроса буфера, доступного в данный момент в верхнем модуле; в этом случае SduDataPtr может являться NULL_PTR [SWS_Dlt_91008]. Выходной параметр bufferSizePtr возвращает размер буфера приема, остающийся свободным после операции копирования [SWS_Dlt_91008].

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

Функция выполнена реентрабельной и имеет идентификатор службы 0x44 [SWS_Dlt_91008]. Возвращаемое значение типа BufReq_ReturnType сигнализирует о результате операции копирования: при успешном приеме данных служба возвращает BUFREQ_OK, тогда как в случае ошибки возвращается BUFREQ_E_NOT_OK [SWS_Dlt_91008].

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

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

функция Dlt_TxFunction [SWS_Dlt_91005] 📄 PDF

void Dlt_TxFunction (void);

-

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

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

Функция Dlt_TxFunction согласно спецификации [SWS_Dlt_91005] определена как служба с идентификатором службы 0x80 и доступна через заголовочный файл SchM_Dlt.h. Ее сигнатура интерфейса имеет вид void Dlt_TxFunction (void) [SWS_Dlt_91005]. Объявление в SchM_Dlt.h в качестве интерпретации указывает на то, что вызов осуществляется планировщиком BSW в контексте циклической задачи (Task) и не должен вызываться напрямую программными компонентами приложения (Software-Components).

Параметры и возвращаемые значения

Согласно [SWS_Dlt_91005] функция не принимает входных параметров и не возвращает значения (void). Судя по имени, функция, по всей вероятности, отвечает за циклическую обработку и передачу ожидающих отправки сообщений Dlt. Вопрос (открытый) Поскольку возвращаемые значения не специфицированы, обработка ошибок, предположительно, осуществляется сугубо внутри модуля или состояния.

ограничения

Поскольку полезная нагрузка не содержит сведений о реентрабельности или специальных ошибках разработки, интервалы вызова и назначения задачам необходимо согласовывать через конфигурацию диспетчера расписания (Schedule Manager). Другие коды ошибок или записи DET в [SWS_Dlt_91005] не указаны.

Этот текст был создан ИИ; он не заменяет изучение официальной спецификации AUTOSAR.

тип Dlt_ConfigType [SWS_Dlt_00437] 📄 PDF

This is the type of the data structure containing the initialization data for Dlt.

тип Dlt_MessageIDType [SWS_Dlt_00228] 📄 PDF

Contains the unique Message Id for a message. This is only relevant in non - verbose mode.

тип Dlt_MessageNetworkTraceInfoType [SWS_Dlt_00233] 📄 PDF

This type describes transported type of a Dlt BUSMESSAGE.

тип Dlt_ApplicationIDType [SWS_Dlt_00226] 📄 PDF

This type describes the Application Id. 0x00000000 means the so - called wildcard.

тип Dlt_ContextIDType [SWS_Dlt_00227] 📄 PDF

This type describes the Context Id. 0x00000000 means the so - called wildcard.

тип Dlt_MessageArgumentCount [SWS_Dlt_00235] 📄 PDF

This type describes the count of arguments provided to a message.

тип Dlt_AssignmentOperation [SWS_Dlt_00730] 📄 PDF

Adding or removing a Log Channel assignment for the given tuple of Application Id/ Context Id.

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

Record
AUTOSAR/AP/record/CP_MOD_Dlt
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Dlt@rel:R20-11#79a50240
Content hash
79a50240
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticLogAndTrace.pdf#nameddest=SWS_Dlt_00239

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

Dlt_GetVersionInfo функция

Returns the version information of this module.

void Dlt_GetVersionInfo (Std_VersionInfoType* versioninfo);
Dlt_Init функция

Dlt is using the NVRam Manager and is to be initialized very late in the ECU startup phase. The Dlt_ Init() function should be called after the NVRam Manager is initialized.

void Dlt_Init (const Dlt_ConfigType* config);

Сервисы

Service to fo rward error reports from Det to Dlt.

void Dlt_DetForwardErrorTrace (uint16 moduleId, uint8 instanceId, uint8 apiId, uint8 errorId);
Dlt_GetDefaultLogLevel функция

Returns the Default Log Level currently used by the Dlt module. The returned Log Level might differ from the one which is stored no n volatile.

Std_ReturnType Dlt_GetDefaultLogLevel (Dlt_MessageLogLevelType* defaultLogLevel);
Dlt_GetLogInfo функция

Called to request information about registered Application Ids, their Context Ids and the corresponding log level.

Std_ReturnType Dlt_GetLogInfo (uint8 options, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, uint8* status, Dlt_LogInfoType* logInfo);
Dlt_GetTraceStatus функция

Returns the current Trace Status for a given tuple Application Id/ Context Id.

Std_ReturnType Dlt_GetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean* traceStatus);

The service Dlt_ Reset To Factory Default sets the Log Level and Trace Status back to the pers istently stored default values. If the feature Nv MRAM support is enabled, all stored Dlt values in the Nv M are deleted.

Std_ReturnType Dlt_ResetToFactoryDefault (void);
Dlt_SendLogMessage функция

The service represents the interface to be used by basic software modules or by software component to send Log Messages.

Std_ReturnType Dlt_SendLogMessage (Dlt_SessionIDType sessionId, const Dlt_MessageLogInfoType* logInfo, const uint8* logData, uint16 logDataLength);
Dlt_SendTraceMessage функция

The service represents the interface to be used by basic software modules or by software components to trace parameters.

Std_ReturnType Dlt_SendTraceMessage (Dlt_SessionIDType sessionId, const Dlt_MessageTraceInfoType* traceInfo, const uint8* traceData, uint16 traceDataLength);
Dlt_SetDefaultLogLevel функция

Called to modify the pass through range for Log Messages for all not explicit set Context Ids.

Std_ReturnType Dlt_SetDefaultLogLevel (Dlt_MessageLogLevelType newLogLevel);
Dlt_SetLogLevel функция

This service is used to change the Log Level for the given tuple of Application ID/ Context ID.

Std_ReturnType Dlt_SetLogLevel (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, Dlt_MessageLogLevelType newLogLevel);

Switches on/ off the mes sage filtering functionality of the Dlt module.

Std_ReturnType Dlt_SetMessageFiltering (boolean status);
Dlt_SetTraceStatus функция

The service Dlt_ Set Trace Status sets the trace status for a specific tuple of Application ID and Context ID.

Std_ReturnType Dlt_SetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean newTraceStatus);
Dlt_StoreConfiguration функция

Copies the current Dlt configuration to Nv RAM by calling Nv M_ Write Block().

Std_ReturnType Dlt_StoreConfiguration (void);
Dlt_TxFunction функция

-

void Dlt_TxFunction (void);
Dlt_UnregisterContext функция

The service has to be called when a software module is going to be stopped. Available vi a Dlt.h

Std_ReturnType Dlt_UnregisterContext (Dlt_SessionIDType sessionId, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId);

Обратные вызовы

Dlt_CopyRxData функция

Service Dlt_CopyRxData.

BufReq_ReturnType Dlt_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);
Dlt_CopyTxData функция

Service Dlt_CopyTxData.

BufReq_ReturnType Dlt_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);
Dlt_RxIndication функция

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

void Dlt_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Dlt_StartOfReception функция

This function is called at the start of receiving an N -

BufReq_ReturnType Dlt_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);
Dlt_TpRxIndication функция

Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.

void Dlt_TpRxIndication (PduIdType id, Std_ReturnType result);
Dlt_TpTxConfirmation функция

This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was succe ssful or not.

void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result);
Dlt_TriggerTransmit функция

Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer 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 changing Pdu Info Ptr.

Std_ReturnType Dlt_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);
Dlt_TxConfirmation функция

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

void Dlt_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

Типы

Information about Applications

This type describes the Application Id. 0x00000000 means the so - called wildcard.

Adding or removing a Log Channel assignment for the given tuple of Application Id/ Context Id.

This is the type of the data structure containing the initialization data for Dlt.

Context Information

This type describes the Context Id. 0x00000000 means the so - called wildcard.

This type describes the count of arguments provided to a message.

Contains the unique Message Id for a message. This is only relevant in non - verbose mode.

This type describes the log lev el for each log message.

This type describes transported type of a Dlt BUSMESSAGE.

Bitfield

This type describes labels for trace messages.

This type describes the type of the message.

This type identifies the session.

Type тип

This type describes the Log Channel name.