tree: f610d85eb24604664ce206a4847215f371b21489 [path history] [tgz]
  1. .github/
  2. .gitlab/
  3. patches/
  4. src/
  5. .android-checksum.json
  6. .cargo-checksum.json
  7. .cargo_vcs_info.json
  8. .gitlab-ci.yml
  9. .python-version
  10. Android.bp
  11. Cargo.lock
  12. Cargo.toml
  13. Cargo.toml.orig
  14. cargo_embargo.json
  15. CHANGELOG.md
  16. LICENSE
  17. METADATA
  18. MODULE_LICENSE_MIT
  19. pyproject.toml
  20. README.md
  21. uv.lock
crates/doip-definitions/README.md

Diagnostics over Internet Protocol (DoIP) Definitions

An open-source implementation of Diagnostics over Internet Protocol (DoIP) standards, focused on data structures, types, and constants for vehicle Electronic Control Unit (ECU) diagnostics.

Features

  • DoIP Protocol Compliance: Provides data structures and types in alignment with ISO 13400 standards.
  • Extensive Utility Functions: Includes helpers for encoding/decoding DoIP messages and managing diagnostic data.
  • Lightweight and Modular: Designed as a foundational library for integrating DoIP capabilities into larger projects.
  • Customizable and Extensible: Easily extendable to support additional diagnostic services or integrate with networking layers.

Getting Started

Prerequisites

  • Rust programming language (latest stable version). Install Rust from rust-lang.org.

Installation

To use this library, add it as a dependency in your Cargo.toml file:

[dependencies]
doip-definitions = "1.0.0"

Documentation

Comprehensive documentation is available here (link to hosted docs).

Development

Building the Project

Clone the repository and build the project using Cargo:

git clone https://github.com/samp-reston/doip-definitions.git
cd doip-definitions
cargo build

Running Tests

Run unit tests to ensure functionality:

cargo test

Contributing

We welcome contributions! Please read the CONTRIBUTING.md for guidelines on submitting issues and pull requests.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For support, questions, or feature requests, please open an issue on the GitHub repository.