[package] name = "esp32" version = "0.1.0" edition = "2021" resolver = "2" rust-version = "1.82" [[bin]] name = "esp32" harness = false # no built-in test harness, keeps the generated project simple [dependencies] log = "0.4" anyhow = "1" embedded-svc = "0.29" esp-idf-svc = "0.53" # The UDP wire format, shared with the desktop client in client/. It is built for # the host too (see protocol/.cargo/config.toml), which is what lets the protocol # have unit tests: the frame assembler and the encoder are the parts most likely to # be subtly wrong, and neither can be exercised from the firmware. protocol = { path = "protocol" } [build-dependencies] embuild = "0.33.5" # The official `esp32-camera` component is not part of ESP-IDF itself. It is # vendored under components/esp32-camera so the build does not depend on the # component registry, and so that one IDF v6 incompatibility can be patched - # see the "LOCAL PATCH" comment in components/esp32-camera/target/esp32s3/ll_cam.c. # # `cam_wrapper` is a tiny local component (see components/cam_wrapper) that # wraps `camera_config_t` in a union-free plain struct, which makes the Rust # side safe to construct. [[package.metadata.esp-idf-sys.extra_components]] component_dirs = ["components/esp32-camera", "components/cam_wrapper"] bindings_header = "bindings.h" bindings_module = "camera" [profile.release] opt-level = "s" [profile.dev] debug = true opt-level = "z"