DEENESPTFRRUARHIKOZHNL

Default Error Tracer (DET)

ModulDET (Default Error Tracer)
BSW-Modul-ID15
Standard-Header#include "Det.h"
SWS-SpezifikationAUTOSAR_SWS_DefaultErrorTracer.pdf
ClusterDiagnostic Services

Module guideAI-GENERATED

Centrally receives error notifications from the basic software and SW-Cs and forwards them to integrator hooks.
AI-GENERATED unreviewed Model: claude-opus-5-5 · Effort: high · Temperature: not controllable · Prompt: 44a890525e71 Provenance Open questions (3)
Causal anchor: R20-11 Valid from R20-11 Synthesized for this specification release.
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Centrally receives error notifications from the basic software and SW-Cs and forwards them to integrator hooks.

The Default Error Tracer centrally receives error notifications from BSW modules and SW-Cs. For this purpose, there are Det_ReportError for development errors, Det_ReportRuntimeError for runtime errors, and Det_ReportTransientFault for transient faults, each with module, instance, API, and error identifiers. DET forwards every notification to all configured hooks or callouts of the integrator [SWS_Det_00501]. Operation is started by Det_Init and Det_Start from EcuM. The most important constraint: In R20-11, Det_ReportError does not return to the caller, but halts program execution like an assertion [SWS_Det_00009].

The Default Error Tracer is the central collection point for error notifications from basic software and software components. It provides three identically structured reporting services with the parameters ModuleId, InstanceId, ApiId, and ErrorId or FaultId: Det_ReportError for development errors, Det_ReportRuntimeError for runtime errors, and Det_ReportTransientFault for transient faults ([SWS_Det_00009], [SWS_Det_01001], [SWS_Det_01003]). EcuM puts DET into operation with Det_Init and then Det_Start ([SWS_Det_00008], SWS DET Fig. 1 p. 34).

det_kontext ecum EcuM det Det ecum->det Det_Init, Det_Start bsw BSW-Module (z. B. CanIf, Dio, Adc) bsw->det Det_ReportError Det_ReportRuntimeError Det_ReportTransientFault swc SW-C rte RTE swc->rte Service-Port DETService rte->det Call with ModuleId/InstanceId (port defined argument values) hooks Integrator-Code (Error-Hooks / Callouts) det->hooks All configured hooks/callouts dlt Dlt (optional) det->dlt Dlt_DetForwardErrorTrace dem Dem / fault memory hooks->dem E.g., Dem call, storage

Context diagram: DET receives notifications from BSW modules and SW-Cs and forwards them to integrator hooks and optionally to Dlt. Sources: SWS DET Fig. 2 p. 28, [SWS_Det_00202]

DET does not evaluate notifications itself. Each reporting service calls all hooks or callouts configured for it (DetErrorHook, DetReportRuntimeErrorCallout, DetReportTransientFaultCallout), specifically with the same parameters as the notification [SWS_Det_00501]. Via this integrator code, DET also reaches DEM or error storage. In doing so, callouts shall be restricted to short, adequate activities ErrorDescription p. 10.

SW-Cs report via the client-server interface DETService. The RTE adds ModuleId and InstanceId as \"port defined argument values\" from the DET configuration; the SW-C always receives E_OK in return ([SWS_Det_00203], [SWS_Det_00204]).

For error scenarios, how the three services return is crucial. Det_ReportError does not return in R20-11: After the hooks, control flow is halted, like with an assertion ([SWS_Det_00009], RS BSWGeneral p. 33). Runtime notifications, on the other hand, return with E_OK. Transient notifications pass on the callout value, or E_OK without a callout SWS DET Fig. 6 p. 36. Transient faults are omitted as of R24-11, and Dlt calls as of R25-11 SWS DET p. 1.

