58 lines
1.6 KiB
TOML
58 lines
1.6 KiB
TOML
[package]
|
||
name = "esp32-android-auto-nav"
|
||
description = "Android Auto navigation-only head unit for ESP32-S3 (WT32-SC01 Plus)"
|
||
version = "0.1.0"
|
||
edition = "2021"
|
||
resolver = "2"
|
||
rust-version = "1.82"
|
||
license = "LGPL-3.0-or-later"
|
||
|
||
[features]
|
||
default = []
|
||
# Build in nav-only mode: no H.264 video decode, only turn-by-turn text.
|
||
# Saves ~300KB+ PSRAM and significant CPU. No esp_h264 component needed.
|
||
nav-only = ["dep:miniz_oxide"]
|
||
# Crop video: take center 480×320 from 800×480 instead of downscaling.
|
||
# Eliminates bilinear scaling — 1:1 pixel copy is ~40% faster.
|
||
crop-video = []
|
||
|
||
[profile.release]
|
||
opt-level = 3
|
||
lto = "fat"
|
||
codegen-units = 1
|
||
|
||
[dependencies]
|
||
# ESP-IDF bindings (versions matched to ESP-IDF v5.5.1 in idf-rust:all_latest container)
|
||
esp-idf-svc = { version = "0.52", features = ["alloc"] }
|
||
esp-idf-hal = "0.46"
|
||
esp-idf-sys = { version = "0.37", features = ["binstart"] }
|
||
embedded-svc = "0.29"
|
||
|
||
# Serialization / Protocol
|
||
protobuf = "3.7"
|
||
serde = { version = "1.0", features = ["derive"] }
|
||
|
||
# Error handling
|
||
anyhow = "1.0"
|
||
|
||
# Logging
|
||
log = "0.4"
|
||
|
||
# Bitfield for frame headers (reused from upstream)
|
||
bitfield = "0.19"
|
||
|
||
# PNG inflate for nav-only turn arrow images (pure Rust, no C deps)
|
||
miniz_oxide = { version = "0.7", optional = true }
|
||
|
||
[build-dependencies]
|
||
embuild = "0.33"
|
||
protobuf-codegen = "3.7"
|
||
|
||
# Remote ESP-IDF components (managed by idf component manager)
|
||
[[package.metadata.esp-idf-sys.extra_components]]
|
||
remote_component = { name = "espressif/mdns", version = "1.4" }
|
||
|
||
[[package.metadata.esp-idf-sys.extra_components]]
|
||
remote_component = { name = "espressif/esp_h264", version = "1.3.0" }
|
||
bindings_header = "src/esp_h264_bindings.h"
|