[package]
edition = "2024"
name = "ezsp"
version = "6.0.1"
authors = ["Richard Neumann <neumann@paulmann.de>"]
build = false
exclude = [
".github",
".gitignore",
"ARCHITECTURE.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ember ZNet Serial Protocol"
documentation = "https://docs.rs/ezsp"
readme = "README.md"
keywords = [
"Ember",
"ZNet",
"Serial",
"Zigbee",
]
categories = [
"hardware-support",
"network-programming",
]
license = "MIT"
repository = "https://github.com/PaulmannLighting/ezsp"
[package.metadata.docs.rs]
all-features = true
[features]
apis-saltans = [
"dep:apis-saltans-aps",
"dep:apis-saltans-core",
"dep:apis-saltans-hw",
"dep:apis-saltans-zdp",
"dep:rand",
]
ashv2 = [
"dep:ashv2",
"dep:tokio-task-pool",
"tokio/time",
]
semver = ["dep:semver"]
[lib]
name = "ezsp"
path = "src/lib.rs"
[dependencies.apis-saltans-aps]
version = "0.2"
optional = true
[dependencies.apis-saltans-core]
version = "0.3"
optional = true
[dependencies.apis-saltans-hw]
version = "0.2"
optional = true
[dependencies.apis-saltans-zdp]
version = "0.2"
optional = true
[dependencies.ashv2]
version = "8"
optional = true
[dependencies.bitflags]
version = "2"
[dependencies.enum-iterator]
version = "2"
[dependencies.heapless]
version = "0.9"
[dependencies.le-stream]
version = "10"
features = [
"derive",
"macaddr",
"heapless",
]
[dependencies.log]
version = "0.4"
[dependencies.macaddr]
version = "1"
[dependencies.num-derive]
version = "0.4"
[dependencies.num-traits]
version = "0.2"
[dependencies.rand]
version = "0.10"
optional = true
[dependencies.repr-discriminant]
version = "3"
features = ["derive"]
[dependencies.semver]
version = "1"
optional = true
[dependencies.silizium]
version = "3"
features = ["le-stream"]
[dependencies.tokio]
version = "1"
features = [
"rt",
"sync",
]
[dependencies.tokio-task-pool]
version = "0.1"
optional = true
[lints.clippy]
as_ptr_cast_mut = "warn"
clear_with_drain = "warn"
collection_is_never_read = "warn"
debug_assert_with_mut_call = "warn"
deref_by_slicing = "warn"
empty_enum_variants_with_brackets = "warn"
fn_to_numeric_cast_any = "warn"
format_push_string = "warn"
implicit_clone = "warn"
incompatible_msrv = "warn"
mem_forget = "warn"
needless_collect = "warn"
needless_pass_by_ref_mut = "warn"
nonstandard_macro_braces = "warn"
panic_in_result_fn = "warn"
path_buf_push_overwrite = "warn"
rc_buffer = "warn"
rc_mutex = "warn"
read_zero_byte_vec = "warn"
redundant_clone = "warn"
redundant_type_annotations = "warn"
string_add = "warn"
string_slice = "warn"
trailing_empty_array = "warn"
transmute_undefined_repr = "warn"
undocumented_unsafe_blocks = "warn"
unnecessary_self_imports = "warn"
unwrap_in_result = "warn"
useless_let_if_seq = "warn"
verbose_file_reads = "warn"
[lints.clippy.all]
level = "warn"
priority = -98
[lints.clippy.cargo]
level = "warn"
priority = -95
[lints.clippy.complexity]
level = "warn"
priority = -100
[lints.clippy.nursery]
level = "warn"
priority = -95
[lints.clippy.pedantic]
level = "warn"
priority = -90
[lints.clippy.perf]
level = "warn"
priority = -95
[lints.clippy.suspicious]
level = "warn"
priority = -95
[lints.rust]
absolute_paths_not_starting_with_crate = "warn"
elided_lifetimes_in_paths = "warn"
for_loops_over_fallibles = "warn"
macro_use_extern_crate = "warn"
meta_variable_misuse = "warn"
missing_docs = "warn"
redundant_lifetimes = "warn"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unit_bindings = "warn"
unsafe_code = "warn"
unstable_features = "warn"
unused_crate_dependencies = "warn"
unused_imports = "warn"
unused_qualifications = "warn"
variant_size_differences = "warn"
[lints.rust.keyword_idents]
level = "warn"
priority = -1
[profile.release]
opt-level = 3
panic = "abort"
strip = "symbols"