Reporting of a development error via Det_ReportErrorCallerBSW-Modul (Det User)DetIntegrator-CodeAPI call with invalid parameterEntwicklungsfehler erkanntDet_ReportError(ModuleId,InstanceId, ApiId, ErrorId)altDetErrorHook konfiguriertloopFor each configured hook<User_Error_Hooks>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Hook konfiguriertNo hook callsHALT: control flow isnot resumedNo return to reporter("never returns" in R20-11)

Sequence diagram: In the event of a development error, DET calls all configured hooks and then halts without returning to the notifier. Sources: SWS DET Fig. 9.2 p. 34, [SWS_Det_00009]

Role of the Default Error Tracer at the system boundary

The Default Error Tracer (DET) is the central collection point to which basic software modules and software components report detected errors. In R20-11, it provides three identically structured reporting services for this purpose: Det_ReportError for development errors [SWS_Det_00009], Det_ReportRuntimeError for runtime errors [SWS_Det_01001], and Det_ReportTransientFault for transient faults [SWS_Det_01003]. In addition, there are the management services Det_Init, Det_Start, and Det_GetVersionInfo ([SWS_Det_00008], [SWS_Det_00010], [SWS_Det_00011]). DET does not evaluate notifications regarding their content itself. It notifies the configured error hooks with every received notification SWS DET p. 16.

To the outside, DET is narrowly connected. As the only expected interface, the specification mentions optional forwarding to Dlt via Dlt_DetForwardErrorTrace from Dlt_Det.h ([SWS_Det_00211], SWS DET Fig. 2 p. 28). DET only reaches DEM and RTE via integrator-specific code in the callouts ErrorDescription p. 10.

det_kontext ecum EcuM det Det ecum->det Det_Init, Det_Start bsw BSW-Module (z. B. CanIf, Dio, Adc) bsw->det Det_ReportError Det_ReportRuntimeError Det_ReportTransientFault swc SW-C rte RTE swc->rte Service-Port DETService rte->det Call with ModuleId/InstanceId (port defined argument values) hooks Integrator-Code (Error-Hooks / Callouts) det->hooks All configured hooks/callouts dlt Dlt (optional) det->dlt Dlt_DetForwardErrorTrace dem Dem / fault memory hooks->dem E.g., Dem call, storage

Context diagram: DET receives notifications from BSW modules and, via the RTE, from SW-Cs. It is initialized by EcuM and forwards notifications only to configured integrator code and optionally to Dlt. Sources: SWS DET Fig. 2 p. 28, [SWS_Det_00202], [SWS_Det_00211], ErrorDescription p. 10

Startup: Initialization and start by EcuM

The ECU State Manager initializes DET with Det_Init (service ID 0x00). In doing so, it passes a pointer to the selected configuration set of type Det_ConfigType, whose content is implementation-specific ([SWS_Det_00008], [SWS_Det_00210]). Subsequently, Det_Start (service ID 0x02) starts the tracer [SWS_Det_00010]. Both services are synchronous and non-reentrant. The R20-11 diagram shows the two calls consecutively from EcuM SWS DET Fig. 1 p. 34. EcuM accordingly lists Det_Init and Det_ReportError as optional interfaces SWS EcuM p. 142.

The specification does not explain why initialization and start are separated. Interpretation: The division is likely intended to permit initializing DET very early in startup and enabling regular operation only in a later step [SWS_Det_00010]. Question Q-fee4462bdf189dcf (open)

Start-up of the Det by the EcuMEcuMDetDet_Init(ConfigPtr)Initialization with selectedKonfigurationssatz (Det_ConfigType)Return (synchronous)Det_Start()Return (synchronous)Both services synchronous and non-reentrant

Sequence diagram: EcuM first calls Det_Init synchronously with the configuration pointer, then Det_Start. Sources: SWS DET Fig. 1 p. 34, [SWS_Det_00008], [SWS_Det_00010]

Three reporting paths and their identifiers

