Files
ratdeck/platformio.ini
T
DeFiDude 43e5420416 Fix LXMF bidirectional messaging, increase known_destinations cap
Outbound (Ratdeck→Python) was broken because Identity::recall() could
never find the recipient. Root cause: OS::time() returns seconds since
boot on ESP32, but persisted known_destinations entries carried timestamps
from the previous session. New announces got timestamp ~31s while persisted
entries had ~5000s, so the LRU cull immediately removed the new entry.

The microReticulum Identity.cpp fix (timestamp normalization on load) is
in .pio/libdeps and must be upstreamed to ratspeak/microReticulum separately.

Changes:
- known_destinations cap 256→512 (PSRAM pool was 1% used, plenty of room)
- Fix link delivery destHash: onLinkEstablished callback was passing link_id
  instead of LXMF destination hash, corrupting conversation routing
- Add diagnostic logging: [LXMF-DIAG], [TCP-DIAG], [HEART-DIAG], [DIAG-PROOF]
  for tracing link establishment, proof routing, and interface status
2026-03-20 19:24:28 -06:00

61 lines
1.5 KiB
INI

[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
-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
; Raise microReticulum table caps — all containers go to 2MB PSRAM pool
-DRNS_KNOWN_DESTINATIONS_MAX=512
-DRNS_HASHLIST_MAX=256
-DRNS_PATH_TABLE_MAX=256
-DRNS_ANNOUNCE_TABLE_MAX=128
-DRNS_RECEIPTS_MAX=64
-DRNS_QUEUED_ANNOUNCES_MAX=64
-DRNS_RANDOM_BLOBS_MAX=128
-DRNS_RANDOM_BLOBS_PERSIST_MAX=64
-DRNS_RATE_TIMESTAMPS_MAX=32
-DRNS_PR_TAGS_MAX=128
-DDISPLAY_WIDTH=320
-DDISPLAY_HEIGHT=240
-DLV_CONF_INCLUDE_SIMPLE
"-I${PROJECT_DIR}"
build_unflags =
-fno-exceptions
-std=gnu++11
lib_deps =
https://github.com/ratspeak/microReticulum.git#fix/tcp-transport-and-identity-persistence
https://github.com/attermann/Crypto.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