[build-dependencies.prost-build]
optional = true
version = "0.14"
[build-dependencies.protoc-bin-vendored]
optional = true
version = "3.1.0"
[build-dependencies.walkdir]
optional = true
version = "2.5.0"
[dependencies.btleplug]
features = ["serde"]
optional = true
version = "0.11.7"
[dependencies.futures]
optional = true
version = "0.3.31"
[dependencies.futures-util]
version = "0.3.31"
[dependencies.log]
version = "0.4.25"
[dependencies.prost]
version = "0.14"
[dependencies.rand]
version = "0.9.0"
[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0"
[dependencies.serde_json]
optional = true
version = "1.0"
[dependencies.specta]
features = ["derive", "export", "chrono"]
optional = true
version = "=2.0.0-rc.22"
[dependencies.specta-typescript]
optional = true
version = "=0.0.9"
[dependencies.thiserror]
version = "2.0.11"
[dependencies.tokio]
features = ["full"]
optional = true
version = "1.43.0"
[dependencies.tokio-serial]
optional = true
version = "5.4.5"
[dependencies.tokio-util]
optional = true
version = "0.7.13"
[dependencies.uuid]
optional = true
version = "1.12.1"
[dev-dependencies.fern]
features = ["colored"]
version = "0.7.1"
[dev-dependencies.humantime]
version = "2.1.0"
[[example]]
name = "basic_ble"
path = "examples/basic_ble.rs"
required-features = ["bluetooth-le", "tokio"]
[[example]]
name = "basic_serial"
path = "examples/basic_serial.rs"
required-features = ["tokio"]
[[example]]
name = "basic_tcp"
path = "examples/basic_tcp.rs"
required-features = ["tokio"]
[[example]]
name = "generate_typescript_types"
path = "examples/generate_typescript_types.rs"
required-features = ["ts-gen", "tokio"]
[[example]]
name = "message_filtering"
path = "examples/message_filtering.rs"
required-features = ["tokio"]
[features]
bluetooth-le = ["dep:uuid", "dep:btleplug", "dep:futures", "dep:bluez-async"]
default = ["serde", "tokio"]
gen = ["dep:prost-build", "dep:protoc-bin-vendored", "dep:walkdir"]
serde = ["dep:serde", "dep:serde_json"]
tokio = ["dep:tokio", "dep:tokio-serial", "dep:tokio-util"]
ts-gen = ["serde", "dep:specta", "dep:specta-typescript"]
[lib]
doctest = false
name = "meshtastic"
path = "src/lib.rs"
[lints.rust]
missing_docs = "warn"
[package]
authors = ["Adam McQuilkin"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["embedded", "config", "encoding"]
description = "A Rust library for communicating with and configuring Meshtastic devices."
documentation = "https://docs.rs/heapless"
edition = "2021"
homepage = "https://meshtastic.org/"
keywords = ["meshtastic", "mesh", "lora", "tcp", "serial"]
license = "GPL-3.0"
name = "meshtastic"
readme = "README.md"
repository = "https://github.com/meshtastic/rust"
rust-version = "1.84"
version = "0.1.8"
[package.metadata.docs.rs]
features = ["bluetooth-le"]
rustdoc-args = ["--cfg", "docsrs"]
[target.'cfg(target_os = "linux")'.dependencies.bluez-async]
optional = true
version = "=0.8.0"