.. ******************************************************************************* Copyright (c) 2024 Accenture This program and the accompanying materials are made available under the terms of the Apache License Version 2.0 which is available at https://www.apache.org/licenses/LICENSE-2.0 SPDX-License-Identifier: Apache-2.0 ******************************************************************************* .. _sessions: Sessions ======== UDS operates through diagnostic sessions, which are states in which the ECU operates to perform specific diagnostic or service functions. Each session provides a different level of access to the ECU's functionality. The ECU starts in a default session, but diagnostic tools can request transitions to other sessions to perform specialized operations. Types of UDS Sessions 1. Default Session (0x01), class ``ApplicationDefaultSession``. - **Description:** This is the basic session active upon ECU startup. - **Functionality:** Limited diagnostic services are available, primarily for querying information (e.g., ID requests, DTCs). - **Typical Use Cases:** Basic diagnostics, reading fault codes. 2. Programming Session (0x02), class ``ProgrammingSession``. - **Description:** Used for reprogramming the ECU firmware. - **Functionality:** Enables downloading new software or calibration data into the ECU. - **Typical Use Cases:** ECU flashing, firmware updates. 3. Extended Diagnostic Session (0x03), class ``ApplicationExtendedSession``. - **Description:** Provides enhanced diagnostic functionality beyond the default session. - **Functionality:** Includes advanced capabilities like actuator testing, detailed fault code analysis, and special function testing. - **Typical Use Cases:** In-depth diagnostics, calibration, and testing.