Replaces Arduino IDE with PlatformIO as the build system. Entry point moved from vesper.ino to src/main.cpp. All library dependencies are now declared in platformio.ini and downloaded automatically via lib_deps. Board: Kincony KC868-A6 (ESP32-S3, 4MB flash) → env:vesper-v1 Future variants Vesper+ and Vesper Pro are pre-configured but commented out. Compatibility fixes applied for this framework version: - Removed ETH.h dependency (Ethernet was disabled in v138) - Watchdog init updated to IDF v4 API (esp_task_wdt_init signature) - ETH.linkUp() check removed from OTAManager Also adds .pio/ to .gitignore and commits the manufacturing plan docs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
122 lines
5.5 KiB
INI
122 lines
5.5 KiB
INI
; ═══════════════════════════════════════════════════════════════════════════════
|
|
; Project Vesper — PlatformIO Configuration
|
|
; ═══════════════════════════════════════════════════════════════════════════════
|
|
;
|
|
; Hardware Variants:
|
|
; vesper-v1 — Kincony KC868-A6 (ESP32-S3, 4MB flash) — current production board
|
|
;
|
|
; Future variants (not yet active):
|
|
; vesper-plus-v1 — Vesper+ with RF remote support
|
|
; vesper-pro-v1 — Vesper Pro with onboard LCD
|
|
;
|
|
; Build: pio run -e vesper-v1
|
|
; Upload: pio run -e vesper-v1 --target upload
|
|
; Monitor: pio device monitor
|
|
; Clean: pio run -e vesper-v1 --target clean
|
|
; ═══════════════════════════════════════════════════════════════════════════════
|
|
|
|
; ───────────────────────────────────────────────────────────────────────────────
|
|
; SHARED SETTINGS — inherited by all environments
|
|
; ───────────────────────────────────────────────────────────────────────────────
|
|
[common]
|
|
platform = espressif32
|
|
framework = arduino
|
|
monitor_speed = 115200
|
|
|
|
; All external library dependencies
|
|
lib_deps =
|
|
; WiFi provisioning portal
|
|
tzapu/WiFiManager @ ^2.0.17
|
|
|
|
; Async web server + WebSocket support
|
|
; NOTE: Use the ESP32-compatible fork, not the original
|
|
https://github.com/me-no-dev/ESPAsyncWebServer.git
|
|
https://github.com/me-no-dev/AsyncTCP.git
|
|
|
|
; JSON parsing
|
|
bblanchon/ArduinoJson @ ^7.0.0
|
|
|
|
; I2C GPIO expanders (relay control) — PCF8575 header is bundled in same library
|
|
adafruit/Adafruit PCF8574 @ ^1.1.0
|
|
|
|
; Real-time clock
|
|
adafruit/RTClib @ ^2.1.4
|
|
|
|
; Async MQTT client
|
|
; NOTE: Requires AsyncTCP (already listed above)
|
|
https://github.com/marvinroger/async-mqtt-client.git
|
|
|
|
build_flags_common =
|
|
-DCORE_DEBUG_LEVEL=0
|
|
-DCONFIG_ASYNC_TCP_RUNNING_CORE=0
|
|
|
|
; ───────────────────────────────────────────────────────────────────────────────
|
|
; VESPER v1 — Kincony KC868-A6 (ESP32-S3, 4MB Flash)
|
|
; Current production board
|
|
; ───────────────────────────────────────────────────────────────────────────────
|
|
[env:vesper-v1]
|
|
platform = ${common.platform}
|
|
framework = ${common.framework}
|
|
board = esp32-s3-devkitc-1
|
|
|
|
; Serial monitor
|
|
monitor_speed = ${common.monitor_speed}
|
|
|
|
; Upload settings
|
|
upload_speed = 921600
|
|
upload_protocol = esptool
|
|
|
|
; Partition table — default 4MB with OTA support
|
|
; Provides: 1.8MB app slot + 1.8MB OTA slot + 64KB NVS + SPIFFS
|
|
board_build.partitions = default_8MB.csv
|
|
|
|
; Build flags for this variant
|
|
build_flags =
|
|
${common.build_flags_common}
|
|
-DBOARD_TYPE=\"VS\"
|
|
-DBOARD_VERSION=\"01\"
|
|
-DBOARD_NAME=\"Vesper\"
|
|
-DPSRAM_ENABLED=0
|
|
-DHAS_RF=0
|
|
-DHAS_LCD=0
|
|
|
|
lib_deps = ${common.lib_deps}
|
|
|
|
|
|
; ───────────────────────────────────────────────────────────────────────────────
|
|
; VESPER+ v1 — Future: adds RF remote support
|
|
; ───────────────────────────────────────────────────────────────────────────────
|
|
; [env:vesper-plus-v1]
|
|
; platform = ${common.platform}
|
|
; framework = ${common.framework}
|
|
; board = esp32-s3-devkitc-1
|
|
; monitor_speed = ${common.monitor_speed}
|
|
; build_flags =
|
|
; ${common.build_flags_common}
|
|
; -DBOARD_TYPE=\"VP\"
|
|
; -DBOARD_VERSION=\"01\"
|
|
; -DBOARD_NAME=\"Vesper+\"
|
|
; -DPSRAM_ENABLED=0
|
|
; -DHAS_RF=1
|
|
; -DHAS_LCD=0
|
|
; lib_deps = ${common.lib_deps}
|
|
|
|
|
|
; ───────────────────────────────────────────────────────────────────────────────
|
|
; VESPER PRO v1 — Future: adds onboard LCD
|
|
; ───────────────────────────────────────────────────────────────────────────────
|
|
; [env:vesper-pro-v1]
|
|
; platform = ${common.platform}
|
|
; framework = ${common.framework}
|
|
; board = esp32-s3-devkitc-1
|
|
; monitor_speed = ${common.monitor_speed}
|
|
; build_flags =
|
|
; ${common.build_flags_common}
|
|
; -DBOARD_TYPE=\"VX\"
|
|
; -DBOARD_VERSION=\"01\"
|
|
; -DBOARD_NAME=\"VesperPro\"
|
|
; -DPSRAM_ENABLED=0
|
|
; -DHAS_RF=0
|
|
; -DHAS_LCD=1
|
|
; lib_deps = ${common.lib_deps}
|