2022-12-27 09:32:52 +05:30
[ package ]
name = "matter-iot"
version = "0.1.0"
edition = "2018"
authors = [ "Kedar Sovani <kedars@gmail.com>" ]
description = "Native RUST implementation of the Matter (Smart-Home) ecosystem"
repository = "https://github.com/kedars/matter-rs"
readme = "README.md"
keywords = [ "matter" , "smart" , "smart-home" , "IoT" , "ESP32" ]
categories = [ "embedded" , "network-programming" ]
license = "MIT"
[ lib ]
name = "matter"
path = "src/lib.rs"
[ features ]
2023-04-29 19:38:01 +03:00
default = [ "std" , "crypto_mbedtls" , "backtrace" ]
2023-04-24 19:27:17 +00:00
std = [ "alloc" , "env_logger" , "chrono" , "rand" , "qrcode" , "libmdns" , "simple-mdns" , "simple-dns" , "smol" ]
2023-04-29 19:38:01 +03:00
backtrace = [ ]
2023-04-24 07:20:49 +00:00
alloc = [ ]
2023-02-02 18:22:21 +00:00
nightly = [ ]
2023-05-04 05:42:58 +00:00
crypto_openssl = [ "alloc" , "openssl" , "foreign-types" , "hmac" , "sha2" ]
crypto_mbedtls = [ "alloc" , "mbedtls" ]
2022-12-27 09:32:52 +05:30
crypto_esp_mbedtls = [ "esp-idf-sys" ]
2023-05-04 05:42:58 +00:00
crypto_rustcrypto = [ "alloc" , "sha2" , "hmac" , "pbkdf2" , "hkdf" , "aes" , "ccm" , "p256" , "elliptic-curve" , "crypto-bigint" , "x509-cert" , "rand_core" ]
2022-12-27 09:32:52 +05:30
[ dependencies ]
2023-01-15 15:41:58 +01:00
matter_macro_derive = { path = "../matter_macro_derive" }
2022-12-27 09:32:52 +05:30
bitflags = "1.3"
byteorder = "1.4.3"
2023-04-24 09:45:03 +00:00
heapless = "0.7.16"
2023-01-15 15:41:58 +01:00
num = "0.4"
2022-12-27 09:32:52 +05:30
num-derive = "0.3.3"
2023-01-15 15:41:58 +01:00
num-traits = "0.2.15"
2023-04-29 19:38:01 +03:00
strum = { version = "0.24" , features = [ "derive" ] , default-features = false }
2023-01-15 15:41:58 +01:00
log = { version = "0.4.17" , features = [ "max_level_debug" , "release_max_level_debug" ] }
2023-04-25 07:22:58 +00:00
no-std-net = "0.6"
2022-12-27 09:32:52 +05:30
subtle = "2.4.1"
safemem = "0.3.3"
2023-04-24 09:45:03 +00:00
colored = "2.0.0" # TODO: Requires STD
# STD-only dependencies
env_logger = { version = "0.10.0" , default-features = false , optional = true }
chrono = { version = "0.4.23" , optional = true , default-features = false , features = [ "clock" , "std" ] }
rand = { version = "0.8.5" , optional = true }
qrcode = { version = "0.12" , default-features = false , optional = true } # Print QR code
2023-04-24 19:27:17 +00:00
libmdns = { version = "0.7" , optional = true }
simple-mdns = { version = "0.4" , features = [ "sync" ] , optional = true }
simple-dns = { version = "0.5" , optional = true }
2023-04-24 21:41:16 +00:00
astro-dnssd = { version = "0.3" , optional = true } # On Linux needs avahi-compat-libdns_sd, i.e. on Ubuntu/Debian do `sudo apt-get install libavahi-compat-libdnssd-dev`
zeroconf = { version = "0.10" , optional = true }
2023-04-24 19:27:17 +00:00
smol = { version = "1.3.0" , optional = true }
2022-12-27 09:32:52 +05:30
2023-04-02 13:07:36 +02:00
# crypto
openssl = { git = "https://github.com/sfackler/rust-openssl" , optional = true }
2023-07-02 15:56:34 +09:00
mbedtls = { version = "0.9" , optional = true }
2023-04-24 09:45:03 +00:00
esp-idf-sys = { version = "0.32" , optional = true }
2023-05-04 05:42:58 +00:00
# rust-crypto
2023-04-24 09:45:03 +00:00
foreign-types = { version = "0.3.2" , optional = true }
2023-04-02 13:07:36 +02:00
sha2 = { version = "0.10" , default-features = false , optional = true }
hmac = { version = "0.12" , optional = true }
pbkdf2 = { version = "0.12" , optional = true }
hkdf = { version = "0.12" , optional = true }
aes = { version = "0.8" , optional = true }
ccm = { version = "0.5" , default-features = false , features = [ "alloc" ] , optional = true }
p256 = { version = "0.13.0" , default-features = false , features = [ "arithmetic" , "ecdh" , "ecdsa" ] , optional = true }
elliptic-curve = { version = "0.13.2" , optional = true }
crypto-bigint = { version = "0.4" , default-features = false , optional = true }
2023-05-04 05:42:58 +00:00
rand_core = { version = "0.6" , default-features = false , optional = true }
2023-05-04 06:13:36 +00:00
x509-cert = { version = "0.2.0" , default-features = false , features = [ "pem" ] , optional = true } # TODO: requires `alloc`
2023-04-02 13:07:36 +02:00
2023-01-10 21:01:02 +01:00
# to compute the check digit
verhoeff = "1"
2022-12-27 09:32:52 +05:30
[ [ example ] ]
name = "onoff_light"
path = "../examples/onoff_light/src/main.rs"
2023-01-31 16:39:44 +02:00
[ [ example ] ]
name = "speaker"
path = "../examples/speaker/src/main.rs"