Files
pyxis/platformio.ini
T
torlando-tech d0528591c0 fix: increase loop task stack to 32KB to prevent stack overflow
The 16KB stack was insufficient for deep call chains during message
delivery proof handling (transport → crypto → proof callback → app
callback → SPIFFS I/O → msgpack unpack), causing crashes every few
minutes. Also adds the stack size flag to tdeck-bluedroid env which
was missing it entirely.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 00:41:19 -05:00

155 lines
4.3 KiB
INI

; T-Deck environment using Bluedroid BLE stack (fallback, uses more RAM)
[env:tdeck-bluedroid]
extra_scripts = pre:version.py
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
; T-Deck Plus has ESP32-S3 with 8MB Flash + 8MB PSRAM
board_build.flash_mode = qio
board_build.partitions = partitions.csv
board_build.arduino.memory_type = qio_opi
board_upload.flash_size = 8MB
; Enable PSRAM (required for LVGL buffers)
board_build.arduino.psram_type = opi
; Serial monitor
monitor_speed = 115200
monitor_filters =
esp32_exception_decoder
time
; Dependencies
lib_deps =
lvgl/lvgl@^8.3.11
bblanchon/ArduinoJson@^7.4.2
hideakitai/MsgPack@^0.4.2
rweather/Crypto@^0.4.0
mikalhart/TinyGPSPlus@^1.0.3
jgromes/RadioLib@^6.0
WiFi
SPI
Wire
SPIFFS
tdeck_ui
universal_filesystem
sx1262_interface
tone
auto_interface
ble_interface
symlink://${PROJECT_DIR}/deps/microReticulum/lib/libbz2
; Library dependency finder mode (deep search)
lib_ldf_mode = deep+
lib_extra_dirs = deps/microReticulum
; Build configuration
build_type = release
build_flags =
-std=gnu++11
-DBOARD_HAS_PSRAM
-DBOARD_ESP32
; Increase Arduino loop task stack from 8KB to 32KB
; Deep call chains (transport → crypto → proof callback → msgpack unpack)
; require significant stack space
-DARDUINO_LOOP_STACK_SIZE=32768
-DARDUINO_USB_CDC_ON_BOOT=1
-DARDUINO_USB_MODE=1
-DLV_CONF_INCLUDE_SIMPLE
-I${PROJECT_DIR}/lib
-I${PROJECT_DIR}/deps/microReticulum/lib/libbz2
-I${PROJECT_DIR}/deps/microReticulum/src
-DBZ_NO_STDIO
-DUSE_BLUEDROID
-Os
-DCORE_DEBUG_LEVEL=2
; Enable memory instrumentation (heap/stack monitoring)
; Remove this flag to disable instrumentation and eliminate overhead
-DMEMORY_INSTRUMENTATION_ENABLED
; Enable boot profiling (timing instrumentation for setup phases)
; Remove this flag to disable boot profiling
-DBOOT_PROFILING_ENABLED
; Reduce log verbosity during boot for faster startup
; CORE_DEBUG_LEVEL=2 (WARNING) reduces INFO-level log output
-DBOOT_REDUCED_LOGGING
; Default T-Deck environment using NimBLE BLE stack (uses ~100KB less RAM than Bluedroid)
[env:tdeck]
extra_scripts = pre:version.py
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
; T-Deck Plus has ESP32-S3 with 8MB Flash + 8MB PSRAM
board_build.flash_mode = qio
board_build.partitions = partitions.csv
board_build.arduino.memory_type = qio_opi
board_upload.flash_size = 8MB
; Enable PSRAM (required for LVGL buffers)
board_build.arduino.psram_type = opi
; Serial monitor
monitor_speed = 115200
monitor_filters =
esp32_exception_decoder
time
; Library dependency finder mode (deep search)
lib_ldf_mode = deep+
lib_extra_dirs = deps/microReticulum
; Build type
build_type = release
lib_deps =
lvgl/lvgl@^8.3.11
bblanchon/ArduinoJson@^7.4.2
hideakitai/MsgPack@^0.4.2
rweather/Crypto@^0.4.0
mikalhart/TinyGPSPlus@^1.0.3
jgromes/RadioLib@^6.0
WiFi
SPI
Wire
SPIFFS
tdeck_ui
universal_filesystem
sx1262_interface
tone
auto_interface
h2zero/NimBLE-Arduino@^2.1.0
ble_interface
symlink://${PROJECT_DIR}/deps/microReticulum/lib/libbz2
; Build configuration
build_flags =
-std=gnu++11
-DBOARD_HAS_PSRAM
-DBOARD_ESP32
; Increase Arduino loop task stack from 8KB to 32KB
; Deep call chains (transport → crypto → proof callback → msgpack unpack)
; require significant stack space
-DARDUINO_LOOP_STACK_SIZE=32768
-DARDUINO_USB_CDC_ON_BOOT=1
-DARDUINO_USB_MODE=1
-DLV_CONF_INCLUDE_SIMPLE
-I${PROJECT_DIR}/lib
-I${PROJECT_DIR}/deps/microReticulum/lib/libbz2
-I${PROJECT_DIR}/deps/microReticulum/src
-I.pio/libdeps/tdeck/TinyGPSPlus/src
-I.pio/libdeps/tdeck/NimBLE-Arduino/src
-DBZ_NO_STDIO
-DUSE_NIMBLE
-Os
-DCORE_DEBUG_LEVEL=2
; Enable memory instrumentation (heap/stack monitoring)
; Remove this flag to disable instrumentation and eliminate overhead
-DMEMORY_INSTRUMENTATION_ENABLED
; Enable boot profiling (timing instrumentation for setup phases)
; Remove this flag to disable boot profiling
-DBOOT_PROFILING_ENABLED
; Reduce log verbosity during boot for faster startup
; CORE_DEBUG_LEVEL=2 (WARNING) reduces INFO-level log output
-DBOOT_REDUCED_LOGGING