[build-dependencies.toml]
version = "0.9.8"
[dependencies.env_logger]
version = "0.11.8"
[dependencies.log]
version = "0.4.28"
[dependencies.once_cell]
version = "1.21.3"
[dependencies.serde]
features = ["derive"]
version = "1.0.228"
[dependencies.serde_json]
version = "1.0.145"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
features = ["net", "rt-multi-thread", "macros", "io-util", "time", "sync"]
version = "1.48.0"
[dependencies.toml]
version = "0.9.8"
[dependencies.tracing]
version = "0.1"
[dev-dependencies.tempfile]
version = "3.23.0"
[[example]]
name = "cross_protocol_demo"
path = "examples/cross_protocol_demo.rs"
[[example]]
name = "do_write_m20"
path = "examples/do_write_m20.rs"
[[example]]
name = "dump_words"
path = "examples/dump_words.rs"
[[example]]
name = "echo_probe"
path = "examples/echo_probe.rs"
[[example]]
name = "parse_frame"
path = "examples/parse_frame.rs"
[[example]]
name = "read_f32_range"
path = "examples/read_f32_range.rs"
[[example]]
name = "read_f32_test"
path = "examples/read_f32_test.rs"
[[example]]
name = "simple"
path = "examples/simple.rs"
[[example]]
name = "write_various_types"
path = "examples/write_various_types.rs"
[lib]
crate-type = ["cdylib", "rlib"]
name = "melsec_mc"
path = "src/lib.rs"
[package]
authors = ["tyaro"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["network-programming", "embedded"]
description = "A small Rust library to talk to Mitsubishi PLCs via MC Protocol (Ethernet) - transport layer and helpers"
documentation = "https://docs.rs/melsec_mc"
edition = "2021"
exclude = ["target/**", "**/*.rs.bk", "logs/**", "sled_db/**", "ci_artifacts/**", "release_artifacts/**", ".github/**", "scripts/**", "examples/archived/**"]
homepage = "https://github.com/tyaro/melsec_mc"
keywords = ["melsec", "plc", "mc-protocol", "industrial", "automation"]
license = "MIT"
name = "melsec_mc"
readme = "README.md"
repository = "https://github.com/tyaro/melsec_mc"
version = "0.4.13"
[[test]]
name = "command_registry_tests"
path = "tests/command_registry_tests.rs"
[[test]]
name = "decode_read_bits_m0_20"
path = "tests/decode_read_bits_m0_20.rs"
[[test]]
name = "device_registry_oncecell"
path = "tests/device_registry_oncecell.rs"
[[test]]
name = "diag_build_write_bits"
path = "tests/diag_build_write_bits.rs"
[[test]]
name = "diag_write_packing_comparison"
path = "tests/diag_write_packing_comparison.rs"
[[test]]
name = "echo_boundaries"
path = "tests/echo_boundaries.rs"
[[test]]
name = "echo_integration"
path = "tests/echo_integration.rs"
[[test]]
name = "error_codes_merge"
path = "tests/error_codes_merge.rs"
[[test]]
name = "parallel_read_only"
path = "tests/parallel_read_only.rs"
[[test]]
name = "parallel_real_rw"
path = "tests/parallel_real_rw.rs"
[[test]]
name = "parse_read_bits"
path = "tests/parse_read_bits.rs"
[[test]]
name = "read_d0"
path = "tests/read_d0.rs"
[[test]]
name = "single_write_bit"
path = "tests/single_write_bit.rs"
[[test]]
name = "single_write_nibbles"
path = "tests/single_write_nibbles.rs"
[[test]]
name = "single_write_words"
path = "tests/single_write_words.rs"
[[test]]
name = "transport_tests"
path = "tests/transport_tests.rs"