All three reporting services have the same parameter structure:

  • ModuleId (uint16);
  • InstanceId (uint8), with the value 0 for single-instance modules;
  • ApiId (uint8);
  • ErrorId or FaultId (uint8).

API and error identifiers are defined in each case by the SWS of the reporting module ([SWS_Det_00009], [SWS_Det_01001], [SWS_Det_01003]). The module ID originates from the list of basic software modules. Of that list, the basic software only uses the range 0..255 EXP LSA p. 157.

Which path is appropriate follows from the error classification. Violated fundamental preconditions are development errors and are treated like an assertion; examples are software bugs, faulty integration, or invalid configuration. The remaining errors are runtime or production errors EXP LSA p. 154. If development error detection is configured, BSW modules report development errors with their assigned module ID via Det_ReportError SWS BSWGeneral p. 57. A preprocessor switch such as SPI_DEV_ERROR_DETECT enables or disables the call EXP LSA p. 113.

fehlerklassifikation start Fehler erkannt q1 Grundlegende Vorbedingung verletzt? start->q1 q2 Relevant for (service/EOL) diagnostics? q1->q2 no dev Entwicklungsfehler: Det_ReportError (Programmfluss endet) q1->dev yes prod Production errors (not via Det) q2->prod yes rt Laufzeitfehler: Det_ReportRuntimeError q2->rt no

Activity diagram: If a fundamental precondition is violated, a development error is reported via Det_ReportError. Otherwise, diagnostic relevance decides between production error and runtime error (Det_ReportRuntimeError). Sources: EXP LSA p. 154, [SWS_Det_00009], [SWS_Det_01001]

Runtime errors are reported, for example, by the ADC driver with ADC_E_BUSY or Dds in the case of dropped messages, in each case via Det_ReportRuntimeError (SWS Adc p. 95, SWS Dds p. 53). A BSW module describes its needs with the ServiceNeeds kind ErrorTracerNeeds. It recognizes the roles Det_ReportError, Det_ReportRuntimeError, and Det_ReportTransientFault TPS BSWMDT p. 266.

Hooks and callouts as a bridge to integrator code

Every call to Det_ReportError calls all functions configured in DetErrorHook. Likewise, Det_ReportRuntimeError and Det_ReportTransientFault call all callouts from DetReportRuntimeErrorCallout and DetReportTransientFaultCallout, respectively [SWS_Det_00501]. Hooks and callouts have the signature of the triggering service and receive the same parameters ([SWS_Det_00181], [SWS_Det_00184], [SWS_Det_00187], SWS DET p. 16). The hook interface <User_Error_Hooks> has the service ID 0x10. It is synchronous and reentrant and always returns E_OK SWS DET p. 25.

What the callouts do is determined by the integrator. For runtime and transient faults, they should be limited to few actions: storing the event, calling DEM, or performing another short, adequate activity ErrorDescription p. 10. After a call to Det_ReportRuntimeError, DET always returns with E_OK, regardless of whether callouts are configured or not (SWS DET Fig. 4 p. 35, SWS DET Fig. 5 p. 35).

Det_ReportRuntimeError with and without calloutDet UserDetIntegrator-CodeDet_ReportRuntimeError(ModuleId,InstanceId, ApiId, ErrorId)altDetReportRuntimeErrorCallout konfiguriertloopFor each configured callout<DetReportRuntimeErrorCallout>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Callout konfiguriertNo forwardingE_OKProgram flow of reporter continues

Sequence diagram: Det_ReportRuntimeError calls all configured callouts and returns to the notifier with E_OK in any case. Sources: SWS DET Fig. 4 p. 35, SWS DET Fig. 5 p. 35, [SWS_Det_00501]

For Det_ReportTransientFault, DET, on the other hand, passes the return value of the callout through to the notifier. Without a callout, it returns E_OK (SWS DET Fig. 6 p. 36, SWS DET Fig. 7 p. 36). For multiple callouts, a later version describes a logical OR operation of the return values: E_OK is only returned if all callouts return E_OK. This rule presumably applies already to R20-11 SWS DET p. 24. Question (open)

