consolidate sketches
This commit is contained in:
130
mise.toml
130
mise.toml
@@ -1,31 +1,115 @@
|
||||
[tools]
|
||||
arduino-cli = "latest"
|
||||
lazygit = "latest"
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
# Klubhaus Doorbell — Multi-Target Build Harness
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
|
||||
[env]
|
||||
FQBN = "esp32:esp32:waveshare_esp32_s3_touch_lcd_43:UploadSpeed=921600,USBMode=hwcdc,CDCOnBoot=cdc,CPUFreq=240,FlashMode=qio,FlashSize=16M,PartitionScheme=app3M_fat9M_16MB,DebugLevel=info,PSRAM=enabled,LoopCore=1,EventsCore=1,EraseFlash=none"
|
||||
|
||||
[tasks.install-core]
|
||||
run = "arduino-cli core update-index && arduino-cli core install esp32:esp32"
|
||||
|
||||
[tasks.install-libs]
|
||||
[tasks.install-libs-shared]
|
||||
description = "Install shared (platform-independent) libraries"
|
||||
run = """
|
||||
arduino-cli lib install "GFX Library for Arduino"
|
||||
arduino-cli lib install "ArduinoJson"
|
||||
arduino-cli lib install "NTPClient"
|
||||
arduino-cli lib install "ArduinoJson@7.4.1"
|
||||
arduino-cli lib install "NTPClient@3.2.1"
|
||||
echo "[OK] Shared libraries installed"
|
||||
"""
|
||||
|
||||
[tasks.compile]
|
||||
run = "arduino-cli compile --fqbn $FQBN ."
|
||||
[tasks.install-libs-32e]
|
||||
description = "Vendor TFT_eSPI into vendor/esp32-32e"
|
||||
run = """
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
if [ ! -d "vendor/esp32-32e/TFT_eSPI" ]; then
|
||||
echo "Cloning TFT_eSPI..."
|
||||
git clone --depth 1 --branch V2.5.43 \
|
||||
https://github.com/Bodmer/TFT_eSPI.git \
|
||||
vendor/esp32-32e/TFT_eSPI
|
||||
fi
|
||||
echo "Copying board-specific User_Setup.h..."
|
||||
cp boards/esp32-32e/tft_user_setup.h vendor/esp32-32e/TFT_eSPI/User_Setup.h
|
||||
echo "[OK] TFT_eSPI 2.5.43 vendored + configured"
|
||||
"""
|
||||
|
||||
[tasks.upload]
|
||||
depends = ["compile"]
|
||||
run = "arduino-cli upload --fqbn $FQBN -p $(arduino-cli board list | grep -i 'esp32\\|usb\\|ttyACM' | head -1 | awk '{print $1}') ."
|
||||
[tasks.install-libs-s3-43]
|
||||
description = "Vendor Arduino_GFX into vendor/esp32-s3-lcd-43"
|
||||
run = """
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
if [ ! -d "vendor/esp32-s3-lcd-43/GFX_Library_for_Arduino" ]; then
|
||||
echo "Cloning Arduino_GFX..."
|
||||
git clone --depth 1 --branch v1.6.5 \
|
||||
https://github.com/moononournation/Arduino_GFX.git \
|
||||
vendor/esp32-s3-lcd-43/GFX_Library_for_Arduino
|
||||
fi
|
||||
echo "[OK] Arduino_GFX 1.6.5 vendored"
|
||||
"""
|
||||
|
||||
[tasks.monitor]
|
||||
depends = ["upload"]
|
||||
run = "arduino-cli monitor -p $(arduino-cli board list | grep -i 'esp32\\|usb\\|ttyACM' | head -1 | awk '{print $1}') -c baudrate=115200"
|
||||
[tasks.install-libs]
|
||||
description = "Install all libraries (shared + vendored)"
|
||||
depends = ["install-libs-shared", "install-libs-32e", "install-libs-s3-43"]
|
||||
|
||||
[tasks.all]
|
||||
depends = ["monitor"]
|
||||
# ── ESP32-32E ────────────────────────────────────────────
|
||||
|
||||
[tasks.compile-32e]
|
||||
description = "Compile ESP32-32E sketch"
|
||||
depends = ["install-libs"]
|
||||
run = """
|
||||
arduino-cli compile \
|
||||
--fqbn "esp32:esp32:esp32:FlashSize=4M,PartitionScheme=default" \
|
||||
--libraries ./libraries \
|
||||
--libraries ./vendor/esp32-32e \
|
||||
--build-property "compiler.cpp.extra_flags=-DDEBUG_MODE" \
|
||||
--warnings default \
|
||||
./boards/esp32-32e
|
||||
"""
|
||||
|
||||
[tasks.upload-32e]
|
||||
description = "Upload to ESP32-32E"
|
||||
run = """
|
||||
arduino-cli upload \
|
||||
--fqbn "esp32:esp32:esp32:FlashSize=4M,PartitionScheme=default" \
|
||||
--port "${PORT:-/dev/ttyUSB0}" \
|
||||
./boards/esp32-32e
|
||||
"""
|
||||
|
||||
[tasks.monitor-32e]
|
||||
description = "Serial monitor for ESP32-32E"
|
||||
run = """
|
||||
arduino-cli monitor --port "${PORT:-/dev/ttyUSB0}" --config baudrate=115200
|
||||
"""
|
||||
|
||||
# ── ESP32-S3-LCD-4.3 ────────────────────────────────────
|
||||
|
||||
[tasks.compile-s3-43]
|
||||
description = "Compile ESP32-S3-LCD-4.3 sketch"
|
||||
depends = ["install-libs"]
|
||||
run = """
|
||||
arduino-cli compile \
|
||||
--fqbn "esp32:esp32:waveshare_esp32_s3_touch_lcd_43:PSRAM=enabled,FlashSize=16M,USBMode=hwcdc,PartitionScheme=app3M_fat9M_16MB" \
|
||||
--libraries ./libraries \
|
||||
--libraries ./vendor/esp32-s3-lcd-43 \
|
||||
--build-property "compiler.cpp.extra_flags=-DDEBUG_MODE -DBOARD_HAS_PSRAM" \
|
||||
--warnings default \
|
||||
./boards/esp32-s3-lcd-43
|
||||
"""
|
||||
|
||||
[tasks.upload-s3-43]
|
||||
description = "Upload to ESP32-S3-LCD-4.3"
|
||||
run = """
|
||||
arduino-cli upload \
|
||||
--fqbn "esp32:esp32:waveshare_esp32_s3_touch_lcd_43:PSRAM=opi,FlashSize=16M,USBMode=hwcdc,PartitionScheme=app3M_fat9M_16MB" \
|
||||
--port "${PORT:-/dev/ttyACM0}" \
|
||||
./boards/esp32-s3-lcd-43
|
||||
"""
|
||||
|
||||
[tasks.monitor-s3-43]
|
||||
description = "Serial monitor for ESP32-S3-LCD-4.3"
|
||||
run = """
|
||||
arduino-cli monitor --port "${PORT:-/dev/ttyACM0}" --config baudrate=115200
|
||||
"""
|
||||
|
||||
# ── Convenience ──────────────────────────────────────────
|
||||
|
||||
[tasks.clean]
|
||||
description = "Remove build artifacts"
|
||||
run = """
|
||||
rm -rf boards/esp32-32e/build
|
||||
rm -rf boards/esp32-s3-lcd-43/build
|
||||
echo "[OK] Build artifacts cleaned"
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user