[env:ratdeck_915] platform = espressif32@6.7.0 board = esp32-s3-devkitc-1 framework = arduino board_build.flash_size = 16MB board_build.partitions = partitions_16MB.csv board_upload.flash_size = 16MB board_build.arduino.memory_type = qio_opi build_flags = -std=gnu++17 -fexceptions -O2 -DRATDECK=1 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MODE=1 ; Silence vfs_api log_e noise — it fires on every open/remove of a missing ; file (normal for our atomic-save + tiered-read patterns). log_e routes to ; ets_printf, so esp_log_level_set doesn't help; only compile-time works. -DCORE_DEBUG_LEVEL=0 -DRNS_USE_FS -DRNS_PERSIST_PATHS -DMSGPACK_USE_BOOST=OFF -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -DRNS_DEFAULT_ALLOCATOR=RNS_PSRAM_ALLOCATOR -DRNS_CONTAINER_ALLOCATOR=RNS_PSRAM_POOL_ALLOCATOR -DRNS_PSRAM_POOL_BUFFER_SIZE=2048000 ; microReticulum table caps — sized for client device, not transport node -DRNS_KNOWN_DESTINATIONS_MAX=128 -DRNS_HASHLIST_MAX=128 -DRNS_PATH_TABLE_MAX=64 -DRNS_ANNOUNCE_TABLE_MAX=48 -DRNS_RECEIPTS_MAX=32 -DRNS_QUEUED_ANNOUNCES_MAX=16 -DRNS_RANDOM_BLOBS_MAX=32 -DRNS_RANDOM_BLOBS_PERSIST_MAX=16 -DRNS_RATE_TIMESTAMPS_MAX=32 -DRNS_PR_TAGS_MAX=128 -DDISPLAY_WIDTH=320 -DDISPLAY_HEIGHT=240 -DLV_CONF_INCLUDE_SIMPLE "-I${PROJECT_DIR}" ; Task watchdog is already enabled by ESP-IDF defaults (5s timeout) build_unflags = -fno-exceptions -std=gnu++11 lib_deps = https://github.com/ratspeak/microReticulum.git bblanchon/ArduinoJson@^7.4.2 lovyan03/LovyanGFX@~1.1.16 h2zero/NimBLE-Arduino@^2.1 lvgl/lvgl@~8.3.4 lib_archive = false extra_scripts = post:merge_firmware.py monitor_speed = 115200 upload_speed = 460800 upload_flags = --no-stub