Det_ReportTransientFault with and without calloutDet UserDetIntegrator-CodeDet_ReportTransientFault(ModuleId,InstanceId, ApiId, FaultId)altDetReportTransientFaultCallout konfiguriertloopFor each configured callout<DetReportTransientFaultCallout>(ModuleId,InstanceId, ApiId, FaultId)Return value XLogically OR return values(assumption for R20-11)Callout-Ergebniskein Callout konfiguriertE_OK

Sequence diagram: Det_ReportTransientFault forwards the return values of the callouts to the notifier; without a callout, it returns E_OK. The OR operation in the case of multiple callouts is marked as an assumption. Sources: SWS DET Fig. 6 p. 36, SWS DET Fig. 7 p. 36, SWS DET p. 24

Connection of software components via service ports

SW-Cs access DET via the client-server interface DETService. Its operations call Det_ReportError or the runtime notification with the module ID of the port [SWS_Det_00202]. ModuleId and InstanceId are not passed by the SW-C itself. The RTE adds them as \"port defined argument values\", whose values originate from DetModuleId and DetInstanceId of the DET configuration ([SWS_Det_00204], [SWS_Det_00205], [SWS_Det_00206]). For SW-Cs, ApiId and ErrorId are not standardized and can be freely assigned in the range 0x00..0xFF. The return value is always E_OK [SWS_Det_00203]. The port interface uses the AUTOSAR data types uint8 and uint16 [SWS_Det_00200].

Error report of an SW-C via the service portSW-CRTEDetReportRuntimeError(ApiId, ErrorId)Via R-Port (DETService)Call with supplemented ModuleId, InstanceId(port defined argument values)Values from DetModuleId / DetInstanceIdof the Det configurationDet_ReportRuntimeError(ModuleId,InstanceId, ApiId, ErrorId)E_OKE_OK

Sequence diagram: The SW-C passes only ApiId and ErrorId. The RTE adds ModuleId and InstanceId from the configuration; the return value is E_OK. Sources: [SWS_Det_00202], [SWS_Det_00203], [SWS_Det_00204], SWS DET Fig. 3 p. 33

Configuration of notifications

The notification functions are located in the optional container DetNotification (multiplicity 0..1). It contains the lists DetErrorHook and DetReportRuntimeErrorCallout (0..* each). DetErrorHook is configured at pre-compile time and requires the function type Std_ReturnType (*f)(uint16, uint8, uint8, uint8) SWS DET p. 37. In R20-11, DetReportTransientFaultCallout is added [SWS_Det_00501]. The parameter diagram also shows the mandatory container DetGeneral with DetVersionInfoApi and DetForwardToDlt SWS DET (alt) Fig. 6 p. 43. From DetConfigSet/DetModule and DetModuleInstance, the configuration forms the ports Det_{Name} along with module and instance identifiers [SWS_Det_00205].

Behavior in the event of an error

Development errors are treated like assertions. After calling the configured hooks, normal control flow is not continued, and DET halts execution, for example by means of an endless loop or a halt instruction RS BSWGeneral p. 33. This matches the entry for Det_ReportError in R20-11 under Sync/Async: \"Not Applicable: The function never returns\" [SWS_Det_00009]. The diagrams show this HALT with and without a configured hook (SWS DET Fig. 9.2 p. 34, SWS DET Fig. 9.3 p. 35).

Reporting of a development error via Det_ReportErrorCallerBSW-Modul (Det User)DetIntegrator-CodeAPI call with invalid parameterEntwicklungsfehler erkanntDet_ReportError(ModuleId,InstanceId, ApiId, ErrorId)altDetErrorHook konfiguriertloopFor each configured hook<User_Error_Hooks>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Hook konfiguriertNo hook callsHALT: control flow isnot resumedNo return to reporter("never returns" in R20-11)

