mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
223 lines
6.1 KiB
INI
223 lines
6.1 KiB
INI
; PlatformIO Project Configuration File for EMS-ESP
|
|
; override any settings with your own local ones in pio_local.ini
|
|
|
|
[platformio]
|
|
default_envs = esp32_4M
|
|
; default_envs = lolin_s3
|
|
; default_envs = esp32_16M
|
|
; default_envs = standalone
|
|
|
|
extra_configs =
|
|
factory_settings.ini
|
|
pio_local.ini
|
|
|
|
[common]
|
|
core_build_flags =
|
|
-O2
|
|
-std=gnu++17
|
|
|
|
core_unbuild_flags = -std=gnu++11
|
|
; core_unbuild_flags =
|
|
|
|
; my_build_flags is set in pio_local.ini
|
|
my_build_flags =
|
|
|
|
build_flags =
|
|
${common.core_build_flags}
|
|
${factory_settings.build_flags}
|
|
${common.my_build_flags}
|
|
-D ONEWIRE_CRC16=0
|
|
-D NO_GLOBAL_ARDUINOOTA
|
|
-D ARDUINOJSON_ENABLE_STD_STRING=1
|
|
-D ARDUINOJSON_USE_DOUBLE=0
|
|
-D ARDUINOTRACE_ENABLE=0
|
|
-D CONFIG_ETH_ENABLED
|
|
-D CONFIG_UART_ISR_IN_IRAM
|
|
-D CONFIG_ASYNC_TCP_STACK_SIZE=5120
|
|
|
|
unbuild_flags =
|
|
${common.core_unbuild_flags}
|
|
|
|
[espressi32_base]
|
|
platform = espressif32@6.5.0
|
|
framework = arduino
|
|
board_build.filesystem = littlefs
|
|
build_flags = ${common.build_flags}
|
|
build_unflags = ${common.unbuild_flags}
|
|
extra_scripts =
|
|
pre:scripts/build_interface.py
|
|
scripts/rename_fw.py
|
|
|
|
[espressi32_base_tasmota]
|
|
; use Tasmota's library which removes some unused libs (like mbedtsl, so no WiFi_secure.h) and increases available heap
|
|
; Tasmota Arduino Core 2.0.14 with IPv6 support, based on IDF 4.4.6
|
|
platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.01.01/platform-espressif32.zip
|
|
; Tasmota Arduino Core 3.0.0-alpha based on IDF v5.1.2
|
|
; platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.02.10/platform-espressif32.zip
|
|
framework = arduino
|
|
board_build.filesystem = littlefs
|
|
build_flags =
|
|
${common.build_flags}
|
|
-DTASMOTA_SDK
|
|
build_unflags = ${common.unbuild_flags}
|
|
extra_scripts =
|
|
pre:scripts/build_interface.py
|
|
scripts/rename_fw.py
|
|
|
|
[env]
|
|
monitor_speed = 115200
|
|
monitor_filters = direct, esp32_exception_decoder
|
|
|
|
upload_speed = 921600
|
|
build_type = release
|
|
lib_ldf_mode = chain+
|
|
|
|
check_tool = cppcheck, clangtidy
|
|
check_severity = high, medium
|
|
check_flags =
|
|
cppcheck: --std=c++11 -v
|
|
clangtidy: --checks=-*,clang-analyzer-*,performance-*
|
|
|
|
; build for GitHub Actions CI
|
|
; the Web interface is built seperately
|
|
[env:ci]
|
|
extends = espressi32_base_tasmota
|
|
extra_scripts = scripts/rename_fw.py
|
|
board = esp32dev
|
|
board_build.partitions = esp32_partition_4M.csv
|
|
board_build.extra_flags = -DBOARD_HAS_PSRAM
|
|
|
|
[env:ci_s3]
|
|
extends = espressi32_base
|
|
extra_scripts = scripts/rename_fw.py
|
|
board = lolin_s3
|
|
board_build.f_cpu = 240000000L
|
|
board_upload.flash_size = 16MB
|
|
board_build.partitions = esp32_partition_16M.csv
|
|
build_unflags = ${common.unbuild_flags}
|
|
build_flags =
|
|
${espressi32_base.build_flags}
|
|
'-DEMSESP_DEFAULT_BOARD_PROFILE="S32S3"'
|
|
|
|
[env:ci_16M]
|
|
extends = espressi32_base
|
|
extra_scripts = scripts/rename_fw.py
|
|
board = esp32dev
|
|
board_build.partitions = esp32_partition_16M.csv
|
|
board_build.extra_flags = -DBOARD_HAS_PSRAM
|
|
build_flags =
|
|
${espressi32_base.build_flags}
|
|
'-DEMSESP_DEFAULT_BOARD_PROFILE="E32V2"'
|
|
|
|
[env:esp32_4M]
|
|
extends = espressi32_base_tasmota
|
|
board = esp32dev
|
|
board_upload.flash_size = 4MB
|
|
board_build.partitions = esp32_partition_4M.csv
|
|
build_flags =
|
|
${espressi32_base_tasmota.build_flags}
|
|
|
|
[env:esp32_4Mplus]
|
|
extends = espressi32_base_tasmota
|
|
board = esp32dev
|
|
board_upload.flash_size = 4MB
|
|
board_build.partitions = esp32_asym_partition_4M.csv
|
|
|
|
[env:esp32_16M]
|
|
extends = espressi32_base
|
|
board = esp32dev
|
|
board_build.extra_flags = -DBOARD_HAS_PSRAM
|
|
board_upload.flash_size = 16MB
|
|
board_build.partitions = esp32_partition_16M.csv
|
|
|
|
[env:lolin_c3_mini]
|
|
extends = espressi32_base_tasmota
|
|
board = lolin_c3_mini
|
|
board_upload.flash_size = 4MB
|
|
board_build.partitions = esp32_partition_4M.csv
|
|
build_flags =
|
|
${espressi32_base_tasmota.build_flags}
|
|
'-DEMSESP_DEFAULT_BOARD_PROFILE="C3MINI"'
|
|
|
|
; lolin C3 mini v1 needs special wifi init.
|
|
; https://www.wemos.cc/en/latest/c3/c3_mini_1_0_0.html#about-wifi
|
|
[env:lolin_c3_mini_v1]
|
|
extends = espressi32_base_tasmota
|
|
board = lolin_c3_mini
|
|
board_upload.flash_size = 4MB
|
|
board_build.partitions = esp32_partition_4M.csv
|
|
build_flags =
|
|
${espressi32_base_tasmota.build_flags}
|
|
-DBOARD_C3_MINI_V1
|
|
'-DEMSESP_DEFAULT_BOARD_PROFILE="C3MINI"'
|
|
|
|
[env:lolin_s2_mini]
|
|
extends = espressi32_base_tasmota
|
|
board = lolin_s2_mini
|
|
board_upload.flash_size = 4MB
|
|
board_build.partitions = esp32_partition_4M.csv
|
|
build_flags =
|
|
${espressi32_base_tasmota.build_flags}
|
|
'-DEMSESP_DEFAULT_BOARD_PROFILE="S2MINI"'
|
|
|
|
[env:lolin_s3]
|
|
extends = espressi32_base
|
|
board = lolin_s3
|
|
board_build.f_cpu = 240000000L
|
|
board_upload.flash_size = 16MB
|
|
board_build.partitions = esp32_partition_16M.csv
|
|
board_upload.use_1200bps_touch = false
|
|
board_upload.wait_for_upload_port = false
|
|
build_flags =
|
|
${espressi32_base.build_flags}
|
|
'-DEMSESP_DEFAULT_BOARD_PROFILE="S32S3"'
|
|
|
|
[env:esp32_s3_32M]
|
|
extends = espressi32_base
|
|
board = lolin_s3
|
|
board_build.f_cpu = 240000000L
|
|
board_upload.flash_size = 32MB
|
|
board_build.partitions = esp32_partition_32M.csv
|
|
board_build.flash_mode = opi
|
|
board_build.arduino.memory_type: opi_opi
|
|
build_unflags = ${common.unbuild_flags}
|
|
build_flags =
|
|
${espressi32_base.build_flags}
|
|
'-DEMSESP_DEFAULT_BOARD_PROFILE="S32S3"'
|
|
|
|
; to build and run: pio run -e standalone -t exec
|
|
[env:standalone]
|
|
platform = native
|
|
build_flags =
|
|
-DARDUINOJSON_ENABLE_STD_STRING=1 -DARDUINOJSON_ENABLE_PROGMEM=1 -DARDUINOJSON_ENABLE_ARDUINO_STRING -DARDUINOJSON_USE_DOUBLE=0
|
|
-DEMSESP_DEBUG -DEMSESP_STANDALONE -DEMSESP_TEST
|
|
-DEMSESP_DEFAULT_LOCALE=\"en\" -DEMSESP_DEFAULT_TX_MODE=8 -DEMSESP_DEFAULT_VERSION=\"3.7.0-dev.0\" -DEMSESP_DEFAULT_BOARD_PROFILE=\"S32\"
|
|
-lpthread
|
|
-D__linux__
|
|
-std=gnu++11 -Og -ggdb
|
|
build_src_flags =
|
|
-Wall -Wextra -Werror
|
|
-Wno-unused-parameter -Wno-sign-compare
|
|
-I./lib_standalone
|
|
-I./lib/ArduinoJson/src
|
|
-I./lib/uuid-common/src
|
|
-I./lib/uuid-console/src
|
|
-I./lib/uuid-log/src
|
|
-I./lib/semver
|
|
-I./lib/PButton
|
|
-I./lib/espMqttClient/src
|
|
-I./lib/espMqttClient/src/Transport
|
|
build_src_filter =
|
|
+<*>
|
|
-<.git/>
|
|
+<../lib_standalone>
|
|
+<../lib/uuid-common>
|
|
+<../lib/uuid-console>
|
|
+<../lib/uuid-log>
|
|
+<../lib/semver>
|
|
+<../lib/PButton>
|
|
+<../lib/espMqttClient/src>
|
|
+<../lib/espMqttClient/src/Transport>
|
|
lib_compat_mode = off
|
|
lib_ldf_mode = off
|