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

Guide du moduleGÉNÉRÉ PAR IA

Collecte, filtre et met en mémoire tampon les messages de journalisation et de trace provenant des SW-C et du BSW, et les transmet à des outils externes.
GÉNÉRÉ PAR IA non vérifié Modèle : claude-opus-5-5 · Effort : high · Température : non réglable · Prompt : dfa88865c54d Provenance Questions ouvertes (1)
Ancre causale : R20-11 Valable à partir de R20-11 Synthétisé pour cette version de spécification.
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Collecte, filtre et met en mémoire tampon les messages de journalisation et de trace provenant des SW-C et du BSW, et les transmet à des outils externes.

Le module Dlt collecte les messages de journalisation et de trace provenant des SW-C, des modules BSW, de DET et des hooks VFB de la RTE. Il les filtre selon le niveau de journalisation et l'état de trace, les associe à des LogChannels et les met en mémoire tampon. L'émission s'effectue de manière découplée via la Dlt_TxFunction cyclique et le PduR [SWS_Dlt_00241]. Des clients externes peuvent modifier les filtres et les affectations de canaux au moment de l'exécution ; les SW-C enregistrés en sont informés. Principale contrainte : avant Dlt_Init et jusqu'à l'expiration du délai de démarrage optionnel, les messages sont uniquement mis en mémoire tampon [SWS_Dlt_00005].