Sequence diagram: A BSW module detects a development error and calls Det_ReportError. DET calls all configured hooks and halts afterwards without returning to the notifier. Sources: SWS DET Fig. 9.2 p. 34, SWS DET Fig. 9.3 p. 35, [SWS_Det_00009], [SWS_Det_00501]

Some diagrams deviate from this. A sequence diagram notes that the synchronous or asynchronous behavior depends on the implementation and draws a return to the caller SWS DET Fig. 5 p. 36. The Dio diagram also shows a return after Det_ReportError SWS Dio Fig. 5 p. 41. Normative for R20-11 is [SWS_Det_00009]. A clarification of the Sync/Async specification only followed with R21-11 SWS DET p. 1.

Runtime and transient faults do not interrupt the program flow: DET returns to the notifier with a return value ([SWS_Det_01001], [SWS_Det_01003]). DET itself only has one development error of its own. DET_E_PARAM_POINTER (0x01) occurs when Det_GetVersionInfo is called with a null pointer [SWS_Det_00301]. A later version specifies that this error is reported to all configured callouts. This is presumably also intended for R20-11 SWS DET p. 18. Question Q-3a7f5865d61186d4 (open)

Further detailed evidence

Later releases change the functional scope. A version from R23-11/R24-11 marks Det_ReportTransientFault as OBSOLETE SWS DET p. 24. According to the change history, transient errors are removed with R24-11 and the Dlt calls with R25-11 SWS DET p. 1. In R20-11, both functions are still part of the specification ([SWS_Det_01003], [SWS_Det_00211]).

AI-generated module guide based on the specification excerpts provided in the payload. Strictly normative for R20-11 are only the linked requirements; statements from other releases are marked as such.

Default Error Tracer (DET)

The DET handles development errors, runtime errors, and transient faults across all BSW modules and SW-Cs.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

function Det_Init [SWS_Det_00008] 📄 PDF

void Det_Init (const Det_ConfigType* ConfigPtr);

Service to initialize the Default Error Tracer.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 03eaeb7bec98 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous function Det_Init serves as a central service for initializing the Default Error Tracer ([SWS_Det_00008]). It is provided via the header file Det.h and has the signature void Det_Init (const Det_ConfigType* ConfigPtr). Via the formal input parameter ConfigPtr, the function accepts a pointer to the selected configuration data set of the module. A return value is not provided for this service ([SWS_Det_00008]).

With respect to runtime behavior, Det_Init is mandatorily specified as non-reentrant (Non Reentrant) ([SWS_Det_00008]). For this reason, the function must under no circumstances be called in parallel or preemptively from different execution contexts during ongoing operation. The module is presumably called centrally during the initialization phase of the basic software, even before other BSW modules or components transmit errors to the DET (interpretation). Question Q-143a3c098d03d7f8 (open)

The function is defined with the service ID 0x00 ([SWS_Det_00008]). Dedicated error codes, specific error handling mechanisms, or separate error messages via DET or DEM are not identified for this initialization call in the present specification excerpt.

Within requirement tracing, the interface satisfies the general AUTOSAR requirements for uniform API naming conventions according to [SRS_BSW_00310] (SWS DefaultErrorTracer §6 “Requirements Tracing”).

This note was generated by an AI based on the AUTOSAR R20-11 specification.

Implementer's Guide to follow (complexity I1)

function Det_ReportError [SWS_Det_00009] 📄 PDF

Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

Service to report development errors.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 52a5f1bc3a91 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The function Det_ReportError serves in AUTOSAR Classic BSW modules to report development errors when error detection is active ([SWS_BSW_00045], [SWS_Det_00009]). The interface is declared reentrant ([SWS_Det_00009]). The execution behavior does not return to the caller ("never returns"); the return type Std_ReturnType exists merely for compatibility with services and hooks ([SWS_Det_00009]).

