Initial project creation

This commit is contained in:
Wyatt Marchand
2026-08-25 20:24:08 -07:00
commit 7542e733c1
7 changed files with 76 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
[build]
target = "xtensa-esp32s3-espidf"
[target.'cfg(target_os = "espidf")']
linker = "ldproxy"
runner = "espflash flash --monitor"
rustflags = [ "--cfg", "espidf_time64"]
[unstable]
build-std = ["std", "panic_abort"]
[env]
MCU = "esp32s3"
ESP_IDF_VERSION = "v5.3.4"
ESP_IDF_TOOLS_INSTALL_DIR = "global"
# Uncomment this if you have moved the target dir by setting CARGO_TARGET_DIR or similar.
# Required for now due to embuild limitations.
#CARGO_WORKSPACE_DIR = { value = "", relative = true }
+4
View File
@@ -0,0 +1,4 @@
/.vscode
/.embuild
/target
/Cargo.lock
+26
View File
@@ -0,0 +1,26 @@
[package]
name = "esp32s3_remote_i2c_lcd"
version = "0.1.0"
authors = ["Wyatt Marchand <netwxxt@gmail.com>"]
edition = "2021"
resolver = "2"
rust-version = "1.82"
[[bin]]
name = "esp32s3_remote_i2c_lcd"
harness = false # do not use the built-in cargo test harness -> resolve rust-analyzer errors
[profile.release]
opt-level = "s"
[profile.dev]
debug = true # Symbols are nice, and they don't increase the size on Flash
opt-level = "z"
[dependencies]
esp-idf-svc = { version = "0.51", features = ["std"] }
anyhow = "1"
log = "0.4"
[build-dependencies]
embuild = "0.33"
+3
View File
@@ -0,0 +1,3 @@
fn main() {
embuild::espidf::sysenv::output();
}
+2
View File
@@ -0,0 +1,2 @@
[toolchain]
channel = "esp"
+12
View File
@@ -0,0 +1,12 @@
# Increase a bit these stack sizes as they are also a bit too small by default
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=4096
# You might have to increase this further if you spawn your own Rust threads
# that allocate large stack variables; or better yet - use
# `std::thread::Builder::new().stack_size(XXX)` for spawning
CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=4096
CONFIG_ETH_SPI_ETHERNET_W5500=y
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8000
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
+10
View File
@@ -0,0 +1,10 @@
fn main() {
// It is necessary to call this function once. Otherwise, some patches to the runtime
// implemented by esp-idf-sys might not link properly. See https://github.com/esp-rs/esp-idf-template/issues/71
esp_idf_svc::sys::link_patches();
// Bind the log crate to the ESP Logging facilities
esp_idf_svc::log::EspLogger::initialize_default();
log::info!("Hello, world!");
}