[package]
edition = "2024"
name = "mbus-async"
version = "0.14.0"
authors = ["Raghava Ch <ch.raghava44@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Native async Modbus client and server stack for Tokio-based applications"
homepage = "https://github.com/Raghava-Ch"
readme = "README.md"
keywords = [
"modbus",
"embedded",
"no-std",
"device",
]
categories = [
"embedded",
"no-std",
]
license-file = "LICENSE"
repository = "https://github.com/Raghava-Ch/modbus-rs"
resolver = "2"
[features]
coils = [
"mbus-core/coils",
"mbus-client/coils",
]
default = [
"network-tcp",
"coils",
"registers",
"discrete-inputs",
"fifo",
"file-record",
"diagnostics",
]
diagnostics = [
"mbus-core/diagnostics",
"mbus-client/diagnostics",
]
diagnostics-stats = ["diagnostics"]
discrete-inputs = [
"mbus-core/discrete-inputs",
"mbus-client/discrete-inputs",
]
fifo = [
"mbus-core/fifo",
"mbus-client/fifo",
]
file-record = [
"mbus-core/file-record",
"mbus-client/file-record",
]
full = [
"default",
"traffic",
]
holding-registers = [
"mbus-core/holding-registers",
"mbus-client/holding-registers",
]
input-registers = [
"mbus-core/input-registers",
"mbus-client/input-registers",
]
logging = [
"dep:log",
"mbus-core/logging",
]
network-tcp = [
"dep:mbus-network",
"mbus-network/async",
"tokio/net",
"tokio/rt",
]
registers = [
"holding-registers",
"input-registers",
]
serial-ascii = [
"dep:mbus-serial",
"mbus-core/serial-ascii",
"mbus-client/serial-ascii",
"mbus-serial/async",
]
serial-rtu = [
"dep:mbus-serial",
"mbus-serial/async",
]
server-serial = [
"dep:mbus-serial",
"mbus-serial/async",
"dep:mbus-macros",
]
server-tcp = [
"dep:mbus-network",
"mbus-network/async",
"tokio/net",
"tokio/rt",
"dep:mbus-macros",
]
traffic = ["mbus-client/traffic"]
[lib]
name = "mbus_async"
path = "src/lib.rs"
[[example]]
name = "async_server_tcp"
path = "examples/async_server_tcp.rs"
required-features = [
"server-tcp",
"coils",
"registers",
]
[dependencies.heapless]
version = "0.9.0"
[dependencies.log]
version = "0.4.29"
optional = true
default-features = false
[dependencies.mbus-client]
version = "0.14.0"
default-features = false
[dependencies.mbus-core]
version = "0.14.0"
features = ["async"]
[dependencies.mbus-macros]
version = "0.14.0"
optional = true
[dependencies.mbus-network]
version = "0.14.0"
optional = true
[dependencies.mbus-serial]
version = "0.14.0"
optional = true
[dependencies.tokio]
version = "1"
features = [
"sync",
"macros",
"rt",
"time",
]
[dev-dependencies.anyhow]
version = "1.0"
[dev-dependencies.mbus-server]
version = "0.14.0"
[dev-dependencies.tokio]
version = "1"
features = ["full"]