The passed parameters uniquely identify the error context ([SWS_Det_00009]):

Development errors represent fundamental precondition violations caused by software bugs, misconfigurations, or integration problems (EXP_LayeredSoftwareArchitecture §3 “Error Classification”, [SRS_BSW_00337] wording not yet imported), such as calling an uninitialized module ([SWS_BSW_00243]) or invalid parameters ([SWS_CANIF_00538]). They are handled like assertions: After calling all callbacks configured in DetErrorHook ([SWS_Det_00501]), normal control flow must not continue; the DET stops execution, for example, by means of an endless loop, halt instruction, or reset ([SRS_BSW_00337] wording not yet imported, EXP_LayeredSoftwareArchitecture §3 “Error Classification”).

This usage note was generated by an AI based on the AUTOSAR R20-11 specification.

Implementer's Guide to follow (complexity I2)

function Det_Start [SWS_Det_00010] 📄 PDF

void Det_Start (void);

Service to start the Default Error Tracer.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: c7a7762c6c8d Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous API function Det_Start serves to start the Default Error Tracer (DET) ([SWS_Det_00010]). This service is declared in header file Det.h under service ID 0x02 (SWS_DefaultErrorTracer §8.1.3.3 “Det_Start”). According to the syntax void Det_Start(void), the function takes neither input nor output parameters and returns no return value to the caller ([SWS_Det_00010]).

Specific conditions apply to integration and execution:

  • Reentrancy and concurrency: The function is defined as non-reentrant (Non Reentrant) ([SWS_Det_00010]). Concurrent calls from multiple tasks or interrupting contexts are not permissible.
  • Call context: Interpretation: The call is likely to occur centrally during system startup after basic initialization in order to activate error tracing in the ECU. Question Q-b28f205b1cc7acfa (open)
  • Error handling: The interface reports no error states; in the specification excerpt, neither error codes nor DET or DEM events are defined for this call ([SWS_Det_00010]).

In the overall system, Det_Start fulfills the standardized naming convention for AUTOSAR basic software according to [SRS_BSW_00310] wording not yet imported (SWS_DefaultErrorTracer §6 “Requirements Tracing”).

This text was generated by an AI based on the AUTOSAR specification R20-11.

Implementer's Guide to follow (complexity I1)

function Det_ReportRuntimeError [SWS_Det_01001] 📄 PDF

Std_ReturnType Det_ReportRuntimeError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, faultErrorTracer uint8 ErrorId);

Service to report runtime errors. If a callout has been configured then this callout shall be called.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: a935ac5290c8 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The function [SWS_Det_01001] serves as a central BSW service in Det.h for receiving runtime errors. It operates synchronously and is designed to be reentrant [SWS_Det_01001].

Usage and Parameters

When reporting errors, calling BSW modules pass four mandatory parameters to [SWS_Det_01001]:

  • ModuleId: Module identifier of the reporting BSW module.
  • InstanceId: Index-based instance number (for modules with only one instance, the value 0).
  • ApiId: Identifier of the API function in which the error occurred.
  • ErrorId: Module-specific identifier of the detected runtime error.

The service always returns the return value E_OK to the calling module [SWS_Det_01001].

Interaction and Error Handling

According to the AUTOSAR architecture, runtime errors are distinguished from development errors (which violate fundamental preconditions) and production errors (which are relevant for workshop diagnostics) EXP_LayeredSoftwareArchitecture §Integration and Runtime Aspects. The service is integrated, for example, as a mandatory interface by the ADC driver [SWS_Adc_00530] or DDS [CP_SWS_Dds_00832] wording not yet imported.

In CanIf, for example, a transmission attempt via an offline channel leads to the reporting of CANIF_E_STOPPED [SWS_CANIF_00382], while length exceedances without truncation are reported as CANIF_E_TXPDU_LENGTH_EXCEEDED [SWS_CANIF_00900].

