AUTOSAR SWS DiagnosticLogAndTrace
AUTOSAR SWS DiagnosticLogAndTrace
AUTOSAR SWS DiagnosticLogAndTrace
AUTOSAR CP R20-11
Disclaimer
This work (specification and/or software implementation) and the material contained
in it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR
and the companies that have contributed to it shall not be liable for any use of the
work.
The material contained in this work is protected by copyright and other types of
intellectual property rights. The commercial exploitation of the material contained in
this work requires a license to such intellectual property rights.
This work may be utilized or reproduced without any modification, in any form or by
any means, for informational purposes only. For any other purpose, no part of the
work may be utilized or reproduced, in any form or by any means, without permission
in writing from the publisher.
The work has been developed for automotive applications only. It has neither been
developed, nor tested for non-automotive applications.
The word AUTOSAR and the AUTOSAR logo are registered trademarks.
Table of Contents
It receives log information from DET, DEM, SW-Cs, or trace information of the RTE.
The Dlt module transmits this data via communication busses to make this
information visible outside the ECU.
For this purpose, the Dlt module defines the API to send and receive dedicated
log/trace information on the bus.
In addition, the NvM module can be optionally used to store an updated filter setting
of the Dlt module persistently. This enables the ECU to transmit log/trace information
with the desired level without the need of an explicit setup request coming from the
communication bus (via a logging tool) at every ECU startup.
The Dlt module is located on top of the PduR and below the RTE.
Please note:
The Dlt Message Format, the available Dlt Commands, and the Dlt protocol (to
communicate with an external logging and tracing tool) are defined in a separate
document. Please refer to the Dlt Protocol Specification [1] for further information.
Term Description:
Log and trace A log and trace message contains all data and options to describe a log
message and trace event in a software. A log and trace message consists of a
header and payload.
Dlt User A Dlt User represents the source of a generated Dlt message. The
possible users are SW-Cs, RTE (for VFB traces), DEM, or DET.
Log Message A Log Message contains debug information like state changes or value
changes.
Trace Message A Trace messages contains information, which has passed via the VFB.
ECU ID ECU IDis the name of an ECU, composed by four 8-bit ASCII characters
(e.g., ABS0 or COMB).
Session A session is a logical entity of source of log or trace messages. If an
application / SW-C is instantiated several times, each instance gets a
globally unique session ID with respect to the application / context ID. It is
possible for an application / SWC to have several simultaneous log or
trace sessions, if it has several ports opened to Dlt.
Since Session ID is not specified in AUTOSAR for SW-Cs, the port
defined argument values shall be used for this number.
Session ID Session ID is the identification number of a log or trace session.
Application ID Application ID is an abbreviation of an application / SW-C. It identifies the
8 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
3 Related documentation
Thus, the specification SWS BSW General shall be considered as additional required
specification for the Dlt module.
4.1 Limitations
VFB Tracing: Currently, VFB Trace only supports the non-verbose mode. I.e., the Dlt
module will send out the arguments in a raw format, simply doing a memory copy of
the arguments to the trace message.
Note:
Currently, the Dlt data type model does NOT support arbitrarily nested complex data
types, which AUTOSAR does. So there is no generic way to transform arguments
given to the VFB Trace hook functions into Dlt data types needed for the verbose
mode.
Also an ASAM Fibex description cannot be generated by the Dlt module as the in-
memory representation might not be compliant to the SWCD data type description of
the arguments.
5.1 RTE
The RTE (including the VFB and the BSW Scheduler) is used to interact with SW-Cs
to generate Log and Trace messages and to call the Dlt module’s Tx function
cyclically.
5.3 NvM
In order to load and store altered configurations like filter settings and/or Log Channel
assignments, the NvM module can optionally be used.
5.4 GPT
In order to derive a time stamp, the GPT module can be used for this purpose.
5.5 StbM
In order to get a synchronized time value (Local Time Base derived from Global Time
Base) in standard/extended format., the StbM module can be used for this purpose.
5.6 DET
In order to be able to report default errors and to forward DET errors to the
communication bus, the Dlt module has to interact with the DET module. However,
the interaction with DET is optional.
5.7 DEM
In order to be able to report development errors and to transmit DEM events on the
communication bus, the Dlt module has to interact with the DEM module using a
CDD and/or a SW-C. No standardized interaction between DEM and DLT is
available.
6 Requirements traceability
7 Functional specification
The Dlt Protocol specifies all sorts of Dlt Commands which are identified by unique
Service IDs. The Dlt Commands are used to modify the behavior of the Dlt module at
runtime, e.g., fetching information about the current Dlt configuration or altering filter
settings.
[SWS_Dlt_00643] ⌈The AUTOSAR Dlt module shall support the following Dlt
Commands identified by the following Services IDs:
⌋ (RS_LT_00032)
Note:
The layouts of the defined Dlt Commands, which can be received via Dlt Control
Messages, are defined in the Dlt Protocol Specification [1].
The Dlt module offers interfaces SW-Cs can use for sending Log and Trace
Messages.
Optionally, SW-Cs can provide a port for notifications on log level threshold and trace
status changes, which are provided by the Dlt module separately for every tuple of
ApplicationId/ContextId. These notifications can be used to avoid already the
generation of Log and Trace Messages by the SW-Cs, instead of having them to be
filtered out later on by the Dlt module.
Since the Dlt module supports multiple instances of SW-Cs, which use the same
tuples of ApplicationId/ContextId, an additional SessionId parameter allows
distinguishing log/trace messages from different instances of the same SW-C.
To separate those SW-Cs technically from each other and to avoid that SW-Cs have
to use unique SessionIds in calls to SendLogMessage/SendTraceMessage
(details, see next chapters), the Dlt module provides a dedicated P-Port per
configured SW-C (see configuration parameter DltSwc) where the SessionId is
managed as a port-defined-argument.
The Dlt module is able to inform SW-Cs about a log level change. For this purpose,
they have to register at the Dlt module, using a tuple of
ApplicationId/ContextId at runtime.
Note:
Because the developing of SW-C is not object of this specification, the Dlt module
has to collect this information at runtime.
[SWS_Dlt_00766] ⌈The Dlt module shall manage a log level and a trace state for
every tuple of ContextId and ApplicationID. ⌋ ()
Note:
In addition, a dynamic registration supports the possibility for the Dlt module to see
which SW-C/runnable is active and which not. This is essential to know which SW-C
to inform in case of a log level or trace status change.
[SWS_Dlt_00021] ⌈The Dlt module shall remember the relation between the
registered tuple of ApplicationId/ContextId, and the port interface where this
tuple is registered. ⌋ (RS_LT_00033)
[SWS_Dlt_00773] ⌈The Dlt module shall delete all tuples of ApplicationIDs and
ContextIds of the SW-Cs which unregister to the Dlt module from the list of
registered applications. ⌋ ()
Note:
For these tuples, the Dlt module will not try to notify the corresponding SWC any
more about LogLevel changes.
7.1.2.3 Using port defined argument values for the definition of SessionIds
[SWS_Dlt_00022] ⌈Port defined argument values shall be used by the Dlt module as
SessionIds. ⌋ ()
Note:
A session is the part of a SW-C for which a log level monitor is responsible. For each
log level monitor the same SessionId (port defined argument value) shall be used.
SessionID. The value shall start at 0x1000 (for BSW modules the module ID is
taken). ⌋ ()
[SWS_Dlt_00332] ⌈Each port of a SW-C connected to the Dlt module shall have a
unique SessionId as port defined argument. The range of SessionIds shall be
continuous. ⌋ ()
The VFB trace is specified in the RTE. The meaning of VFB trace is an implicit
(system inherent) forwarding of SW-C communication data (which flows over the
RTE) to the Dlt module. Trace means in this case that no explicit call by the SW-C is
made to forward this data to Dlt. This section describes the interaction of the RTE
with the Dlt module to record a VFB trace and the internal control of the trace data.
In case the Dlt module is used as a VFB trace client, the RTE has to be configured
accordingly. This means that the RTE configuration parameter
RteVfbTraceClientPrefix has to be configured with value “Dlt”.
The configuration, whether VFB tracing is enabled at all and which traceable events
are supported/activated, is solely configured in the RTE module.
From its configuration, the RTE generator then updates in Generation Phase the
RTEs Basic Software Module Description with BswModuleEntries for each
configured VFB trace hook function. Those BswModuleEntries exactly describe
the expected function prototype the configured trace clients have to provide:
- The expected function name is defined by the shortname.
- The rest of the expected signature is defined by the contained arguments.
The Dlt module has to provide the implementation for all BswModuleEntries, which
are referenced by the attribute outgoingCallback of the
BswModuleDescription of the RTE, whose shortname start with “Rte_Dlt”.
[SWS_Dlt_00284] ⌈The Dlt module shall be compliant to the VFB trace described in
the AUTOSAR_RTE_SWS. ⌋ (RS_LT_00008)
[SWS_Dlt_00276] ⌈The Dlt module shall provide the possibility to trace all kinds of
trace events described in the SWS RTE. ⌋ (RS_LT_00009)
[SWS_Dlt_00027] ⌈The Dlt module shall provide the implementation of the hook
functions for every configured event given by an BswModuleEntry, which owns a
shortname starting with “Rte_Dlt” provided by the BswModuleDefinition of the
RTE. ⌋ ()
18 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
[SWS_Dlt_00278] ⌈The payload for this hook function call shall be filled with the
arguments provided by the hook function. All data transported with the arguments
shall be provided. ⌋ ()
[SWS_Dlt_00632] ⌈The argument data shall be written in raw format to the payload. ⌋
()
Note:
The description for the Message ID-payload shall be generated and provided. This
description can be generated from the SW-C description file, were the interface is
described.
[SWS_Dlt_00281] ⌈In each hook function the trace status of the ContextId shall be
checked. ⌋ ()
if (vfb_actual_trace_status_contextXY){
<internal_Dlt_SendTraceMessage>(…);
}
Figure 3 Requirement for hook function to check the trace status of the ContextId before call
of Dlt_SendTraceMessage (vfb_actual_trace_status_contextXY is a freely named
variable to hold the actual trace status for a specific ContextId)
[SWS_Dlt_00282] ⌈Dlt shall use for every VFB trace hook function an own
ContextId and thus handle for every VFB trace ContextId a separate trace
status. This can be done with a separate variable. ⌋ ()
SW-Cs and BSW modules can report errors to the DET module. Such errors can be
forwarded to the Dlt module as messages with a suitable content using the
Dlt_DetForwardErrorTrace.
Note:
All parameters from the DET function Det_ReportError are forwarded to the Dlt
function Dlt_DetForwardErrorTrace by the DET fan-out capability.
MessageID = 0x00000002
LogLevel = “Error”
⌋ ()
The payload of non-verbose messages contains the Message ID. The Message ID
shall be unique for an ECU. The problem is that Message IDs are provided by a SW-
C (the user of Dlt) and at the point in time when coding of the log and trace message
calls are done there is no instance to guarantee the uniqueness of used Message
IDs.
A possible solution is to map all Log Messages in a virtual memory segment and then
use the memory address as Message ID. Another solution is to have an authoring
tool that is responsible for the uniqueness of the Message IDs.
In addition, it could be possible to fix Message ID values during the post build
process, so uniqueness for the ECU can be guaranteed.
It is important to provide for every Message ID a description for the associated
message.
This means, that those configuration parameters respectively data structures, which
are based on them, have to be loaded into runtime variables during the startup of the
Dlt module.
In addition, it might happen that SW-Cs and/or BSW modules are already generating
log and trace data even though the Dlt module itself has not been initialized yet. For
this scenario, the Dlt module offers the possibility to buffer even this data until the Dlt
module is initialized.
[SWS_Dlt_00003] ⌈The Dlt module shall be able to buffer data coming from calls to
Dlt_SendLogMessage and/or Dlt_SendTraceMessage even if the Dlt module
has not been initialized yet. ⌋ (RS_LT_00036)
[SWS_Dlt_00005] ⌈As soon as the Dlt module is initialized by Dlt_Init and the
optional timer DltGeneralStartUpDelayTimer has expired, all the log and trace
data, which has been buffered meanwhile, shall be processed as described in
section “7.3.6. Sending of Log and Trace Messages”. ⌋ ()
The Dlt module offers the possibility to store configuration data in the
NVRamManager module. Therefore, it is recommended to call the Dlt_Init
function only after the NVRamManager module has been initialized.
The persistency functionality of the Dlt module supports the non-volatile saving of
configuration values, which are modifiable during runtime.
The idea is to allow to customize the logging configuration during runtime and to
assure that this configuration is recovered after an ECU reset or restart.
Note:
Initial values in this case are the initial values for the persistent stored values for the
first startup of the ECU.
Note:
To store the current configuration to NvRAM, the API NvM_WriteBlock is used.
The Dlt data path describes the flow a Dlt Log and Trace Message takes from the
source to the sink. The source can be either a SW-C or a BSW module, whereas the
PDU Router is representing the sink.
The following figure provides an overview of the separate steps to send a Dlt
message on the communication bus:
SWC
SWCID 2
logLevel
RTE
DLT + Timestamp
Application ID / Context ID
LogLevelFilter
TraceStatus
Select
LogChannel
LogChannelThreshold
Buffer Buffer
PduR
PDU ID 3 PDU ID 4
SoAd FrTP
[SWS_Dlt_00650] ⌈The following steps describe the logical order, in the context of
calls to Dlt_SendLogMessage or Dlt_SendTraceMessage:
Note:
Because of optimizations in an implementation, the order might be changed. For
instance, a typical optimization could be, that the Dlt header, which is created by Dlt
module for each Dlt message, is NOT saved to the LogChannel specific buffer per Dlt
message, but is created on-the-fly directly before sending the message to PduR.
[SWS_Dlt_00656] ⌈For Dlt Log Messages, the highest LogLevel Threshold shall be
defined as “Verbose”. ⌋ ()
[SWS_Dlt_00657] ⌈ For Dlt Log Messages, the lowest LogLevel Threshold shall be
defined as “Filter off”. ⌋ ()
Note:
The Dlt_MessageLogLevelType defines all possible Log Message filter levels.
[SWS_Dlt_00658] ⌈For Log Message filtering the Dlt internally manages LogLevel
threshold to ApplicationId/ContextId tuple mappings (see configuration
parameter DltLogLevelThreshold). ⌋ ()
[SWS_Dlt_00659] ⌈For trace message filtering the Dlt internally manages trace
activation state to ApplicationId/ContextId tuple mappings (see configuration
parameter DltTraceStatusAssignment). ⌋ ()
Note:
The matching algorithm for finding the proper mapping element (containing a
threshold log level value in the Log Message case respectively containing a trace
activation state in the trace message case) is identical for Log Messages and trace
messages.
[SWS_Dlt_00661] ⌈The Dlt module shall find a matching mapping element (log level
threshold respectively trace activation state) for the ApplicationId/ContextId
tuple contained in a Dlt_SendLogMessage or Dlt_SendTraceMessage call. To
do so, the following steps shall be performed:
1. Check whether a mapping element exists, where
ApplicationId/ContextId tuple of mapping element equals to the
ApplicationId/ContextId tuple of the log/trace message. If such a
mapping element exists, the matching mapping element is found.
2. In case no match has been found in step 1, check whether a mapping element
exists, where the ApplicationID equals the ApplicationID of the
log/trace message and the ContextId of mapping element equals wildcard
(value 0x00000000). If such a mapping element exists, the matching mapping
element is found.
25 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
3. In case no match has been found in step 1 and 2, the matching mapping
element is the current DefaultLogLevelThreshold respectively the
current DefaultTraceStatus.
⌋ ()
In this step, the Dlt module identifies on which LogChannel(s) the log or tarce
message will be transmitted.
Note:
There can be several LogChannels configured for a given
ApplicationId/ContextId tuple contained in a Dlt_SendLogMessage or
Dlt_SendTraceMessage call.
[SWS_Dlt_00666] ⌈If the Dlt message length including the required Dlt headers
exceeds the configured value given by DltLogChannelMaxMessageLength for all
assigned LogChannels, discard this Dlt message and return
DLT_E_MSG_TOO_LARGE. ⌋ ()
Note:
If the message is short enough for at least one assigned LogChannel, continue to
process this message for all LogChannels where the message is short enough.
In this step, the Dlt module decides, individually for each identified log and trace
channel, whether the current log or trace message may pass or not.
[SWS_Dlt_00667] ⌈Log messages with a log level numerically higher than the
configured value of LogChannel threshold for the identified LogChannel shall be
discarded and E_OK shall be returned. This shall be done on each LogChannel from
the list of output LogChannels for the Log Message, considering [SWS_Dlt_00665]. ⌋
()
[SWS_Dlt_00668] ⌈Trace messages shall be filtered out, when the config parameter
DltTraceStatus is FALSE for the identified LogChannel. That means they do not
proceed to the next processing step and E_OK is returned. ⌋ ()
In this step the Dlt module copies the Dlt message to all buffers of the LogChannels,
which the Dlt message is assigned to.
[SWS_Dlt_00669] ⌈The Dlt module shall copy the log/trace message which has
passed the message filters to all assigned target LogChannel buffers where the Dlt
message length is not larger than DltLogChannelMaxMessageLength of the
respective LogChannel. ⌋ ()
[SWS_Dlt_00670] ⌈If there was not enough space to copy the complete message to
any of the assigned LogChannel’s buffer, DLT_E_NO_BUFFER shall be returned
and the Dlt log and trace message shall be discarded.
In addition, check each assigned buffer whether it was already full before, i.e., check
Dlt internal flags to store a buffer overflow event:
If the buffer overflow flag is currently not set for this buffer:
o Set the buffer overflow flag to indicate the occurrence of a buffer overflow
o The Dlt log and trace message shall be discarded
If the buffer overflow flag for this buffer was already set for this buffer:
o The Dlt log and trace message shall be discarded
⌋ ()
Note:
The cyclicly called Dlt_TxFunction checks the status of the buffer overflow flag
and the debounce time for sending buffer overflow notifications. This function also
sets back the flag cyclically according to a buffer overflow notification.
[SWS_Dlt_00671] ⌈If a new massage has been copied successfully to the assigned
LogChannel’s buffer, the message counter shall be increased by 1. This message
counter value shall be stored for the Dlt message. ⌋ ()
Note:
When the Dlt message is going to be transmitted, this message counter value will be
written into the Message Counter Field (MCNT).
[SWS_Dlt_00672] ⌈If a new massage has been copied successfully to at least one
LogChannel buffer, DLT_OK shall be returned. ⌋ ()
[SWS_Dlt_00780] ⌈The sending of Dlt messages via the PduR API shall be
decoupled from the Dlt_SendLogMessage and Dlt_SendTraceMessage API
call. ⌋ ()
Note:
The decoupling is done because of the following reasons:
1. Shortening runtime of calls from the SW-Cs/BSWs which trigger log/trace
messages, to reduce blocking time.
2. In case traffic shaping functionality is enabled, the transmissions have to be
processed by an asynchronous cyclic BSW entity anyway.
3. In case retry feature is enabled a decoupled BSW entity, which cares for
retries, is needed anyway.
[SWS_Dlt_00673] ⌈The Dlt module shall transmit Dlt messages collected in the
LogChannel specific buffer from the context of the Dlt_TxFunction function. ⌋ ()
Note:
For details regarding the assembling of the Dlt Message Header, please refer to the
next section.
[SWS_Dlt_00677] ⌈The Dlt module shall monitor a transmit counter for each Dlt
message in a LogChannel specific buffer. Each time it calls PduR_DltTransmit for
a Dlt message in the buffer, it shall increment the transmit counter. ⌋ ()
[SWS_Dlt_00679] ⌈The MSBF bit shall be set to ‘1’ if the current platform is
BIGENDIAN. ⌋ ()
[SWS_Dlt_00680] ⌈The MSBF bit shall be set to ‘0’ if the current platform is
LITTLEENDIAN. ⌋ ()
[SWS_Dlt_00685] ⌈The MCNT field shall be set to the stored value of this Dlt
message when it is copied to the LogChannel’s buffer. ⌋ ()
[SWS_Dlt_00687] ⌈The optional ECU field shall be set to the value configured in
DltEcuIdValue. If the configured ECU IDis shorter than 4 byte, the remaining
bytes shall be set to 0x00. ⌋ ()
[SWS_Dlt_00688] ⌈The optional SEID field shall be set to the value configured via
DltSwcSessionId and shall only exist if DltHeaderUseSessionID is set to
TRUE. ⌋ ()
[SWS_Dlt_00689] ⌈The optional TMSP field shall contain the derived timestamp if
DltHeaderUseTimestamp is set to TRUE. ⌋ ()
[SWS_Dlt_00690] ⌈The LEN field shall be set to the overall length of the finally
assembled Dlt Data Message, which shall be the sum of the length of the Header,
the length of the optional Extended Header, and the length of the Payload. ⌋ ()
[SWS_Dlt_00693] ⌈The MSTP field shall be set to 0x0 if the Dlt message has to be
assembled due to the API call Dlt_SendLogMessage.⌋()
[SWS_Dlt_00694] ⌈The MSTP field shall be set to 0x1 if the Dlt message has to be
assembled due to the API call Dlt_SendTraceMessage.⌋()
The Dlt module can receive Dlt commands via the Rx Data Path and/or via dedicated
API calls (see chapter 8). These Dlt commands can be used to control the Dlt
module.
[SWS_Dlt_00698] ⌈The Dlt module shall ignore all received Dlt control messages via
the Rx Data Path in case the parameter DltGeneralRxDataPathSupport is set to
FALSE. ⌋ ()
Note:
In case the Rx Data Path is disabled, the Dlt client can be controlled via the optional
control APIs defined in chapter 8.
[SWS_Dlt_00700] ⌈If a received Dlt command has been executed successfully, “OK”
shall be returned. ⌋ ()
7.1.10.1 SetLogLevel
[SWS_Dlt_00701] ⌈If the Dlt command “SetLogLevel” is requested, the new LogLevel
shall be stored for the received tuple of ApplicationId/ContextId. ⌋ ()
[SWS_Dlt_00702] ⌈If the Dlt command “SetLogLevel” is requested, but the received
tuple of ApplicationId/ContextId is unknown, the Dlt command shall be
answered with “ERROR”. ⌋ ()
7.1.10.2 SetTraceStatus
[SWS_Dlt_00703] ⌈If the Dlt command “SetTraceStatus” is requested, the new trace
status shall be stored for the received tuple of ApplicationId/ContextId. ⌋ ()
7.1.10.3 GetLogInfo
[SWS_Dlt_00706] ⌈If the Dlt command “GetLogInfo” is requested, but the addressed
tuple of ApplicationId/ContextId is unknown, the Dlt command shall be
answered with “ERROR”. ⌋ ()
7.1.10.4 GetDefaultLogLevel
7.1.10.5 StoreConfiguration
7.1.10.6 RestoreToFactoryDefault
if the Dlt module could not reset the current configuration to the static default
configuration or
if the stored configuration of the NvM could not be deleted. ⌋ ()
7.1.10.7 SetMessageFiltering
[SWS_Dlt_00775] ⌈If the Dlt command “SetMessageFiltering” is requested, all the Dlt
filters shall be enabled/disabled as requested, and the Dlt command shall be
answered with “OK”. ⌋ ( )
7.1.10.8 SetDefaultLogLevel
7.1.10.9 SetDefaultTraceStatus
7.1.10.10 GetDefaultTraceStatus
7.1.10.11 GetLogChannelNames
7.1.10.12 GetTraceStatus
7.1.10.13 SetLogChannelAssignment
parameter logChannelName. The Dlt command shall return “OK” even if the tuple
was already assigned to the requested LogChannel before. ⌋ ()
Note:
If a tuple of ApplicationId/ContextId is not assigned explicitly to any specific
LogChannel (any more), the mandatory default LogChannel (see
DltDefaultLogChannelRef) will be used for transmission.
7.1.10.14 SetLogChannelThreshold
7.1.10.15 GetLogChannelThreshold
Typically, the Dlt module receives Dlt commands generated by a Dlt logging tool,
which are answered by the Dlt module. Only two Dlt commands are triggered for
sending by the Dlt module itself:
GetLogInfo (only in case one or more SW-Cs register/unregister themselves)
BufferOverflowNotification (in case of a buffer overflow)
7.1.11.1 BufferOverflowNotification
The buffer overflow notification is used to inform the Dlt Logging tool about the loss of
Dlt messages. The amount of BufferOverflowNotifications on the bus can be
limited/debounced by configuration. This notification contains a counter which
indicates the amount of lost Dlt messages since the last BufferOverflowNotification.
[SWS_Dlt_00776] ⌈If the Dlt module detects a buffer overflow, it shall send a Dlt
command “BufferOverflowNotification” cyclically (see
DltLogChannelBufferOverflowTimer) as long as the buffer is still full. ⌋ ()
[SWS_Dlt_00727]⌈
Type of error Related error code Error value
⌋()
[SWS_Dlt_00728]⌈
Error
Type of error Related error code
value
DLT_E_SKIPPED_
Message could not be sent 0x05
TRANSMISSION
DLT_E_MULTIPLE_
Multiple Control Requests at the same time 0x07
REQUESTS
⌋()
8 API specification
[SWS_Dlt_00781]⌈
Module Header File Imported Type
ComStack_Types.h BufReq_ReturnType
ComStack_Types.h PduIdType
ComStack_Types.h PduInfoType
ComStack_Types
ComStack_Types.h PduLengthType
ComStack_Types.h RetryInfoType
ComStack_Types.h TpDataStateType
Gpt.h Gpt_ChannelType
Gpt
Gpt.h Gpt_ValueType
Rte_StbM_Type.h StbM_SynchronizedTimeBaseType
Rte_StbM_Type.h StbM_TimeBaseStatusType
Rte_StbM_Type.h StbM_TimeStampType
Rte_StbM_Type.h StbM_UserDataType
Std_Types.h Std_ReturnType
Std
Std_Types.h Std_VersionInfoType
⌋()
8.2.1 Dlt_ConfigType
[SWS_Dlt_00437]⌈
37 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
Name Dlt_ConfigType
Kind Structure
implementation specific
Elements Type --
Description This is the type of the data structure containing the initialization data for Dlt.
⌋(SRS_BSW_00414)
8.2.2 Dlt_MessageType
[SWS_Dlt_00224]⌈
Name Dlt_MessageType
Kind Enumeration
DLT_TYPE_APP_
0x01 A trace message
TRACE
Range
DLT_TYPE_NW_ A message forwarded from a communication bus (like
0x02
TRACE CAN, FlexRay)
Available
Dlt.h
via
⌋()
8.2.3 Dlt_MessageIDType
[SWS_Dlt_00228]⌈
Name Dlt_MessageIDType
Size 4 Elements
Contains the unique MessageId for a message. This is only relevant in non-verbose
Description
mode.
Available
Dlt.h
via
38 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
⌋()
8.2.4 Dlt_MessageNetworkTraceInfoType
[SWS_Dlt_00233]⌈
Name Dlt_MessageNetworkTraceInfoType
Kind Enumeration
⌋()
8.3.1 Dlt_Init
[SWS_Dlt_00239]⌈
Service Name Dlt_Init
void Dlt_Init (
Syntax const Dlt_ConfigType* config
)
Service ID
0x01
[hex]
Sync/Async Synchronous
Parameters
config Pointer to a DLT configuration structure
(in)
Parameters
None
(inout)
Parameters
None
(out)
Dlt is using the NVRamManager and is to be initialized very late in the ECU startup
Description phase. The Dlt_Init() function should be called after the NVRamManager is
initialized.
8.3.2 Dlt_GetVersionInfo
[SWS_Dlt_00271]⌈
Service Name Dlt_GetVersionInfo
void Dlt_GetVersionInfo (
Syntax Std_VersionInfoType* versioninfo
)
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (out) versioninfo Pointer to where to store the version information of this module.
⌋(SRS_BSW_00402)
8.3.3 Dlt_SendTraceMessage
[SWS_Dlt_00243]⌈
Service Name Dlt_SendTraceMessage
Std_ReturnType Dlt_SendTraceMessage (
Dlt_SessionIDType sessionId,
const Dlt_MessageTraceInfoType* traceInfo,
Syntax
const uint8* traceData,
uint16 traceDataLength
)
Service ID
0x04
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
traceData
Length of the data buffer traceData
Length
Parameters
None
(inout)
Parameters
None
(out)
⌋(RS_LT_00003)⌋
8.3.4 Dlt_SendLogMessage
[SWS_Dlt_00241]⌈
Service Name Dlt_SendLogMessage
Std_ReturnType Dlt_SendLogMessage (
Dlt_SessionIDType sessionId,
const Dlt_MessageLogInfoType* logInfo,
Syntax
const uint8* logData,
uint16 logDataLength
)
Service ID
0x03
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
For SW-C this is not visible (Port defined argument value), for BSW-
sessionId
modules it is the module number
logData
Length of the data buffer logData.
Length
Parameters
None
(inout)
Parameters
None
(out)
⌋(RS_LT_00003)
8.3.5 Dlt_RegisterContext
[SWS_Dlt_00245]⌈
Service
Dlt_RegisterContext
Name
Std_ReturnType Dlt_RegisterContext (
Dlt_SessionIDType sessionId,
Syntax Dlt_ApplicationIDType appId,
Dlt_ContextIDType contextId,
Service ID
0x05
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
None
(inout)
Parameters
None
(out)
The service has to be called when a software module wants to use services offered
by DLT software component for a specific context. If a ContextId is being registered
Description
for an already registered ApplicationId then appDescription can be NULL and len_
appDescription zero.
⌋(RS_LT_00033)
8.3.6 Dlt_UnregisterContext
[SWS_Dlt_00769]⌈
Std_ReturnType Dlt_UnregisterContext (
Dlt_SessionIDType sessionId,
Syntax Dlt_ApplicationIDType appId,
Dlt_ContextIDType contextId
)
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
None
(inout)
Parameters
None
(out)
Description The service has to be called when a software module is going to be stopped.
⌋(RS_LT_00033)
8.3.7 Dlt_DetForwardErrorTrace
[SWS_Dlt_00432]⌈
Service Name Dlt_DetForwardErrorTrace
void Dlt_DetForwardErrorTrace (
uint16 moduleId,
uint8 instanceId,
Syntax
uint8 apiId,
uint8 errorId
)
Service ID
0x07
[hex]
Sync/Async Synchronous
module
Module ID of calling module.
Id
instance The identifier of the index based instance of a module, starting from 0. If
Parameters Id the module is a single instance module it shall pass 0 as the instanceId.
(in)
ID of API service in which error is detected (defined in SWS of calling
apiId
module)
Parameters
None
(inout)
Parameters
None
(out)
⌋(RS_LT_00006)
8.3.8 Dlt_SetLogLevel
[SWS_Dlt_00252]⌈
Service Name Dlt_SetLogLevel
Std_ReturnType Dlt_SetLogLevel (
Dlt_ApplicationIDType appId,
Syntax Dlt_ContextIDType contextId,
Dlt_MessageLogLevelType newLogLevel
)
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
None
(inout)
This service is used to change the LogLevel for the given tuple of ApplicationID/
Description
ContextID.
⌋(RS_LT_00004, RS_LT_00038)
8.3.9 Dlt_SetTraceStatus
[SWS_Dlt_00254]⌈
Service Name Dlt_SetTraceStatus
Std_ReturnType Dlt_SetTraceStatus (
Dlt_ApplicationIDType appId,
Syntax Dlt_ContextIDType contextId,
boolean newTraceStatus
)
Sync/Async Synchronous
Parameters
None
(inout)
The service Dlt_SetTraceStatus sets the trace status for a specific tuple of
Description
ApplicationID and ContextID.
⌋(RS_LT_00004, RS_LT_00038)
8.3.10 Dlt_GetLogInfo
[SWS_Dlt_00732]⌈
Service Name Dlt_GetLogInfo
Std_ReturnType Dlt_GetLogInfo (
uint8 options,
Dlt_ApplicationIDType appId,
Syntax Dlt_ContextIDType contextId,
uint8* status,
Dlt_LogInfoType* logInfo
)
Sync/Async Synchronous
Parameters
None
(inout)
status --
Parameters
(out)
logInfo Details about the returned Application IDs
⌋()
8.3.11 Dlt_GetDefaultLogLevel
[SWS_Dlt_00733]⌈
Service Name Dlt_GetDefaultLogLevel
Std_ReturnType Dlt_GetDefaultLogLevel (
Syntax Dlt_MessageLogLevelType* defaultLogLevel
)
Service ID
0x18
[hex]
Sync/Async Synchronous
Parameters
None
(in)
Parameters
None
(inout)
Parameters
defaultLogLevel Returns the stored LogLevel setting
(out)
Returns the Default Log Level currently used by the Dlt module. The returned Log
Description
Level might differ from the one which is stored non volatile.
⌋()
8.3.12 Dlt_StoreConfiguration
[SWS_Dlt_00736]⌈
Service Name Dlt_StoreConfiguration
Std_ReturnType Dlt_StoreConfiguration (
Syntax void
)
Sync/Async Synchronous
⌋()
8.3.13 Dlt_ResetToFactoryDefault
[SWS_Dlt_00739]⌈
Service Name Dlt_ResetToFactoryDefault
Std_ReturnType Dlt_ResetToFactoryDefault (
Syntax void
)
Service ID
0x06
[hex]
Sync/Async Synchronous
Parameters
None
(in)
Parameters
None
(inout)
Parameters
None
(out)
⌋()
8.3.14 Dlt_SetMessageFiltering
[SWS_Dlt_00770]⌈
Service Name Dlt_SetMessageFiltering
Std_ReturnType Dlt_SetMessageFiltering (
Syntax boolean status
)
Sync/Async Synchronous
Parameters
None
(inout)
Description Switches on/off the message filtering functionality of the Dlt module.
⌋()
8.3.15 Dlt_SetDefaultLogLevel
[SWS_Dlt_00740]⌈
Service Name Dlt_SetDefaultLogLevel
Std_ReturnType Dlt_SetDefaultLogLevel (
Syntax Dlt_MessageLogLevelType newLogLevel
)
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
None
(inout)
Called to modify the pass through range for Log Messages for all not explicit set
Description
ContextIds.
⌋()
8.3.16 Dlt_SetDefaultTraceStatus
[SWS_Dlt_00743]⌈
Service Name Dlt_SetDefaultTraceStatus
Std_ReturnType Dlt_SetDefaultTraceStatus (
boolean newTraceStatus,
Syntax Dlt_LogChannelNameType logChannelName
)
Sync/Async Synchronous
Reentrancy Reentrant
Description Called to enable or disable trace messages for all not explicitly set ContextIds.
⌋()
8.3.17 Dlt_GetDefaultTraceStatus
[SWS_Dlt_00746]⌈
Service Name Dlt_GetDefaultTraceStatus
Std_ReturnType Dlt_GetDefaultTraceStatus (
Dlt_LogChannelNameType logChannelName,
Syntax
boolean* traceStatus
)
Sync/Async Synchronous
Reentrancy Reentrant
⌋()
8.3.18 Dlt_GetLogChannelNames
[SWS_Dlt_00749]⌈
Service
Dlt_GetLogChannelNames
Name
Std_ReturnType Dlt_GetLogChannelNames (
uint8* numberOfLogChannels,
Syntax
Dlt_LogChannelNameType* logChannelNames
)
Service ID
0x17
[hex]
Sync/Async Synchronous
Parameters
None
(in)
Parameters
logChannelNames Returns a list of configured LogChannel names
(out)
⌋()
8.3.19 Dlt_GetTraceStatus
[SWS_Dlt_00750]⌈
Service Name Dlt_GetTraceStatus
Dlt_ApplicationIDType appId,
Dlt_ContextIDType contextId,
boolean* traceStatus
)
Sync/Async Synchronous
appId ApplicationId
Parameters (in)
contextId ContextId
Description Returns the current Trace Status for a given tuple ApplicationId/ContextId.
⌋()
8.3.20 Dlt_SetLogChannelAssignment
[SWS_Dlt_00751]⌈
Service Name Dlt_SetLogChannelAssignment
Std_ReturnType Dlt_SetLogChannelAssignment (
Dlt_ApplicationIDType appId,
Dlt_ContextIDType contextId,
Syntax
Dlt_LogChannelNameType logChannelName,
Dlt_AssignmentOperation addRemoveOp
)
Service ID
0x20
[hex]
Sync/Async Synchronous
Parameters
None
(inout)
Parameters
None
(out)
⌋()
8.3.21 Dlt_SetLogChannelThreshold
[SWS_Dlt_00752]⌈
Service Name Dlt_SetLogChannelThreshold
Std_ReturnType Dlt_SetLogChannelThreshold (
Dlt_LogChannelNameType logChannelName,
Syntax Dlt_MessageLogLevelType newThreshold,
boolean newTraceStatus
)
Sync/Async Synchronous
logChannel
Name of the addressed LogChannel
Name
Parameters
None
(inout)
⌋()
8.3.22 Dlt_GetLogChannelThreshold
[SWS_Dlt_00753]⌈
Service Name Dlt_GetLogChannelThreshold
Std_ReturnType Dlt_GetLogChannelThreshold (
Dlt_LogChannelNameType logChannelName,
Syntax Dlt_MessageLogLevelType* logChannelThreshold,
boolean* traceStatus
)
Sync/Async Synchronous
Parameters
None
(inout)
logChannel
Current LogChannelThreshold
Threshold
Parameters
(out)
Current TraceStatus. TRUE: TraceMessages enabled.
traceStatus
FALSE: TraceMessages disabled.
⌋()
8.3.23 Dlt_InjectCall_<SESSION>
[SWS_Dlt_00259]⌈
Service Name Dlt_InjectCall_<SESSION>
void Dlt_InjectCall_<SESSION> (
Syntax Dlt_ApplicationIDType appId,
Dlt_ContextIDType contextId,
uint32 serviceId,
uint32 dataLength,
const uint8* data
)
Service ID
0x14
[hex]
Sync/Async Asynchronous
pointer to data puffer with data belonging to the injection (service ID).
data
The contents of the data is user defined
Parameters
None
(inout)
Parameters
None
(out)
Callback is called by Dlt to inject a function call in the SW-C. The behaviour trigged
Description by this function should depend on the service_id also the interpretation of the user
data. Both are specific to the application.
⌋()
8.4.1 Dlt_RxIndication
[SWS_Dlt_00272]⌈
Service Name Dlt_RxIndication
void Dlt_RxIndication (
Syntax
PduIdType RxPduId,
57 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
Service ID
0x42
[hex]
Sync/Async Synchronous
Reentrancy Reentrant for different PduIds. Non reentrant for the same PduId.
RxPdu
ID of the received PDU.
Id
Parameters
(in) Contains the length (SduLength) of the received PDU, a pointer to a
Pdu
buffer (SduDataPtr) containing the PDU, and the MetaData related to this
InfoPtr
PDU.
Parameters
None
(inout)
Parameters
None
(out)
Description Indication of a received PDU from a lower layer communication interface module.
⌋()
8.4.2 Dlt_TriggerTransmit
[SWS_Dlt_00754]⌈
Service
Dlt_TriggerTransmit
Name
Std_ReturnType Dlt_TriggerTransmit (
PduIdType TxPduId,
Syntax
PduInfoType* PduInfoPtr
)
Service ID
0x41
[hex]
Sync/Async Synchronous
Reentrancy Reentrant for different PduIds. Non reentrant for the same PduId.
Parameters
TxPduId ID of the SDU that is requested to be transmitted.
(in)
Parameters PduInfoPtr Contains a pointer to a buffer (SduDataPtr) to where the SDU data shall
58 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
(inout) be copied, and the available buffer size in SduLengh. On return, the
service will indicate the length of the copied SDU data in SduLength.
Parameters
None
(out)
E_OK: SDU has been copied and SduLength indicates the number of
Std_-
copied bytes.
Return value Return-
E_NOT_OK: No SDU data has been copied. PduInfoPtr must not be
Type
used since it may contain a NULL pointer or point to invalid data.
Within this API, the upper layer module (called module) shall check whether the
available data fits into the buffer size reported by PduInfoPtr->SduLength. If it fits, it
Description shall copy its data into the buffer provided by PduInfoPtr->SduDataPtr and update
the length of the actual copied data in PduInfoPtr->SduLength. If not, it returns E_
NOT_OK without changing PduInfoPtr.
⌋()
[SWS_Dlt_00755] ⌈If development error detection is enabled for this module, the
module shall check all parameters for being valid. If the check fails, the function shall
raise a development error and return. ⌋ ()
8.4.3 Dlt_TxConfirmation
[SWS_Dlt_00273]⌈
Service Name Dlt_TxConfirmation
void Dlt_TxConfirmation (
PduIdType TxPduId,
Syntax Std_ReturnType result
)
Sync/Async Synchronous
Reentrancy Reentrant for different PduIds. Non reentrant for the same PduId.
Parameters
None
(inout)
Parameters
None
(out)
⌋()
8.4.4 Dlt_TpTxConfirmation
[SWS_Dlt_00756]⌈
Service Name Dlt_TpTxConfirmation
void Dlt_TpTxConfirmation (
PduIdType id,
Syntax Std_ReturnType result
)
Service ID
0x48
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
None
(inout)
Parameters
None
(out)
This function is called after the I-PDU has been transmitted on its network, the
Description
result indicates whether the transmission was successful or not.
⌋()
8.4.5 Dlt_CopyTxData
[SWS_Dlt_00516]⌈
Service
Dlt_CopyTxData
Name
PduIdType id,
const PduInfoType* info,
const RetryInfoType* retry,
PduLengthType* availableDataPtr
)
Service ID
0x43
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
None
(inout)
Indicates the remaining number of bytes that are available in the upper
Parameters available layer module's Tx buffer. availableDataPtr can be used by TP modules
(out) DataPtr that support dynamic payload lengths (e.g. FrIsoTp) to determine the
size of the following CFs.
This function is called to acquire the transmit data of an I-PDU segment (N-PDU).
Each call to this function provides the next part of the I-PDU data unless retry->Tp
Description DataState is TP_DATARETRY. In this case the function restarts to copy the data
beginning at the offset from the current position indicated by retry->TxTpDataCnt.
The size of the remaining data is written to the position indicated by availableDataPtr.
Available Dlt.h
via
⌋(RS_LT_00034)
8.4.6 Dlt_StartOfReception
[SWS_Dlt_91006]⌈
Service
Dlt_StartOfReception
Name
BufReq_ReturnType Dlt_StartOfReception (
PduIdType id,
const PduInfoType* info,
Syntax
PduLengthType TpSduLength,
PduLengthType* bufferSizePtr
)
Service ID
0x46
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
TpSdu
Total length of the N-SDU to be received.
Length
Parameters
None
(inout)
Parameters buffer Available receive buffer in the receiving module. This parameter will be
(out) SizePtr used to compute the Block Size (BS) in the transport protocol module.
This function is called at the start of receiving an N-SDU. The N-SDU might be
fragmented into multiple N-PDUs (FF with one or more following CFs) or might
Description
consist of a single N-PDU (SF). The service shall provide the currently available
maximum buffer size when invoked with TpSduLength equal to 0.
⌋()
8.4.7 Dlt_TpRxIndication
[SWS_Dlt_91007]⌈
Service Name Dlt_TpRxIndication
void Dlt_TpRxIndication (
PduIdType id,
Syntax
Std_ReturnType result
)
Service ID
0x45
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
None
(inout)
Parameters
None
(out)
Called after an I-PDU has been received via the TP API, the result indicates
Description
whether the transmission was successful or not.
⌋()
8.4.8 Dlt_CopyRxData
[SWS_Dlt_91008]⌈
Service
Dlt_CopyRxData
Name
BufReq_ReturnType Dlt_CopyRxData (
PduIdType id,
Syntax const PduInfoType* info,
PduLengthType* bufferSizePtr
)
63 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
Service ID
0x44
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
Parameters Provides the source buffer (SduDataPtr) and the number of bytes to be
(in) copied (SduLength). An SduLength of 0 can be used to query the
info
current amount of available buffer in the upper layer module. In this
case, the SduDataPtr may be a NULL_PTR.
Parameters
None
(inout)
Parameters bufferSize
Available receive buffer after data has been copied.
(out) Ptr
This function is called to provide the received data of an I-PDU segment (N-PDU) to
Description the upper layer. Each call to this function provides the next part of the I-PDU data.
The size of the remaining buffer is written to the position indicated by bufferSizePtr.
⌋()
8.5.1 Dlt_TxFunction
[SWS_Dlt_91005]⌈
Service Name Dlt_TxFunction
void Dlt_TxFunction (
Syntax void
)
Description --
⌋()
[SWS_Dlt_00760] ⌈The Dlt_TxFunction shall check the status of the flag, which
indicates that a BufferOverflow occurred:
If a buffer overflow occurred, the Dlt command “BufferOverflowNotification”
shall be sent only once, until the overflow flag is cleared again.
After a time interval given by the parameter
DltLogChannelBufferOverflowTimer, the buffer overflow flag shall be
cleared.
This shall be done for every configured LogChannel separately. ⌋ ()
[SWS_Dlt_00761] ⌈If a Dlt message could not be sent, every time the
Dlt_TxFunction is called, it shall retry to send this message one time. This shall
be done for every message separately and taking care to not exceed the amount of
retries given by DltLogChannelMaxNumOfRetries. ⌋ ()
This section defines all external interfaces which are required to fulfill the core
functionality of the module.
[SWS_Dlt_00762]⌈
API Function Header File Description
⌋()
This section defines all external interfaces which are required to fulfill an optional
functionality of the module.
[SWS_Dlt_00763]⌈
Header
API Function Description
File
NvM_EraseNv-
NvM.h Service to erase a NV block.
Block
Returns a time value (Local Time Base derived from Global Time
Base) in standard format.
StbM_Get-
StbM.h Note: This API shall be called with locked interrupts / within an
CurrentTime
Exclusive Area to prevent interruption (i.e., the risk that the time
stamp is outdated on return of the function call).
Returns a time value (Local Time Base derived from Global Time
StbM_Get- Base) in extended format.
CurrentTime- StbM.h Note: This API shall be called with locked interrupts / within an
Extended Exclusive Area to prevent interruption (i.e., the risk that the time
stamp is outdated on return of the function call).
⌋()
8.7 Client-Server-Interfaces
8.7.1 DltControlService
[SWS_Dlt_00772]⌈
Name DltControlService
Comment --
IsService true
Variation --
9 DLT_E_ERROR --
Operation GetDefaultLogLevel
Comment --
Variation --
defaultLoglevel
Type Dlt_MessageLogLevelType
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation GetDefaultTraceStatus
Comment --
Variation --
logChannelName
Direction IN
Comment --
Variation --
traceStatus
Type boolean
Direction OUT
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation GetLogChannelNames
Comment --
Variation --
numberOfLogChannels
Type uint8
Direction INOUT
Comment --
Variation --
Parameters
logChannelNames
Type Dlt_LogChannelNameType*
Direction OUT
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation GetLogChannelThreshold
Comment --
Variation --
logChannelName
Type Dlt_LogChannelNameType
Parameters
Direction IN
Comment --
69 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
Variation --
logChannelThreshold
Type Dlt_MessageLogLevelType
Direction OUT
Comment --
Variation --
traceStatusPtr
Type boolean
Direction OUT
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation GetLogInfo
Comment --
Variation --
options
Type uint8
Direction IN
Comment --
Variation --
appId
Type Dlt_ApplicationIDType
Parameters Direction IN
Comment --
Variation --
contextId
Type Dlt_ContextIDType
Direction IN
Comment --
Variation --
status
Type uint8
Direction OUT
Comment --
Variation --
logInfo
Type Dlt_LogInfoType
Direction OUT
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation GetTraceStatus
Comment --
Variation --
appId
Type Dlt_ApplicationIDType
Direction IN
Comment --
Variation --
contextId
Type Dlt_ContextIDType
Parameters Direction IN
Comment --
Variation --
traceStatus
Type boolean
Direction OUT
Comment --
Variation --
DLT_E_ERROR
Operation ResetToFactoryDefault
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation SetDefaultLogLevel
Comment --
Variation --
newDefaultLogLevel
Type Dlt_MessageLogLevelType
Parameters Direction IN
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation SetDefaultTraceStatus
Comment --
Variation --
newTraceStatus
Type boolean
Direction IN
Comment --
Variation --
Parameters
logChannel
Type uint8
Direction IN
Comment --
Variation --
DLT_E_ERROR
Operation SetLogChannelAssignment
Comment --
Variation --
appId
Type Dlt_ApplicationIDType
Direction IN
Comment --
Variation --
contextId
Type Dlt_ContextIDType
Direction IN
Comment --
Variation --
Parameters
logChannelName
Type Dlt_LogChannelNameType
Direction IN
Comment --
Variation --
addRemoveOp
Type Dlt_AssignmentOperation
Direction IN
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation SetLogChannelThreshold
Comment --
Variation --
Parameters logChannelName
Type Dlt_LogChannelNameType
Direction IN
Comment --
Variation --
newLogLevelThreshold
Type Dlt_MessageLogLevelType
Direction IN
Comment --
Variation --
newTraceStatus
Type boolean
Direction IN
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation SetLogLevel
Comment --
Variation --
appId
Type Dlt_ApplicationIDType
Direction IN
Comment --
Variation --
contextId
Parameters
Type Dlt_ContextIDType
Direction IN
Comment --
Variation --
newLogLevel
Type Dlt_MessageLogLevelType
Direction IN
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation SetMessageFiltering
Comment --
Variation --
status
Type boolean
Parameters Direction IN
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation SetTraceStatus
Comment --
Variation --
appId
Type Dlt_ApplicationIDType
Direction IN
Comment --
Variation --
contextId
Direction IN
Comment --
Variation --
newTraceStatus
Type boolean
Direction IN
75 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
Comment --
Variation --
E_OK
Possible Errors
DLT_E_ERROR
Operation StoreConfiguration
Comment --
Variation --
E_OK
Possible Errors DLT_E_NOT_SUPPORTED
DLT_E_ERROR
⌋()
8.7.2 InjectionCallback
[SWS_Dlt_00498]⌈
Name InjectionCallback
Comment --
IsService true
Variation --
Operation InjectCall
Comment --
Variation --
appId
Type Dlt_ApplicationIDType
Direction IN
Comment --
Variation --
contextId
Type Dlt_ContextIDType
Direction IN
Comment --
Parameters
Variation --
serviceId
Type uint32
Direction IN
Comment --
Variation --
dataLength
Type uint32
Direction IN
Comment --
Variation --
data
Type uint8*
Direction IN
Comment --
Variation --
E_OK
Possible Errors
E_NOT_OK
⌋()
8.7.3 LogTraceSessionControl
[SWS_Dlt_00496]⌈
Name LogTraceSessionControl
Comment --
IsService true
Variation --
Operation LogLevelChangedNotification
Comment --
Variation --
appId
Type Dlt_ApplicationIDType
Direction IN
Comment --
Variation --
contextId
Type Dlt_ContextIDType
Parameters Direction IN
Comment --
Variation --
logLevel
Type Dlt_MessageLogLevelType
Direction IN
Comment --
Variation --
Operation TraceStatusChangedNotification
Comment --
Variation --
appId
Type Dlt_ApplicationIDType
Direction IN
Comment --
Variation --
contextId
Type Dlt_ContextIDType
Parameters Direction IN
Comment --
Variation --
newTraceStatus
Type boolean
Direction IN
Comment --
Variation --
⌋()
8.7.4 DltSwcMessageService
[SWS_Dlt_00495]⌈
Name DltSwcMessageService
Comment --
IsService true
Variation --
9 DLT_E_ERROR --
Operation RegisterContext
Comment --
Variation --
appId
Type Dlt_ApplicationIDType
Direction IN
Comment --
Variation --
Parameters contextId
Type Dlt_ContextIDType
Direction IN
Comment --
Variation --
appDescription
Type uint8[]
Direction IN
Comment --
Variation --
lenAppDescription
Type uint8
Direction IN
Comment --
Variation --
contextDescription
Type uint8[]
Direction IN
Comment --
Variation --
lenContextDescription
Type uint8
Direction IN
Comment --
Variation --
E_OK
Possible Errors DLT_E_CONTEXT_ALREADY_REG
DLT_E_UNKNOWN_SESSION_ID
Operation SendLogMessage
Comment --
Variation --
logInfo
Type Dlt_MessageLogInfoType
Direction IN
Parameters
Comment --
Variation --
logData
Type uint8[]
Direction IN
Comment --
Variation --
logDataLength
Type uint16
Direction IN
Comment --
Variation --
E_OK
DLT_E_MSG_TOO_LARGE
Possible Errors
DLT_E_UNKNOWN_SESSION_ID
DLT_E_NO_BUFFER
Operation SendTraceMessage
Comment --
Variation --
traceInfo
Type Dlt_MessageTraceInfoType
Direction IN
Comment --
Variation --
traceData
Type uint8[]
Parameters Direction IN
Comment --
Variation --
traceDataLength
Type uint16
Direction IN
Comment --
Variation --
DLT_E_MSG_TOO_LARGE
DLT_E_UNKNOWN_SESSION_ID
DLT_E_NO_BUFFER
Operation UnregisterContext
Comment --
Variation --
appId
Type Dlt_ApplicationIDType
Direction IN
Comment --
Variation --
Parameters
contextId
Type Dlt_ContextIDType
Direction IN
Comment --
Variation --
E_OK
Possible Errors DLT_E_UNKNOWN_SESSION_ID
DLT_E_CONTEXT_NOT_YET_REG
⌋()
8.8.1 Dlt_ApplicationIDType
[SWS_Dlt_00226]⌈
Name Dlt_ApplicationIDType
Size 4 Elements
Description This type describes the ApplicationId. 0x00000000 means the so-called wildcard.
Variation --
⌋()
8.8.2 Dlt_ContextIDType
[SWS_Dlt_00227]⌈
Name Dlt_ContextIDType
Size 4 Elements
Description This type describes the ContextId. 0x00000000 means the so-called wildcard.
Variation --
⌋()
8.8.3 Dlt_SessionIDType
[SWS_Dlt_00225]⌈
Name Dlt_SessionIDType
Kind Type
Variation --
⌋()
8.8.4 Dlt_LogInfoType
[SWS_Dlt_91002]⌈
Name Dlt_LogInfoType
Kind Structure
appIdCount
Type uint16
Elements appIdInfo
Size
Description --
Variation --
⌋()
8.8.5 Dlt_ContextIdInfoType
[SWS_Dlt_91003]⌈
Name Dlt_ContextIdInfoType
Kind Structure
contextId
Type Dlt_ContextIDType
Type Dlt_MessageLogLevelType
traceStatus
Type uint8
Comment 0: off 1: on
lenContextDescription
Type uint16
contextDesc
Size
Variation --
⌋()
8.8.6 Dlt_ApplicationIdInfoType
[SWS_Dlt_91004]⌈
Name Dlt_ApplicationIdInfoType
Kind Structure
appId
Type Dlt_ApplicationIDType
Comment Application ID
contextIdCount
Type uint16
contextInfoList
Size
appDescLen
Type uint16
appDesc
Size
Variation --
⌋()
8.8.7 Dlt_MessageOptionsType
[SWS_Dlt_00229]⌈
Name Dlt_MessageOptionsType
Kind Type
Derived
uint8
from
verbose_
-- Bit 0: If set Verbose mode is used (yet not relevant)
mode
Range
message_ Bit 1-3 Dlt_MessageTypeType: determines type of msg
--
type (log,trace,...)
Description Bitfield
Variation --
⌋()
8.8.8 Dlt_MessageLogInfoType
[SWS_Dlt_00236]⌈
Name Dlt_MessageLogInfoType
Kind Structure
argCount
Elements
Type Dlt_MessageArgumentCount
88 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
Comment --
logLevel
Type Dlt_MessageLogLevelType
Comment --
options
Type Dlt_MessageOptionsType
Comment --
contextId
Type Dlt_ContextIDType
Comment --
appId
Type Dlt_ApplicationIDType
Comment --
Description --
Variation --
⌋()
8.8.9 Dlt_MessageLogLevelType
[SWS_Dlt_00230]⌈
Name Dlt_MessageLogLevelType
Kind Enumeration
DLT_LOG_
0x00 Turn off logging
OFF
DLT_LOG_
0x01 Fatal system error
FATAL
Description This type describes the log level for each log message.
Variation --
Available
Rte_Dlt_Type.h
via
⌋()
8.8.10 Dlt_MessageTraceType
[SWS_Dlt_00231]⌈
Name Dlt_MessageTraceType
Kind Enumeration
Variation --
⌋()
8.8.11 Dlt_MessageArgumentCount
[SWS_Dlt_00235]⌈
Name Dlt_MessageArgumentCount
Kind Type
Variation --
⌋()
8.8.12 Dlt_MessageTraceInfoType
[SWS_Dlt_00237]⌈
Name Dlt_MessageTraceInfoType
Kind Structure
traceInfo
Type Dlt_MessageTraceType
Comment --
options
Type Dlt_MessageOptionsType
Comment --
Elements
context
Type Dlt_ContextIDType
Comment --
appId
Type Dlt_ApplicationIDType
Comment --
Description --
Variation --
⌋()
8.8.13 Dlt_LogChannelNameType
[SWS_Dlt_00232]⌈
Name Dlt_LogChannelNameType
Size 4 Elements
Variation --
⌋()
92 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
8.8.14 Dlt_AssignmentOperation
[SWS_Dlt_00730]⌈
Name Dlt_AssignmentOperation
Kind Enumeration
Variation --
Available
Rte_Dlt_Type.h
via
⌋()
8.9 Ports
8.9.1 Dlt_ControlService_{SW-C}
[SWS_Dlt_00499]⌈
Name ControlService_{SW-C}
Description Through this port SW-Cs can control log settings and other configurationitems of DLT.
⌋()
8.9.2 Dlt_InjectCallback_{SW-C}
[SWS_Dlt_00778]⌈
Name InjectCallback_{SW-C}
⌋()
8.9.3 Dlt_SessionControlCallback_{SW-C}
[SWS_Dlt_00779]⌈
Name SessionControlCallback_{SW-C}
Description Port used by Dlt to notify registered SW-C about LogLevel/TraceLevel Changes.
⌋()
8.9.4 Dlt_SwcMessageService_{SW-C}
[SWS_Dlt_91001]⌈
Name SwcMessageService_{SW-C}
Through this port SW-Cs can register/unregister their contexts and send
Description
out log and trace messages.
Type Dlt_SessionIDType
Port Defined Argument
Value(s)
Value {ecuc(Dlt/DltSwc/DltSwcSessionId.value)}
⌋()
9 Sequence diagrams
Dlt_Init(config)
Load configuration()
Gpt_StartTimer(Channel, Value)
[DltGeneralNvRAMSupport == FALSE]
opt DltGeneralStartUpDelayTimer
StartDelayTimer()
[Det]
Dlt_DetForwardErrorTrace(moduleId, instanceId, apiId, errorId)
[Rte]
Dlt_SendTraceMessage(return, sessionId, traceInfo, traceData, traceDataLength)
[SWC]
Dlt_SendLogMessage(return, sessionId, logInfo, logData, logDataLength)
Gpt_GetPredefTimerValue(return,
PredefTimer, TimeValuePtr)
Dlt_TxFunction()
PduR_DltTransmit(PduId)
opt retry
PduR_DltTransmit(PduId)
9.3 SetLogLevelFilter
Dlt_RxIndication(PduId)
Update LogLevelFilter()
LogLevelChangedNotification(appId, contextId)
PduR_DltTransmit(PduId)
CheckMessage length()
Discard Message()
Set BufferOverflowFlag()
Start BufferOverflowTimer()
loop
Dlt_TxFunction()
[BufferOverflowFlag == 1]
MessageSent == TRUE()
Timer DltLogChannelBufferOverflowCheck(start)
[BufferOverflowFlag == 0]
10 Configuration specification
Chapter 10.1 specifies the structure (containers) and the parameters of the module
Dlt.
10.1.1 Dlt
Included Containers
Container Name Multiplicity Scope / Dependency
This container lists all the global Dlt functionalities that can be
DltConfigSet 1 enabled or disabled at pre-compile time to optimize resource
consumption.
This container lists all the global Dlt functionalities that can be
DltGeneral 1 enabled or disabled at pre-compile time to optimize resource
consumption.
Contains necessary configuration parameters of the
DltSwc 0..*
AUTOSAR Dlt module to interact with SWCs.
DltSwc:
+container EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
+container DltConfigSet:
EcucParamConfContainerDef
10.1.2 DltGeneral
Link time --
Post-build time --
Scope / Dependency scope: local
No Included Containers
+parameter DltGeneralDevErrorDetect:
DltGeneral: EcucBooleanParamDef
EcucParamConfContainerDef
+parameter DltGeneralRegisterContextNotification:
EcucBooleanParamDef
defaultValue = false
+parameter DltGeneralInjectionSupport:
EcucBooleanParamDef
defaultValue = false
DltGeneralRxDataPathSupport:
+parameter EcucBooleanParamDef
defaultValue = false
+parameter DltGeneralTrafficShapingSupport:
EcucBooleanParamDef
defaultValue = true
+parameter DltGeneralTimeStampSupport:
EcucBooleanParamDef
defaultValue = false
DltGeneralVersionInfoApi:
+parameter
EcucBooleanParamDef
lowerMultiplicity = 0
DltGeneralStartUpDelayTimer: upperMultiplicity = 1
EcucFloatParamDef
+parameter
min = 0.001
max = 10 NvMNvramBlockIdentifier:
lowerMultiplicity = 0 EcucIntegerParamDef
upperMultiplicity = 1
symbolicNameValue = true
min = 2
DltGeneralNvRAMSupport: max = 65535
+parameter
EcucBooleanParamDef
+parameter
defaultValue = false
DltGeneralNvRamRef: NvMBlockDescriptor:
EcucReferenceDef +destination EcucParamConfContainerDef
+reference
lowerMultiplicity = 0 upperMultiplicity = 65536
upperMultiplicity = 1 lowerMultiplicity = 1
requiresSymbolicNameValue = true
DltGeneralGptChannelRef: GptChannelConfiguration:
EcucReferenceDef +destination EcucParamConfContainerDef
+reference
lowerMultiplicity = 0 upperMultiplicity = *
upperMultiplicity = 1 lowerMultiplicity = 1
requiresSymbolicNameValue = true
+parameter
DltGeneralStbMTimeBaseRef:
EcucReferenceDef GptChannelId:
+reference
EcucIntegerParamDef
lowerMultiplicity = 0
upperMultiplicity = 1 min = 0
requiresSymbolicNameValue = true max = 4294967295
symbolicNameValue = true
+destination
StbMSynchronizedTimeBaseIdentifier:
StbMSynchronizedTimeBase: EcucIntegerParamDef
+parameter
EcucParamConfContainerDef
min = 0
lowerMultiplicity = 1 max = 65535
upperMultiplicity = * symbolicNameValue = true
10.1.3 DltSwc
Included Containers
Container Name Multiplicity Scope / Dependency
This container contains the configuration of ApplicationId /
DltSwcContext 0..*
ContextId pairs which are supported by this SWC.
DltSwc:
+parameter DltSwcSessionId:
EcucParamConfContainerDef
EcucIntegerParamDef
lowerMultiplicity = 0
upperMultiplicity = *
+parameter DltSwcSupportLogLevelAndTraceStatusChangeNotification:
EcucBooleanParamDef
defaultValue = false
DltSwcContext:
+parameter DltSwcApplicationId:
EcucParamConfContainerDef
EcucStringParamDef
lowerMultiplicity = 0
+subContainer upperMultiplicity = *
+parameter DltSwcContextId:
EcucStringParamDef
MaxSwcLogMessageLength:
+parameter EcucIntegerParamDef
min = 8
max = 65535
MaxSwcTraceMessageLength:
+parameter EcucIntegerParamDef
min = 8
max = 65535
10.1.4 DltSwcContext
No Included Containers
10.1.5 DltConfigSet
Included Containers
Container Name Multiplicity Scope / Dependency
DltLogLevelSetting 1 Contains settings for thresholds.
DltLogOutput 1 Contains settings for log/trace message output
Configuration parameters for handling the specific protocol
DltProtocol 1
variants.
Contains the Pdu IDs to be used for Dlt control messages
DltRxPdu 0..*
reception.
DltTraceStatusSetting 1 Contains settings for trace status
+subContainer DltLogLevelSetting:
EcucParamConfContainerDef
+subContainer DltTraceStatusSetting:
EcucParamConfContainerDef
+subContainer DltLogOutput:
EcucParamConfContainerDef
Pdu: EcucParamConfContainerDef
+reference DltRxPduRef: +destination
DltRxPdu: lowerMultiplicity = 0
EcucReferenceDef
EcucParamConfContainerDef upperMultiplicity = *
lowerMultiplicity = 0
upperMultiplicity = *
DltRxPduId: EcucIntegerParamDef
min = 0
+parameter
max = 65535
+subContainer
lowerMultiplicity = 0
upperMultiplicity = 1
symbolicNameValue = true
+parameter DltRxPduUsesTp:
EcucBooleanParamDef
10.1.6 DltProtocol
Description Corresponds to field WSID (with Session ID). If set the Session ID shall be
placed in the header, else not.
If DltGeneralNvRAMSupport is enabled the value of the parameter defined
here is also the initial value for the corresponding NvRam entry. If
DltGeneralNvRAMSupport is not set, Link-Time or Post-Build configuration
shall be used.
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: ECU
Included Containers
Container Name Multiplicity Scope / Dependency
This is a choice container to choose between a EcuId value or
DltEcuId 1
a callout to get the EcuId.
+parameter DltUseExtHeaderInNonVerbMode:
EcucBooleanParamDef
+parameter DltHeaderUseSessionID:
EcucBooleanParamDef
+parameter DltHeaderUseTimestamp:
EcucBooleanParamDef
+parameter DltUseVerboseMode:
EcucBooleanParamDef
DltEcuIdValueChoice:
DltEcuId: EcucChoiceContainerDef +parameter DltEcuIdValue:
+choice EcucParamConfContainerDef
EcucStringParamDef
upperMultiplicity = 1
lowerMultiplicity = 0
+subContainer
DltEcuIdCalloutChoice:
+choice
EcucParamConfContainerDef +parameter DltEcuIdCallout:
EcucFunctionNameDef
lowerMultiplicity = 0
upperMultiplicity = 1
10.1.7 DltEcuId
Container Choices
Container Name Multiplicity Scope / Dependency
DltEcuIdCalloutChoice 0..1 EcuId via user defined callout.
115 of 130 Document ID 351: AUTOSAR_SWS_DiagnosticLogAndTrace
Specification of Diagnostic Log and Trace
AUTOSAR CP R20-11
10.1.8 DltEcuIdCalloutChoice
No Included Containers
10.1.9 DltEcuIdValueChoice
Default value --
maxLength --
minLength --
regularExpression --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: ECU
No Included Containers
10.1.10 DltLogLevelSetting
Included Containers
Container Name Multiplicity Scope / Dependency
This container contains a preconfiguration of ApplicationId /
DltLogLevelThreshold 0..*
ContextId pairs and their assigned LogLevel threshold.
+parameter
DltLogLevelThreshold:
EcucParamConfContainerDef
+subContainer lowerMultiplicity = 0
upperMultiplicity = * DltSwcContext:
+reference DltLogLevelThresholdSwcContextRef: +destination EcucParamConfContainerDef
EcucReferenceDef
lowerMultiplicity = 0
upperMultiplicity = *
10.1.11 DltLogLevelThreshold
No Included Containers
10.1.12 DltLogChannelAssignment
Multiplicity 1
Type Reference to [ DltLogChannel ]
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency
No Included Containers
10.1.13 DltTraceStatusSetting
Included Containers
Container Name Multiplicity Scope / Dependency
This container contains a preconfiguration of ApplicationId /
DltTraceStatusAssignment 0..*
ContextId pairs and their assigned trace status.
DltTraceStatusSetting:
EcucParamConfContainerDef +parameter DltDefaultTraceStatus:
EcucBooleanParamDef
DltSwcContext:
DltTraceStatusAssignment: +reference DltTraceStatusAssignmentSwcContextRef: +destination EcucParamConfContainerDef
EcucParamConfContainerDef EcucReferenceDef
lowerMultiplicity = 0
lowerMultiplicity = 0 upperMultiplicity = *
+subContainer
upperMultiplicity = *
+parameter DltTraceStatus:
EcucBooleanParamDef
10.1.14 DltTraceStatusAssignment
No Included Containers
10.1.15 DltLogOutput
Configuration Parameters
Included Containers
Container Name Multiplicity Scope / Dependency
DltLogChannel 1..* Contains settings for log/trace message output
This container contains a preconfiguration of ApplicationId /
DltLogChannelAssignment 0..*
ContextId pairs and their assigned log channel.
DltLogChannel: EcucParamConfContainerDef
DltLogOutput:
EcucParamConfContainerDef +subContainer lowerMultiplicity = 1
upperMultiplicity = *
+destination +destination
DltLogChannelAssignment:
EcucParamConfContainerDef +reference DltLogChannelRef:
EcucReferenceDef
lowerMultiplicity = 0
upperMultiplicity = *
+subContainer
+reference DltLogChannelAssignmentSwcContextRef:
EcucReferenceDef
+destination
DltSwcContext:
EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
+reference DltDefaultLogChannelRef:
EcucReferenceDef
10.1.16 DltLogChannel
Type EcucIntegerParamDef
Range 8 .. 65535
Default value --
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE, VARIANT-
POST-BUILD
Link time X VARIANT-LINK-TIME
Post-build time --
Scope / Dependency scope: ECU
Included Containers
Container Name Multiplicity Scope / Dependency
Contains the configuration parameters of the AUTOSAR Dlt
DltTxPdu 1
module's Tx Pdus.
DltLogChannelId:
+parameter EcucStringParamDef
DltLogChannel:
EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = * +literal DLT_LOG_OFF:
DltLogChannelThreshold:
EcucEnumerationLiteralDef
EcucEnumerationParamDef
+literal DLT_LOG_FATAL:
EcucEnumerationLiteralDef
+literal DLT_LOG_ERROR:
EcucEnumerationLiteralDef
+literal DLT_LOG_INFO:
EcucEnumerationLiteralDef
+literal DLT_LOG_DEBUG:
EcucEnumerationLiteralDef
+literal
DLT_LOG_VERBOSE:
EcucEnumerationLiteralDef
+parameter DltLogTraceStatusFlag:
EcucBooleanParamDef
DltLogChannelBufferSize:
+parameter EcucIntegerParamDef
min = 0
max = 4294967295
DltLogChannelTransmitCycle:
+parameter EcucFloatParamDef
min = 0.001
max = 1
DltLogChannelMaxMessageLength:
+parameter EcucIntegerParamDef
min = 8
max = 65535
DltLogChannelTrafficShapingBandwidth:
+parameter EcucIntegerParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
DltLogChannelMaxNumOfRetries:
+parameter EcucIntegerParamDef
min = 0
max = 255
defaultValue = 0
DltLogChannelBufferOverflowTimer:
+parameter EcucFloatParamDef
min = 0.001
max = 1
Pdu: EcucParamConfContainerDef
DltTxPdu: +destination
+reference DltTxPduRef:
EcucParamConfContainerDef lowerMultiplicity = 0
EcucReferenceDef
upperMultiplicity = *
lowerMultiplicity = 1
upperMultiplicity = 1
DltTxPduId: EcucIntegerParamDef
min = 0
+subContainer +parameter
max = 65535
lowerMultiplicity = 0
upperMultiplicity = 1
symbolicNameValue = true
+parameter DltTxPduUsesTp:
EcucBooleanParamDef
10.1.17 DltTxPdu
No Included Containers
10.1.18 DltRxPdu
No Included Containers