#!/usr/bin/env bash set -Eeuo pipefail cd /home/jan/Documents/RFP/WLED-MM/repo ENV="rfp_esp32s3_wroom1_n16r8_3x106" export PATH="/home/jan/Documents/RFP/Finanz_App/node/current/bin:$PATH" export NPM_CONFIG_CACHE="$PWD/.npm-cache" export PLATFORMIO_CORE_DIR="$PWD/.piohome" export PLATFORMIO_PACKAGES_DIR="$PWD/.piohome/packages" export PLATFORMIO_PLATFORMS_DIR="$PWD/.piohome/platforms" export PLATFORMIO_CACHE_DIR="$PWD/.piohome/.cache" export PLATFORMIO_BUILD_CACHE_DIR="$PWD/.piohome/buildcache" pio() { .venv/bin/python -m platformio "$@" } echo "=== RFP NODE FLASH ===" echo "Env: $ENV" echo sudo systemctl stop ModemManager 2>/dev/null || true PORT="$(ls /dev/ttyACM* /dev/ttyUSB* 2>/dev/null | head -n1 || true)" if [[ -z "$PORT" ]]; then echo "FEHLER: Kein ESP32-Port gefunden." echo "Board einstecken oder BOOT gedrueckt halten -> RESET kurz druecken -> BOOT loslassen." echo "Dann erneut starten: ./flash_node.sh" exit 1 fi echo "Port: $PORT" echo echo "1/5 Flash komplett loeschen..." .venv/bin/python .piohome/packages/tool-esptoolpy/esptool.py \ --chip esp32s3 \ --port "$PORT" \ erase_flash echo echo "2/5 Clean..." pio run -e "$ENV" -t clean echo echo "3/5 Firmware bauen..." pio run -e "$ENV" echo echo "4/5 Firmware flashen..." pio run -e "$ENV" -t upload --upload-port "$PORT" echo echo "5/5 Filesystem/LittleFS flashen..." if ! pio run -e "$ENV" -t uploadfs --upload-port "$PORT"; then echo echo "WARNUNG: uploadfs fehlgeschlagen oder nicht konfiguriert." echo "WLED kann trotzdem starten, aber Web-/Filesystem-Daten koennen fehlen." fi echo echo "Node-Flash fertig." echo "Starte Monitor. Mit Ctrl+C beenden." echo pio device monitor -e "$ENV" --port "$PORT" -b 115200