When [SWS_Det_01001] is called, all callout functions configured in the configuration parameter DetReportRuntimeErrorCallout are executed [SWS_Det_00503]. If no error hooks have been configured, additional function calls are omitted, while forwarding to the DLT remains active provided it is configured [SWS_Det_00503].

This usage note was generated automatically based on the AUTOSAR R20-11 specification status.

Implementer's Guide to follow (complexity I2)

function Det_ReportTransientFault [SWS_Det_01003] 📄 PDF

Std_ReturnType Det_ReportTransientFault (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);

Service to report transient faults. If a callout has been configured than this callout shall be called and the returned value of the callout shall be returned. Otherwise it returns immediately with E_ OK.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: a646ffef7d6e Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous and reentrant function Det_ReportTransientFault (service ID 0x05) serves BSW modules for the standardized reporting of detected transient errors to the Default Error Tracer ([SWS_BSW_00225], [SWS_Det_01003]). The service is declared via header Det.h, but is marked as obsolete (OBSOLETE) in release R20-11 (SWS_DefaultErrorTracer §8.1.3.5 “Det_ReportTransientFault”).

Upon invocation, exclusively input parameters are passed: the identifier of the calling module (ModuleId), the instance index (InstanceId, where single-instance modules pass 0), the service ID of the error-detecting API (ApiId), and the error number (FaultId), which according to SWS_BSWGeneral §7.2.4.4 “Reporting” must be of type uint8 ([SWS_Det_01003]).

The call forwards the error to configured callout functions and evaluates their feedback:

  • A call leads to the execution of all callbacks configured under DetReportTransientFaultCallout ([SWS_Det_00502]).
  • If no configured callout exists, the function terminates immediately and returns the value E_OK ([SWS_Det_01003]).
  • If exactly one callout is configured, Det_ReportTransientFault returns its return value of type Std_ReturnType ([SWS_Det_01003]).
  • If multiple callouts are present, the logical OR combination (sum) of all callout return values is formed. Since E_OK = 0 is defined, the function returns E_OK only if all callouts respond error-free with E_OK ([SWS_Det_01003]).

Regarding concurrency and execution environment, the function is designed to be reentrant, which is why it can be called concurrently from different module contexts ([SWS_Det_01003]).

This text was generated by an AI based on the AUTOSAR specification R20-11.

Implementer's Guide to follow (complexity I1)

function <User_Error_Hooks> [SWS_Det_00181] 📄 PDF

Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

-

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: ff89a131530f Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The configurable interface <User_Error_Hooks> defines the invocation of user-defined callout functions upon the detection of development errors [SWS_Det_00181]. As soon as function Det_ReportError is called, all callouts configured for this in the system must be executed synchronously [SWS_Det_00180]. The declaration of this interface is provided via header Det_Externals.h SWS DefaultErrorTracer §8.1.5 “Callout Functions / Configurable Interfaces”.

The function has the service ID 0x10 and passes four diagnostic parameters for error analysis [SWS_Det_00181]:

  • ModuleId: Unique module ID of the calling BSW module.
  • InstanceId: Identifier of the module instance, starting at 0 (for modules with only one instance, 0 is passed).
  • ApiId: Identifier of the affected API function according to the specification of the respective module.
  • ErrorId: Identifier of the specific development error.

According to the specification, the interface always returns the return value E_OK, as required for such services [SWS_Det_00181]. Custom error codes or alternative status values cannot be reported back to the caller via the interface.

Regarding execution, <User_Error_Hooks> is designed to be synchronous and reentrant [SWS_Det_00181]. If multiple callouts are defined for the same service, they must have the same signature and service ID [SWS_Det_00180]. Interpretation: Since processing takes place directly in the call context of Det_ReportError, user hooks should not use blocking mechanisms in order not to delay system execution. Question Q-acd1afcd9336992f (open)

This usage note was generated automatically based on the AUTOSAR R20-11 specification.

