[package]
edition = "2024"
name = "ssh-stamp-esp32"
version = "1.0.4"
authors = ["Roman Valls Guimera <brainstorm@nopcode.org>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "ESP32 implementation of the ssh-stamp-hal traits and bootable binary for ssh-stamp"
homepage = "https://github.com/brainstorm/ssh-stamp"
documentation = "https://docs.rs/ssh-stamp-esp32"
readme = false
keywords = [
"ssh",
"embedded",
"esp32",
"uart",
"no-std",
]
categories = [
"embedded",
"no-std",
"network-programming",
]
license = "GPL-3.0-or-later"
repository = "https://github.com/brainstorm/ssh-stamp"
[package.metadata.docs.rs]
no-default-features = true
features = [
"board-esp32c6-devkitc",
"sftp-ota",
"can",
"ipv6",
]
default-target = "riscv32imac-unknown-none-elf"
targets = []
rustc-args = [
"--cfg",
'getrandom_backend="custom"',
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
bench-loopback = []
board-esp32-s2-saola = [
"dep:ssh-stamp-esp32-boards",
"ssh-stamp-esp32-boards/board-esp32-s2-saola",
"esp32s2",
]
board-esp32c5-devkitc = [
"dep:ssh-stamp-esp32-boards",
"ssh-stamp-esp32-boards/board-esp32c5-devkitc",
"esp32c5",
]
board-esp32c6-devkitc = [
"dep:ssh-stamp-esp32-boards",
"ssh-stamp-esp32-boards/board-esp32c6-devkitc",
"esp32c6",
]
board-esp32c61-devkitc = [
"dep:ssh-stamp-esp32-boards",
"ssh-stamp-esp32-boards/board-esp32c61-devkitc",
"esp32c61",
]
board-waveshare-esp32-s3-touch-lcd-43 = [
"dep:ssh-stamp-esp32-boards",
"ssh-stamp-esp32-boards/board-waveshare-esp32-s3-touch-lcd-43",
"esp32s3",
]
can = ["ssh-stamp/can"]
can-no-ack = ["can"]
default = ["board-esp32c6-devkitc"]
esp32 = [
"esp-hal/esp32",
"esp-radio/esp32",
"esp-storage/esp32",
"esp-bootloader-esp-idf/esp32",
"esp-alloc/esp32",
"esp-backtrace/esp32",
"esp-rtos/esp32",
"esp-println/esp32",
]
esp32c2 = [
"esp-hal/esp32c2",
"esp-radio/esp32c2",
"esp-storage/esp32c2",
"esp-bootloader-esp-idf/esp32c2",
"esp-alloc/esp32c2",
"esp-backtrace/esp32c2",
"esp-rtos/esp32c2",
"esp-println/esp32c2",
]
esp32c3 = [
"esp-hal/esp32c3",
"esp-radio/esp32c3",
"esp-storage/esp32c3",
"esp-bootloader-esp-idf/esp32c3",
"esp-alloc/esp32c3",
"esp-backtrace/esp32c3",
"esp-rtos/esp32c3",
"esp-println/esp32c3",
]
esp32c5 = [
"esp-hal/esp32c5",
"esp-radio/esp32c5",
"esp-storage/esp32c5",
"esp-bootloader-esp-idf/esp32c5",
"esp-alloc/esp32c5",
"esp-backtrace/esp32c5",
"esp-rtos/esp32c5",
"esp-println/esp32c5",
]
esp32c6 = [
"esp-hal/esp32c6",
"esp-radio/esp32c6",
"esp-storage/esp32c6",
"esp-bootloader-esp-idf/esp32c6",
"esp-alloc/esp32c6",
"esp-backtrace/esp32c6",
"esp-rtos/esp32c6",
"esp-println/esp32c6",
]
esp32c61 = [
"esp-hal/esp32c61",
"esp-radio/esp32c61",
"esp-storage/esp32c61",
"esp-bootloader-esp-idf/esp32c61",
"esp-alloc/esp32c61",
"esp-backtrace/esp32c61",
"esp-rtos/esp32c61",
"esp-println/esp32c61",
]
esp32s2 = [
"esp-hal/esp32s2",
"esp-radio/esp32s2",
"esp-storage/esp32s2",
"esp-bootloader-esp-idf/esp32s2",
"esp-alloc/esp32s2",
"esp-backtrace/esp32s2",
"esp-rtos/esp32s2",
"esp-println/esp32s2",
]
esp32s3 = [
"esp-hal/esp32s3",
"esp-radio/esp32s3",
"esp-storage/esp32s3",
"esp-bootloader-esp-idf/esp32s3",
"esp-alloc/esp32s3",
"esp-backtrace/esp32s3",
"esp-rtos/esp32s3",
"esp-println/esp32s3",
]
ipv6 = ["ssh-stamp/ipv6"]
mem-probe = [
"ssh-stamp/mem-probe",
"esp-alloc/internal-heap-stats",
]
sftp-ota = ["ssh-stamp/sftp-ota"]
[lib]
name = "ssh_stamp_esp32"
path = "src/lib.rs"
test = false
doctest = false
bench = false
[[bin]]
name = "ssh-stamp-esp32"
path = "src/bin/ssh-stamp-esp32.rs"
test = false
bench = false
[dependencies.cfg-if]
version = "1"
[dependencies.edge-dhcp]
version = "0.7"
[dependencies.edge-nal]
version = "0.6"
[dependencies.edge-nal-embassy]
version = "0.8"
[dependencies.embassy-executor]
version = "0.10"
[dependencies.embassy-futures]
version = "0.1.2"
[dependencies.embassy-net]
version = "0.8"
features = [
"tcp",
"udp",
"dhcpv4",
"medium-ethernet",
]
[dependencies.embassy-sync]
version = "0.8"
[dependencies.embassy-time]
version = "0.5"
[dependencies.embedded-storage]
version = "0.3.1"
[dependencies.embedded-storage-async]
version = "0.4"
[dependencies.esp-alloc]
version = "0.11"
[dependencies.esp-backtrace]
version = "0.20"
features = [
"panic-handler",
"println",
]
[dependencies.esp-bootloader-esp-idf]
version = "0.6"
features = ["embedded-storage"]
[dependencies.esp-hal]
version = "1.2"
features = [
"unstable",
"log-04",
]
[dependencies.esp-println]
version = "0.18"
features = ["log-04"]
[dependencies.esp-radio]
version = "1.0.0-beta.1"
features = [
"wifi",
"log-04",
"unstable",
]
[dependencies.esp-rtos]
version = "0.4"
features = [
"embassy",
"log-04",
"esp-radio",
]
[dependencies.esp-storage]
version = "0.10"
features = ["embedded-storage"]
[dependencies.getrandom]
version = "0.4"
[dependencies.heapless]
version = "0.9"
[dependencies.hmac]
version = "0.12"
default-features = false
[dependencies.log]
version = "0.4"
[dependencies.once_cell]
version = "1"
features = ["critical-section"]
default-features = false
[dependencies.portable-atomic]
version = "1"
[dependencies.sha2]
version = "0.10"
features = ["force-soft-compact"]
default-features = false
[dependencies.ssh-stamp]
version = "1.0.4"
default-features = false
[dependencies.ssh-stamp-esp32-boards]
version = "1.0.4"
optional = true
[dependencies.ssh-stamp-hal]
version = "1.0.4"
[dependencies.ssh-stamp-ota]
version = "1.0.4"
[dependencies.static_cell]
version = "2.1"
[dependencies.sunset-async]
version = "0.6.0"
features = ["multi-thread"]
default-features = false
[lints.clippy]
await_holding_lock = "warn"
mem_forget = "warn"
pedantic = "warn"
[lints.clippy.default_trait_access]
level = "allow"
priority = 1
[lints.clippy.large_futures]
level = "allow"
priority = 1