microReticulum/platformio.ini
2026-03-08 12:25:36 -06:00

235 lines
5 KiB
INI

; 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
[platformio]
default_envs = native17
[env]
monitor_speed = 115200
build_unflags =
-fno-exceptions
build_flags =
-fexceptions
-Wall
;-Wextra
-Wno-missing-field-initializers
-Wno-format
-Wno-unused-parameter
-Wno-unused-variable
-Wno-unused-but-set-variable
-Wno-unused-private-field
-Isrc
-DLIBRARY_TEST
;-DNDEBUG
-DRNS_USE_FS
-DRNS_PERSIST_PATHS
lib_deps =
ArduinoJson@^7.4.2
MsgPack@^0.4.2
https://github.com/attermann/Crypto.git
test_framework = unity
; Following property enables Unity integration testing
test_build_src = true
[env:native]
platform = native
build_flags =
${env.build_flags}
-std=gnu++11
-DNATIVE
lib_deps =
${env.lib_deps}
lib_compat_mode = off
[env:native14]
platform = native
build_unflags =
${env.build_unflags}
-std=gnu++11
build_flags =
${env.build_flags}
-std=gnu++14
-DNATIVE
lib_deps =
${env.lib_deps}
lib_compat_mode = off
[env:native17]
platform = native
build_unflags =
${env.build_unflags}
-std=gnu++11
build_flags =
${env.build_flags}
-std=gnu++17
-DNATIVE
lib_deps =
${env.lib_deps}
lib_compat_mode = off
[env:native20]
platform = native
build_unflags =
${env.build_unflags}
-std=gnu++11
build_flags =
${env.build_flags}
-std=gnu++20
-DNATIVE
lib_deps =
${env.lib_deps}
lib_compat_mode = off
[env:native_debug]
platform = native
build_unflags =
${env.build_unflags}
-std=gnu++11
build_flags =
${env.build_flags}
;-std=gnu++11
-std=gnu++17
-DNATIVE
; CBA TEST
;-fsanitize=address
-fno-omit-frame-pointer
-g
;-O1
-O0
-Wunused-parameter
-Wunused-variable
-Wunused-but-set-variable
-Wunused-private-field
;-DBOARD_HAS_PSRAM=1
;-DRNS_DEFAULT_ALLOCATOR=RNS_HEAP_ALLOCATOR
-DRNS_DEFAULT_ALLOCATOR=RNS_HEAP_POOL_ALLOCATOR
-DRNS_CONTAINER_ALLOCATOR=RNS_ALTHEAP_POOL_ALLOCATOR
;-DRNS_HEAP_POOL_BUFFER_SIZE=81920
;-DRNS_HEAP_POOL_BUFFER_SIZE=102400
-DRNS_HEAP_POOL_BUFFER_SIZE=204800
;-DRNS_HEAP_POOL_BUFFER_SIZE=307200
;-DRNS_HEAP_POOL_BUFFER_SIZE=409600
;-DRNS_HEAP_POOL_BUFFER_SIZE=512000
;-DRNS_HEAP_POOL_BUFFER_SIZE=614400
;-DRNS_HEAP_POOL_BUFFER_SIZE=1024000
-DRNS_ALTHEAP_POOL_BUFFER_SIZE=2048000
-DTLSF_DEBUG=1
;-DRNS_MEM_LOG
lib_deps =
${env.lib_deps}
lib_compat_mode = off
test_flags = -vvv
[env:embedded]
framework = arduino
upload_speed = 460800
build_unflags =
${env.build_unflags}
-std=gnu++11
;-fno-rtti
build_flags =
${env.build_flags}
-std=gnu++17
lib_deps =
${env.lib_deps}
[env:ttgo-lora32-v21]
extends = env:embedded
platform = espressif32
board = ttgo-lora32-v21
board_build.partitions = no_ota.csv
build_unflags =
${env:embedded.build_unflags}
-std=gnu++11
build_flags =
${env:embedded.build_flags}
-std=gnu++17
-DBOARD_ESP32
-DMSGPACK_USE_BOOST=OFF
lib_deps =
${env:embedded.lib_deps}
monitor_filters = esp32_exception_decoder
[env:ttgo-t-beam]
extends = env:embedded
platform = espressif32
board = ttgo-t-beam
board_build.partitions = no_ota.csv
;board_build.partitions = huge_app.csv
build_flags =
${env:embedded.build_flags}
-DBOARD_ESP32
-DMSGPACK_USE_BOOST=OFF
lib_deps =
${env:embedded.lib_deps}
monitor_filters = esp32_exception_decoder
[env:lilygo_tbeam_supreme]
extends = env:embedded
platform = espressif32
board = t-beams3-supreme
board_build.partitions = no_ota.csv
;board_build.partitions = huge_app.csv
build_flags =
${env:embedded.build_flags}
-DBOARD_ESP32
-DMSGPACK_USE_BOOST=OFF
lib_deps =
${env:embedded.lib_deps}
monitor_filters = esp32_exception_decoder
; also Heltec Wireless Tracker
[env:heltec_wifi_lora_32_V4]
extends = env:embedded
platform = espressif32
board = esp32-s3-devkitc-1
board_build.partitions = no_ota.csv
;board_build.partitions = huge_app.csv
build_flags =
${env.build_flags}
-DBOARD_ESP32
-DMSGPACK_USE_BOOST=OFF
-DARDUINO_USB_CDC_ON_BOOT=1
; CBA TEST
-DBOARD_HAS_PSRAM=1
;-DRNS_DEFAULT_ALLOCATOR=RNS_HEAP_ALLOCATOR
-DRNS_DEFAULT_ALLOCATOR=RNS_PSRAM_ALLOCATOR
;-DRNS_CONTAINER_ALLOCATOR=RNS_PSRAM_ALLOCATOR
-DRNS_CONTAINER_ALLOCATOR=RNS_PSRAM_POOL_ALLOCATOR
-DRNS_PSRAM_POOL_BUFFER_SIZE=2048000
lib_deps =
${env:embedded.lib_deps}
monitor_filters = esp32_exception_decoder
upload_speed = 921600
[env:wiscore_rak4631]
extends = env:embedded
platform = nordicnrf52
board = rak4630
board_build.partitions = no_ota.csv
build_src_filter = ${env:embedded.build_src_filter}+<../variants/rak4630>
build_flags =
${env:embedded.build_flags}
-I variants/rak4630
-fexceptions
-DBOARD_NRF52
-DRNS_DEFAULT_ALLOCATOR=RNS_HEAP_POOL_ALLOCATOR
-DRNS_HEAP_POOL_BUFFER_SIZE=204800
-DMSGPACK_USE_BOOST=OFF
lib_deps =
${env:embedded.lib_deps}
adafruit/Adafruit TinyUSB Library
; Overrides for specific tests (not working!)
[test_env:test_objects]
build_flags =
${env:embedded.build_flags}
;-DTEST_OBJECT_DATA=1
-DTEST_OBJECT_IMPL=1