[badges.maintenance]
status = "actively-developed"
[dependencies.automotive_diag]
version = "0.1.25"
[dependencies.bitflags]
version = "2.10.0"
[dependencies.enum-repr]
optional = true
version = "0.2.6"
[dependencies.j2534_rust]
optional = true
version = "1.5.0"
[dependencies.libloading]
optional = true
version = "0.9.0"
[dependencies.log]
version = "0.4.28"
[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0.219"
[dependencies.serde_json]
optional = true
version = "1.0.145"
[dependencies.serialport]
optional = true
version = "4.8.1"
[dependencies.strum]
version = "0.27.2"
[dependencies.strum_macros]
version = "0.27.2"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.winapi]
optional = true
version = "0.3.9"
[dev-dependencies.env_logger]
version = "0.11.8"
[features]
default = ["passthru", "socketcan", "slcan"]
passthru = ["dep:libloading", "dep:shellexpand", "dep:winreg", "dep:serde_json", "dep:j2534_rust"]
pcan-usb = ["dep:libloading", "dep:winapi", "dep:enum-repr"]
serde = ["dep:serde", "bitflags/serde", "automotive_diag/serde"]
slcan = ["dep:serialport"]
socketcan = ["dep:socketcan-isotp", "dep:socketcan"]
[lib]
name = "ecu_diagnostics"
path = "src/lib.rs"
[package]
authors = ["Ashcon Mohseninia <ashconm@outlook.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
description = "A rust crate for ECU diagnostic servers and communication APIs"
edition = "2021"
exclude = ["examples/*", "build.rs", "ecu_diagnostics.hpp"]
keywords = ["socketcan", "kwp2000", "uds", "j2534", "slcan"]
license = "MIT"
name = "ecu_diagnostics"
readme = "README.md"
repository = "https://github.com/rnd-ash/ecu_diagnostics"
version = "0.102.0"
[package.metadata.docs.rs]
all-features = true
targets = ["x86_64-unknown-linux-gnu", "i686-pc-windows-msvc", "x86_64-apple-darwin"]
[target.'cfg(target_os = "linux")'.dependencies.socketcan]
optional = true
version = "3.5.0"
[target.'cfg(target_os = "linux")'.dependencies.socketcan-isotp]
optional = true
version = "1.0.2"
[target."cfg(unix)".dependencies.shellexpand]
optional = true
version = "3.1.1"
[target."cfg(windows)".dependencies.winreg]
optional = true
version = "0.10.1"