voltage_modbus 0.7.2

A high-performance industrial Modbus library for Rust with TCP and RTU support
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.85.0"
name = "voltage_modbus"
version = "0.7.2"
authors = ["Evan Liu <liuyifanz.1996@gmail.com>"]
build = false
exclude = [
    ".github/*",
    "tests/*",
    "docs/*",
    "target/*",
    "Cargo.lock",
    "*.log",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A high-performance industrial Modbus library for Rust with TCP and RTU support"
homepage = "https://github.com/EvanL1/voltage_modbus"
documentation = "https://docs.rs/voltage_modbus"
readme = "README.md"
keywords = [
    "modbus",
    "industrial",
    "automation",
    "tcp",
    "rtu",
]
categories = [
    "network-programming",
    "embedded",
]
license = "MIT"
repository = "https://github.com/EvanL1/voltage_modbus"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]
targets = ["x86_64-unknown-linux-gnu"]

[features]
default = ["std"]
defmt = [
    "dep:defmt",
    "defmt/alloc",
]
embedded = [
    "dep:embedded-io-async",
    "dep:heapless",
]
igw = [
    "std",
    "dep:igw",
]
rtu = [
    "std",
    "dep:tokio-serial",
]
std = [
    "dep:tokio",
    "dep:thiserror",
    "dep:bytes",
    "dep:chrono",
]
tls = [
    "std",
    "dep:tokio-rustls",
]

[lib]
name = "voltage_modbus"
path = "src/lib.rs"

[[bin]]
name = "demo"
path = "src/bin/demo.rs"
required-features = ["std"]

[[example]]
name = "batch_read"
path = "examples/batch_read.rs"
required-features = ["std"]

[[example]]
name = "data_types"
path = "examples/data_types.rs"
required-features = ["std"]

[[example]]
name = "read_meter"
path = "examples/read_meter.rs"
required-features = ["std"]

[[example]]
name = "tcp_client"
path = "examples/tcp_client.rs"
required-features = ["std"]

[[bench]]
name = "throughput"
path = "benches/throughput.rs"
harness = false
required-features = ["std"]

[dependencies.bytes]
version = "1.4"
optional = true

[dependencies.chrono]
version = "0.4"
optional = true

[dependencies.crc]
version = "3.0"

[dependencies.defmt]
version = "0.3"
optional = true

[dependencies.embedded-io-async]
version = "0.6"
optional = true
default-features = false

[dependencies.heapless]
version = "0.8"
optional = true
default-features = false

[dependencies.igw]
version = "0.2"
optional = true

[dependencies.thiserror]
version = "1.0"
optional = true

[dependencies.tokio]
version = "1.0"
features = ["full"]
optional = true

[dependencies.tokio-rustls]
version = "0.26"
features = [
    "ring",
    "logging",
    "tls12",
]
optional = true
default-features = false

[dependencies.tokio-serial]
version = "5.4"
optional = true

[dependencies.tracing]
version = "0.1"
default-features = false

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[dev-dependencies.proptest]
version = "1.4"

[dev-dependencies.rcgen]
version = "0.13"

[dev-dependencies.tokio-test]
version = "0.4"

[profile.release]
opt-level = 3
lto = true
codegen-units = 1