; PlatformIO Project Configuration File ; ; Build options: build flags, source filter ; Upload options: custom upload port, speed and extra flags ; Library options: dependencies, extra library storages ; Advanced options: extra scripting ; ; Please visit documentation for the other options and examples ; https://docs.platformio.org/page/projectconf.html ; ============================================================================= ; GEMEINSAME BASIS - wird von allen Environments geerbt ; ============================================================================= [env] platform = espressif32 board = az-delivery-devkit-v4 framework = arduino monitor_speed = 115200 monitor_echo = yes monitor_filters = esp32_exception_decoder, default board_build.partitions = min_spiffs.csv build_flags = -DCORE_DEBUG_LEVEL=1 ; 0=keine, 1=Fehler, 3=Info, 5=Verbose -DARDUINO_LOOP_STACK_SIZE=8192 -DELEGANTOTA_USE_ASYNC_WEBSERVER=1 -DFIRMWARE_VERSION='"1.0.1"' ; Semantic Versioning – hier erhöhen bei neuem Release lib_deps = majicDesigns/MD_Parola @ ^3.7.3 majicDesigns/MD_MAX72XX @ ^3.5.1 knolleary/PubSubClient @ ^2.8 tzapu/WiFiManager @ ^2.0.17 https://github.com/me-no-dev/AsyncTCP.git https://github.com/me-no-dev/ESPAsyncWebServer.git bblanchon/ArduinoJson @ ^7.3.0 https://github.com/ayushsharma82/ElegantOTA.git ; ============================================================================= ; HAUPT-ENVIRONMENT - USB Flash & Monitor ; pio run -e az-delivery-devkit-v4 --target upload ; ============================================================================= [env:az-delivery-devkit-v4] upload_port = COM3 ; ============================================================================= ; OTA ENVIRONMENT – Firmware via WiFi flashen (ArduinoOTA / espota) ; Erscheint in Arduino IDE als Netzwerk-Port: lasercutter-display.local ; PlatformIO: pio run -e az-delivery-devkit-v4-ota --target upload ; IP anpassen: upload_port = (oder lasercutter-display.local) ; ; Falls ein Web-Passwort gesetzt ist, muss es hier eingetragen werden: ; upload_flags = --auth=DEIN_WEBPASSWORT ; Oder als Umgebungsvariable (empfohlen, damit das Passwort nicht im Repo landet): ; Vor dem Upload: set LASERCUTTER_OTA_PW=DEIN_PASSWORT (Windows) ; upload_flags = --auth=${sysenv.LASERCUTTER_OTA_PW} ; ============================================================================= [env:az-delivery-devkit-v4-ota] upload_port = 192.168.2.62 upload_protocol = espota ; upload_flags = --auth=DEIN_WEBPASSWORT ; <-- auskommentieren und anpassen wenn Passwort gesetzt ; ============================================================================= ; OTA ENVIRONMENT (HTTP) – Firmware via ElegantOTA Webinterface ; Nur als Fallback falls ArduinoOTA nicht erreichbar ; pio run -e az-delivery-devkit-v4-ota-http --target upload ; ============================================================================= [env:az-delivery-devkit-v4-ota-http] upload_port = 192.168.2.62 upload_protocol = custom extra_scripts = upload_ota.py ; ============================================================================= ; TEST ENVIRONMENT 1.4 – Dot-Matrix-Display Verdrahtungstest ; Flash: pio run -e test-display --target upload ; ============================================================================= [env:test-display] platform = espressif32 board = az-delivery-devkit-v4 framework = arduino upload_port = COM3 monitor_speed = 115200 monitor_echo = yes build_src_filter = -<*> +<../test_sketches/test_display.cpp> ; SPI auf 1 MHz reduzieren: robuster bei 8 verketteten Modulen / langen Leitungen build_flags = -DMAX_SPI_CLOCK_SPEED=1000000L -Wno-cpp ; unterdrückt "INFO: ARDUINO SPI interface selected"-Warning aus MD_MAX72XX lib_deps = majicDesigns/MD_Parola @ ^3.7.3 majicDesigns/MD_MAX72XX @ ^3.5.1 ; ============================================================================= ; TEST ENVIRONMENT 1.5 – Push Button / Potentialfreier Schalter Verdrahtungstest ; Flash: pio run -e test-button --target upload ; ============================================================================= [env:test-button] platform = espressif32 board = az-delivery-devkit-v4 framework = arduino upload_port = COM3 monitor_speed = 115200 monitor_echo = yes build_src_filter = -<*> +<../test_sketches/test_button.cpp> ; ============================================================================= ; TEST ENVIRONMENT 2.2 – NVS Persistenz-Verifizierung ; Flash: pio run -e test-nvs --target upload ; Monitor: pio device monitor -e test-nvs ; ============================================================================= [env:test-nvs] platform = espressif32 board = az-delivery-devkit-v4 framework = arduino upload_port = COM3 monitor_speed = 115200 monitor_echo = yes build_src_filter = -<*> +<../test_sketches/test_nvs.cpp> +<../src/settings.cpp> ; MD_MAX72XX wird nur wegen config.h -> DISPLAY_HW_TYPE benötigt lib_deps = majicDesigns/MD_MAX72XX @ ^3.5.1 ; ============================================================================= ; TEST ENVIRONMENT 3.3 – WiFiManager Verbindungstest ; Flash: pio run -e test-wifi --target upload ; Monitor: pio device monitor -e test-wifi ; Credentials löschen: BOOT-Taste (GPIO 0) beim Start 3 s gedrückt halten ; ============================================================================= [env:test-wifi] platform = espressif32 board = az-delivery-devkit-v4 framework = arduino upload_port = COM3 monitor_speed = 115200 monitor_echo = yes board_build.partitions = min_spiffs.csv build_src_filter = -<*> +<../test_sketches/test_wifi.cpp> +<../src/wifi_connector.cpp> build_flags = -DCORE_DEBUG_LEVEL=1 lib_deps = tzapu/WiFiManager @ ^2.0.17 majicDesigns/MD_MAX72XX @ ^3.5.1 ; ============================================================================= ; TEST ENVIRONMENT 5.6 – LaserTracker Verifikation ; Flash: pio run -e test-laser-tracker --target upload ; Monitor: pio device monitor -e test-laser-tracker ; Button (GPIO 4) druecken = Laser aktiv simulieren ; BOOT-Taste (GPIO 0) 3s halten = Gesamtzeit loeschen ; ============================================================================= [env:test-laser-tracker] platform = espressif32 board = az-delivery-devkit-v4 framework = arduino upload_port = COM3 monitor_speed = 115200 monitor_echo = yes build_src_filter = -<*> +<../test_sketches/test_laser_tracker.cpp> +<../src/display_manager.cpp> +<../src/settings.cpp> +<../src/laser_tracker.cpp> build_flags = -DCORE_DEBUG_LEVEL=1 -Wno-cpp lib_deps = majicDesigns/MD_MAX72XX @ ^3.5.1 ; ============================================================================= ; TEST ENVIRONMENT 4.3 – DisplayManager Verifikation ; Flash: pio run -e test-display-mgr --target upload ; Monitor: pio device monitor -e test-display-mgr ; ============================================================================= [env:test-display-mgr] platform = espressif32 board = az-delivery-devkit-v4 framework = arduino upload_port = COM3 monitor_speed = 115200 monitor_echo = yes build_src_filter = -<*> +<../test_sketches/test_display_manager.cpp> +<../src/display_manager.cpp> build_flags = -DCORE_DEBUG_LEVEL=1 -Wno-cpp lib_deps = majicDesigns/MD_MAX72XX @ ^3.5.1 ; ============================================================================= ; TEST ENVIRONMENT 6.5 – MqttClient Verifikation ; Flash: pio run -e test-mqtt --target upload ; Monitor: pio device monitor -e test-mqtt ; ; Verifikation: ; - MQTT Explorer -> broker.hivemq.com:1883 ; - Subscribe: lasercutter/# ; - lasercutter/status erscheint beim Connect (retained) und alle 60s ; - lasercutter/session erscheint nach Laser-AUS (GPIO 4 loslassen) ; - Publish lasercutter/reset Payload "1" -> Gesamtzeit wird geloescht ; - BOOT-Taste 3s halten -> lokaler Reset ; ============================================================================= [env:test-mqtt] platform = espressif32 board = az-delivery-devkit-v4 framework = arduino upload_port = COM3 monitor_speed = 115200 monitor_echo = yes board_build.partitions = min_spiffs.csv build_src_filter = -<*> +<../test_sketches/test_mqtt_client.cpp> +<../src/settings.cpp> +<../src/display_manager.cpp> +<../src/laser_tracker.cpp> +<../src/wifi_connector.cpp> +<../src/mqtt_client.cpp> build_flags = -DCORE_DEBUG_LEVEL=1 -Wno-cpp lib_deps = majicDesigns/MD_MAX72XX @ ^3.5.1 knolleary/PubSubClient @ ^2.8 tzapu/WiFiManager @ ^2.0.17 bblanchon/ArduinoJson @ ^7.3.0 ; ============================================================================= ; TEST ENVIRONMENT 7.7 – WebServer Verifikation ; Flash: pio run -e test-web --target upload ; Monitor: pio device monitor -e test-web ; ; Verifikation: ; - IP-Adresse aus Serial Monitor ablesen ; - Browser: http:/// -> Statusseite ; - Browser: http:///config -> Konfigurationsformular ; - Browser: http:///update -> ElegantOTA ; - Gesamtzeit-Reset-Button testen ; - Konfiguration aendern + nach Neustart pruefen ; ============================================================================= [env:test-web] platform = espressif32 board = az-delivery-devkit-v4 framework = arduino upload_port = COM3 monitor_speed = 115200 monitor_echo = yes board_build.partitions = min_spiffs.csv build_src_filter = -<*> +<../test_sketches/test_web_server.cpp> +<../src/settings.cpp> +<../src/display_manager.cpp> +<../src/laser_tracker.cpp> +<../src/wifi_connector.cpp> +<../src/mqtt_client.cpp> +<../src/web_server.cpp> build_flags = -DCORE_DEBUG_LEVEL=1 -Wno-cpp -DASYNC_TCP_SSL_ENABLED=0 -DELEGANTOTA_USE_ASYNC_WEBSERVER=1 lib_deps = majicDesigns/MD_MAX72XX @ ^3.5.1 knolleary/PubSubClient @ ^2.8 tzapu/WiFiManager @ ^2.0.17 bblanchon/ArduinoJson @ ^7.3.0 https://github.com/me-no-dev/AsyncTCP.git https://github.com/me-no-dev/ESPAsyncWebServer.git https://github.com/ayushsharma82/ElegantOTA.git