mavlink 0.18.0

Implements the MAVLink data interchange format for UAVs.
# 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 = "2024"
rust-version = "1.85.0"
name = "mavlink"
version = "0.18.0"
authors = [
    "Todd Stellanova",
    "Michal Podhradsky",
    "Kevin Mehall",
    "Tim Ryan",
    "Patrick José Pereira",
    "Ibiyemi Abiodun",
]
build = "build/main.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Implements the MAVLink data interchange format for UAVs."
readme = "README.md"
keywords = [
    "mavlink",
    "parser",
    "protocol",
    "embedded",
]
categories = [
    "aerospace",
    "aerospace::protocols",
    "parsing",
    "embedded",
]
license = "MIT/Apache-2.0"
repository = "https://github.com/mavlink/rust-mavlink"
resolver = "1"

[package.metadata.docs.rs]
all-features = true

[features]
arbitrary = [
    "dep:arbitrary",
    "dep:rand",
    "mavlink-bindgen/arbitrary",
    "mavlink-core/arbitrary",
    "bitflags/arbitrary",
]
default = [
    "std",
    "transport-tcp",
    "transport-udp",
    "transport-direct-serial",
    "serde",
    "dialect-ardupilotmega",
    "dialect-common",
    "format-generated-code",
]
dialect-all = []
dialect-ardupilotmega = []
dialect-asluav = []
dialect-avssuas = []
dialect-common = []
dialect-csairlink = []
dialect-cubepilot = []
dialect-development = []
dialect-icarous = []
dialect-loweheiser = []
dialect-marsh = []
dialect-matrixpilot = []
dialect-minimal = []
dialect-paparazzi = []
dialect-python_array_test = []
dialect-standard = []
dialect-stemstudios = []
dialect-storm32 = []
dialect-test = []
dialect-ualberta = []
dialect-uavionix = []
embedded = ["mavlink-core/embedded"]
format-generated-code = []
mav2-message-extensions = ["mavlink-bindgen/mav2-message-extensions"]
mav2-message-signing = ["mavlink-core/mav2-message-signing"]
serde = [
    "bitflags/serde",
    "dep:serde",
    "dep:serde_arrays",
    "mavlink-core/serde",
]
std = ["mavlink-core/std"]
tokio = ["mavlink-core/tokio"]
transport-direct-serial = ["mavlink-core/transport-direct-serial"]
transport-tcp = ["mavlink-core/transport-tcp"]
transport-udp = ["mavlink-core/transport-udp"]
ts-rs = ["dep:ts-rs"]

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

[[test]]
name = "agnostic_decode_test"
path = "tests/agnostic_decode_test.rs"

[[test]]
name = "direct_serial_tests"
path = "tests/direct_serial_tests.rs"

[[test]]
name = "encode_decode_tests"
path = "tests/encode_decode_tests.rs"

[[test]]
name = "file_connection_tests"
path = "tests/file_connection_tests.rs"

[[test]]
name = "helper_tests"
path = "tests/helper_tests.rs"

[[test]]
name = "invalid_value_test"
path = "tests/invalid_value_test.rs"

[[test]]
name = "mav_frame_tests"
path = "tests/mav_frame_tests.rs"

[[test]]
name = "parse_test"
path = "tests/parse_test.rs"

[[test]]
name = "process_log_files"
path = "tests/process_log_files.rs"

[[test]]
name = "random_test"
path = "tests/random_test.rs"

[[test]]
name = "serde_test"
path = "tests/serde_test.rs"

[[test]]
name = "signing"
path = "tests/signing.rs"

[[test]]
name = "target_fields_tests"
path = "tests/target_fields_tests.rs"

[[test]]
name = "tcp_loopback_async_tests"
path = "tests/tcp_loopback_async_tests.rs"

[[test]]
name = "tcp_loopback_tests"
path = "tests/tcp_loopback_tests.rs"

[[test]]
name = "udp_loopback_async_tests"
path = "tests/udp_loopback_async_tests.rs"

[[test]]
name = "udp_loopback_tests"
path = "tests/udp_loopback_tests.rs"

[[test]]
name = "v1_encode_decode_tests"
path = "tests/v1_encode_decode_tests.rs"

[[test]]
name = "v2_encode_decode_tests"
path = "tests/v2_encode_decode_tests.rs"

[dependencies.arbitrary]
version = "1.4"
features = ["derive"]
optional = true

[dependencies.bitflags]
version = "2.9.1"
default-features = false

[dependencies.mavlink-core]
version = "=0.18.0"
default-features = false

[dependencies.num-derive]
version = "0.4"

[dependencies.num-traits]
version = "0.2"
default-features = false

[dependencies.rand]
version = "0.9"
features = [
    "std",
    "std_rng",
]
optional = true
default-features = false

[dependencies.serde]
version = "1.0.115"
features = ["derive"]
optional = true

[dependencies.serde_arrays]
version = "0.2.0"
optional = true

[dependencies.ts-rs]
version = "11.0.1"
optional = true

[dev-dependencies.serde_json]
version = "1.0"
features = ["preserve_order"]

[dev-dependencies.serde_test]
version = "1.0"

[dev-dependencies.tokio]
version = "1.0"
features = [
    "macros",
    "rt",
    "time",
]
default-features = false

[build-dependencies.mavlink-bindgen]
version = "=0.18.0"
default-features = false

[lints.clippy]
multiple_crate_versions = "allow"
semicolon_if_nothing_returned = "warn"
uninlined_format_args = "warn"
unnecessary_semicolon = "warn"
use_self = "warn"

[lints.clippy.cargo]
level = "warn"
priority = -1