* security(deps): remove vulnerable xmas-elf dependency via embuild * chore(deps): update dependencies and improve ESP-IDF compatibility - Updated `bindgen`, `embassy-sync`, `embedded-svc`, and `embuild` versions in `Cargo.lock`. - Added patch section in `Cargo.toml` to use latest esp-rs crates for better compatibility with ESP-IDF 5.x. - Enhanced README with updated prerequisites and build instructions for Python and Rust tools. - Introduced `rust-toolchain.toml` to pin nightly Rust and added necessary components. - Modified GPIO handling in `main.rs` to improve pin management and added support for 64-bit time_t in ESP-IDF. - Updated `.cargo/config.toml` for new linker and runner configurations. * docs: add detailed setup guide for ESP32 firmware and link in README - Introduced a new `SETUP.md` file with comprehensive step-by-step instructions for building and flashing the ZeroClaw ESP32 firmware. - Updated `README.md` to include a link to the new setup guide for easier access to installation and troubleshooting information. * chore: update .gitignore and refactor main.rs for improved readability - Added .embuild/ to .gitignore to exclude ESP32 build cache. - Refactored code in main.rs for better readability by adjusting the formatting of the handle_request function call. * docs: add newline for better readability in README.md - Added a newline in the protocol section of README.md to enhance clarity and formatting. * chore: configure workspace settings in Cargo.toml - Added workspace configuration to `Cargo.toml` with members and resolver settings for improved project management. --------- Co-authored-by: ehushubhamshaw <eshaw1@wpi.edu> Co-authored-by: Will Sarg <12886992+willsarg@users.noreply.github.com>
41 lines
1.2 KiB
TOML
41 lines
1.2 KiB
TOML
# ZeroClaw ESP32 firmware — JSON-over-serial peripheral for host-mediated control.
|
|
#
|
|
# Flash to ESP32 and connect via serial. The host ZeroClaw sends gpio_read/gpio_write
|
|
# commands; this firmware executes them and responds.
|
|
#
|
|
# Prerequisites: espup (cargo install espup; espup install; source ~/export-esp.sh)
|
|
# Build: cargo build --release
|
|
# Flash: cargo espflash flash --monitor
|
|
|
|
[package]
|
|
name = "zeroclaw-esp32"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
license = "MIT"
|
|
description = "ZeroClaw ESP32 peripheral firmware — GPIO over JSON serial"
|
|
|
|
[patch.crates-io]
|
|
# Use latest esp-rs crates to fix u8/i8 char pointer compatibility with ESP-IDF 5.x
|
|
esp-idf-sys = { git = "https://github.com/esp-rs/esp-idf-sys" }
|
|
esp-idf-hal = { git = "https://github.com/esp-rs/esp-idf-hal" }
|
|
esp-idf-svc = { git = "https://github.com/esp-rs/esp-idf-svc" }
|
|
|
|
[dependencies]
|
|
esp-idf-svc = { git = "https://github.com/esp-rs/esp-idf-svc" }
|
|
log = "0.4"
|
|
anyhow = "1.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
|
|
[build-dependencies]
|
|
embuild = { version = "0.33", features = ["espidf"] }
|
|
|
|
[profile.release]
|
|
opt-level = "s"
|
|
lto = true
|
|
codegen-units = 1
|
|
strip = true
|
|
panic = "abort"
|
|
|
|
[profile.dev]
|
|
opt-level = "s"
|