From 42597da7365db9305d77a688cd8f03c4067ebc4c Mon Sep 17 00:00:00 2001 From: Rune Harlyk Date: Sat, 8 Jun 2024 15:45:25 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=AE=20Refactors=20platformio=20configu?= =?UTF-8?q?ration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- esp32/features.ini | 2 +- esp32/platformio.ini | 86 ++++++++++++++++++++++++++++++-------------- 2 files changed, 60 insertions(+), 28 deletions(-) diff --git a/esp32/features.ini b/esp32/features.ini index c125eda..38f6a88 100644 --- a/esp32/features.ini +++ b/esp32/features.ini @@ -13,4 +13,4 @@ build_flags = -D FT_MAG=0 -D FT_BMP=0 -D FT_GPS=0 - -D FT_SERVO=0 + -D FT_SERVO=1 diff --git a/esp32/platformio.ini b/esp32/platformio.ini index c7f3401..1c8f383 100644 --- a/esp32/platformio.ini +++ b/esp32/platformio.ini @@ -15,26 +15,23 @@ extra_configs = factory_settings.ini features.ini build_settings.ini -default_envs = esp32dev +build_cache_dir = .pio/build_cache +default_envs = esp32cam -[env] -platform = espressif32 @ 6.6.0 -framework = arduino -monitor_speed = 115200 -monitor_filters = - esp32_exception_decoder - default - colorize +; ================================================================ +; Base configuration + +[base] build_flags = - ${factory_settings.build_flags} - ${features.build_flags} - ${build_settings.build_flags} - -D CORE_DEBUG_LEVEL=3 - -D register= -std=gnu++17 -build_unflags = -std=gnu++11 -test_ignore = test_embedded -board_build.filesystem = littlefs + -Dregister= + ${factory_settings.build_flags} + ${features.build_flags} + ${build_settings.build_flags} +build_src_flags = + -Wformat=2 + -Wformat-truncation + -Wstack-usage=4096 lib_deps = ArduinoJson@>=7.0.0 https://github.com/theelims/PsychicMqttClient.git#0.1.1 @@ -44,7 +41,23 @@ lib_deps = adafruit/Adafruit GFX Library@^1.11.5 adafruit/Adafruit BusIO@^1.9.3 adafruit/Adafruit PWM Servo Driver Library@^2.4.1 + adafruit/Adafruit ST7735 and ST7789 Library@^1.10.4 SPI + + +; ================================================================ +; Basic environment section + +[env] +platform = espressif32 @ 6.6.0 +framework = arduino +build_type = release +monitor_speed = 115200 +monitor_filters = + esp32_exception_decoder + default + colorize +build_unflags = -std=gnu++11 extra_scripts = pre:scripts/pre_build.py pre:scripts/build_app.py @@ -54,7 +67,12 @@ board_build.embed_files = src/certs/x509_crt_bundle.bin board_ssl_cert_source = adafruit lib_compat_mode = strict -[env:esp32cam] + +; ================================================================ +; Device configurations + +[dev_esp32cam] +extends = base board = esp32cam board_build.partitions = min_spiffs.csv monitor_rts = 0 @@ -62,21 +80,35 @@ monitor_dtr = 0 build_flags= -D FT_CAMERA -D CAMERA_MODEL_AI_THINKER - ${env.build_flags} -D LED_BUILTIN=4 -D KEY_BUILTIN=0 + ${base.build_flags} -[env:esp32-s3-devkitc-1] +[dev_esp32-s3] +extends = base board = esp32-s3-devkitc-1 board_build.arduino.memory_type = qio_opi board_build.partitions = default_16MB.csv board_upload.flash_size = 16MB -build_flags= - ${env.build_flags} -[env:esp32dev] -board = esp32dev -board_build.partitions = min_spiffs.csv +upload_speed = 1000000 build_flags = - ${env.build_flags} - -D LED_BUILTIN=2 + ; -D LED_BUILTIN=2 -D KEY_BUILTIN=0 + ${base.build_flags} + + +; ================================================================ +; Common project configurations + +[env:esp32cam] +extends = dev_esp32cam +build_flags= + -D CAMERA_MODEL_AI_THINKER + ${dev_esp32cam.build_flags} + +[env:esp32-WROOM-cam] +extends = dev_esp32-s3 +build_flags= + -D FT_CAMERA + -D CAMERA_MODEL_AI_THINKER + ${dev_esp32-s3.build_flags} \ No newline at end of file