Automotive Protocol Analyzer & Monitoring Tool
A high-performance monitoring app built with Qt/QML and Python to analyze Saleae Logic exports for UDS and OBD-II diagnostics.
Project Overview
Automotive communication analysis often involves dealing with massive datasets captured via hardware sniffers. This project is a custom-developed Protocol Analyzer that processes raw text exports from Saleae Logic. It seamlessly bridges hardware-level signal capture with high-level diagnostic interpretation, specifically focusing on Service Identifiers (SID) and Diagnostic Trouble Codes (DTC).
System Architecture
The application leverages a hybrid architecture to ensure both visual fluidity and computational efficiency:
1. The Frontend: Qt/QML
The user interface is crafted using QML, providing a responsive and modern experience. It features real-time data filtering and customized views for different diagnostic sessions, making it easy to navigate through thousands of hex frames.
2. The Backend: Python Integration
C/C++ and Python serves as the analytical core. It ingests the Saleae text files and applies complex regex-based parsing to:
- Identify UDS Request/Response pairs.
- Categorize traffic based on SID (e.g., Session Control, Security Access).
- Extract and decode DTCs from the data stream.
Workflow: From Waves to Insights
Technical Highlights
- Cross-Technology Integration: Utilizing PySide/PyQt to connect Python’s data processing power with QML’s UI flexibility.
- Dynamic Filtering: Users can filter logs by specific ECU IDs or Diagnostic SIDs in real-time.
- Automated DTC Mapping: Built-in dictionary to resolve hex values into standard automotive fault descriptions.