1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//! Application layer implementations for automotive protocols.
//!
//! This module provides implementations for application layer protocols:
//! - UDS (ISO 14229-1) - Unified Diagnostic Services
//! - OBD-II (ISO 15031) - On-Board Diagnostics
//!
//! The application layer provides high-level diagnostic and monitoring services:
//!
//! ## UDS (Unified Diagnostic Services)
//! - ECU programming and configuration
//! - Diagnostic trouble code (DTC) management
//! - Data reading and writing
//! - Routine control
//! - Security access
//!
//! ## OBD-II (On-Board Diagnostics)
//! - Emissions-related diagnostics
//! - Real-time parameter monitoring
//! - Freeze frame data access
//! - Standard diagnostic trouble codes
//! - Mode-based service requests
//!
//! # Examples
//!
//! ```rust,no_run
//! use libautomotive::application::{uds, obdii};
//!
//! // UDS example
//! let uds_config = uds::Config::default();
//! let uds_interface = uds::Interface::new(uds_config);
//!
//! // OBD-II example
//! let obd_config = obdii::Config::default();
//! let obd_interface = obdii::Interface::new(obd_config);
//! ```
use crateResult;
use crateConfig;
pub use Obd;
pub use Uds;
/// Application layer trait that must be implemented by UDS and OBD-II