| Crates.io | libautomotive |
| lib.rs | libautomotive |
| version | 0.1.2 |
| created_at | 2025-02-23 12:34:45.865953+00 |
| updated_at | 2025-03-08 17:21:00.377825+00 |
| description | A Rust library for automotive systems and protocols |
| homepage | https://shishir-dey.github.io/libautomotive/ |
| repository | https://github.com/shishir-dey/libautomotive |
| max_upload_size | |
| id | 1566328 |
| size | 173,547 |
A comprehensive Rust library for automotive protocol implementations, following the OSI layer model for clear separation of concerns. The library provides support for various automotive protocols including CAN, CAN-FD, ISO-TP, J1939, ISOBUS, UDS, and OBD-II.
git clone https://github.com/shishir-dey/libautomotive.git
cd libautomotive
cargo build
cargo build --release
Run the test suite:
cargo test
For verbose test output:
cargo test -- --nocapture
use libautomotive::application::{uds, obdii};
use libautomotive::transport::isobus_diagnostic;
// 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);
// ISOBUS Diagnostic example
let mut isobus_diag = isobus_diagnostic::ISOBUSDiagnosticProtocol::new();
let dtc = isobus_diagnostic::DiagnosticTroubleCode::new(100, 1); // SPN: 100, FMI: 1
isobus_diag.add_dtc(dtc);
MIT
This library draws inspiration from and acknowledges the following open-source projects: