roboplc 0.5.1

Framework for PLCs and real-time micro-services
Documentation
[dependencies.atomic-timer]
features = ["serde"]
version = "0.2"

[dependencies.binrw]
version = "0.14.0"

[dependencies.bma-ts]
features = ["serde"]
version = "0.1"

[dependencies.busrt]
features = ["rpc", "ipc"]
optional = true
version = "0.4.9"

[dependencies.bytemuck]
version = "1.17.1"

[dependencies.bytes]
version = "1.7.1"

[dependencies.colored]
version = "1"

[dependencies.env_logger]
version = "0.10"

[dependencies.eva-common]
default-features = false
features = ["events", "payload", "common-payloads", "acl"]
optional = true
version = "^0.3.88"

[dependencies.eva-sdk]
features = ["controller"]
optional = true
version = "^0.3.62"

[dependencies.hostname]
optional = true
version = "0.3.1"

[dependencies.libc]
version = "0.2.153"

[dependencies.log]
version = "0.4.21"

[dependencies.metrics]
optional = true
version = "0.24"

[dependencies.metrics-exporter-prometheus]
default-features = false
features = ["http-listener"]
optional = true
version = "0.16.0"

[dependencies.metrics-exporter-scope]
optional = true
version = "0.2.0"

[dependencies.nix]
features = ["signal"]
version = "0.27"

[dependencies.object-id]
version = "0.1.3"

[dependencies.once_cell]
optional = true
version = "1.19.0"

[dependencies.oneshot]
default-features = false
features = ["std"]
version = "0.1.6"

[dependencies.parking_lot]
optional = true
version = "0.12.3"

[dependencies.parking_lot_rt]
optional = true
version = "0.12.1"

[dependencies.pin-project]
version = "1.1.5"

[dependencies.rflow]
default-features = false
optional = true
version = "^0.1.1"

[dependencies.rmodbus]
optional = true
version = "0.9.4"

[dependencies.rmp-serde]
optional = true
version = "1.3.0"

[dependencies.roboplc-derive]
version = "0.3"

[dependencies.rtsc]
version = "^0.3.12"

[dependencies.rvideo]
default-features = false
optional = true
version = "0.5"

[dependencies.serde]
features = ["derive", "rc"]
version = "1.0"

[dependencies.serde_json]
optional = true
version = "1.0.134"

[dependencies.serial]
version = "0.4.0"

[dependencies.signal-hook]
version = "0.3.17"

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

[dependencies.sysinfo]
version = "0.29"

[dependencies.thiserror]
version = "1.0.57"

[dependencies.tokio]
optional = true
version = "1.36.0"

[dependencies.tracing]
version = "0.1.40"

[dev-dependencies.insta]
version = "1.36.1"

[dev-dependencies.log]
version = "0.4.21"

[dev-dependencies.tokio]
features = ["rt", "macros", "time"]
version = "=1.36.0"

[dev-dependencies.tokio-util]
version = "=0.7.11"

[dev-dependencies.tracing]
features = ["log"]
version = "0.1.40"

[[example]]
name = "modbus-master"
path = "examples/modbus-master.rs"
required-features = ["modbus"]

[[example]]
name = "modbus-slave"
path = "examples/modbus-slave.rs"
required-features = ["modbus"]

[[example]]
name = "raw-udp"
path = "examples/raw-udp.rs"

[[example]]
name = "shutdown"
path = "examples/shutdown.rs"

[[example]]
name = "shutdown-custom"
path = "examples/shutdown-custom.rs"

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

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

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

[[example]]
name = "snmp-modbus"
path = "examples/snmp-modbus.rs"
required-features = ["modbus", "snmp2"]

[features]
async = ["dep:parking_lot_rt"]
default = ["locking-default"]
eapi = ["eva-common", "eva-sdk", "busrt", "tokio", "hostname", "once_cell"]
full = ["eapi", "modbus", "metrics", "pipe", "rvideo", "rflow", "async", "json", "msgpack"]
json = ["serde_json"]
locking-default = ["dep:parking_lot", "rtsc/parking_lot", "rvideo?/locking-default", "rflow?/locking-default"]
locking-rt = ["dep:parking_lot_rt", "rvideo?/locking-rt", "rflow?/locking-rt"]
locking-rt-safe = ["rvideo?/locking-rt-safe", "rflow?/locking-rt-safe"]
metrics = ["dep:metrics", "metrics-exporter-prometheus", "metrics-exporter-scope", "tokio"]
modbus = ["rmodbus"]
msgpack = ["rmp-serde"]
pipe = ["tokio/process", "tokio/io-util", "tokio/macros", "tokio/rt", "tokio/time"]
rflow = ["dep:rflow"]
rvideo = ["dep:rvideo"]

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

[package]
authors = ["Serhij S. <div@altertech.com>"]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = false
description = "Framework for PLCs and real-time micro-services"
edition = "2021"
keywords = ["realtime", "robots", "plc", "industrial"]
license = "Apache-2.0"
name = "roboplc"
readme = "README.md"
repository = "https://github.com/roboplc/roboplc"
version = "0.5.1"

[package.metadata.docs.rs]
features = ["full"]

[package.metadata.playground]
features = ["full"]

[target."cfg(windows)".dependencies.parking_lot_rt]
version = "0.12.1"