ecu_diagnostics 0.102.0

A rust crate for ECU diagnostic servers and communication APIs
[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"