function <DetReportRuntimeErrorCallout> [SWS_Det_00184] 📄 PDF

Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

-

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 19a5d54e4d0b Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The configurable callout interface <DetReportRuntimeErrorCallout> serves for user-specific capture and further processing of runtime errors in the Default Error Tracer (SWS_DefaultErrorTracer §8.1.5 “Callout Functions / Configurable Interfaces”). As soon as the function Det_ReportRuntimeError is called, the DET synchronously executes all callout functions configured for it ([SWS_Det_00180], [SWS_Det_00503]). Configured callout functions are provided via the header file Det_Externals.h and have the service ID 0x11 ([SWS_Det_00184]).

Parameters and Return Value

  • ModuleId (uint16): Numerical identifier of the BSW module reporting the runtime error ([SWS_Det_00184]).
  • InstanceId (uint8): Module instance index, starting at 0; for single instances, 0 is always passed ([SWS_Det_00184]).
  • ApiId (uint8): Identifier of the API service in which the runtime error occurred ([SWS_Det_00184]).
  • ErrorId (uint8): Module-specific identifier of the detected runtime error ([SWS_Det_00184]).
  • Return value: According to the service specification, type Std_ReturnType always returns E_OK ([SWS_Det_00184]).

Concurrency and behavior

The callout function is specified as reentrant and is processed synchronously in the execution context of the reporting entity ([SWS_Det_00184]). All callouts configured for the same service must have the same signature and service ID ([SWS_Det_00180]). Since the return value is fixed to E_OK, no feedback of error states to the DET takes place via the callout.

Note: This usage note was generated automatically based on the AUTOSAR Classic R20-11 specification.

function <DetReportTransientFaultCallout> [SWS_Det_00187] 📄 PDF

Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);

-

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: aceceb0a4117 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The callout hook [SWS_Det_00187] serves for application-specific handling of transient faults in the Default Error Tracer (DET). The function is executed synchronously and is defined with the service ID 0x12 [SWS_Det_00187]. It takes four input parameters:

  • ModuleId: Module identifier of the calling software module [SWS_Det_00187].
  • InstanceId: Index-based instance ID of the module starting at 0, where single-instance modules must pass the value 0 [SWS_Det_00187].
  • ApiId: Identifier of the API service in which the transient fault occurred [SWS_Det_00187].
  • FaultId: Identifier of the detected transient fault according to the SWS of the calling module [SWS_Det_00187].

As return value, the interface provides a value of type Std_ReturnType, which is directly propagated to the caller of Det_ReportTransientFault [SWS_Det_00187]. The declaration is provided via the header file Det_Externals.h [SWS_Det_00187].

Regarding concurrency, the function is specified as reentrant [SWS_Det_00187]. Since the return value is passed on synchronously, the callout implementation should not contain any blocking operations in order not to impermissibly delay execution of the reporting module. Question Q-23eaffed8be030bb (open)

This text was generated by an AI based on the specification data.

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

Record
AUTOSAR/AP/record/CP_MOD_Det
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Det@rel:R20-11#272e23bd
Content hash
272e23bd
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DefaultErrorTracer.pdf#nameddest=SWS_Det_00008

Initialization and status

Returns the version information of this module.

void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);
Det_Init function

Service to initialize the Default Error Tracer.

void Det_Init (const Det_ConfigType* ConfigPtr);

Services

Service to report development errors.

Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

Service to report runtime errors. If a callout has been configured then this callout shall be called.

Std_ReturnType Det_ReportRuntimeError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, faultErrorTracer uint8 ErrorId);

Service to report transient faults. If a callout has been configured than this callout shall be called and the returned value of the callout shall be returned. Otherwise it returns immediately with E_ OK.

Std_ReturnType Det_ReportTransientFault (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);
Det_Start function

Service to start the Default Error Tracer.

void Det_Start (void);

Callouts and expected interfaces

-

Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

-

Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);

-

Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

Types

Configuration data structure of the Det module.