Le module Dlt constitue le point de collecte central des messages de journalisation et de trace sur le calculateur électronique. Les SW-C (via les ports de la RTE) et les modules BSW fournissent des messages via Dlt_SendLogMessage et Dlt_SendTraceMessage [SWS_Dlt_00241] [SWS_Dlt_00243]. Les erreurs DET s'y ajoutent via Dlt_DetForwardErrorTrace [SWS_Dlt_00430], et la communication des SW-C via les hooks générés de trace VFB de la RTE [SWS_Dlt_00027]. L'unique puits est le PduR avec PduR_DltTransmit [SWS_Dlt_00762]. Chaque message est identifié par un tuple composé d'une ApplicationId et d'une ContextId de 4 octets chacune ; 0x00000000 sert de caractère générique [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

Diagramme de contexte : sources, services auxiliaires (NvM, Gpt/StbM, SchM) et le PduR en tant que puits autour de Dlt. Sources : [SWS_Dlt_00762], [SWS_Dlt_00763], [SWS_Dlt_91005].

Avant même l'initialisation, Dlt met en mémoire tampon les messages entrants [SWS_Dlt_00003]. Ils ne sont traités qu'une fois Dlt_Init exécuté et après l'expiration de la temporisation optionnelle du délai de démarrage [SWS_Dlt_00005]. Avec le support NvRAM, Dlt_Init rétablit la configuration au moment de l'exécution via NvM_ReadBlock [SWS_Dlt_00453]. L'enregistrement n'a lieu que sur demande explicite via Dlt_StoreConfiguration [SWS_Dlt_00078].

Dans le contexte d'appel, Dlt effectue le filtrage, la sélection du canal, la vérification de la longueur et le placement en mémoire tampon. L'émission se fait de façon découplée depuis la Dlt_TxFunction cyclique, y compris les réémissions après un acquittement négatif SWS DLT p. 92 [SWS_Dlt_91005].

Envoi d'un message Dlt via un LogChannelDlt-Nutzer (SW-C/RTE/Det)DltGptSchMPduRUse Case: Hypothèse dans le contexte d'appel (synchrone)Dlt_SendLogMessage / Dlt_SendTraceMessage /Dlt_DetForwardErrorTraceNachrichtenfilterung,LogChannel-Schwelle anwendensélectionner les LogChannels cibles,Vérifier la longueurZeitstempel holen (Gpt_GetTimeElapsed)verstrichene Zeitin LogChannel-Puffer ablegenStd_ReturnTypeUse Case: Entkoppelter VersandDlt_TxFunction()loopconformément au Traffic ShapingDlt-Header zusammensetzen,incrémenter le compteur d'émissionPduR_DltTransmit(DltTxPduId, ...)Dlt_TxConfirmation(TxPduId, result)altE_OK ou tentatives épuiséesretirer le message du tamponE_NOT_OK, nouvelle tentative autoriséeconserver le message pour un nouvel envoi

Diagramme de séquence : l'appel d'émission synchrone se termine par le placement en mémoire tampon. Dlt_TxFunction assure l'envoi, l'acquittement et le retry. Sources : SWS DLT p. 92, [SWS_Dlt_91005], [SWS_Dlt_00273].

Les clients externes contrôlent les niveaux de journalisation, l'état de trace et les seuils des LogChannels par le biais de messages de commande qui arrivent par Dlt_RxIndication [SWS_Dlt_00272]. Ces mêmes grandeurs de commande existent également sous forme d'API, par exemple Dlt_SetLogLevel [SWS_Dlt_00252]. Pour que Dlt puisse informer les SW-C enregistrés via LogLevelChangedNotification, ceux-ci déclarent préalablement leurs contextes avec Dlt_RegisterContext [SWS_Dlt_00245] [SWS_Dlt_00496].

En cas d'erreur, les appels d'émission signalent DLT_E_MSG_TOO_LARGE, DLT_E_NO_BUFFER ou DLT_E_UNKNOWN_SESSION_ID [SWS_Dlt_00495]. Lors d'un débordement de mémoire tampon, le message est rejeté, un drapeau de débordement est positionné et une BufferOverflowNotification est envoyée conformément à la configuration SWS DLT p. 32.

Rôle et frontière système : point de collecte central des données de journalisation et de trace

Le module Diagnostic Log and Trace (Dlt) réceptionne les messages de journalisation et de trace provenant des composants logiciels (SW-C) et du logiciel de base (BSW). Il les filtre, les met en mémoire tampon et les transmet à un outil externe sous forme de messages Dlt. Les deux interfaces d'émission Dlt_SendLogMessage et Dlt_SendTraceMessage sont expressément prévues aussi bien pour les modules BSW que pour les SW-C [SWS_Dlt_00241] [SWS_Dlt_00243]. La source du chemin de données est un SW-C ou un module BSW, le puits est le PDU Router SWS DLT p. 26. Pour cela, Dlt nécessite obligatoirement PduR_DltTransmit [SWS_Dlt_00762]. Le format des messages, les commandes et le protocole vers le client externe ne sont pas fixés par le SWS, mais par la spécification du protocole SWS DLT p. 9.

En plus des appels explicites, il existe des fournisseurs fixes :

  • DET : les messages d'erreur parviennent dans le Dlt via la fonction de fan-out Dlt_DetForwardErrorTrace [SWS_Dlt_00430] [SWS_Dlt_00432]. Ils portent l'ApplicationID « DET » et la ContextId « STD » [SWS_Dlt_00376].
  • DEM : les messages de journalisation relatifs aux événements DEM utilisent « DEM », « STD0 » et le MessageID 0x00000001 [SWS_Dlt_00377].
  • RTE : elle transmet implicitement la communication des SW-C sous forme de trace VFB [SWS_Dlt_00276] [SWS_Dlt_00284].

Dlt obtient les horodatages auprès de Gpt ou de StbM, la persistance est prise en charge par NvM [SWS_Dlt_00763]. Dlt_DetForwardErrorTrace fait partie de l'API dans R20-11, mais a été supprimé dans R25-11 SWS DLT p. 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

Diagramme de contexte : Dlt se situe entre les sources de messages (SW-C via la RTE, BSW, DET) et le PduR en tant qu'unique puits. NvM, Gpt/StbM et SchM sont des services auxiliaires. Sources : [SWS_Dlt_00762], [SWS_Dlt_00763], [SWS_Dlt_00430], [SWS_Dlt_91005], SWS DLT p. 26.

Du démarrage au fonctionnement opérationnel : mise en mémoire tampon avant initialisation, Dlt_Init et persistance

Les SW-C et les modules BSW peuvent déjà journaliser avant que Dlt ne soit initialisé. Dlt doit donc mettre en mémoire tampon les données issues de Dlt_SendLogMessage et Dlt_SendTraceMessage dès avant l'initialisation [SWS_Dlt_00003]. Les données mises en mémoire tampon ne sont traitées de manière standard que lorsque deux conditions sont remplies : Dlt_Init a été exécuté et la temporisation optionnelle DltGeneralStartUpDelayTimer a expiré [SWS_Dlt_00005]. Cette temporisation est démarrée lors de l'appel de Dlt_Init, pour autant qu'elle soit configurée SWS DLT p. 25.

lebenszyklus start uninit Non initialisé Les appels d'émission sont mis en mémoire tampon start->uninit uninit->uninit Dlt_SendLogMessage / Dlt_SendTraceMessage verzoegerung Initialisé Le délai de démarrage est en cours (la mise en mémoire tampon continue) uninit->verzoegerung Dlt_Init [DltGeneralStartUpDelayTimer konfiguriert] betrieb Fonctionnement Le contenu du tampon et les nouveaux messages sont traités uninit->betrieb Dlt_Init [aucun temporisateur de délai de démarrage] verzoegerung->betrieb Timer abgelaufen

Diagramme d'états : jusqu'à l'initialisation et, le cas échéant, jusqu'à la fin du délai de démarrage, les messages sont uniquement mis en mémoire tampon, puis traités seulement après. Sources : [SWS_Dlt_00003], [SWS_Dlt_00005], SWS DLT p. 25.

Dlt_Init est synchrone et non réentrante. La fonction attend un pointeur vers Dlt_ConfigType, dont le contenu est spécifique à l'implémentation [SWS_Dlt_00239] [SWS_Dlt_00437]. Comme Dlt utilise le NvM, l'initialisation doit intervenir tardivement dans le démarrage et après le NvM [SWS_Dlt_00239]. Si DltGeneralNvRAMSupport = TRUE, Dlt se comporte comme suit :

Sans support NvRAM, la configuration statique s'applique SWS DLT p. 25. Selon le schéma, l'appelant est l'EcuM SWS DLT p. 159.

Initialisation du module DltEcuMDltNvMGptDlt_Init(config)altDltGeneralNvRAMSupport == TRUENvM_ReadBlock(BlockId, NvM_DstPtr)Vérifier la validité des blocs NV,gespeicherte Werte als StartwerteDltGeneralNvRAMSupport == FALSEstatische Konfiguration ladenoptDltGeneralStartUpDelayTimer konfiguriertGpt_StartTimer(Channel, Value)Retour (synchrone)Après l'initialisation et l'expiration du délai de démarrage :gepufferte Nachrichten verarbeiten

Diagramme de séquence : l'EcuM appelle Dlt_Init de manière synchrone. Selon DltGeneralNvRAMSupport, Dlt charge la configuration depuis NvM ou statiquement, et démarre de manière optionnelle la temporisation du délai de démarrage. Sources : [SWS_Dlt_00239], [SWS_Dlt_00453], [SWS_Dlt_00005], SWS DLT p. 159, CP SWS DLT p. 90.

Modèle de message : identifiants, niveaux de journalisation et types de trace

Chaque message de journalisation comporte une structure Dlt_MessageLogInfoType à cinq champs : argCount, logLevel, options, contextId et appId [SWS_Dlt_00236]. Les messages de trace utilisent Dlt_MessageTraceInfoType, qui contient un champ traceInfo au lieu du niveau de journalisation [SWS_Dlt_00237]. ApplicationId et ContextId sont des tableaux de 4 octets ; 0x00000000 sert de caractère générique [SWS_Dlt_00226] [SWS_Dlt_00227]. L'Application ID est le nom court du SW-C. La Context ID regroupe ses messages par fonctionnalité EXP LSA p. 159. Le champ de bits Dlt_MessageOptionsType code le mode verbeux dans le bit 0 et le type de message dans les bits 1 à 3 [SWS_Dlt_00229].

TypeValeursRéférence
Dlt_MessageTypeDLT_TYPE_LOG, DLT_TYPE_APP_TRACE, DLT_TYPE_NW_TRACE, DLT_TYPE_CONTROL[SWS_Dlt_00224]
Dlt_MessageLogLevelTypeDLT_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_MessageNetworkTraceInfoTypeDLT_NW_TRACE_IPC à DLT_NW_TRACE_SOMEIP[SWS_Dlt_00233]

En mode non verbeux, un Message ID unique identifie la partie statique d'un message [SWS_Dlt_00228]. Les ID 0x00000001 (DEM), 0x00000002 (DET) et 0x00000003 (Trace) sont réservés et inutilisables pour les SW-C [SWS_Dlt_00031]. Sur le bus, le Message ID suit directement l'en-tête, après quoi viennent les données non statiques PRS DLT p. 23. Le champ d'en-tête MTIN est constitué à partir du niveau de journalisation ou du type de trace, en fonction du type de message MSTP PRS DLT p. 24.

Chemin d'émission : filtres, sélection du LogChannel, mise en mémoire tampon et Dlt_TxFunction

Les appels d'émission sont synchrones et réentrants. Ils reçoivent la sessionId, la structure d'informations et les données utiles ainsi que leur longueur [SWS_Dlt_00241] [SWS_Dlt_00243]. Le schéma de R20-11 montre la séquence dans le contexte d'appel :

  1. Filtrage des messages
  2. Appliquer le seuil du LogChannel
  3. Sélectionner les LogChannels cibles
  4. Vérifier la longueur
  5. Placer le message dans la mémoire tampon du LogChannel

L'envoi effectif n'est pris en charge que plus tard par Dlt_TxFunction SWS DLT p. 92. Les étapes individuelles suivantes sont formulées dans des passages documentaires de la version R23-11 et concordent avec ce schéma. Dlt ne récupère un horodatage que si cela est configuré : via Gpt_GetTimeElapsed ou via StbM_GetCurrentTime [SWS_Dlt_00654] [SWS_Dlt_00655].

Les LogChannels sont déterminés en trois étapes SWS DLT p. 32 :

  1. Canaux dont l'affectation correspond exactement au tuple ApplicationId/ContextId.
  2. Canaux avec une ApplicationId correspondante et une ContextId générique.
  3. Si la liste reste vide, le LogChannel par défaut.

Les affectations peuvent être modifiées au moment de l'exécution avec Dlt_SetLogChannelAssignment [SWS_Dlt_00751]. Un message n'est rejeté que s'il dépasse DltLogChannelMaxMessageLength pour tous les canaux assignés SWS DLT p. 31. Dans le cas contraire, il est copié dans les mémoires tampon de tous les canaux pour lesquels il est suffisamment court SWS DLT p. 32.

kanalwahl start filter Filter bestanden? (Log-Level/Trace-Status, LogChannel-Schwelle) start->filter verworfen non traité ultérieurement filter->verworfen Non exakt Collecter les canaux correspondant exactement au doublet ApplicationId/ContextId filter->exakt Oui wildcard Compléter avec les canaux ayant un ApplicationId correspondant et un ContextId générique exakt->wildcard leer Liste leer? wildcard->leer default Default-LogChannel (DltDefaultLogChannelRef) leer->default Oui laenge Longueur <= DltLogChannelMaxMessageLength pour au moins un canal ? leer->laenge Non default->laenge zulang verwerfen, DLT_E_MSG_TOO_LARGE laenge->zulang Non kopie copier dans le tampon de tous les canaux pour lesquels la longueur convient laenge->kopie Oui platz Platz in keinem zugeordneten Puffer? kopie->platz keinpuffer rejeter, DLT_E_NO_BUFFER, positionner l'indicateur de dépassement platz->keinpuffer Oui ok gepuffert, Versand durch Dlt_TxFunction platz->ok Non

Diagramme d'activité : un message passe par le filtrage, la sélection de canal en trois étapes, la vérification de la longueur et le placement en mémoire tampon. Chaque branchement peut conduire à un rejet avec une valeur de retour dédiée. Sources : SWS DLT p. 31, SWS DLT p. 32, [SWS_Dlt_00495], [SWS_Dlt_00751].

L'envoi via le PduR est découplé de l'appel d'émission et s'exécute dans le contexte de Dlt_TxFunction [SWS_Dlt_91005]. L'en-tête est assemblé avant PduR_DltTransmit, et un compteur d'émissions s'incrémente par message SWS DLT p. 35. Un message est retiré de la mémoire tampon dans trois cas SWS DLT p. 38 :

  • PduR_DltTransmit renvoie E_NOT_OK.
  • Un acquittement d'émission positif arrive.
  • Un acquittement négatif arrive et DltLogChannelMaxNumOfRetries est dépassé.

La couche inférieure répond via les rappels suivants :

Envoi d'un message Dlt via un LogChannelDlt-Nutzer (SW-C/RTE/Det)DltGptSchMPduRUse Case: Hypothèse dans le contexte d'appel (synchrone)Dlt_SendLogMessage / Dlt_SendTraceMessage /Dlt_DetForwardErrorTraceNachrichtenfilterung,LogChannel-Schwelle anwendensélectionner les LogChannels cibles,Vérifier la longueurZeitstempel holen (Gpt_GetTimeElapsed)verstrichene Zeitin LogChannel-Puffer ablegenStd_ReturnTypeUse Case: Entkoppelter VersandDlt_TxFunction()loopconformément au Traffic ShapingDlt-Header zusammensetzen,incrémenter le compteur d'émissionPduR_DltTransmit(DltTxPduId, ...)Dlt_TxConfirmation(TxPduId, result)altE_OK ou tentatives épuiséesretirer le message du tamponE_NOT_OK, nouvelle tentative autoriséeconserver le message pour un nouvel envoi

Diagramme de séquence : l'appel d'émission synchrone se termine par le placement en mémoire tampon. L'envoi effectif, les acquittements et les réémissions sont gérés par la Dlt_TxFunction cyclique. Sources : SWS DLT p. 92, [SWS_Dlt_91005], [SWS_Dlt_00273], SWS DLT p. 35, SWS DLT p. 38.

Trace VFB via des fonctions de hook générées de la RTE

La trace VFB signifie que la RTE transmet implicitement la communication des SW-C à Dlt, sans que le SW-C effectue lui-même d'appel SWS DLT p. 23. Pour ce faire, Dlt implémente des fonctions de hook pour chaque événement configuré décrit par une BswModuleEntry avec le nom court « Rte_Dlt… » [SWS_Dlt_00027]. La description RTE fournit le prototype [SWS_Dlt_00335]. Dlt_SendTraceMessage est une interface de SW-C. C'est pourquoi les hooks appellent une fonction interne équivalente [SWS_Dlt_00285], et ce en mode non verbeux [SWS_Dlt_00277] avec tous les arguments en tant que données utiles [SWS_Dlt_00278].

D'autres règles s'appliquent aux hooks :

  • Chaque fonction de hook reçoit sa propre ContextId. En cas de très grand nombre de signaux, les événements peuvent être regroupés [SWS_Dlt_00279].
  • Avant l'envoi, chaque hook vérifie l'état de trace de sa ContextId [SWS_Dlt_00281].
  • Le message porte DLT_TYPE_APP_TRACE avec DLT_TRACE_VFB [SWS_Dlt_00484] et l'ApplicationID « VFBT » SWS DLT p. 23.
  • L'état de trace des hooks est modifié via une fonction dédiée, harmonisée avec LogTraceSessionControl [SWS_Dlt_00283].

Interprétation : comme la fonction interne correspond à Dlt_SendTraceMessage, les messages VFB devraient emprunter le même chemin d'émission avec mise en mémoire tampon que les messages de trace explicites [SWS_Dlt_00285]. Question Q-cb77a5e7bde21b01 (ouverte)

Trace VFB via la fonction hook du RTESW-CRTEDltSchMPduRCommunication via le VFBRte_Dlt...-Hookfunktion(Argumente)optÉtat de trace du ContextId actifinternes Dlt_SendTraceMessage (non-verbose),DLT_TYPE_APP_TRACE / DLT_TRACE_VFBvermutlich: Filter, Kanalwahl, PufferungRetourDlt_TxFunction()PduR_DltTransmit(...)Interpretation: gleicher gepufferter Sendepfadcomme les messages de trace explicites

Diagramme de séquence : un hook RTE n'envoie un message de trace non verbeux avec DLT_TRACE_VFB que si l'état de trace est actif. Le fait qu'il utilise le chemin d'émission commun relève d'une interprétation. Sources : [SWS_Dlt_00027], [SWS_Dlt_00281], [SWS_Dlt_00285], [SWS_Dlt_00484], SWS DLT p. 33.

Sessions, enregistrement et contrôle à l'exécution par des clients externes

Les SW-C se connectent pour chaque entrée de configuration via les ports suivants :

Des valeurs d'argument définies par les ports servent de SessionIds [SWS_Dlt_00022]. Elles débutent à 0x1000 ; les modules BSW utilisent leur ID de module [SWS_Dlt_00023]. Elles sont uniques et contiguës pour chaque port [SWS_Dlt_00332]. Leur type est Dlt_SessionIDType (uint32) [SWS_Dlt_00225]. Si un SW-C est instancié plusieurs fois, chaque instance reçoit une session distincte EXP LSA p. 159.

Avec Dlt_RegisterContext, un module déclare son tuple ApplicationId/ContextId ainsi que les descriptions associées [SWS_Dlt_00245]. Dlt mémorise via quel port le tuple a été enregistré [SWS_Dlt_00021]. Lors de l'arrêt, le module appelle Dlt_UnregisterContext [SWS_Dlt_00769]. L'enregistrement répond à un objectif : Dlt sait ainsi quel SW-C il doit notifier en cas de modification des niveaux de journalisation ou des états de trace SWS DLT p. 20. C'est le rôle de LogLevelChangedNotification et TraceStatusChangedNotification [SWS_Dlt_00496].

Les messages de commande d'un client externe parviennent à Dlt via le PduR. Dans le cas de PDU individuelles, ils arrivent par Dlt_RxIndication [SWS_Dlt_00272]. Via TP, ils arrivent par Dlt_StartOfReception, Dlt_CopyRxData et Dlt_TpRxIndication [SWS_Dlt_91006] [SWS_Dlt_91008] [SWS_Dlt_91007]. Dlt met ensuite à jour le filtre, notifie optionnellement le SW-C enregistré et transmet la réponse par PduR_DltTransmit SWS DLT p. 93.

Enregistrement et commande externe SetLogLevelSW-CDltPduRExterner Dlt-ClientUse Case: Registrierungloopje SW-C-KontextDlt_RegisterContext(sessionId, appId, contextId, ...)mémoriser le doublet et le portE_OKUse Case: Steuerkommando SetLogLevelDlt-SteuernachrichtDlt_RxIndication(RxPduId, PduInfoPtr)Log-Level-Filter aktualisierenoptLogLevelChange-Benachrichtigungregistrierte SW-C nachschlagenLogLevelChangedNotification(appId, contextId, logLevel)PduR_DltTransmit (Antwort)Réponse au message de commande

Diagramme de séquence : les SW-C enregistrent leurs contextes. Une commande SetLogLevel externe met à jour le filtre, déclenche optionnellement une notification et reçoit une réponse via PduR. Sources : SWS DLT p. 93, [SWS_Dlt_00245], [SWS_Dlt_00272], [SWS_Dlt_00496].

Ces mêmes grandeurs de commande existent sous forme d'API :

Il existe des différences par rapport aux versions ultérieures :

  • Dans R20-11, Dlt_GetDefaultTraceStatus possède un paramètre logChannelName. Dans R25-11, il est absent SWS DLT p. 56.
  • Dlt_AssignmentOperation encode dans R20-11 DLT_ASSIGN_ADD = 0x01 et DLT_ASSIGN_REMOVE = 0x02 [SWS_Dlt_00730]. R25-11 utilise la valeur 0x00 pour REMOVE SWS DLT p. 87. L'exigence s'applique à R20-11.

Persistance : Dlt_StoreConfiguration copie la configuration actuelle via NvM_WriteBlock [SWS_Dlt_00736]. Cela ne se produit que si DltGeneralNvRAMSupport est actif et que l'enregistrement a été explicitement demandé [SWS_Dlt_00078] [SWS_Dlt_00451]. Dlt_ResetToFactoryDefault réinitialise le niveau de journalisation et le statut de trace aux valeurs par défaut enregistrées. En cas de prise en charge de la NvRAM, la fonction supprime également les valeurs enregistrées [SWS_Dlt_00739]. Via Dlt_InjectCall_<SESSION>, Dlt peut injecter de manière asynchrone des appels spécifiques à l'application dans une SW-C [SWS_Dlt_00259] [SWS_Dlt_00498].

Comportement en cas d'erreur

Les codes d'erreur de l'interface SW-C sont définis dans l'interface DltSwcMessageService [SWS_Dlt_00495]. En complément, les passages du document décrivent le comportement sur le chemin d'émission.

  • Message trop long : retour DLT_E_MSG_TOO_LARGE si le message est trop long pour tous les LogChannels associés [SWS_Dlt_00495] SWS DLT p. 31.
  • Dépassement de tampon : retour DLT_E_NO_BUFFER. Le message est rejeté, un drapeau de dépassement est levé et une BufferOverflowNotification est envoyée conformément à la configuration. Dlt_TxFunction vérifie le drapeau et le temps d'anti-rebond SWS DLT p. 32 SWS DLT p. 95.
  • Session inconnue ou erreur d'enregistrement : DLT_E_UNKNOWN_SESSION_ID, DLT_E_CONTEXT_ALREADY_REG et DLT_E_CONTEXT_NOT_YET_REG [SWS_Dlt_00495] [SWS_Dlt_00769].
  • Horodatage non disponible : l'horodatage est défini à 0x00000000 SWS DLT p. 30.
  • Erreur de transmission : une valeur négative de Dlt_TxConfirmation déclenche des répétitions jusqu'à ce que DltLogChannelMaxNumOfRetries soit atteint. Si PduR_DltTransmit renvoie E_NOT_OK, le message est supprimé [SWS_Dlt_00273] SWS DLT p. 38.
  • Commandes de contrôle : un uplet inconnu lors de SetLogLevel reçoit la réponse DLT_E_ERROR SWS DLT p. 39. Les API de configuration renvoient E_NOT_OK [SWS_Dlt_00252].
  • Persistance : Dlt_StoreConfiguration prend en charge dans R20-11 les retours E_OK, E_NOT_OK et DLT_E_NOT_SUPPORTED [SWS_Dlt_00736]. DLT_E_ERROR n'a été ajouté que dans R24-11 SWS DLT p. 1.
  • Erreurs de développement et d'exécution :
    • Erreurs de développement : DLT_E_PARAM, DLT_E_PARAM_POINTER, DLT_E_INIT_FAILED, DLT_E_REGISTRATION [SWS_Dlt_00727]
    • Erreurs d'exécution : DLT_E_SKIPPED_TRANSMISSION, DLT_E_DEPRECATED_PARAMETER, DLT_E_MULTIPLE_REQUESTS [SWS_Dlt_00728]

Preuves détaillées supplémentaires

Guide de module généré par IA sur la base des exigences de R20-11 et des passages de documents associés ; certains détails de déroulement proviennent de passages de documents de versions ultérieures et sont signalés comme tels. Seules les exigences associées font foi.

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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 7562b88c65ab Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone et non réentrante Dlt_Init (Service-ID 0x01, disponible via le fichier d'en-tête Dlt.h) initialise le module Diagnostic Log and Trace (DLT) sur la Classic Platform [SWS_Dlt_00239]. Elle reçoit via le paramètre config un pointeur vers la structure de configuration spécifique au module de type Dlt_ConfigType et ne renvoie aucune valeur de retour [SWS_Dlt_00239].

Des conditions aux limites spécifiques s'appliquent au contexte d'appel et à l'interaction temporelle avec d'autres modules BSW :

  • Ordre d'initialisation : le module DLT utilise le NVRam Manager et doit être initialisé très tard dans la phase de démarrage du calculateur [SWS_Dlt_00239]. L'appel de la fonction Dlt_Init ne doit impérativement intervenir qu'après l'initialisation complète du NVRam Manager [SWS_Dlt_00239].
  • Données persistantes : lorsque le paramètre de configuration DltGeneralNvRAMSupport est défini sur TRUE, le module DLT utilise dans Dlt_Init l'interface NvM_ReadBlock du NVRAM Manager pour restaurer les valeurs persistantes des variables requises [SWS_Dlt_00453].
  • Traitement de la mémoire tampon : dès que le module a été initialisé par Dlt_Init et que le timer optionnel DltGeneralStartUpDelayTimer a expiré, l'ensemble des données de journalisation et de trace mises en mémoire tampon entre-temps sont traitées et envoyées conformément à la spécification [SWS_Dlt_00005].

La fonction étant spécifiée comme non réentrante, le contexte appelant doit s'assurer que Dlt_Init ne subit pas de nouvel accès en parallèle ou par interruption pendant son exécution [SWS_Dlt_00239].

Ce texte a été généré par un système d'IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b4775c790e44 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone et réentrante Dlt_SendTraceMessage permet aux modules de logiciel de base (BSW) ainsi qu'aux composants logiciels (SW-C) de transmettre des paramètres de trace au module Dlt [SWS_Dlt_00243].

Paramètres et contexte d'appel

Lors de l'appel, l'identifiant de module ou de port est transmis via sessionId, les métadonnées de filtrage des messages via traceInfo ainsi que le tampon de données utiles via traceData avec l'indication de longueur traceDataLength [SWS_Dlt_00243]. Le module peut déjà mettre en mémoire tampon les messages de trace, même si Dlt n'a pas encore été initialisé [SWS_Dlt_00003].

Valeurs de retour et gestion des erreurs

Le service signale l'état via des valeurs de retour spécifiques [SWS_Dlt_00243] :

  • E_OK : l'opération a été exécutée avec succès.
  • DLT_E_MSG_TOO_LARGE : le message dépasse la taille autorisée de tous les canaux de journalisation assignés.
  • DLT_E_NO_BUFFER : mémoire tampon insuffisante ; le message ne peut pas être mis en mémoire tampon pour au moins un canal de journalisation.
  • DLT_E_UNKNOWN_SESSION_ID : le sessionId transmis est inconnu du module.

Interaction avec les fonctions de rappel (hook)

Puisque Dlt_SendTraceMessage est spécifiée comme interface pour les SW-C, il existe pour les fonctions hook générées une implémentation interne équivalente [SWS_Dlt_00285] qui émet des messages de trace en mode non verbeux [SWS_Dlt_00277].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1ca903195ba8 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone et réentrante Dlt_SendLogMessage (ID de service 0x03) sert d'interface standardisée pour les modules de logiciel de base (BSW) ainsi que pour les composants logiciels (SW-C) pour l'envoi de messages de journalisation [SWS_Dlt_00241]. L'appel s'effectue via le fichier d'en-tête Dlt.h, et en raison de sa réentrance, la fonction est conçue pour une utilisation concurrente [SWS_Dlt_00241].

Lors de l'appel de la fonction, quatre paramètres d'entrée sont requis, alors qu'aucun paramètre de sortie n'est utilisé [SWS_Dlt_00241] :

  • sessionId : représente l'identifiant de session. Pour les SW-C, ce paramètre est invisible sous la forme d'une valeur d'argument liée au port, tandis que les modules BSW transmettent directement leur numéro de module.
  • logInfo : pointeur vers une structure constante contenant les métadonnées pertinentes pour le filtrage du message de journalisation.
  • logData : pointeur vers le tableau d'octets contenant les données à consigner, qui constitue la charge utile (payload) effective du message.
  • logDataLength : longueur numérique du tampon de données logData.

Le traitement des erreurs s'effectue directement via la valeur de retour de type Std_ReturnType, qui indique le succès de l'opération ou des états d'erreur spécifiques [SWS_Dlt_00241] :

  • DLT_OK : le message de journalisation a été accepté et traité avec succès.
  • DLT_E_MSG_TOO_LARGE : le message dépasse la taille de tampon maximale autorisée pour tous les canaux de journalisation assignés.
  • DLT_E_NO_BUFFER : le message n'a pu être mis en mémoire tampon sur aucun des canaux de journalisation assignés.
  • DLT_E_UNKNOWN_SESSION_ID : l'ID de session transmis est invalide ou inconnu du module.

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR.

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9c17fc452d0b Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction synchrone Dlt_UnregisterContext (ID de service 0x16) est mise à disposition via le fichier d'en-tête Dlt.h et doit être appelée lorsqu'un module logiciel est arrêté [SWS_Dlt_00769]. Elle sert au désenregistrement d'un contexte préalablement enregistré d'une application.

La fonction attend trois paramètres d'entrée [SWS_Dlt_00769] :

  • sessionId : numéro de module ; correspond à l'ID de module au sein du BSW ou à la valeur d'argument définie spécifiquement pour le port au sein d'un composant logiciel (SW-C) [SWS_Dlt_00769].
  • appId : identifiant de l'application parente (Application ID) [SWS_Dlt_00769].
  • contextId : identifiant du contexte à désenregistrer (Context ID) [SWS_Dlt_00769].

Valeurs de retour et gestion des erreurs

La valeur de retour de type Std_ReturnType renseigne sur le résultat de l'exécution [SWS_Dlt_00769] :

  • E_OK : l'opération demandée s'est achevée avec succès [SWS_Dlt_00769].
  • DLT_E_CONTEXT_NOT_YET_REG : le contexte du module logiciel n'a pas été enregistré au préalable [SWS_Dlt_00769].
  • DLT_E_UNKNOWN_SESSION_ID : l'ID de session transmis est inconnu [SWS_Dlt_00769].

Concurrence et restrictions

La fonction est spécifiée comme réentrante et se comporte de manière synchrone [SWS_Dlt_00769]. Les modules appelants doivent s'assurer que l'ID de session transmis est valide et que le contexte était effectivement enregistré avant l'arrêt, afin d'éviter les erreurs lors du désenregistrement [SWS_Dlt_00769].

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ea1faa559ee0 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

L'interface synchrone Dlt_DetForwardErrorTrace avec l'ID de service 0x07 sert à transmettre les erreurs de développement signalées depuis le Default Error Tracer (DET) au module Dlt [SWS_Dlt_00432]. Le module Dlt fournit ce service afin de garantir la capacité de fan-out requise du DET pour les messages d'erreur [SWS_Dlt_00430]. La déclaration de cette fonction C est incluse via le fichier d'en-tête Dlt_Det.h [SWS_Dlt_00432].

Paramètres et spécification de l'interface

La fonction accepte quatre paramètres d'entrée obligatoires et ne définit ni valeur de retour ni paramètre de sortie [SWS_Dlt_00432] :

  • moduleId : ID de module du module logiciel appelant dans lequel l'erreur s'est produite.
  • instanceId : identifiant de l'instance de module basée sur un index (le comptage commence à 0 ; les modules à instance unique transmettent 0).
  • apiId : identifiant du service d'API concerné (défini dans la spécification du module appelant).
  • errorId : identifiant de l'erreur de développement constatée (défini dans la spécification du module appelant).

Concurrence et traitement des erreurs

L'exécution s'effectue de manière synchrone avec la détection d'erreur appelante. En tant que fonction non réentrante (Non Reentrant), l'interface exige impérativement que les exécutions concurrentes soient évitées du côté appelant [SWS_Dlt_00432]. Des codes d'erreur spécifiques, des retours d'erreur ou des messages DET ou DEM distincts ne sont pas prévus pour ce service dans la spécification [SWS_Dlt_00432].

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : aa592860b6dc Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone Dlt_SetTraceStatus sert à définir le statut de trace pour un n-uplet donné composé d'une Application-ID et d'une Context-ID [SWS_Dlt_00254]. Elle est définie via le fichier d'en-tête Dlt.h et possède le Service-ID 0x09 [SWS_Dlt_00254].

Utilisation

Trois paramètres d'entrée sont requis pour l'appel [SWS_Dlt_00254] :

  • appId : l'ID du composant logiciel (type Dlt_ApplicationIDType).
  • contextId : l'ID du contexte (type Dlt_ContextIDType).
  • newTraceStatus : le nouveau statut de trace à définir sous forme de valeur booléenne (type boolean).

Gestion des erreurs et valeurs de retour

La fonction renvoie de manière synchrone un statut de type Std_ReturnType [SWS_Dlt_00254] :

  • E_OK : aucune erreur ne s'est produite et le statut a été appliqué avec succès.
  • E_NOT_OK : le statut de trace n'a pas pu être modifié. Les messages d'erreur DET spécifiques ne sont pas mentionnés dans la spécification de la fonction (interprétation : une erreur devrait probablement survenir en cas d'identifiants non valides ou d'état de module défaillant). Question Q-77e190707462c8f1 (ouverte)

Concurrence et restrictions

L'interface est spécifiée comme non réentrante (Non Reentrant) [SWS_Dlt_00254]. Par conséquent, elle ne doit pas être exécutée de manière concurrente ou avec interruption sans synchronisation appropriée par l'appelant.

Cette note d'utilisation a été générée automatiquement sur la base de la version AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

fonction 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().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5604b9adc3ef Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction Dlt_StoreConfiguration ([SWS_Dlt_00736]) sert à sauvegarder la configuration Dlt actuelle dans la mémoire non volatile (NVRAM). L'enregistrement s'effectue en interne via un appel synchrone de l'interface NvM_WriteBlock() du NVRAM Manager ([SWS_Dlt_00736]). L'API est mise à disposition via l'en-tête Dlt.h avec le Service-ID 0x1a.

La fonction possède la signature Std_ReturnType Dlt_StoreConfiguration(void) et ne traite aucun paramètre d'entrée, de sortie ou d'entrée/sortie ([SWS_Dlt_00736]).

Gestion des erreurs et valeurs de retour

En tant que service synchrone, la fonction renvoie immédiatement un code d'état de type Std_ReturnType à l'appelant ([SWS_Dlt_00736]) :

  • E_OK : la configuration a été transférée sans erreur à la NVRAM ([SWS_Dlt_00736]).
  • E_NOT_OK : une erreur est survenue lors de l'enregistrement de la configuration Dlt ([SWS_Dlt_00736]).
  • DLT_E_NOT_SUPPORTED : le service de sauvegarde de configuration n'est pas pris en charge par le module ([SWS_Dlt_00736]).

Concurrence et restrictions

Conformément à [SWS_Dlt_00736], Dlt_StoreConfiguration est spécifié comme non réentrant (Non Reentrant). La fonction ne doit donc pas être exécutée de manière concurrente à partir de différentes tâches ou de différents contextes, de sorte qu'un déroulement séquentiel doit être assuré du côté appelant.

Cette note d'utilisation a été générée automatiquement sur la base des spécifications AUTOSAR.

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9a6e51abb1f8 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction synchrone Dlt_ResetToFactoryDefault est mise à disposition via l'en-tête Dlt.h et n'accepte aucun paramètre de transmission [SWS_Dlt_00739]. Son but principal est la réinitialisation de la configuration d'exécution Dlt : elle réinitialise le niveau de journalisation ainsi que le statut de trace aux valeurs par défaut enregistrées de manière persistante [SWS_Dlt_00739]. Si, de plus, la prise en charge de la NVRAM est activée dans le module Dlt, l'appel entraîne la suppression complète de toutes les valeurs Dlt stockées dans le NvM [SWS_Dlt_00739].

Valeurs de retour et gestion des erreurs

Le résultat de l'opération est signalé de manière synchrone par la valeur de retour de type Std_ReturnType [SWS_Dlt_00739] :

  • E_OK : la configuration a été réinitialisée avec succès aux valeurs par défaut [SWS_Dlt_00739].
  • E_NOT_OK : la réinitialisation de la configuration a échoué [SWS_Dlt_00739].

Aucun message d'erreur DET ou DEM spécifique n'est défini pour ce service dans le cadre de spécification actuel.

Concurrence et restrictions

La fonction est spécifiée comme non réentrante (Non Reentrant) (Service-ID 0x06) [SWS_Dlt_00739]. Un appel concurrent ou avec interruption issu de différentes tâches ou de différents contextes est par conséquent inadmissible et doit être empêché par l'appelant.

Cette note d'utilisation est exclusivement basée sur les données de spécification issues d'AUTOSAR Classic Release R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

fonction 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.

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8621cb62489c Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Dlt_RxIndication sert à indiquer au module DLT une PDU reçue depuis un module d'interface de communication sous-jacent [SWS_Dlt_00272]. Elle est disponible via l'en-tête Dlt.h et possède l'ID de service 0x42 [SWS_Dlt_00272].

L'appel s'effectue avec une sémantique synchrone et ne renvoie aucune valeur de retour (void) [SWS_Dlt_00272]. Deux paramètres d'entrée sont transmis à la fonction :

  • RxPduId : identifiant de la PDU reçue (de type PduIdType) [SWS_Dlt_00272].
  • PduInfoPtr : pointeur vers une structure de type PduInfoType. Celle-ci contient la longueur de la PDU reçue (SduLength), un pointeur vers le tampon contenant les données utiles de la PDU (SduDataPtr) ainsi que les métadonnées associées de la PDU [SWS_Dlt_00272].

En ce qui concerne la concurrence et le contexte d'exécution, la fonction est réentrante pour différents ID de PDU, mais non réentrante pour le même ID de PDU [SWS_Dlt_00272]. Le module sous-jacent appelant ne doit donc pas faire traiter la même RxPduId de manière concurrente, tandis que des appels parallèles avec des ID de PDU différents sont autorisés [SWS_Dlt_00272].

Ce texte a été généré par une IA sur la base de la spécification.

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2f7ee51c3bb5 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Conformément à [SWS_Dlt_00754], la fonction synchrone Dlt_TriggerTransmit sert à copier les données de SDU dans un tampon fourni à la demande d'une couche sous-jacente. Elle est déclarée dans Dlt.h et possède l'ID de service 0x41.

Lors de l'appel, les paramètres suivants sont transmis\u00a0:

  • TxPduId : identifiant de la SDU dont la transmission est demandée.
  • PduInfoPtr : pointeur vers une structure de type PduInfoType. L'appelant transmet via SduDataPtr le tampon de destination et via SduLength la taille maximale disponible du tampon.

Au sein de la fonction, le module vérifie conformément à [SWS_Dlt_00754] si les données disponibles tiennent dans la taille de tampon transmise :

  • Si les données tiennent, la fonction copie les données utiles dans SduDataPtr, met à jour SduLength avec le nombre d'octets réellement copiés et renvoie E_OK.
  • Si le tampon n'est pas suffisant, la fonction renvoie E_NOT_OK sans modifier PduInfoPtr.

Si E_NOT_OK est renvoyé, aucune donnée de SDU n'a été copiée. Dans ce cas, l'appelant ne doit pas continuer à utiliser PduInfoPtr, car celui-ci peut pointer vers des données invalides ou être un pointeur NULL [SWS_Dlt_00754].

Concernant la concurrence, Dlt_TriggerTransmit est réentrante pour des ID de PDU différents, mais non réentrante pour le même TxPduId [SWS_Dlt_00754].

Ce texte a été généré automatiquement. Toutes les indications s'appuient sur les spécifications AUTOSAR référencées.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : da9a483662e9 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction Dlt_TxConfirmation sert d'interface de confirmation de la couche de communication sous-jacente (lower layer communication interface module) vis-à-vis du module Diagnostic Log and Trace (DLT) [SWS_Dlt_00273]. Elle informe le module DLT de manière synchrone si une PDU précédemment demandée a pu être transmise avec succès ou si la transmission a échoué [SWS_Dlt_00273]. La fonction possède le Service-ID 0x40 et est mise à disposition via le fichier d'en-tête Dlt.h [SWS_Dlt_00273].

L'interface ne possède aucune valeur de retour (void) et attend deux paramètres de transmission [SWS_Dlt_00273] :

  • TxPduId : l'identifiant de la PDU transmise, de type PduIdType.
  • result : le statut de transmission de type Std_ReturnType ; ici, E_OK signale la transmission réussie et E_NOT_OK un échec de la transmission de la PDU.

Gestion des erreurs et concurrence

Un traitement explicite des erreurs avec des valeurs de retour d'erreur ou des messages DET ou DEM spécifiques n'est pas spécifié pour cet appel ; l'échec d'une opération d'émission est communiqué au module DLT uniquement par la valeur du paramètre result = E_NOT_OK [SWS_Dlt_00273].

Une condition de réentrance différenciée s'applique à l'exécution : Dlt_TxConfirmation est réentrante pour différentes PDU-ID, mais non réentrante pour la même PDU-ID [SWS_Dlt_00273]. Les pilotes ou interfaces appelants doivent donc garantir que des appels simultanés avec une TxPduId identique sont exclus, tandis que les confirmations pour différentes PDU peuvent parvenir de manière concurrente.

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : d7c3201ac621 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Dlt_TpTxConfirmation sert de fonction de confirmation synchrone du module Dlt après l'envoi d'une I-PDU de transport [SWS_Dlt_00756]. Elle est disponible via le fichier d'en-tête Dlt.h avec l'ID de service 0x48 [SWS_Dlt_00756].

Utilisation et sémantique

L'appel a lieu après qu'une I-PDU a été transmise sur le réseau respectif [SWS_Dlt_00756]. La fonction possède la signature void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result) et ne renvoie aucune valeur de retour [SWS_Dlt_00756] :

  • id (paramètre d'entrée, type PduIdType) : identification univoque de l'I-PDU transmise [SWS_Dlt_00756].
  • result (paramètre d'entrée, type Std_ReturnType) : indique l'état de transmission et signale si l'envoi de l'I-PDU a réussi ou a échoué [SWS_Dlt_00756].

Concurrence et traitement des erreurs

La spécification indique que Dlt_TpTxConfirmation est synchrone et réentrante (Reentrant) [SWS_Dlt_00756]. Aucun code d'erreur DET ou DEM spécifique n'est défini pour ce service ; le traitement des erreurs relatif au processus d'envoi repose sur l'évaluation du paramètre result [SWS_Dlt_00756]. Dans le contexte système, l'appel devrait généralement être initié par une couche de transport sous-jacente après l'achèvement de la transmission de la PDU. Question Q-0e5ab7c285316701 (ouverte)

Ce texte a été généré par un système d'IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction Dlt_CopyTxData [SWS_Dlt_00516] 📄 PDF

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

Service Dlt_CopyTxData.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 131f9d82c4dd Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et sémantique

La fonction synchrone et réentrante Dlt_CopyTxData sert à récupérer les données d'émission d'un segment d'I-PDU (N-PDU) depuis le module Dlt [SWS_Dlt_00516]. id spécifie l'I-PDU à émettre, tandis que info fournit le tampon de destination (SduDataPtr) ainsi que la longueur en octets souhaitée (SduLength) [SWS_Dlt_00516]. La transmission de SduLength = 0 (où SduDataPtr peut être transmis comme NULL_PTR) permet de transmettre de simples changements d'état via retry ou d'interroger la quantité de données restante dans le tampon d'émission [SWS_Dlt_00516]. Via le paramètre de sortie availableDataPtr, la fonction renvoie la quantité de données encore disponible dans le tampon Tx, ce qui permet par exemple aux modules TP avec une longueur de données utiles dynamique (comme FrIsoTp) de dimensionner les segments suivants [SWS_Dlt_00516].

Confirmation et correction d'erreur

Le pointeur retry permet de contrôler l'acquittement ou la transmission répétée [SWS_Dlt_00516] :

  • Si retry est un NULL_PTR, les données copiées peuvent être supprimées du tampon immédiatement après l'opération de copie [SWS_Dlt_00516].
  • Si TpDataState indique la valeur TP_CONFPENDING, les données préalablement copiées doivent rester dans le tampon en vue d'une éventuelle correction d'erreur [SWS_Dlt_00516].
  • Avec TP_DATACONF, toutes les données transmises avant l'appel sont considérées comme confirmées et peuvent être libérées [SWS_Dlt_00516].
  • Avec TP_DATARETRY, le module reprend la copie à partir du décalage en octets transmis dans TxTpDataCnt [SWS_Dlt_00516].

Valeurs de retour et conditions aux limites

Le résultat de la requête est signalé sous la forme BufReq_ReturnType [SWS_Dlt_00516] :

  • BUFREQ_OK : les données ont été entièrement copiées dans le tampon de destination comme demandé [SWS_Dlt_00516].
  • BUFREQ_E_BUSY : la quantité de données demandée n'est pas disponible ; aucune donnée n'a été copiée, une nouvelle tentative ultérieure est autorisée [SWS_Dlt_00516].
  • BUFREQ_E_NOT_OK : la requête a échoué ; aucune donnée n'a été copiée [SWS_Dlt_00516].

L'interface est disponible via Dlt.h et conçue pour être réentrante [SWS_Dlt_00516]. Le contexte d'appel se situe vraisemblablement de manière typique dans un module de protocole de transport sous-jacent pendant la transmission segmentée. Question Q-a81c439e73e0acc0 (ouverte)

Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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 -

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 768ebb494705 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone et réentrante Dlt_StartReception est appelée au début de la réception d'une N-SDU, qui peut être reçue sous la forme d'une trame unique (SF) ou fragmentée sur plusieurs N-PDU [SWS_Dlt_91006]. Elle sert à initier la connexion de transport dans le module Dlt et à mettre à disposition le tampon de réception disponible [SWS_Dlt_91006].

L'I-PDU reçue est identifiée via le paramètre id, tandis que info transmet les données utiles et les métadonnées de la première trame ou est défini sur NULL_PTR si ni données ni métadonnées ne sont présentes [SWS_Dlt_91006]. La longueur totale de la N-SDU est transmise via TpSduLength ; si la fonction est appelée avec une longueur de 0, elle renvoie via bufferSizePtr la taille de tampon maximale actuellement disponible [SWS_Dlt_91006]. Le protocole de transport utilise la valeur issue de bufferSizePtr pour calculer la Block Size (BS) [SWS_Dlt_91006].

Si la connexion est acceptée, la fonction renvoie BUFREQ_OK ; si l'espace tampon disponible n'est pas suffisant pour la taille demandée, bufferSizePtr signale une taille de tampon de 0 pour la poursuite de la réception [SWS_Dlt_91006]. En cas de refus de la connexion, BUFREQ_E_NOT_OK interrompt la réception, et en cas de mémoire totale insuffisante, BUFREQ_E_OVFL est signalé ; dans les deux cas d'erreur, bufferSizePtr reste inchangé [SWS_Dlt_91006].

Cette note d'utilisation est basée sur la spécification AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 494394e121a7 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Dlt_TpRxIndication sert d'indication de réception synchrone après qu'une I-PDU a été reçue via l'API TP [SWS_Dlt_91007]. Elle est déclarée dans le fichier d'en-tête Dlt.h et possède l'ID de service 0x45 [SWS_Dlt_91007].

Utilisation et paramètres

La transmission au module DLT s'effectue via deux paramètres d'entrée, la fonction ne renvoyant aucune valeur de retour [SWS_Dlt_91007] :

  • id (type PduIdType) : caractérise l'identification de l'I-PDU reçue [SWS_Dlt_91007].
  • result (type Std_ReturnType) : indique le résultat de la réception et montre si la transmission a réussi [SWS_Dlt_91007].

Concurrence et restrictions

L'interface est définie comme synchrone et réentrante [SWS_Dlt_91007]. Il n'existe ni paramètres d'entrée/sortie ni paramètres purement de sortie [SWS_Dlt_91007].

Traitement des erreurs et interaction

Le résultat du transport est signalé au module DLT exclusivement via l'argument result ; aucun code d'erreur spécifique, message DET ou DEM n'est spécifié [SWS_Dlt_91007].

Interprétation : l'appel devrait être effectué par un composant de protocole de transport sous-jacent dès qu'un message DLT est entièrement arrivé ou que la transmission est interrompue [SWS_Dlt_91007]. Question Q-7d9c8564a2404acf (ouverte)

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction Dlt_CopyRxData [SWS_Dlt_91008] 📄 PDF

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

Service Dlt_CopyRxData.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 50201aae16ae Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et sémantique

La fonction synchrone Dlt_CopyRxData est appelée pour transmettre à la couche supérieure les données reçues d'un segment d'I-PDU (N-PDU) [SWS_Dlt_91008]. Chaque appel met à disposition la portion suivante des données d'I-PDU, la taille de tampon restante étant écrite à l'emplacement mémoire référencé via bufferSizePtr [SWS_Dlt_91008]. La déclaration est disponible via l'en-tête Dlt.h [SWS_Dlt_91008].

Paramètres et interrogation du tampon

L'I-PDU reçue est identifiée via le paramètre d'entrée id [SWS_Dlt_91008]. Le pointeur info met à disposition le tampon source via SduDataPtr ainsi que le nombre d'octets à copier via SduLength [SWS_Dlt_91008]. Si SduLength est transmis avec la valeur 0, l'appel sert uniquement à interroger le tampon actuellement disponible dans le module supérieur ; dans ce cas, SduDataPtr peut être un NULL_PTR [SWS_Dlt_91008]. Le paramètre de sortie bufferSizePtr renvoie la taille de tampon de réception encore libre après l'opération de copie [SWS_Dlt_91008].

Concurrence et valeurs de retour

La fonction est conçue pour être réentrante et possède l'ID de service 0x44 [SWS_Dlt_91008]. La valeur de retour de type BufReq_ReturnType signale le résultat de l'opération de copie : en cas de prise en charge réussie des données, le service renvoie BUFREQ_OK, tandis qu'en cas d'erreur, BUFREQ_E_NOT_OK est signalé [SWS_Dlt_91008].

Remarque : cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction Dlt_TxFunction [SWS_Dlt_91005] 📄 PDF

void Dlt_TxFunction (void);

-

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ff1088c39156 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

Conformément à la spécification [SWS_Dlt_91005], la fonction Dlt_TxFunction est définie comme un service avec l'ID de service 0x80 et est disponible via l'en-tête SchM_Dlt.h. Sa signature d'interface est void Dlt_TxFunction (void) [SWS_Dlt_91005]. Selon l'interprétation, la déclaration dans SchM_Dlt.h suggère que l'appel est effectué par le scheduler BSW dans le contexte d'une tâche cyclique et ne devrait pas être appelé directement par des Software Components applicatifs.

Paramètres et valeurs de retour

Conformément à [SWS_Dlt_91005], la fonction ne prend aucun paramètre de transmission et ne renvoie aucune valeur de retour (void). D'après son nom, la fonction devrait être responsable du traitement et de la transmission cycliques des messages d'envoi Dlt en attente. Question (ouverte) Aucune valeur de retour n'étant spécifiée, le traitement des erreurs s'effectue probablement de manière purement interne au module ou à l'état.

restrictions

Comme la charge utile ne contient aucune indication sur la réentrance ou sur des erreurs de développement spécifiques, les intervalles d'appel et les affectations de tâches doivent être coordonnés via la configuration du gestionnaire d'ordonnancement. Aucun autre code d'erreur ou entrée DET n'est mentionné dans [SWS_Dlt_91005].

Ce texte a été rédigé par une IA ; il ne remplace pas l'étude de la spécification officielle AUTOSAR.

type Dlt_ConfigType [SWS_Dlt_00437] 📄 PDF

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

type Dlt_MessageIDType [SWS_Dlt_00228] 📄 PDF

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

type Dlt_MessageNetworkTraceInfoType [SWS_Dlt_00233] 📄 PDF

This type describes transported type of a Dlt BUSMESSAGE.

type Dlt_ApplicationIDType [SWS_Dlt_00226] 📄 PDF

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

type Dlt_ContextIDType [SWS_Dlt_00227] 📄 PDF

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

type Dlt_MessageArgumentCount [SWS_Dlt_00235] 📄 PDF

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

type 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#5307d3fc
Content hash
5307d3fc
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticLogAndTrace.pdf#nameddest=SWS_Dlt_00239

Initialisation et état

Returns the version information of this module.

void Dlt_GetVersionInfo (Std_VersionInfoType* versioninfo);
Dlt_Init fonction

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);

Services

Service to fo rward error reports from Det to Dlt.

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

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);

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);

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);

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);

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);

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

Std_ReturnType Dlt_SetDefaultLogLevel (Dlt_MessageLogLevelType newLogLevel);

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);

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);

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

Std_ReturnType Dlt_StoreConfiguration (void);

-

void Dlt_TxFunction (void);

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);

Callbacks

Service Dlt_CopyRxData.

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

Service Dlt_CopyTxData.

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

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

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

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

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

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);

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);

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);

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);

Types

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.

This type describes labels for trace messages.

This type describes the type of the message.

This type identifies the session.

Type type

This type describes the Log Channel name.